4.0 KiB
4.0 KiB
Changelog
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.
Unreleased
Added
- Added Architecture Decision Records (ADRs) to document architectural decisions
Fixed
- Fixed YARD example rendering issues in
InvalidKeyFormatError#initialize,InvalidKeyLengthError#initialize,InvalidKeyTypeError#initialize,Event#initialize,EncryptedDirectMessage#initializeandFilter#to_h
0.5.0 2023-11-20
Added
- Added relay message type enums
Nostr::RelayMessageType - Compliance with NIP-19 - bech32-formatted strings
Nostr::PrivateKeyandNostr::PublicKeyto represent private and public keys, respectively- Added a validation of private and public keys
- Added an ability to convert keys to and from Bech32 format
- Added RBS types for
faye-websocketandbech32
Changed
- Set the gem's homepage to
https://nostr-ruby.com/ - Updated the filter's documentation to reflect the removal of prefix matching
- Updated the subscription's id documentation to reflect the changes in the protocol definition
- Updated
Nostr::PrivateKeyandNostr::PublicKeyinternally, instead of Strings - Updated the gem
bip-schnorrto version0.6(was0.4) - Updated the gem
pumato version6.4(was6.3) - Updated the gem
raketo version13.1(was13.0) - Updated the gem
rbsto version3.3(was2.8) - Updated the gem
rubocopto version1.57(was1.42) - Updated the gem
rubocop-rspecto version2.25(was2.16) - Updated the gem
steepto version1.6(was1.4)
Fixed
- Fixed the RBS type of the constant
Nostr::Crypto::BN_BASE - Fixed the return type of
Nostr::Crypto#decrypt_textwhen given an invalid ciphertext - Fixed the RBS type of
Nostr::Filter#to_h,Nostr::Filter#eandNostr::Filter#p - Fixed the RBS types of
EventEmitterandEventMachine::Channel - Fixed the generation of private keys
0.4.0 - 2023-02-25
Removed
- Removed
EventFragmentclass. TheEventclass is no longer a Value Object. In other words, it is no longer immutable and it may be invalid by not having attributesidorsig. TheEventFragmentabstraction, along with the principles of immutability and was a major source of internal complexity as I needed to scale the codebase.
Added
- Client compliance with NIP-04 (encrypted direct messages)
- Extracted the cryptographic concerns into a
Cryptoclass. - Added the setters
Event#id=andEvent#sig= - Added a method on the event class to sign events (
Event#sign) - Added a missing test for
EventKind::CONTACT_LIST - Added two convenience methods to append event and pubkey references to an event's tags
add_event_referenceandadd_pubkey_reference
Fixed
- Fixed the generation of public keys
- Fixed the RBS signature of
User#create_event
0.3.0 - 2023-02-15
Added
- Client compliance wth NIP-02 (manage contact lists)
- RBS type checking using Steep and TypeProf
Fixed
- Fixed a documentation typo
- Fixed a documentation error regarding the receiving of messages via websockets
0.2.0 - 2023-01-12
Added
- NIP-01 compliant client
0.1.0 - 2023-01-06
- Initial release