Liking cljdoc? Tell your friends :D

v1.2.0 Release Checklist

This checklist makes the v1.2.0 release repeatable and keeps irreversible Clojars publication separate from validation.

1. Release metadata

  • [x] CHANGELOG.md contains 1.2.0 notes dated 2026-07-30
  • [x] README dependency examples use 1.2.0
  • [x] the public API contract includes synchronous reports and managed capture
  • [x] the development fallback version is 1.2.0-SNAPSHOT
  • [x] the roadmap records the completed v1.2 implementation and acceptance work

2. Local gates

Run from the repository root:

clojure -T:build javac
clojure -M:test
clojure -M:eastwood
clj-kondo --lint src test dev
clojure-lsp clean-ns --dry
clojure-lsp format --dry
dev/script/mdlint.sh
clojure -M:perf-gate
clojure -M:perf --mode offline --profile quick --output target/perf-v1.2.0
PACLO_VERSION=1.2.0 clojure -T:build jar

Confirm the release artifact and embedded Maven metadata:

test -f target/paclo-1.2.0.jar
test -f target/classes/META-INF/maven/org.clojars.nanto/paclo/pom.xml
grep -F "<version>1.2.0</version>" \
  target/classes/META-INF/maven/org.clojars.nanto/paclo/pom.xml

Recorded local results on 2026-07-30:

  • unit tests: 236 tests / 675 assertions / 0 failures / 0 errors
  • Eastwood: 56 existing performance/reflection warnings / 0 exceptions
  • clj-kondo: 0 errors / 0 warnings
  • clojure-lsp clean and format dry-runs: no changes
  • Markdown lint: successful
  • performance gate: 549.9 ms (warn=1000, fail=1200)
  • offline quick profile: all 27 case/scenario combinations completed
  • release jar/POM: 1.2.0 coordinates and public namespaces verified
  • post-implementation main CI: successful (run 30530828070)

3. CI and publish dry-run

  • [x] the release-preparation PR is green on every required CI job
  • [x] the latest dependency-audit run has no release-blocking finding
  • [x] the release-preparation PR is merged to main
  • [x] the publish workflow dry-run succeeds on the exact main commit
  • [x] the dry-run artifact contains the 1.2.0 jar and POM

After merging the preparation PR, run:

gh workflow run publish.yml \
  --ref main \
  -f version=1.2.0 \
  -f dry_run=true

The dry-run performs source/version validation, tests, the performance gate, and the release build. It does not contact Clojars.

Recorded validation results on 2026-07-30:

  • release-preparation CI: successful (run 30532048720)
  • Dependency Audit on post-implementation main: successful (run 30531457081)
  • merged release commit: 3dfcabd8eee4845d7aed8708604cb4466f5d802a
  • post-merge main CI: successful (run 30536370620)
  • publish dry-run: successful (run 30536443063)
  • dry-run artifact: paclo-1.2.0.jar and POM verified; jar SHA-256 55a8689e34d21a0f84770c9905c4f1a50faceefbf2cdcfc7406bf582e0667d00

4. Tag and publish

Resolve and review the exact commit before creating the tag:

git switch main
git pull --ff-only origin main
git status --short
git log -1 --oneline
git tag -a v1.2.0 -m "v1.2.0"
git push origin v1.2.0

Pushing the tag starts the publish workflow with publication enabled. Confirm that it publishes org.clojars.nanto/paclo:1.2.0.

If the tag-triggered workflow fails before Clojars accepts the artifact, use the manual recovery path:

gh workflow run publish.yml \
  --ref main \
  -f version=1.2.0 \
  -f dry_run=false

Do not use the recovery path after Clojars reports a successful publication; released coordinates are immutable and cannot be overwritten.

Recorded publication results on 2026-07-30:

  • tagged commit: 3dfcabd8eee4845d7aed8708604cb4466f5d802a
  • Clojars publication: successful (run 30538425161)

5. Release verification

  • [x] Clojars shows org.clojars.nanto/paclo:1.2.0
  • [x] cljdoc builds and serves version 1.2.0
  • [x] a clean consumer project resolves the Clojars coordinate
  • [x] the Git tag resolves to the release-preparation commit
  • [x] the GitHub Release is published as the latest stable release
  • [x] the roadmap release status is updated from candidate to released

After Clojars succeeds, create the GitHub Release:

gh release create v1.2.0 \
  --verify-tag \
  --title v1.2.0 \
  --generate-notes

Recorded release results on 2026-07-30:

  • clean consumer resolution downloaded the 1.2.0 POM and JAR from Clojars and loaded reduce-packets-report and start-capture
  • cljdoc build 108741 completed with nine namespaces, and the v1.2.0 API includes all managed-capture functions
  • GitHub Release: v1.2.0

If a release defect is discovered, do not move the tag or replace the Clojars artifact. Correct it with a new patch release.

Can you improve this documentation?Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close