Releases: getpassmint/passmint
Releases · getpassmint/passmint
passmint@0.1.0
Minor Changes
-
2d715a9: Initial alpha release.
passmintis a TypeScript library for generating Apple Wallet.pkpass
files and Google Wallet save-link JWTs from any JavaScript runtime that
supports Web Crypto, Web Streams,Uint8Array, andTextEncoder. That
means Cloudflare Workers, Vercel Edge, Deno, Bun, Supabase Edge, Netlify
Edge, and Node 20+ without polyfills.What works in this release
- Unified pass schema (Valibot
v.variantover 5 pass styles) with
per-style field-count limits enforced at construction time. - Apple
.pkpassassembly: schema → render → SHA-1 manifest → CMS/PKCS#7
detached signature over Web Crypto → STORE-only ZIP viafflate.
Verified end-to-end againstopenssl cms -verifyand confirmed to
install on a real iPhone in Wallet. - Google Wallet save-link JWT: RS256 signing via Web Crypto, inline
class+object payload per pass style, verified round-trip with
matching public key. - Fluent builder API (
Pass.eventTicket(...).primaryField(...)) and
raw object API (Pass.from(...)). Output asUint8Array,
ReadableStream<Uint8Array>, or HTTPResponse. - Typed error hierarchy (
PassmintError,PassmintSchemaError,
PassmintRenderError,PassmintSigningError,
PassmintPackagingError,PassmintGoogleError) with stable
string codes and preserved causes. - Zero
node:*imports, enforced by Biome at the source level, by a
post-build bundle-guard script, and by a real Cloudflare workerd
runtime test via@cloudflare/vitest-pool-workers.
What's not in this release
- PKCS#12 (
.p12) parsing — planned for a sibling@passmint/p12
package that runs Node-only. Consumers must pre-convert to PKCS#8
PEM withopenssl pkcs8 -topk8. - Apple webservice protocol (device registration + APNs push) —
planned for@passmint/webservice. - React components — planned for
@passmint/react. - Google Wallet REST API (class/object CRUD) — planned for
@passmint/google-admin. The JWT save-link flow covers the
primary edge use case.
Requirements
- Node 20+ (or any supported edge runtime)
- Private keys must be in PKCS#8 PEM format
- Apple pass signing requires the real Apple WWDR intermediate CA
and a Pass Type ID certificate from Apple Developer
This is a pre-1.0 alpha. The public API may change before 1.0 based
on real-world feedback. - Unified pass schema (Valibot