--- 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 \ -release-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 '' \ --glob '!tasks/**' --glob '!**/target/**' --glob '!**/build/**' \ --glob '!**/bin/**' --glob '!**/obj/**' --glob '!**/node_modules/**' rg -n '' \ 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 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.