You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All notable changes to Rush-FS are documented here. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
4
+
5
+
## [Unreleased]
6
+
7
+
- (Add new changes here before each release.)
8
+
9
+
## [0.0.5] - (release date TBD)
10
+
11
+
- Re-publish with `optionalDependencies` correctly injected after `napi prepublish`, so `pnpm i rush-fs` / `npm i rush-fs` auto-installs the platform native binding. No API or behavior changes from 0.0.4.
12
+
13
+
## [0.0.4] - (release date TBD)
14
+
15
+
### Fixed
16
+
17
+
-**Publish:**`optionalDependencies` are now injected **after**`napi prepublish` in the Release workflow, so the published npm package correctly lists platform packages. Installing `rush-fs` will again auto-install the native binding for your OS/arch (e.g. `@rush-fs/rush-fs-darwin-arm64`). If you are on an older version and see "Cannot find native binding", see [README#Installation](./README.md#installation) for a manual fix.
18
+
19
+
### Added
20
+
21
+
-**Docs:** Nextra-based documentation site under `docs/` with i18n (EN / 中文), guide, API reference, and benchmarks.
22
+
-**README:** Installation troubleshooting: how to reinstall or manually add the platform package when the native binding is missing.
23
+
24
+
## [0.0.3] - (historical)
25
+
26
+
- Earlier releases; see [GitHub Releases](https://github.com/CoderSerio/rush-fs/releases) for tags and assets.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+11Lines changed: 11 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -508,3 +508,14 @@ GitHub Actions on push/PR:
508
508
4.**Publish** — Triggered by version tags; see [Release workflow](.github/workflows/Release.yml)
509
509
510
510
For local development, `pnpm build:debug` and `pnpm test` are enough; CI handles cross-platform checks.
511
+
512
+
### Release checklist (maintainers)
513
+
514
+
When cutting a new version (before running the Release workflow):
515
+
516
+
1.**Bump version** in both places (must stay in sync):
517
+
-`package.json` → `"version": "x.y.z"`
518
+
-`Cargo.toml` → `version = "x.y.z"`
519
+
- npm does not allow re-publishing the same version; if a previous run partially published (e.g. 0.0.4 already on npm), bump to the next version (e.g. 0.0.5) and release again.
520
+
2.**Update [CHANGELOG.md](CHANGELOG.md):** move items from **\[Unreleased]** into a new `## [x.y.z] - YYYY-MM-DD` section, and add the version link at the bottom (`[x.y.z]: https://github.com/CoderSerio/rush-fs/compare/vA.B.C...vx.y.z`).
521
+
3.**Run Release:** push to `main`, then either **Actions → Release → Run workflow** or `git tag vx.y.z && git push origin vx.y.z`.
Copy file name to clipboardExpand all lines: README.md
+14Lines changed: 14 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,6 +25,15 @@ npm install rush-fs
25
25
pnpm add rush-fs
26
26
```
27
27
28
+
When you install `rush-fs`, the package manager should automatically install the **platform-specific native binding** for your OS/arch via `optionalDependencies` (e.g. `@rush-fs/rush-fs-darwin-arm64` on macOS ARM). If the native binding is missing and you see "Cannot find native binding", try:
29
+
30
+
1. Remove `node_modules` and the lockfile (`package-lock.json` or `pnpm-lock.yaml`), then run `pnpm install` (or `npm i`) again.
@@ -466,6 +475,10 @@ We are rewriting `fs` APIs one by one.
466
475
467
476
-**Status**: ❌
468
477
478
+
## Changelog
479
+
480
+
See [CHANGELOG.md](./CHANGELOG.md) for a summary of changes in each version. Release tags are listed in [GitHub Releases](https://github.com/CoderSerio/rush-fs/releases).
481
+
469
482
## Contributing
470
483
471
484
See [CONTRIBUTING.md](./CONTRIBUTING.md) for the full development guide: environment setup, Node.js reference, Rust implementation, testing, and benchmarking.
@@ -476,6 +489,7 @@ Releases are handled by the [Release workflow](.github/workflows/Release.yml): i
476
489
477
490
1.**Secrets:** In the repo **Settings → Secrets and variables → Actions**, add **NPM_TOKEN** (npm Classic or Automation token with Publish permission).
478
491
2.**Release:** Either run **Actions → Release → Run workflow** (uses the current `package.json` version on `main`), or bump version in `package.json` and `Cargo.toml`, push to `main`, then create and push a tag: `git tag v<version> && git push origin v<version>`.
492
+
3.**Changelog:** Update [CHANGELOG.md](./CHANGELOG.md) before or right after the release (move entries from `[Unreleased]` to a new version heading and add the compare link).
479
493
480
494
The workflow injects `optionalDependencies` and publishes all packages; no need to edit `package.json` manually for release.
0 commit comments