Release process
June 29, 2026 ยท View on GitHub
This document defines how pushapp-ionic is versioned, validated, and published.
Semantic versioning
We follow SemVer 2.0:
| Bump | When |
|---|---|
| MAJOR | Breaking public API, minimum platform change, or behavior change that requires integrator action |
| MINOR | New backward-compatible features (new methods, optional init flags) |
| PATCH | Bug fixes, security patches, internal/native fixes with no API change |
Public API includes:
- TypeScript exports (
src/definitions.ts,src/errors.ts,src/index.ts) - Capacitor plugin method names and option shapes
- Documented minimum platforms (iOS, Android)
- Stable
PushAppErrorCodestring values (treat renames as breaking)
Pre-release checklist
Before tagging vX.Y.Z:
npm install
npm run lint
npm test
npm run test:contract
npm run verify # build + Android tests + SwiftLint (macOS for SwiftLint)
-
CHANGELOG.mdupdated under[X.Y.Z] -
package.jsonversion matches tag - Native platform mins documented in README + Integration Guide
- No secrets/webhooks in repo
- QA Test Plan executed for release candidate (device matrix)
Publishing to npm
-
Merge release PR to
main. -
Create and push an annotated tag:
git tag -a v0.1.1 -m "pushapp-ionic 0.1.1" git push origin v0.1.1 -
GitHub Actions Release workflow creates a GitHub Release from the tag.
-
Publish to npm (maintainers):
npm publish --access publicprepublishOnlyrunsnpm run buildautomatically.
CocoaPods / SPM
- CocoaPods: version is read from
package.jsonviaPushappIonic.podspec. After npm publish, push the same git tag; integrators runpod update PushappIonic. - SPM: consumers pin the git tag (e.g.
0.1.1) inPackage.swift. Note: SPM does not includeEasyTipView; CocoaPods is the supported path for tooltip campaigns on iOS.
Rocket / enterprise rollout (recommended)
| Stage | Action |
|---|---|
| Sandbox | Pin 0.1.1, sandbox: true, no slackWebhookUrl in prod builds |
| Staging | Full QA Test Plan; verify error-code handling in app |
| Production | Pin exact version; legal/privacy review; monitor Logcat/Xcode for token leaks |
Support policy
- 1.x receives bug fixes and security patches.
- Report issues: GitHub Issues.