Planned releases and features for versions 0.9.5 through 0.9.7. Timeline and scope are subject to change based on community feedback and capacity.
Theme: Stability, validation, and better tooling for integrators.
- Config validation — Validate and sanitize
userInfoconfig options; warn or error on invalid values - Output shape guards — Ensure all optional fields have consistent fallbacks; no
undefinedin serialized output where a default is expected - Schema exports — Export TypeScript/Zod schemas for output validation in consuming applications
- Structured error types — Introduce
FingerprintErrorwith codes (e.g.GEO_FAILED,CANVAS_BLOCKED) for programmatic handling - Graceful degradation flags — Add
warningsarray to output when features fail (e.g. WebGL blocked, geolocation timeout) - Geolocation timeout config — Allow
geoTimeoutin config for custom geolocation fetch timeout
- npm
exportsfield — Proper package exports for ESM, CJS, and types - UMD global name — Document and stabilize UMD bundle usage
- Integration tests — Broader Cypress coverage for hash stability and cross-browser behavior
Theme: Flexibility for different deployment and compliance needs.
- Custom geo endpoint —
geoEndpointoption to point to self-hosted or alternate geolocation proxy - Feature flags — Opt-in/opt-out for modules (e.g.
disableCanvas,disableWebGL,disableDeviceType) for privacy/performance trade-offs - Server-side config — Support
userAgentandclientIpin config for server-side fingerprinting
- Plugin / middleware hooks — Lifecycle hooks (e.g.
beforeCollect,afterCollect) for custom enrichment or filtering - Custom hash salt — Optional salt for hash generation to support multi-tenant or rotated identifiers
- Exported collectors — Allow importing individual collectors for tree-shaking and custom pipelines
- Lazy module loading — Defer loading heavy modules (e.g. Bowser, hash-wasm) until needed
- Concurrent collection limits — Configurable parallelism to avoid browser throttling
- Bundle size reporting — Add build script to report ESM/CJS/UMD sizes to CI
Theme: New signals, security hardening, and 1.0 preparation.
- Connection type hint —
navigator.connection(effectiveType, downlink) when available; respect privacy - Referrer policy detection — Indicate if referrer is stripped for attribution context
- Storage persistence — Optional persistence test with clear opt-in and timeout
- Cross-origin isolation — Detect
crossOriginIsolatedandSharedArrayBufferavailability
- Input validation hardening — Guard against prototype pollution and malformed config
- CSP-friendly bundle — Ensure no inline scripts; document CSP headers for safe embedding
- Subresource Integrity (SRI) — Publish SRI hashes for CDN builds
- Stable output version — Add
outputVersionfield for future schema evolution - Deprecation notices — Clear deprecation path for legacy fields (e.g.
ipalone) with migration docs - Documentation generation — Auto-generate API docs from JSDoc/TypeScript for each release
- Audit all public APIs for stability guarantees
- Finalize breaking changes for 1.0
- Update NOTICE.md and compliance docs
- Performance and bundle size benchmarks
| Version | Target Focus | Est. Timeline |
|---|---|---|
| 0.9.5 | Robustness & DX | ~4–6 weeks |
| 0.9.6 | Config & Extensibility | ~4–6 weeks |
| 0.9.7 | Advanced & Hardening | ~6–8 weeks |
Suggestions and contributions are welcome. Open an issue or PR with the roadmap label to propose changes to this plan.