- name
- fory-version-bump
- description
- Bump Apache Fory release or post-release development versions across Java, Kotlin, Scala, Python, Rust, Go, C++, C#, Dart, JavaScript, Swift, integration tests, examples, and source docs. Use when preparing a release version, moving main to the next development version, switching install docs to a released version, or auditing Fory version consistency after release scripts run.
# Fory Version Bump
## Version Intent
Separate these two targets before editing:
- **Released version**: use in install docs, examples, and package-manager snippets.
- **Next development version**: use in active package and build metadata.
Do not edit `fory-site` unless the user explicitly includes that repository.
## Ecosystem Version Forms
Let `ci/release.py` normalize the input instead of converting versions by hand.
For input `1.1.0-dev`, expected forms are:
| Surface | Expected form |
| ----------------------------------------------- | ---------------- |
| Java, Kotlin, Scala, Maven integration projects | `1.1.0-SNAPSHOT` |
| Python and compiler packages | `1.1.0.dev0` |
| Rust packages and path dependency versions | `1.1.0-alpha.0` |
| Go module dependencies on Fory | `v1.1.0-alpha.0` |
| JavaScript package versions | `1.1.0-alpha.0` |
| Dart packages | `1.1.0-dev` |
| C# package metadata | `1.1.0-dev` |
| CMake project versions | `1.1.0` |
| Bazel module version | `1.1.0` |
| User install docs after a `1.0.0` release | `1.0.0` |
## Workflow
1. Read `AGENTS.md`, `tasks/lessons.md`, `.agents/docs-and-formatting.md`, and
`./.local/AGENTS.md` when present. Review `git status --short --branch`.
2. Record the released and next-development versions in the task file.
3. For a post-release bump, run:
```bash
python ci/release.py bump_version -l all -version <next-dev-version> \
-release-version <released-version>
```
4. Inspect the complete diff. The helper should update package/build metadata,
source docs, examples, and these historically missed surfaces:
- `MODULE.bazel`
- `javascript/package-lock.json`
- `integration_tests/idl_tests/kotlin/pom.xml`
- `integration_tests/idl_tests/dart/pubspec.yaml`
- `integration_tests/idl_tests/rust/Cargo.lock`
- `dart/CHANGELOG.md` and `dart/packages/fory/CHANGELOG.md`
- `scala/fory-scala/README.md` and `scala/fory-json-scala/README.md`
5. Search for stale previous development forms and accidental next-development
versions in user-facing docs:
```bash
rg -n '<previous-development-version-regex>' \
--glob '!tasks/**' --glob '!**/target/**' --glob '!**/build/**' \
--glob '!**/bin/**' --glob '!**/obj/**' --glob '!**/node_modules/**'
rg -n '<next-development-version-regex>' \
README.md docs csharp/README.md swift/README.md scala/README.md \
java/README.md rust/README.md dart/packages/fory/README.md examples \
--glob '!**/target/**' --glob '!**/build/**' --glob '!**/node_modules/**'
```
Inspect every hit. Keep unrelated third-party versions, benchmark numbers,
historical changelog entries, test fixtures, and ignored build outputs unchanged.
6. Format changed Markdown and check the patch:
```bash
prettier --write <changed-markdown-files>
git diff --check
```
## Verification Boundary
Treat a version-only bump as a textual metadata and documentation update. Do not
run unit tests, builds, Maven, CMake, Cargo metadata, package-manager validation,
or language test suites locally, including through subagents, unless the user
explicitly asks. CI owns those checks.
Verify only that:
- each ecosystem uses the expected version form;
- install docs use the released version and development metadata uses the next version;
- changelogs contain the released version before the next development section;
- no unexplained stale development version remains;
- formatting and `git diff --check` pass; and
- task files are not staged.
## Finish
- Summarize exact version forms used by ecosystem.
- Note any intentionally retained old version hits.
- Commit tracked code and documentation changes, excluding task scratch files.
GitHub에서 보기