All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- NIP-46 Remote Signer Support — full client and server-side NIP-46 authentication
Nip46SignerMiddleware— Express middleware that acts as a NIP-46 signerPOST /request— receive and respond to kind 24133 eventsGET /info— signer metadata (pubkey, relays, supported methods)GET /bunker-uri— generate bunker:// connection URI- In-memory session tracking with configurable timeout and periodic cleanup
Nip46AuthHandler— browser-side handler for authenticating via remote signers (bunkers)- Transport-agnostic via
Nip46Transportinterface (consumer provides relay I/O) connect()/authenticate()/validateSession()/destroy()lifecycle
- Transport-agnostic via
createNip46Signer()factory function (mirrorscreateNostrAuth()pattern)- New types:
Nip46AuthConfig,Nip46SignerConfig,Nip46AuthResult nostr-crypto-utils/nip46subpath module declaration in type definitions- esbuild alias for
nostr-crypto-utils/nip46in browser bundle - 25 new tests (13 signer middleware, 12 auth handler)
- Updated documentation: README, API reference, authentication flow, browser auth guide
nostr-crypto-utilsdependency upgraded from ^0.6.0 to ^0.7.0
- Migrated build system from webpack to esbuild
- Upgraded to Noble 2.0 (
@noble/curves^2.0.1,@noble/hashes^2.0.1) - Upgraded to vitest 4, ESLint 10
- Zero production vulnerabilities
- Updated dependencies to latest within major versions
- Session verification support for browser environments
- TypeScript definitions for window.nostr interface
- Improved error handling for session verification
- Enhanced browser compatibility checks
- Better error messages for session-related operations
- JWT secret validation at startup
- Comprehensive JWT configuration and browser compatibility documentation
- Included documentation in npm package
- Major codebase improvements and documentation updates
- Removed Node.js 16.x support, upgraded GitHub Actions to v4
- Prepared for npm publish
- New TypeScript interfaces in
interfaces/nostr.interface.tsfor better type safety - More comprehensive event validation with detailed error messages
- Improved event validation with stricter type checking
- Better error handling and logging in event validator
- Updated to use latest crypto utilities
- Updated to use published versions of nostr-crypto-utils and nostr-nsec-seedphrase
- Updated key generation to use new generateKeyPairWithSeed function
- Comprehensive test suite with 94.8% coverage
- Tests for challenge generation and verification
- Tests for profile fetching
- Tests for enrollment and verification
- Tests for error handling
- Tests for router integration
- Updated README with testing documentation
- Improved error handling in middleware
- Enhanced TypeScript type safety
- Initial implementation of Nostr authentication middleware
- NIP-07 compatible authentication
- Secure user enrollment with Nostr
- Comprehensive event validation
- Advanced cryptographic operations
- Supabase integration for data persistence
- JWT-based session management