The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
1.2.1 - 2026-04-16
- Windows: work around broken AssocQueryStringW() not returning actual string length. See #114
1.2.0 - 2026-03-09
- Bump MSRV to 1.85
- android: better handling of some exception scenarios. See PR #111
1.1.0 - 2026-02-07
- macOS: provide a
dont_switchoption to allow opening browser in the background. See PR #106
1.0.6 - 2025-10-15
- Windows: fix browser opening when unicode characters exist in path. See PR #108
1.0.5 - 2025-03-10
- Unix: Fix build on redox os. See PR #104
- macOS: Fix packed alignment of LSLaunchURLSpec. See PR #102
- WASM: support wasm64
1.0.4 - 2025-03-10
- iOS: Return appropriate errors if called from non-main thread or before UIApplication initialization. See PRs #95 and #99
1.0.3 - 2024-11-28
- Unix: add support for solaris
1.0.2 - 2024-09-16
- macOS: move to core-foundation 0.10
1.0.1 - 2024-05-06
- Support for visionOS. See PR #86 and #87
1.0.0 - 2024-04-20
- Move to 1.0! MSRV has now been defined too.
- Unix: default to standard unix implementation, instead of whitelisting each flavour of unix
- WASM: return an error on dry_run if window object isn't available
0.8.15 - 2024-04-10
- Fix crash on iOS. See #83 and #84
0.8.14 - 2024-04-06
- Illumos: experimental support. See PR #82
- Previously configured MSRV was stale (i.e. wouldn't have compiled), and has been modified to 1.60. This is being treated as bug, and as such not requiring a major release.
0.8.13 - 2024-03-05
- AIX: experimental support. See PR #79
0.8.12 - 2023-10-11
- Linux: fix message about BROWSER env variable. See PR #76
0.8.11 - 2023-08-17
- WSL: handle
&in URL correctly in WSL environment. See issue #73 and PR #74
0.8.10 - 2023-04-12
- Linux: move to
homeas a dependency, instead ofdirs
0.8.9 - 2023-04-12
- Linux: add support for running under Flatpak sandboxes. See issue #67 and PR #70
- Windows: fix a bug where browser command parsing failed. See issue #68 and PR #69
0.8.8 - 2023-01-30
- Android: bumped
jnidependency version to0.21
0.8.7 - 2023-01-30
- Fixes a bug on WSL, when
xdg-settingsexecutes successfully but returns no default browser name. Thanks to @krsh732. See #64.
0.8.6 - 2023-01-26
- For Windows 32-bit, fix ABI to be used, which was broken in v0.8.5. Thanks to @alula. See #62 and #63.
0.8.5 - 2022-12-31
- For Windows platform, removes the
windowscrate dependency, relying on selective FFI bindings instead, thus avoiding the large dependency. See #62. Thanks to @Jake-Shadle.
0.8.4 - 2022-12-31
- Urgent bug fix for windows, where rendering broke on Firefox & Chrome. See #60
0.8.3 - 2022-12-30
- Web browser is guaranteed to open for local files even if local file association was to a non-browser app (say an editor). This now is formally incorporated as part of this crate's Consistent Behaviour
- WSL support, thanks to @Nachtalb. This works even if
wsluis not installed in WSL environments. - A new feature
hardenednow available for applications which require only http(s) urls to be opened. This acts as a security feature.
- On macOS, we now use
CoreFoundationlibrary instead ofopencommand. - On Linux/*BSD, we now parse xdg configuration to execute the command directly, instead of using
xdg-opencommand. This allows us to open the browser for local html files, even if the.htmlextension was associated with an edit (see #55)
- The guarantee of web browser being opened (instead of local file association), now solves for the scenario where the URL is crafted to be an executable. This was reported privately by @offalltn.
0.8.2 - 2022-11-08
- Fix app crashes when running under termux on Android. See #53 and #54.
0.8.1 - 2022-11-01
- On Android, app crashes due to ndk-glue dependency. See #51 and #52. Thanks to @rib for the fix.
0.8.0 - 2022-09-09
- Updated all dependencies to current versions
0.7.1 - 2022-04-27
- Introduce
Browser::is_available()andBrowser::exists(&self)to check availability of browsers without opening a URL
- Modify
BrowserOptionsto be constructable only via the builder pattern, to prevent future API compatibility issues
0.7.0 - 2022-04-24
- Introduce way to provide a target hint to the browser via
BrowserOptions::target_hintPR #45
- Breaking API change for users of
BrowserOptions. We've now shifted to a non-consuming builder pattern to avoid future breakages, as more items get added toBrowserOptions
0.6.0 - 2022-02-19
- Define consistent non-blocking behaviour on all UNIX platforms. Now, unless it's specifically a text browser (like lynx etc.), we make sure that the browser is launched in a non-blocking way. See #18 and https://github.com/amodm/webbrowser-rs/commit/614cacf4a67ae0a75323768a1d70c16d792a760d
- Define default behaviour on all UNIX platforms to make sure that stdout/stderr are suppressed. See #20 and https://github.com/amodm/webbrowser-rs/commit/ecfbf66daa0cc139bd557bd7899a183bd6575990
- (Low probability) breaking change: All public functions now return a
Result<()>. As almost all the uses of this library do a.is_ok()or equivalent, there should not be any breaks, but please report a bug if you do. See #42 and #43 - @VZout modified Android implementation to use JNI instead of
am startbecause of permission issues in more recent Android. - Define consistent behaviour for non-ascii URLs, where they're now encoded automatically before being invoked. See #34 and https://github.com/amodm/webbrowser-rs/commit/11789ddfe36264bbbe7d596ab61e3fff855c3adb
- Richer set of underlying commands used for UNIX to cater to different scenarios at runtime. See https://github.com/amodm/webbrowser-rs/commit/d09eeae4f2ab5664fc01f4dba4a409e1bc11f10e
- On WASM, by default URLs are opened with a target of
_blank. See #39. Thanks to @vbeffa for pointing out the issue. - @tokusumi fixed #41 where addition of
opencommand (done for Haiku) was breaking things in some places.
0.5.5 - 2020-07-20
- Support for WASM PR #26
0.5.4 - 2020-06-09
- Fix README to reflect platform support for Android and Haiku
0.5.3 - 2020-06-09
- Added support for Haiku (Untested right now!) PR #21
- Added support for Android PR #19
- Added support for kioclient and x-www-browser PR #17
0.5.2 - 2019-08-22
- Fix a COM leak bug on Windows PR #15
0.5.1 - 2019-04-01
- Fix the behaviour that open() was blocking on Linux and BSD family. Issue #13
- Fix tests on macos
0.5.0 - 2019-03-31
- Add BSD family to supported platforms. PR #12
0.4.0 - 2018-12-18
- Use
ShellExecuteWon Windows as the earlier approach of using cmd.exe was breaking on special characters. PR #11
- Fixed Apache Licensing format
0.3.1 - 2018-06-22
0.3.0 - 2018-06-18
- Change the OS test to use conditional complication and raise a compile error if the target OS is unsupported. PR #6
- Implement useful trait from StdLib for Browser such as
Display,DefaultandFromStr. PR #6
- Fix the command in
open_on_windowsto usecmd.exeinstead ofstart. PR #5
0.2.2 - 2017-01-23
0.2.1 - 2017-01-22
- Honour
$BROWSERenv var on Linux, before choosing to fallback toxdg-open. Issue #2
0.1.3 - 2016-01-11
- Add Apache license Issue #1
- Initial release.