v0.90.0 #3376
                  
                    
                      ramfox
                    
                  
                
                  announced in
                Announcements
              
            
            
              v0.90.0
            
            #3376
          
          
        Replies: 0 comments
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
        
    
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
This is the first of our "canary" releases, where we implement the breaking changes needed to get to to our
1.0-rc.If you are a new user or have a network that can handle protocol/wire-level breaking changes, please start here. If you already are using
irohin a network that cannot handle quick upgrades, stay on0.35until1.0-rc.iroh
removed
iroh::endpoint::Builder:: tls_x509removed, this is the tls mechanism that has been removediroh::endpoint::Builder:: tls_raw_public_keysremoved, this is the default mechanism now, so not needed anymoreDisplayimplementation was removed forSecretKey, use.to_bytes()and encode as hex to get the previous bytes explicitly, for example:iroh_relay::protos::stun::StunErroriroh_relay::server::testing::stun_configiroh_relay::protos::stuniroh_relay::quic::QuicClient::get_addr_and_latencyDEFAULT_STUN_PORTiroh::discovery::dns::DnsDiscovery::new, useDnsDiscovery::builderinsteadiroh::discovery::pkarr::PkarrPublisher::new, usePkarrPublisher::builderinsteadiroh::discovery::pkarr::PkarrPublisher::with_options, usePkarrPublisher::builderinsteadiroh::discovery::pkarr::PkarrResolver::new, usePkarrResolver::builderinsteadchanged
anyhow::Erroriroh::protocol::ProtocolHandlermethods now returnimpl Futureinstead ofBoxFuture. You can simply remove theBox::pin(async move {})from the implementations and instead implement the methods asasync fn. See the updated documentation for theiroh::protocolmodule for an example.iroh::protocol::ProtocolHandleris no longer dyn-compatible. If you need a dyn-compatible version, you need to build your own dyn-compatible wrapper trait. See the (non-public)DynProtocolHandleriniroh::protocolas an example.iroh::watcheris now its own craten0-watcher, but theWatchertrait is still a top level export inirohiroh::endpoint::Endpoint::node_addrnow returnsimpl Watcher<Value = Option<NodeAddr>>iroh::endpoint::Endpoint::home_relaynow returnsimpl Watcher<Value = Vec<RelayUrl>>iroh::endpoint::Endpoint::bound_socketsnow returnsVec<SocketAddr>iroh-quinnis updated to0.14.0iroh::protocol::RouterBuilder::acceptnow takesimpl Into<Box<dyn DynProtocolHandler>>instead ofimpl ProtocolHandler. Because of a blanketFromimpl this change does not need any changes by users: you can still pass anyimpl ProtocolHandlertoaccept. Additionally, if you have your own builder struct upstream, you can now also pass aBox<dyn DynProtocolHandler>toaccept, which wasn't possible previously.iroh::discovery::Laggedchanged from a tuple to a structiroh::watcher::Disconnectedis changed from a tuple to a structiroh::watcher::Disconnectedis no longerUnwindSafeorRefUnwindSafeiroh::watcher::InitializedFutis no longerRefUnwindSafeiroh-baseiroh::endpoint::Builder::add_discoverynow takes animpl iroh::discovery::IntoDiscoveryargument instead of a closure that returns aDiscovery. You can implement that on a builder struct, and anyT: Discoveryhas an auto-impl ofIntoDiscovery.iroh::discovery::Discovery::resolveno longer gets a&Endpointargument. If you need an endpoint in your discovery service, add a builder struct and implementIntoDiscoveryfor it, which gives you an endpoint that you can clone into your serviceiroh::discovery::pkarr::PkarrPublisher::n0_dnsnow takes no arguments and returns aPkarrPublisherBuilder. The secret key is set onPkarrPublisherBuilder::buildinstead.iroh-basechangediroh_base::ticket::Erroris renamed toiroh_base::ticket::ParseErroriroh_base::key::KeyParsingErrorhas changed from athiserrorerror to asnafuerroriroh-relayiroh-relaychangediroh_relay::node_info::MaxLengthExceededErroris no longerUnwindSafeorRefUnwindSafeiroh_relay::node_info::MaxLengthExceededErrorwas changed from athiserrorto asnafuerroriroh_relay::client::ConnSendErroris nowiroh_relay::client::SendErroriroh_relay::protos::stun::Erroris nowiroh_relay::protos::stun::StunError⛰️ Features
n0_watcher::Watchertrait (#3356) - (bc6e9e3)DynProtocolHandler(#3366) - (056df1d)Endpoint::node_addrwatchable and addtrait Watcher& combinators (#3045) - (7911255)iroh-base::ticket::ParseErrorenum. (#3362) - (1859de3)🐛 Bug Fixes
🚜 Refactor
IntoDiscoverytrait (#3327) - (7f2cdd1)🧪 Testing
test_qad_client_closes_unresponsive_fasttest (#3332) - (b647af9)⚙️ Miscellaneous Tasks
iroh-metrics,portmapper, andswarm-discovery(#3369) - (79bc05b)Bugfix
Example
This discussion was created from the release v0.90.0.
Beta Was this translation helpful? Give feedback.
All reactions