Release Checklist
Use this checklist before publishing Hakka packages.
Pre-Release Truth
Section titled “Pre-Release Truth”-
bun run version-packagesapplied the pending changesets — all 7 npm packages (a fixed group) bumped to the same version, internal pins and per-packageCHANGELOG.mdupdated. - Native versions bumped to match:
android/**/build.gradle.kts,ios/Hakka.podspec, and the iOS git tag. -
just version-auditpasses (verifies all 7 JS packages + internal pins + Android Gradle + iOS podspec all agree). -
CHANGELOG.md(root) has the release highlights and planned version. -
bun outdatedis clean, or intentionally deferred versions are documented.
Package Contents
Section titled “Package Contents”- Every npm package (
hakka-core,hakka-browser,hakka-bridge,hakka-rozenite,hakka-react-native,hakka-node,hakka) ships its ownLICENSEandREADME.mdand a cleanfilesarray. hakka-react-nativealso includesapp.plugin.jsanddocs/EXPO.md.- Each package’s
dist/was rebuilt after the final source change (runbun run build— consider aprepublishOnlyper package to enforce this). - Android Maven artifacts are published before any npm package that depends on them resolves.
- iOS podspec / Swift products match the release version and the SPM tag exists.
- optional UI and performance packages remain explicit.
Open Source Boundary
Section titled “Open Source Boundary”No local agent state, ignored benchmark artifacts, internal notes, or secrets should be committed:
git ls-files '.claude/**' '.codex/**' '.stitch/**' '.references/**' '.ramen/**' '**/.ramen/**' 'CLAUDE.md'Sensitive wording scan (review for real findings, not test fixtures):
git grep -n -E 'secret|token|api[_-]?key|private launch|internal only|do not publish' \ -- ':!**/*Test*' ':!**/__tests__/**'Docs canonical host resolves before publish:
curl -I -L --max-time 10 https://hakka.noodleapps.comValidation
Section titled “Validation”bun install --frozen-lockfilebun run cleanup:checkjust version-auditbun audit --audit-level highbun run typecheckbun run buildbun run testjust build-androidbun run build:iosbun run phase:verify:cibun run docs:buildbun run pack:npm:dry-runThe docs build must include HTML pages, sitemap, search index, favicon, and
agent-readable /llms.txt, /llms-full.txt, /llms-small.txt, plus the
focused React Native/native SDK text subsets.
Use bun run phase:verify:full before claiming physical benchmark completion.
Runtime Evidence
Section titled “Runtime Evidence”- Bare RN iOS harness launches and captures a request.
- Bare RN Android harness launches and captures a request.
- Expo development-build path is documented; Expo Go is explicitly not supported because Hakka ships native code.
- Physical Android/iOS benchmark status is reported as verified or still open with exact blocker details.
Release Order
Section titled “Release Order”Publish in dependency order so each package’s pinned deps resolve:
- publish Android Maven artifacts and tag the iOS Swift Package
hakka-core→ npmhakka-browser→ npm (depends on core)hakka-bridge→ npm- the leaf packages, after the above resolve:
hakka-react-native(after Maven coordinates resolve),hakka-node(needshakka-bridge),hakka-rozenite, andhakka(CLI, needshakka-bridgefor its/mcpsubpath) - publish docs website