Skip to content

Commit 6c70446

Browse files
CASSNODEJS-2 Update CONTRIBUTING.md after ASF donation (#453)
1 parent 3b4ce72 commit 6c70446

7 files changed

Lines changed: 111 additions & 16 deletions

File tree

CONTRIBUTING.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# Contributing
2+
3+
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.
4+
5+
## Ways to Contribute
6+
7+
There are many ways to contribute, including:
8+
9+
- **Bug Reports**: Identify incorrect behavior, inconsistencies, or regressions in the driver. Provide reproduction steps when possible.
10+
- **Feature Requests**: Propose improvements or new functionality. Please describe the use case (not just a proposed API).
11+
- **Documentation Improvements**: Enhance guides, examples, javadocs, or configuration explanations.
12+
- **Pull Requests**: Submit fixes, enhancements, performance improvements, or refactorings.
13+
- **Testing Contributions**: Add missing tests, improve coverage, or enhance test infrastructure.
14+
- **Support & Triage**: Help evaluate reported issues or contribute to discussions.
15+
- **Verify Releases**: Verify the release artifacts work correctly in your environment, when a release is proposed in the mailing list.
16+
17+
### Communication
18+
1. **Mailing List**:
19+
- https://lists.apache.org/list.html?dev@cassandra.apache.org
20+
2. **JIRA**:
21+
- https://issues.apache.org/jira/projects/CASSNODEJS
22+
- Older issues before the donation can be found at:
23+
- https://datastax-oss.atlassian.net/projects/NODEJS
24+
3. **GitHub Repository**: https://github.com/apache/cassandra-nodejs-driver
25+
4. **Slack**: #cassandar-drivers channel, in the Apache Software Foundation [Slack](https://infra.apache.org/slack.html).
26+
Ask in the mailing list for an invite to the Slack workspace.
27+
28+
## Submitting changes
29+
30+
### Submitting Changes (Pull Requests)
31+
32+
All code changes require:
33+
34+
1. **A corresponding JIRA ticket**
35+
Include the JIRA key in the PR title, e.g.:
36+
`NODEJS-696: Migrate Travis CI to Github Action`
37+
38+
2. **A pull request on GitHub**
39+
Repository: <https://github.com/apache/cassandra-nodejs-driver>
40+
41+
3. **Tests**
42+
Every fix or feature should include or update tests. PRs without tests are rarely accepted.
43+
44+
4. **Documentation updates**
45+
Update manual, javadocs, examples, or reference docs when applicable.
46+
47+
5. **Passing CI**
48+
PRs must pass all CI jobs unless reviewers explicitly allow exceptions.
49+
50+
6. **Code Review**
51+
All PRs require at least two approvals from Apache committers before merging.
52+
53+
7. **Squash after review**
54+
After committers' approvals and before merging, please squash commits into one, with a commit message in the following format:
55+
```
56+
NODEJS-696: Migrate Travis CI to Github Action
57+
patch by Jane He; reviewed by Abe Ratnofsky and Bret McGuire for NODEJS-696
58+
```
59+
60+
## Development Setup
61+
62+
### Prerequisites
63+
- Node.js v20 or later
64+
- npm
65+
66+
### Running Tests Locally
67+
1. Install Cassandra Cluster Manager (CCM) following its [README](https://github.com/apache/cassandra-ccm).
68+
2. On MacOS only, enable loopback aliases:
69+
70+
```shell
71+
for i in {2..255}; do sudo ifconfig lo0 alias 127.0.0.$i up; done
72+
```
73+
Note: This may slow down networking. To remove the aliases after testing:
74+
```shell
75+
for i in {2..255}; do sudo ifconfig lo0 -alias 127.0.0.$i up; done
76+
```
77+
78+
3. Install project dependencies: `npm install`
79+
4. Run the tests: `npx mocha test/unit test/integration/short --recursive --exit`.
80+
You can specify the Cassandra version by the `CCM_VERSION` environment variable, e.g.:
81+
`CCM_VERSION=5.0.2 npx mocha test/unit test/integration/short --recursive --exit`.
82+
83+
## License and CLA
84+
85+
All contributions are made under the Apache License, Version 2.0. The ASF requires a signed Contributor License Agreement (CLA) for non-trivial contributions.

README.md

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Node.js Driver for Apache Cassandra®
22

3-
A modern, [feature-rich](#features) and highly tunable Node.js client library for Apache Cassandra and [DSE][dse] using
4-
exclusively Cassandra's binary protocol and Cassandra Query Language.
3+
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.
54

65
## Installation
76

@@ -34,9 +33,19 @@ $ npm install cassandra-driver
3433
- [API docs][doc-api]
3534
- [FAQ][faq]
3635

37-
## Getting Help
36+
## Contribution and Communication
3837

39-
You can use the [project mailing list][mailinglist] or create a ticket on the [Jira issue tracker][jira].
38+
Please refer to the [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute to the project.
39+
40+
1. **Mailing List**:
41+
- https://lists.apache.org/list.html?dev@cassandra.apache.org
42+
2. **JIRA**:
43+
- https://issues.apache.org/jira/projects/CASSNODEJS
44+
- Older issues before the donation can be found at:
45+
- https://datastax-oss.atlassian.net/projects/NODEJS
46+
3. **GitHub Repository**: https://github.com/apache/cassandra-nodejs-driver
47+
4. **Slack**: #cassandar-drivers channel, in the Apache Software Foundation [Slack](https://infra.apache.org/slack.html).
48+
Ask in the mailing list for an invite to the Slack workspace.
4049

4150
## Basic usage
4251

@@ -250,7 +259,7 @@ The current version of the driver offers support consistent with this policy for
250259

251260
- Apache Cassandra versions 3.0 and above.
252261
- DataStax Enterprise versions 5.1 and 6.8.
253-
- Node.js versions 18.x, 20.x, and 22.x.
262+
- Node.js versions 20.x, 22.x, and 24.x.
254263

255264
Note: DataStax products do not support big-endian systems.
256265

@@ -260,6 +269,8 @@ This driver is based on the original work of [Jorge Bay][jorgebay] on [node-cass
260269

261270
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.
262271

272+
This project is donated to the Apache Software Foundation and is now maintained under the Apache Cassandra project.
273+
263274
## License
264275

265276
Copyright 2013 The Apache Software Foundation
@@ -291,9 +302,8 @@ Unless required by applicable law or agreed to in writing, software distributed
291302
[project documentation]: https://github.com/nodejs/release#release-schedule
292303
[jorgebay]: https://github.com/jorgebay
293304
[drivers]: https://github.com/datastax
294-
[mailinglist]: https://groups.google.com/a/lists.datastax.com/forum/#!forum/nodejs-driver-user
295-
[jira]: https://datastax-oss.atlassian.net/projects/NODEJS/issues
296305
[streams2]: https://nodejs.org/api/stream.html#stream_class_stream_readable
297306
[cql-udt]: https://cassandra.apache.org/doc/latest/cql/types.html#udts
298-
[dse]: https://www.datastax.com/products/datastax-enterprise
299-
[astra]: https://www.datastax.com/products/datastax-astra
307+
[dse]: https://docs.datastax.com/en/dse/6.9/get-started/get-started-dse.html
308+
[hcd]: https://docs.datastax.com/en/hyper-converged-database/1.2/get-started/hcd-introduction.html
309+
[astra]: https://docs.datastax.com/en/astra-db-serverless/index.html

doc/upgrade-guide/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,5 +137,5 @@ The following is a list of changes made in version 2.0 of the driver that are re
137137
1. `inet` values are decoded as `InetAddress` instances.
138138

139139

140-
[mailing-list]: https://groups.google.com/a/lists.datastax.com/forum/#!forum/nodejs-driver-user
140+
[mailing-list]: https://lists.apache.org/list.html?dev@cassandra.apache.org
141141
[op-info]: https://docs.datastax.com/en/developer/nodejs-driver/latest/api/module.policies/module.retry/type.OperationInfo/

docs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ links:
3434
- title: Issues
3535
href: https://datastax-oss.atlassian.net/projects/NODEJS/issues
3636
- title: Mailing List
37-
href: https://groups.google.com/a/lists.datastax.com/forum/#!forum/nodejs-driver-user
37+
href: https://lists.apache.org/list.html?dev@cassandra.apache.org
3838
- title: Npm
3939
href: https://www.npmjs.org/package/cassandra-driver
4040
versions:

examples/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,5 @@ If you have any questions regarding these examples, feel free to post your quest
3636

3737
[dse]: https://www.datastax.com/products/datastax-enterprise
3838
[doc-index]: https://docs.datastax.com/en/developer/nodejs-driver/latest/
39-
[mailing-list]: https://groups.google.com/a/lists.datastax.com/forum/#!forum/nodejs-driver-user
39+
[mailing-list]: https://lists.apache.org/list.html?dev@cassandra.apache.org
4040
[faq]: https://docs.datastax.com/en/developer/nodejs-driver/latest/faq/

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@
3535
},
3636
"repository": {
3737
"type": "git",
38-
"url": "https://github.com/datastax/nodejs-driver.git"
38+
"url": "https://github.com/apache/cassandra-nodejs-driver.git"
3939
},
4040
"bugs": {
41-
"url": "https://groups.google.com/a/lists.datastax.com/forum/#!forum/nodejs-driver-user"
41+
"url": "https://issues.apache.org/jira/projects/CASSNODEJS/issues"
4242
},
4343
"scripts": {
4444
"test": "./node_modules/.bin/mocha test/unit -R spec -t 5000 --recursive",
@@ -52,6 +52,6 @@
5252
"eslint": "eslint lib test"
5353
},
5454
"engines": {
55-
"node": ">=18"
55+
"node": ">=20"
5656
}
5757
}

0 commit comments

Comments
 (0)