Skip to content

1.3.0

Latest

Choose a tag to compare

@svara svara released this 07 Jul 07:38
65e5e21

What's Changed

  • Configuration option to customize the error view - feedback by @svara in #163
  • Modal redirects feedback by @svara in #160
  • fix: typo by @frenkel in #170
  • Bring back the authentication flow by @joemasilotti in #168
  • Animate replace actions with a fade animation by @joemasilotti in #166
  • Configuration option to customize the error view by @joemasilotti in #158
  • Lazy load tabs by @joemasilotti in #157
  • Pop presenting controller if redirected to modal by @joemasilotti in #154
  • Configuration to hide the tab bar on push by @joemasilotti in #159
  • Renames Hotwire.config.hidesTabBarWhenPushed by @joemasilotti in #193
  • Support UISearchTab on iOS 26 - feedback by @svara in #197
  • Support UISearchTab on iOS 26 by @joemasilotti in #185
  • Allow universal links to open in app within SafariViewController - feedback by @svara in #195
  • Allow universal links to open in app within SafariViewController by @dennispaagman in #191
  • Cancel leaked WKWebView navigations in test simulator by @olivaresf in #229
  • Replace TurboError with structured error types and improve cold boot retry by @olivaresf in #231
  • Allow clients to provide a custom log destination by @zoejessica in #156
  • Fix refresh_historical_location restoring from snapshot cache by @hulloitskai in #241
  • Add configuration to lazy load tabs by @joemasilotti in #194
  • Always provide a retry handler, fix cold-boot retries, and expand logging by @svara in #247
  • Url path preserving backslash feedback by @joemasilotti in #211
  • Handle requests for new windows by proposing a new visit by @zoejessica in #225
  • Position menu (action sheet) on element that triggered it by @dennispaagman in #196
  • Introduce Navigating protocol to make decision handlers testable by @svara in #246
  • Fix TabBarMinimize and prefersLargeTitle behaviour by @nbelzer in #199
  • Fix: Unhandled completion handlers cause crashes when delegate is deallocated by @noah44846 in #233
  • Stamp routed location on view controllers for navigation identity by @svara in #248
  • Pass the full VisitProposal to registered RouteDecisionHandler instances by @svara in #249
  • Move lazyLoadTabs from Hotwire.config to HotwireTabBarController initializer by @svara in #250
  • Only pop the pre-redirect controller when a redirect crosses contexts by @svara in #251
  • Set lazyLoadTabs to false by default by @svara in #252

Breaking Changes

Note that there are a couple of breaking API changes in this release:

  • Custom route decision handlers and web view policy decision handlers now receive the Navigating protocol instead of the concrete Navigator. Route decision handlers also receive a VisitProposal in place of the URL — update matches(location:configuration:) / handle(location:configuration:navigator:) to matches(proposal:configuration:) / handle(proposal:configuration:navigator:), reading proposal.url where you previously used location. See #249 and #246
  • Failures are now reported as a structured HotwireNativeError (composed of HTTPError, LoadError, and WebError) instead of a bare Error. NavigatorDelegate.visitableDidFailRequest(_:error:retryHandler:) and the session failure callbacks now hand you a HotwireNativeError, a retry handler is always supplied, and the previous TurboError type used for visit failures has been replaced. See #231 and #247

New Contributors

Full Changelog: 1.2.2...1.3.0