This is a history of NIP changes that potentially break pre-existing implementations, in reverse chronological order.

Breaking Changes

This is a history of NIP changes that potentially break pre-existing implementations, in reverse chronological order.

DateCommitNIPChange
2025-01-316a4b125a71video events were changed to regular
2024-12-056d16019e46message encryption was changed to NIP-44
2024-11-122838e3bd29kind: 12 and kind: 10 were removed (use kind: 1111 instead)
2024-11-12926a51e746NIP-05 login was removed
2024-11-12926a51e746create_account method was removed
2024-11-12926a51e746connect params and result were changed
2024-10-29f1e8d2c446bunker URL should use remote-signer-key
2024-10-151cda2dcc71some tags were replaced with imeta tag
2024-10-151cda2dcc71kind: 34237 was dropped
2024-10-077bb8997b55some fields and passing data were changed
2024-08-183aff37bd54content should be Asciidoc
2024-07-313ea2f1a445444ad28d was reverted
2024-07-30444ad28d45NIP-45 was deprecated
2024-07-26ecee40df19nrelay was deprecated
2024-07-230227a2cd01events should be sorted by id after created_at
2024-06-0658e94b20258073c848 was reverted
2024-06-06a6dfc7b555NIP number was changed
2024-05-255d1d1c1771aes-256-gcm tag was removed
2024-05-078073c84825e-tags were changed to not include entire thread
2024-04-30bad8826234earliest-unique-commit tag was removed (use r tag instead)
2024-02-254a171cb018quote repost should use q tag
2024-02-21c6cd655c46Params were stringified
2024-02-16cbec02ab49Password first normalized to NFKC
2024-02-15afbb8dd039PGP identity was removed
2024-02-07d3dad11446Connection token format was changed
2024-01-301a2b21b659p tag became optional
2023-01-27c2f3481747optional expiration tag should be honored
2024-01-103d8652ea02, 51list entries should be chronological
2023-12-302986982152name tag was removed (use title tag instead)
2023-12-2717c67ef594aes-256-gcm tag was removed
2023-12-030ba4589501WebSocket status code 4000 was replaced by CLOSED message
2023-11-286de35f9e89client tag value was changed
2023-11-207822a8b151kind: 30001 was deprecated
2023-11-207822a8b151the meaning of kind: 30000 was changed
2023-11-11cbdca1e984range tag was removed
2023-11-10c945d8bd32l tag annotations was removed
2023-11-07108b7f1601OK message must have 4 items
2023-10-17cf672b7603block tag was removed
2023-09-297dc6385f57optional a tag was included in zap receipt
2023-08-2189915e0211min_prefix was removed
2023-08-2037c4375e01replaceable events with same timestamp should be retained event with lowest id
2023-08-1588ee873c15countries tag was renamed to regions
2023-08-1472bb8a1212, 16, 20, 33NIP-12, 16, 20 and 33 were merged into NIP-01
2023-08-11d87f861725empty content should be considered as "+"
2023-08-015d63b15757zap tag was changed
2023-07-15d181440501since and until filters should be since <= created_at <= until
2023-07-12a1cd2bd825custom emoji was supported
2023-06-1883cbd3e111image was renamed to icon
2023-04-13bf0a0da615different NIP was re-added as NIP-15
2023-04-09fb5b7c7315NIP-15 was merged into NIP-01
2023-03-29599e131318NIP-18 was bring back
2023-03-15e1004d3d191: relay was changed to optionally

Breaking changes prior to 2023-03-01 are not yet documented.

NOTES

  • If it isn't clear that a change is breaking or not, we list it.
  • The date is the date it was merged, not necessarily the date of the commit.