NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1635 most downloaded on crates.io
Open a file or link using the system default program.
Last release 9 days ago
29 Sep 2026
Release timing varies
gaps range from 3 weeks to 1.6 years
Some releases are documented
notes for 13 of 22 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
22 releases · first in 2018
The minimum supported Rust version (MSRV) is now 1.77, and is declared in Cargo.toml.
Cargo.toml.open() now uses the Windows shell via PowerShell instead of the discontinued wslview, and reports when Windows cannot open the target. xdg-open is used only if PowerShell is unavailable.xdg-open to xdg-utils 1.2.1, with a fix so that file URLs for other hosts aren't treated as local relative paths.open() and open_browser() do not wait for the opened application to exit, but may block while preparing or dispatching the launch.OpenError::Io now displays the underlying error's message instead of just "IO error". Its source() is now that error's own source, so error reports don't repeat the message.xdg-open, open() now returns an error for a path that doesn't exist, instead of Ok(()). Other xdg-open failures are still not reported, since it may not exit until the opened application does.open_browser() now correctly handles percent-encoded file URLs and preserves queries and fragments when BROWSER is unset.open() now handles percent-encoded non-ASCII characters in file URLs.open_browser() no longer mangles URLs when BROWSER names a Windows executable.open_browser() no longer closes the stderr pipe of the BROWSER program, which could kill it with SIGPIPE.xdg-open script now handles paths that start with -.xdg-open and the BROWSER program, no longer remain as zombie processes after they exit.One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
dbus-vendored feature, as we've moved from the dbus crate to the pure-Rust zbus.
dbus-vendored feature, as we've moved from the dbus crate to the pure-Rust zbus.Nothing published for this version
On Linux, the dbus crate is now only pulled in when enabling the reveal feature (as was the case prior to opener v0.7.0).
dbus crate is now only pulled in when enabling the reveal feature (as was the case prior to opener v0.7.0).opener using versions of Rust prior to 1.71."dbus-vendored" feature, which is enabled by default to match current behavior. This just forwards to the dbus crate's "vendored" feature. Disable it
dbus crate's "vendored" feature. Disable it to link dynamically to dbus instead of statically.Nothing published for this version
reveal() function, which opens the system's file explorer with the specified file or directory selected. It requires the "reveal" feature to be enable
reveal() function, which opens the system's file explorer with the specified file or directory selected. It requires the "reveal" feature to be enabled.OpenError::Spawn variant, which is returned when spawning command(s) fails, and includes the name of the command(s). Before, these errors would be returned as OpenError::Io, which tend to be vague.OpenError is now marked #[non_exhaustive]./ separators in relative paths are now accepted.wslview now works properly.License files are now properly included in the published crate.
### Changed - Update xdg-open.
xdg-open.open_browser(), which uses the $BROWSER environment variable before falling back to open().
open_browser(), which uses the $BROWSER environment variable before falling back to open().wslview command from wslu if available, falling back to the system xdg-open, if available.xdg-open is now used if present. Otherwise, the bundled version is used, as before.impl From<io::Error> for OpenError.### Changed - Update xdg-open.
xdg-open.OpenError now implements std::Error.
OpenError now implements std::error::Error.OpenError's failure::Fail impl was removed from this crate, but the failure crate provides a blanket impl of failure::Fail for types implementing std::error::Error, so this shouldn't break anything.Nothing published for this version
Nothing published for this version
stderr field to OpenError::ExitStatus variant, which captures anything the failed process wrote to stderr.
stderr field to OpenError::ExitStatus variant, which captures anything the failed process wrote to stderr.The open_sys function, which was erroneously pub on non-Windows builds.
open_sys function, which was erroneously pub on non-Windows builds.- Initial release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →