1.002000   2026-09-08

  - Review fixes: validate all recognized group metadata fields and timeline
    references, reject conflicting flags and empty group identifiers, and
    allow edit_metadata to describe supported kinds and LiveKit support.
    Explicit empty wallet encryption advertisements no longer imply NIP-04.
    Execute the actual metadata, pin, and PaymentTargets POD examples in tests.

  - Update the documented NIP conformance target to c3fd9af1 (2026-09-04).

  - Add Net::Nostr::PaymentTargets for NIP-A3 kind 10133 lists, strict target
    parsing, and URI rendering for known and future payment types.
  - Document and test NIP-51 favorite follow sets (kind 10011) and NIP-46
    unsupported-method error replies without restricting future method names.

  - Allow NIP-22 comments on kind 1 notes.
  - Parse and serialize optional NIP-67 EOSE hint arrays, preserving unknown
    strings and rejecting malformed hint values.
  - Add NIP-47 extension discovery and Info::extensions/supports_extension.
    Discovery builders and parsers now reject malformed token lists and
    duplicate or malformed discovery tags; existing notification APIs remain.
  - Add NIP-29 invite suffixes, banner/parent/ordered child metadata, and
    update_pin_list/pinned_events/pins_from_event helpers with strict validation.

  - Tighten Filter validation to reject trailing newlines in identifiers,
    integer fields, and tag filter names, and reject non-ASCII digits in
    kinds, since, until, and limit. This also applies to filters parsed
    from REQ, COUNT, and NEG-OPEN messages.

1.001002   2026-07-07

  - Rework Net::Nostr::Blossom as a strict NIP-B7/BUD-03 integration
    helper for kind 10063 server-list events, server URL validation, hash
    extraction, fallback URL generation, and SHA-256 content verification.
    This intentionally changes the early Blossom API: server lists are now
    constructed with new(servers => \@urls), duplicates are preserved, and
    malformed server-list events are rejected.
  - Tighten Blossom URL hash extraction so file extensions are captured only
    at the end of the input or before a query or fragment.
  - Add URI as a runtime dependency for structured server URL parsing.
  - Use URI-backed parsing and composition for relay URLs, NIP-05 base URLs,
    NIP-46/NIP-47 connection URIs, and zap callback URLs. This tightens relay
    URL validation for NIP-17 and NIP-65 helpers and rejects malformed or
    valueless relay parameters and empty relay lists in NIP-46/NIP-47
    connection URIs.

1.001001   2026-07-06

  - Sign and verify NIP-01 Schnorr signatures over the 32-byte event id
    instead of its hex string, so events interoperate with standard Nostr
    implementations. Signatures produced by earlier versions are no longer
    valid and must be regenerated.

1.001000   2026-07-03

  - First independent Net-Nostr-Core release, split from Net-Nostr
  - Provide core protocol and NIP tooling
  - Make AnyEvent::HTTP optional for Core and lazy-load it only for
    Net::Nostr::Identifier network lookup and verification
  - Recommend AnyEvent::HTTP for Core installs; the Net::Nostr shim keeps it
    as a hard dependency for the full historical install
  - Remove support for unrecommended NIPs 15, 28, 72, and 90, including
    Net::Nostr::Marketplace, Net::Nostr::Channel, Net::Nostr::Community, and
    Net::Nostr::DVM
  - Use Makefile.PL as the single dependency source of truth
