2.003000 2026-09-08 - Require Core, Client, and Relay 1.002000 or later so installing this release upgrades all components to the September protocol APIs. - Include NIP review fixes for group validation and membership history, wallet encryption discovery, and tested group discovery documentation. - Update the documented NIP conformance target to c3fd9af1 (2026-09-04). - Document NIP-67 EOSE hints and NIP-A3 payment targets in the supported NIP list, and expose the group discovery and relay policy documentation. 2.002000 2026-07-03 - Split the project into Net-Nostr-Core, Net-Nostr-Client, Net-Nostr-Relay, and Net-Nostr shim distributions - Move protocol and NIP tooling into the Net-Nostr-Core distribution - Move Net::Nostr::Client into Net-Nostr-Client and Net::Nostr::Relay plus Net::Nostr::RelayStore into Net-Nostr-Relay - Keep Net::Nostr as a compatibility shim that installs Core, Client, and Relay - Start Net-Nostr-Core, Net-Nostr-Client, and Net-Nostr-Relay at version 1.001000 while keeping the Net-Nostr shim at version 2.002000 - Make AnyEvent::HTTP optional for Net-Nostr-Core and lazy-load it only for Net::Nostr::Identifier network lookup and verification - Keep AnyEvent::HTTP as a hard dependency of the Net-Nostr shim distribution for the full historical install - Leave intra-Net::Nostr distribution dependencies unversioned for split-release indexing - Remove unrecommended NIPs 15, 28, 72, and 90 from the full install surface by dropping Net::Nostr::Marketplace, Net::Nostr::Channel, Net::Nostr::Community, and Net::Nostr::DVM from Net-Nostr-Core - Use Makefile.PL as the single dependency source of truth 2.001000 2026-07-02 - Update supported NIP behavior to nostr-protocol/nips commit 8f8444d0 - Add NIP-29 naddr group identifiers, LiveKit metadata, and participants - Add NIP-43 role definitions and NIP-86 role management validation - Add NIP-44 extended length prefixes and NIP-59 ephemeral gift wraps - Add NIP-78 kind 78 app data and NIP-89 latest/next manifest tags - Enforce NIP-01 single relay endpoint paths and NIP-70 protected repost rules - Update NIP-17 file thumbhash and NIP-34 fork/state metadata handling - Tighten argument validation in updated NIP-29, NIP-34, and NIP-43 builders - Accept either a flat hash or a single hash reference for constructors and named-argument builder/helper APIs - Normalize supported named-argument APIs through one shared internal helper 1.003001 2026-06-27 - Clarify UTF-8 byte/string boundaries for event serialization and message parsing - Reject decoded wide-character JSON strings in Net::Nostr::Message->parse - Add byte-level NIP-01 coverage for non-ASCII event content and tags - Run nested NIP conformance tests under make test 1.003000 2026-04-15 - Expose TLS client options in Net::Nostr::Client for secure relay connections - Declare IO::Socket::SSL as a test prerequisite for TLS coverage 1.002000 2026-04-15 - Add native TLS listener support to Net::Nostr::Relay for wss:// clients 1.001000 2026-04-15 - Reject malformed NIP-77 negentropy hex and truncated range payloads - Enforce Negentropy frame_size_limit on encoded protocol frames - Tighten NIP-17 DirectMessage validation for recipients, file hashes, encryption algorithm, and relay URIs - Add multi-letter tag filter support to Net::Nostr::Filter - Preserve NIP-11 extension fields in Net::Nostr::RelayInfo - Ensure relay HTTP and NIP-11 responses are fully written - Expand relay coverage for immediate post-connect events and write-loop behavior - Add nostr:// clone URL support to Net::Nostr::Git (NIP-34) - Defer relay message processing to prevent re-entrant WebSocket callbacks 1.000002 2026-04-10 - Catch dying user callbacks in Client to prevent breaking the connection 1.000001 2026-04-09 - Fix dependency declarations to use top-level CPAN distributions only 1.000000 2026-04-09 First stable release. Perl implementation of the Nostr protocol with both client and relay functionality. Supported NIPs: 01, 02, 03, 05, 06, 09, 10, 11, 13, 15, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 32, 34, 35, 36, 40, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61, 65, 66, 70, 72, 73, 77, 78, 86, 87, 89, 90, 92, 94, 98, 99, B7. 0.002000 2026-04-01 - Add save_privkey() and save_pubkey() methods to Net::Nostr::Key - Improved documentation 0.001000 2026-04-01 - First release