From 3c53ddb76c63eeea90a34e75953e34632db410cd Mon Sep 17 00:00:00 2001 From: janehe Date: Tue, 3 Feb 2026 12:55:33 -0800 Subject: [PATCH 1/2] CONTRIBUTING.md and post doc donation update --- CONTRIBUTING.md | 85 +++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 28 ++++++++++------ 2 files changed, 104 insertions(+), 9 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..a005f8aa --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,85 @@ +# Contributing + +Thank you for your interest in contributing to the Apache Cassandra Node.js Driver! This repository is now part of the Apache Software Foundation (ASF) and follows Apache contribution practices. + +## Ways to Contribute + +There are many ways to contribute, including: + +- **Bug Reports**: Identify incorrect behavior, inconsistencies, or regressions in the driver. Provide reproduction steps when possible. +- **Feature Requests**: Propose improvements or new functionality. Please describe the use case (not just a proposed API). +- **Documentation Improvements**: Enhance guides, examples, javadocs, or configuration explanations. +- **Pull Requests**: Submit fixes, enhancements, performance improvements, or refactorings. +- **Testing Contributions**: Add missing tests, improve coverage, or enhance test infrastructure. +- **Support & Triage**: Help evaluate reported issues or contribute to discussions. +- **Verify Releases**: Verify the release artifacts work correctly in your environment, when a release is proposed in the mailing list. + +### Communication +1. **Mailing List**: + - https://groups.google.com/a/lists.datastax.com/g/nodejs-driver-user + - Or https://lists.apache.org/list.html?dev@cassandra.apache.org +2. **JIRA**: + - https://issues.apache.org/jira/projects/CASSNODEJS + - Older issues before the donation can be found at: + - https://datastax-oss.atlassian.net/projects/NODEJS +3. **GitHub Repository**: https://github.com/apache/cassandra-nodejs-driver +4. **Slack**: #cassandar-drivers channel, if you are in the Apache Software Foundation [Slack](https://infra.apache.org/slack.html) + +## Submitting changes + +### Submitting Changes (Pull Requests) + +All code changes require: + +1. **A corresponding JIRA ticket** + Include the JIRA key in the PR title, e.g.: + `NODEJS-696: Migrate Travis CI to Github Action` + +2. **A pull request on GitHub** + Repository: + +3. **Tests** + Every fix or feature should include or update tests. PRs without tests are rarely accepted. + +4. **Documentation updates** + Update manual, javadocs, examples, or reference docs when applicable. + +5. **Passing CI** + PRs must pass all CI jobs unless reviewers explicitly allow exceptions. + +6. **Code Review** + All PRs require at least two approvals from Apache committers before merging. + +7. **Squash after review** + After committers' approvals and before merging, please squash commits into one, with a commit message in the following format: + ``` + NODEJS-696: Migrate Travis CI to Github Action + patch by Jane He; reviewed by Abe Ratnofsky and Bret McGuire for NODEJS-696 + ``` + +## Development Setup + +### Prerequisites +- Node.js v20 or later +- npm + +### Running Tests Locally +1. Install Cassandra Cluster Manager (CCM) following its [README](https://github.com/apache/cassandra-ccm). +2. On MacOS only, enable loopback aliases: + +```shell +for i in {2..255}; do sudo ifconfig lo0 alias 127.0.0.$i up; done +``` +Note: This may slow down networking. To remove the aliases after testing: +```shell +for i in {2..255}; do sudo ifconfig lo0 -alias 127.0.0.$i up; done +``` + +3. Install project dependencies: `npm install` +4. Run the tests: `npx mocha test/unit test/integration/short --recursive --exit`. +You can specify the Cassandra version by the `CCM_VERSION` environment variable, e.g.: +`CCM_VERSION=5.0.2 npx mocha test/unit test/integration/short --recursive --exit`. + +## License and CLA + +All contributions are made under the Apache License, Version 2.0. The ASF requires a signed Contributor License Agreement (CLA) for non-trivial contributions. \ No newline at end of file diff --git a/README.md b/README.md index 8208c8b0..3ad054cd 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # Node.js Driver for Apache Cassandra® -A modern, [feature-rich](#features) and highly tunable Node.js client library for Apache Cassandra and [DSE][dse] using -exclusively Cassandra's binary protocol and Cassandra Query Language. +A modern, [feature-rich](#features) and highly tunable Node.js client library for Apache Cassandra, [DSE][dse], [HCD][hcd], and [Astra DB][astra] using exclusively Cassandra's binary protocol and Cassandra Query Language. ## Installation @@ -34,9 +33,19 @@ $ npm install cassandra-driver - [API docs][doc-api] - [FAQ][faq] -## Getting Help +## Contribution and Communication -You can use the [project mailing list][mailinglist] or create a ticket on the [Jira issue tracker][jira]. +Please refer to the [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute to the project. + +1. **Mailing List**: + - https://groups.google.com/a/lists.datastax.com/g/nodejs-driver-user + - Or https://lists.apache.org/list.html?dev@cassandra.apache.org +2. **JIRA**: + - https://issues.apache.org/jira/projects/CASSNODEJS + - Older issues before the donation can be found at: + - https://datastax-oss.atlassian.net/projects/NODEJS +3. **GitHub Repository**: https://github.com/apache/cassandra-nodejs-driver +4. **Slack**: #cassandar-drivers channel, if you are in the Apache Software Foundation [Slack](https://infra.apache.org/slack.html) ## Basic usage @@ -250,7 +259,7 @@ The current version of the driver offers support consistent with this policy for - Apache Cassandra versions 3.0 and above. - DataStax Enterprise versions 5.1 and 6.8. -- Node.js versions 18.x, 20.x, and 22.x. +- Node.js versions 20.x, 22.x, and 24.x. Note: DataStax products do not support big-endian systems. @@ -260,6 +269,8 @@ This driver is based on the original work of [Jorge Bay][jorgebay] on [node-cass The development effort to provide an up to date, high performance, fully featured Node.js Driver for Apache Cassandra will continue on this project, while [node-cassandra-cql][old-driver] will be discontinued. +This project is donated to the Apache Software Foundation and is now maintained under the Apache Cassandra project. + ## License Copyright 2013 The Apache Software Foundation @@ -291,9 +302,8 @@ Unless required by applicable law or agreed to in writing, software distributed [project documentation]: https://github.com/nodejs/release#release-schedule [jorgebay]: https://github.com/jorgebay [drivers]: https://github.com/datastax -[mailinglist]: https://groups.google.com/a/lists.datastax.com/forum/#!forum/nodejs-driver-user -[jira]: https://datastax-oss.atlassian.net/projects/NODEJS/issues [streams2]: https://nodejs.org/api/stream.html#stream_class_stream_readable [cql-udt]: https://cassandra.apache.org/doc/latest/cql/types.html#udts -[dse]: https://www.datastax.com/products/datastax-enterprise -[astra]: https://www.datastax.com/products/datastax-astra +[dse]: https://docs.datastax.com/en/dse/6.9/get-started/get-started-dse.html +[hcd]: https://docs.datastax.com/en/hyper-converged-database/1.2/get-started/hcd-introduction.html +[astra]: https://docs.datastax.com/en/astra-db-serverless/index.html From 9472a996fca965df1a3fd6489488823936cda436 Mon Sep 17 00:00:00 2001 From: janehe Date: Wed, 4 Feb 2026 14:22:40 -0800 Subject: [PATCH 2/2] package.json node >= 20 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9ae90276..90fb4947 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,6 @@ "eslint": "eslint lib test" }, "engines": { - "node": ">=18" + "node": ">=20" } } \ No newline at end of file