| layout | home | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| title | javachanges | ||||||||||||||||||||||||||||
| titleTemplate | false | ||||||||||||||||||||||||||||
| description | File-based release planning, changelog generation, and CI/CD publishing workflows for Maven and Gradle repositories. | ||||||||||||||||||||||||||||
| hero |
|
||||||||||||||||||||||||||||
| features |
|
javachanges is a release-planning CLI for Maven and Gradle repositories.
The workflow is intentionally simple:
- contributors record intended changes in
.changesets/*.md - CI or maintainers inspect a generated release plan
- the plan updates the root version and changelog
- CI publishes with Maven deploy or Gradle-native publishing tasks
The tool stays file-centric. It does not require a database or a hosted service.
flowchart TD
A[Write .changesets files] --> B[Review status and release plan]
B --> C[Apply plan]
C --> D[Update version and changelog]
D --> E[Choose publish path]
E --> F[GitHub Actions release flow]
E --> G[Gradle or Maven publish flow]
- Keep release intent in versioned files.
- Review release plans before publishing.
- Generate changelogs from structured Changesets-compatible metadata.
- Avoid shell-heavy release logic where possible.
- a Maven repository with a root
pom.xml, or a Gradle repository withgradle.properties - Maven
<modules>, Gradleinclude(...)entries, or a single root artifact/project - a root Maven
revisionor Gradleversionproperty used for versioning - a
.changesets/directory to store release notes-in-progress
- LLM Access
- Getting Started
- Maven Usage Guide
- Gradle Usage Guide
- Examples Guide
- Command Cookbook
- Configuration Reference
- CLI Reference
- Development Guide
- Release Plan Manifest
- Output Contracts
- Troubleshooting Guide
- Cloudflare Workers Builds
- GitHub Actions Release Flow
- GitHub Actions Usage Guide
- GitLab CI/CD Usage Guide
- Publish To Maven Central
- Use Cases