3.9 KiB
3.9 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
Fixed
- Fixed YARD example rendering issues in
InvalidKeyFormatError#initialize
,InvalidKeyLengthError#initialize
,InvalidKeyTypeError#initialize
,Event#initialize
,EncryptedDirectMessage#initialize
andFilter#to_h
0.5.0 2023-11-20
Added
- Added relay message type enums
Nostr::RelayMessageType
- Compliance with NIP-19 - bech32-formatted strings
Nostr::PrivateKey
andNostr::PublicKey
to 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-websocket
andbech32
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::PrivateKey
andNostr::PublicKey
internally, instead of Strings - Updated the gem
bip-schnorr
to version0.6
(was0.4
) - Updated the gem
puma
to version6.4
(was6.3
) - Updated the gem
rake
to version13.1
(was13.0
) - Updated the gem
rbs
to version3.3
(was2.8
) - Updated the gem
rubocop
to version1.57
(was1.42
) - Updated the gem
rubocop-rspec
to version2.25
(was2.16
) - Updated the gem
steep
to version1.6
(was1.4
)
Fixed
- Fixed the RBS type of the constant
Nostr::Crypto::BN_BASE
- Fixed the return type of
Nostr::Crypto#decrypt_text
when given an invalid ciphertext - Fixed the RBS type of
Nostr::Filter#to_h
,Nostr::Filter#e
andNostr::Filter#p
- Fixed the RBS types of
EventEmitter
andEventMachine::Channel
- Fixed the generation of private keys
0.4.0 - 2023-02-25
Removed
- Removed
EventFragment
class. TheEvent
class is no longer a Value Object. In other words, it is no longer immutable and it may be invalid by not having attributesid
orsig
. TheEventFragment
abstraction, 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
Crypto
class. - 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_reference
andadd_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