Releases: hotwired/hotwire-native-ios
1.3.0-beta
Caution
This is a beta release of 1.3.0. We might introduce breaking changes before the final release is cut, especially as we implement these features for Android.
What's Changed
Tabs are now loaded lazily
by @joemasilotti in #157
The tab bar can now hide screens on push
by @joemasilotti in #159
To opt-in to this behavior set:
Hotwire.config.hidesTabBarWhenPushed = trueReplace actions can now be animated
by @joemasilotti in #166
To opt-in to this behavior set:
Hotwire.config.animateReplaceActions = trueError views can now be customized
by @svara and @joemasilotti in #163 and #158
import SwiftUI
Hotwire.config.makeCustomErrorView = { error, handler in
AnyView(MyErrorView(error: error, onRetry: handler))
}
struct MyErrorView: View {
let error: Error
let onRetry: ErrorPresenter.Handler?
var body: some View {
VStack(spacing: 12) {
Text("Uh oh…").font(.title.bold())
Text(error.localizedDescription).multilineTextAlignment(.center)
if let onRetry {
Button("Try again", action: onRetry)
}
}
.padding()
}
}Redirecting to a modal now correctly pops the originating screen
by @svara and @joemasilotti in #160 and #154
Other changes
- A typo fix by @frenkel in #170
- The demo app now includes an authentication flow by @joemasilotti in #168
New Contributors
Full Changelog: 1.2.2...1.3.0-beta
1.2.2
What's Changed
Breaking Changes
Manual tracking of app lifecycle status has been removed and replaced with a dedicated AppLifecycleObserver to automatically manage and observe application state changes. See #149
Full Changelog: 1.2.1...1.2.2
1.2.1
What's Changed
- Fix NavigationDelegateTests by @delonnewman in #131
- URL comparison improvements by @svara in #143
- Restore support for running demo app on iOS 15 and later by @leonvogt in #128
New Contributors
- @delonnewman made their first contribution in #131
Full Changelog: 1.2.0...1.2.1
1.2.0
What's Changed
- Fix unexpected modal refreshes by @leonvogt in #95
- Fix unremoved screenshot - feedback by @svara in #99
- Ensure destinationIsActive is set to true when webView is loaded by @williamkennedy in #84
- only update the navigation bar title when loading a page, not the tabs by @dorianmariecom in #103
- Include default server route rules by default by @svara in #76
- Reflect current web view page location in
VisitableViewControllerby @svara in #108 - Revert "Reflect current web view page location in
VisitableViewController" by @svara in #116 - Reflect current page location by @svara in #118
- Route decision handlers by @svara in #105
- Hotwire tab view controller feedback by @joemasilotti in #117
- Hotwire tab view controller by @svara in #109
- Identify navigator when requesting handling by delegate by @olivaresf in #113
- Expose request did finish - feedback by @svara in #119
- Add internal parameter name to new function by @joemasilotti in #120
- Notify bridge destination when a component is initialized by @svara in #121
- Update the web bridge reference to match hotwire-native-bridge
v1.2+by @jayohms in #123 - Add tabs and use new Rails-powered demo site by @joemasilotti in #87
- Use
weakinstead ofunownedreferences for delegates by @svara in #125
Breaking Changes
- All routing now flows through route decision handlers. See #105
- The
Navigatoris now identified when requesting handling by theNavigatorDelegate. See #113
New Contributors
- @williamkennedy made their first contribution in #84
- @dorianmariecom made their first contribution in #103
Full Changelog: 1.1.3...1.2.0
1.1.3
What's Changed
- Make session and modalSession public by @tim-vandecasteele in #90
- Improved
defaultcontext visit behavior when dismissing themodalcontext by @olivaresf in #98
New Contributors
- @tim-vandecasteele made their first contribution in #90
Full Changelog: 1.1.2...1.1.3
1.1.2
What's Changed
- Fix URL in comment by @claudiob in #72
- Expose userAgent as get only property by @jpsphaxer in #75
- Ignore cross-origin redirects that aren’t happening in the main frame by @svara in #80
New Contributors
- @claudiob made their first contribution in #72
- @jpsphaxer made their first contribution in #75
Full Changelog: 1.1.1...1.1.2
1.1.1
1.1.0
Breaking API Changes
Please note there are a couple minor breaking API changes:
- All Hotwire configuration must now be done globally in the
AppDelegate. See #55 for details. - Your app can now define a user-agent prefix (not the entire user agent) specific to your application. The library will take care of adding the other necessary user-agent info including the bridge component registration. See #56 for details.
What's Changed
- Global configuration consolidation by @svara in #55
- Breaking API change: applications can set a User-Agent prefix by @joemasilotti in #56
- Fix bridge registration by @svara in #59
- Fix double-visits after modal form submission redirects by @jayohms in #60
- Additional modal presentation styles by @svara in #61
- Disable link prefetching via the turbo js adapter to prevent double-visit requests by @jayohms in #62
- Path config underscores by @joemasilotti in #63
New Contributors
Full Changelog: 1.0.1...1.1.0
How to Migrate
Read about all the details and how to migrate: https://masilotti.com/hotwire-native-1.1/
1.0.1
What's Changed
- Fix authentication flow in demo app by @joemasilotti in #36
- Fix parameters in route by @harshalbhakta in #46
- Expose
Session.reload()on Navigator by @joemasilotti in #43 - Expose the currently active WebView by @leonvogt in #39
- Fix
animatedflag from path configuration by @joemasilotti in #42 - Ignore view and session lifecycle events when switching between tabs by @svara in #50
New Contributors
- @harshalbhakta made their first contribution in #46
- @leonvogt made their first contribution in #39
- @svara made their first contribution in #50
Full Changelog: 1.0.0...1.0.1
1.0.0
What's Changed
First public release! 🎉
- Move Done button to base controller and add config by @joemasilotti in #4
- Backport turbo-ios PR #181 by @joemasilotti in #7
- Backport turbo-ios PR #189 by @joemasilotti in #8
- Backport turbo-ios PR #155 by @joemasilotti in #9
- Backport turbo-ios PR #190 by @joemasilotti in #10
- Visit before manipulating view controllers by @joemasilotti in #11
- Merge Turbo and Strada config into Hotwire config by @joemasilotti in #13
- Add "Hotwire Native" to user agent by @joemasilotti in #14
- Merge TurboLogger and BridgeLogger into one by @joemasilotti in #15
- Remove
Turbo*prefixes from API by @joemasilotti in #16 - Finish renaming Strada to Bridge by @joemasilotti in #17
- Remove need to call
registerBridgeComponents()when not using bridge components by @joemasilotti in #18 - Enable query string matching by default by @joemasilotti in #19
- Make confirm button blue, not red by @joemasilotti in #20
- Expose
pop()andclearAll()onNavigatorby @joemasilotti in #21 - Update refresh with last visitable by @olivaresf in #22
- Map URL to cached data by @olivaresf in #23
- Move to hotwire-native-demo and remove some Turbolinks 5 references by @olivaresf in #26
- Update to purple tint by @olivaresf in #27
- Updated readme by @olivaresf in #28
New Contributors
- @joemasilotti made their first contribution in #4
- @olivaresf made their first contribution in #22
Full Changelog: https://github.com/hotwired/hotwire-native-ios/commits/1.0.0