Cross-platform WebView library in Rust for Tauri.

Related tags

Command-line wry
Overview

WRY Webview Rendering library

Cross-platform WebView rendering library in Rust that supports all major desktop platforms like Windows, macOS, and Linux.

Overview

Wry connects the web engine on each platform and provides easy to use and unified interface to render WebView. It also re-exports tao as a module for event loop and window creation.

Usage

The minimum example to create a Window and browse a website looks like following:

fn main() -> wry::Result<()> {
  use wry::{
    application::{
      event::{Event, StartCause, WindowEvent},
      event_loop::{ControlFlow, EventLoop},
      window::WindowBuilder,
    },
    webview::WebViewBuilder,
  };

  let event_loop = EventLoop::new();
  let window = WindowBuilder::new()
    .with_title("Hello World")
    .build(&event_loop)?;
  let _webview = WebViewBuilder::new(window)?
    .with_url("https://tauri.studio")?
    .build()?;

  event_loop.run(move |event, _, control_flow| {
    *control_flow = ControlFlow::Wait;

    match event {
      Event::NewEvents(StartCause::Init) => println!("Wry has started!"),
      Event::WindowEvent {
        event: WindowEvent::CloseRequested,
        ..
      } => *control_flow = ControlFlow::Exit,
      _ => (),
    }
  });
}

There are also more samples under examples, you can enter commands like the following to try them:

cargo run --example multi_window

For more information, please read the documentation below.

Documentation

Platform-specific notes

All platforms use tao to build the window, and wry re-exports it as an application module. Here is the underlying web engine each platform uses, and some dependencies you might need to install.

Linux

Tao uses gtk-rs and its related libraries for window creation and wry also needs WebKitGTK for WebView. So please make sure the following packages are installed:

Arch Linux / Manjaro:

sudo pacman -S webkit2gtk
sudo pacman -S libappindicator-gtk3 # not required

The libayatana-indicator package can be installed from the Arch User Repository (AUR).

Debian / Ubuntu:

sudo apt install libwebkit2gtk-4.0-dev libayatana-appindicator3-dev
sudo apt install libappindicator3-dev # not required

Fedora

sudo dnf install gtk3-devel webkit2gtk3-devel libappindicator-gtk3-devel

Fedora does not have the Ayatana package yet, so you need to use the GTK one, see the feature flags documentation.

macOS

WebKit is native on macOS so everything should be fine.

If you are cross-compiling for macOS using osxcross and encounter a runtime panic like Class with name WKWebViewConfiguration could not be found it's possible that WebKit.framework has not been linked correctly, to fix this set the RUSTFLAGS environment variable:

RUSTFLAGS="-l framework=WebKit" cargo build --target=x86_64-apple-darwin --release

Windows

WebView2 provided by Microsoft Edge Chromium is used. So wry supports Windows 7, 8, and 10.

Android / iOS

We have experimental support of mobile ends. If you are interested in playing or hacking it, please follow this note.

License

Apache-2.0/MIT

Comments
  • Consider bi-directional RPC communication

    Consider bi-directional RPC communication

    Is your feature request related to a problem? Please describe. Not a problem but I think the ergonomics of the Callback API could be improved or potentially replaced with a higher-level RPC API.

    Describe the solution you'd like As I call wry callbacks from Javascript I don't want to define a new Callback for every function and I want to transparently return data to my Javascript code via Promises. I am currently writing a wrapper on top of the Callback API that achieves this using JSON-RPC but it feels icky because wry is already using JSON-RPC under the hood so I am effectively embedding a JSON-RPC message in the parameter of a JSON-RPC message.

    I would like to propose a solution that uses a Service trait instead of a Callback function and RPC messages are handled transparently using a simple embedded Javascript client (window.rpc maybe?). The Javascript client would expose two public functions call() to call out to a service and receive a reply (via a Promise) and send() which would not include the id and therefore not receive a response from the Service implementation(s).

    Describe alternatives you've considered I have a working prototype but I think this is such a common requirement that it should be part of wry.

    Would you assign yourself to implement this feature?

    • [x] Yes (Linux only)
    • [ ] No

    Additional context The existing Rust JSON-RPC libraries are not a good fit for various reasons so I put together this json-rpc2 crate that I am using for the service implementation.

    Happy to share more if this interests you.

    type: feature request platform: All 
    opened by tmpfs 20
  • Allow setting the browser's background color during attributes

    Allow setting the browser's background color during attributes

    Is your feature request related to a problem? Please describe. Allow the user to set a background color for the webview window to render while loading content. This is typically the step between the os window initializing the webview, and the webview initializing the application. https://github.com/tauri-apps/tauri/issues/1564 (my comment)

    Describe the solution you'd like Having a background_color field on wry::Attributes (I think that is the proper place for it). I don't know which format we should accept the color in...

    • hex string?
    • rgb struct?
    • rgb tuple?
    • other?

    Describe alternatives you've considered none yet

    Would you assign yourself to implement this feature?

    • [ ] Yes
    • [x] No (I am not familiar with the macOS code and don't have access to an macOS machine)

    Additional context The linux part seems easy enough once a format for accepting the color is decided on. Some pseudo-code to replace: https://github.com/tauri-apps/wry/blob/765fe5ae413a1c13ad99802b49f3af859a2445d5/src/webview/linux/mod.rs#L138-L146 with

    let alpha = (!transparent) as i8 as f64;
    webview.set_background_color(&RGBA {
      red: bg_color.red,
      green: bg_color.green,
      blue: bg_color.blue,
      alpha,
    });
    

    assuming bg_color is some sort of struct with red, blue, green fields of f64.

    I assume webview2 and macOS has a way of setting the background color but I'm not familiar with them yet

    type: feature request platform: Windows platform: macOS platform: Linux 
    opened by chippers 19
  • Implement draft RPC API.

    Implement draft RPC API.

    Remove old Callback mechanism.

    • Remove obsolete Callback API
    • Remove FuncCall and RPC
    • Update README
    • Rename set_rpc_handler() to set_handler()
    • Use shared rpc_proxy() function for platform consistency
    • Improve handling of promise cleanup
    • Update README with RPC API info.
    • Panic if webview handler is set after window creation.
    • Improve rpc_proxy() logic, try to ensure any corresponding promise is always removed.
    • Remove FuncCall wrapper.
    opened by tmpfs 19
  • Fix: 276 - Add ability to set custom User Agent

    Fix: 276 - Add ability to set custom User Agent

    It'd be useful to set a custom UA for identifying desktop apps. Additionally, some sites require UA spoofing to work.

    What kind of change does this PR introduce? (check at least one)

    • [ ] Bugfix
    • [x] Feature
    • [ ] Code style update
    • [ ] Refactor
    • [ ] Documentation
    • [ ] Build-related changes
    • [ ] Other, please describe:

    Does this PR introduce a breaking change? (check one)

    • [ ] Yes. Issue #___
    • [x] No

    The PR fulfills these requirements:

    • x ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix: #xxx[,#xxx], where "xxx" is the issue number)
    • [ ] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.

    If adding a new feature, the PR's description includes:

    • [x] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

    Other information:

    • The Win32 Webview2 API does not support overriding the user agent yet.
    • The linux and winrt implementations still have to be tested.
    • @shirakaba mentioned in #276 that ideally it should be possible to update the user agent on the fly. This makes sense, but I do not know the best way to implement this functionality.
    • I still need to add a change file.
    opened by aditsachde 14
  • Webview frozen until mouse moves on Windows

    Webview frozen until mouse moves on Windows

    Describe the bug On windows (webview2) after clicks sometimes noting happens until the mouse moves or until ~2 second passes. The bug was discussed before at https://github.com/tauri-apps/tauri/issues/3691

    Steps To Reproduce cargo run --example hello_world Open and close the hamburger menu by clicking on it and don't move the mouse Sometimes it won't open instantly but a second later

    Expected behavior Menu opens/closes instantly always

    Platform and Versions (please complete the following information): OS: Windows 11 Pro 22000.739 Rustc: 1.61.0 (fe5b13d68 2022-05-18)

    Would you assign yourself to resolve this bug?

    • [ ] Yes
    • [x] No

    Additional context Last working commit: https://github.com/tauri-apps/wry/commit/3a6eefae66c41da0f09293911675cb3c094e58b5 First commit with the bug: https://github.com/tauri-apps/wry/commit/219d20ce66a6bdf6c3e1af6156c9f2a74f2eed29

    Since that commit is a merge and the commits inside of it are tricky to build I'm not certain of this but the possible culprit: https://github.com/tauri-apps/wry/pull/414 (https://github.com/tauri-apps/wry/pull/477/commits/e056fb2a15e29de1b8ed85a548cfeb1f85031357)

    From my testing the webview2-rs example does not have this issue

    type: bug platform: Windows 
    opened by AmionSky 13
  • better l18n support in webview (navigator.language)

    better l18n support in webview (navigator.language)

    This issue has been upstreamed from https://github.com/tauri-apps/tauri/issues/2735

    Is your feature request related to a problem? Please describe. I want to rely on navigator.language or navigator.languages in the webview to determine which language a user prefers and to then translate the app.

    On WSL 2 / Ubuntu 20 the language is just "c", on Windows 10 with WebView2 it does not respect language settings on the system or browser (Edge) level, on native Ubuntu 20 it had a language that was actually more accurate then the system setting, but did not respect the system setting as well. I don't have access to a macos device.

    Describe the solution you'd like Ideally navigator.language or navigator.languages contain languages that match the system level user preferences.

    Describe alternatives you've considered One could call system level APIs (different for every platform, i guess) from Rust to determine the preferences and expose those to Rust and finally the webview. Without changing navigator.language or navigator.languages this approach is not ideal, because some libraries rely on those fields. Maybe an approach where those preferences are exposed on the navigator and additionally have exposed to Rust and Webview via functions.

    help wanted type: feature request platform: All 
    opened by tauri-apps[bot] 13
  • custom_titlebar doesn't support resize

    custom_titlebar doesn't support resize

    Is your feature request related to a problem? Please describe. The custom_titlebar looks nice, and moving the window by dragging the titlebar works great. However, resizing the window by dragging the border doesn't work. This may be a documentation/example issue - though it probably needs support in Tao.

    Describe the solution you'd like There should be an option to specify a thin border (but not too thin). Dragging a border side or corner should resize the window. The custom_titlebar example should demonstrate this.

    Describe alternatives you've considered It is probably possible to do this "by hand": Create a border by nesting the main content inside a slightly larger element, and implement a drag handler. But that seems fairly complicated/fragile, and it would be better for the library to do it (either Wry/Tao or the native Gui toolkit).

    Would you assign yourself to implement this feature?

    • [X ] No

    Additional context This Qt blog seems interesting.

    opened by PerBothner 13
  • Custom protocol on Linux sends empty `Origin` header

    Custom protocol on Linux sends empty `Origin` header

    Describe the bug

    Using a custom protocol like wry:// from the examples, the browser will send Origin: (blank) to the server. And any value for Access-Control-Allow-Origin doesn't work, except for *.

    Steps To Reproduce

    1. Start a Caddy server with the below guide. https://gist.github.com/Beanow/ccb667d1d7ffc674dedd7e54a62800ec
    2. Start the custom protocol example cargo run --example custom_protocol.
    3. Open devtools and run in the console:
    fetch('http://localhost:8080/wry').then(res => res.text()).then(console.log)
    

    Notice how the network tab will claim "Origin: wry://examples" And the server allows it with Access-Control-Allow-Origin: wry://examples.

    However looking at the Caddy access logs, the actual origin header was blank. And the browser blocks the request.

    {
    	"request": {
    		"remote_addr": "172.17.0.1:41812",
    		"proto": "HTTP/1.1",
    		"method": "GET",
    		"host": "localhost:8080",
    		"uri": "/wry",
    		"headers": {
    			"Accept-Encoding": ["gzip, deflate"],
    			"Accept-Language": ["en-US"],
    			"Connection": ["Keep-Alive"],
    			"Origin": [""],
    			"Accept": ["*/*"],
    			"User-Agent": [
    				"Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15"
    			]
    		}
    	},
    	"common_log": "172.17.0.1 - - [11/Aug/2021:19:15:56 +0000] \"GET /wry HTTP/1.1\" 200 27",
    	"duration": 0.000135124,
    	"size": 27,
    	"status": 200,
    	"resp_headers": {
    		"Server": ["Caddy"],
    		"Access-Control-Allow-Origin": ["wry://examples"],
    		"Content-Type": []
    	}
    }
    

    Expected behavior

    • Making a request from the wry://examples origin, sets the header Origin: wry://examples.
    • Given a Access-Control-Allow-Origin: wry://examples response header, the request is not blocked.

    Screenshots

    network console

    Platform and Versions (please complete the following information): OS: Linux / Ubuntu 20.04 LTS Rustc: 1.54.0

    Would you assign yourself to resolve this bug?

    • [ ] Yes
    • [x] No

    Additional context

    Possibly related to #348. Downstream issue https://github.com/tauri-apps/tauri/issues/2327

    Other examples are included in the gist/server.

    fetch('http://localhost:8080/anything').then(res => res.text()).then(console.log)
    

    For instance does seem to work given the Access-Control-Allow-Origin: *.

    help wanted type: bug status: waiting platform: Linux 
    opened by Beanow 13
  • CORS errors when loading assets

    CORS errors when loading assets

    Is there any way to disable CORS in the webview?

    To avoid an X-Y problem: I am loading local JS/HTML files with a custom protocol wry://. These JS files then talk to a backend service that I control.

    The problem is, neither setting Access-Control-Allow-Origin: * nor Access-Control-Allow-Origin: wry:// work on the server, because it seems like the webview hardcodes https and http URL as the only kind of CORS origin. Can CORS just be turned off completely?

    Or is there a way of loading local JS/HTML files with a host that can be matched against by Access-Control-Allow-Origin?

    help wanted type: feature request status: needs more info 
    opened by nullchinchilla 13
  • RPC handler overhaul

    RPC handler overhaul

    Is your feature request related to a problem? Please describe. As the library is stable, I think it's a good time to look back at our RPC handling. Indeed, we do extend it to become more flexible. But it still has some restrictions. the handler could only be one. and some of the handling processes is done by this lib which limits some use case for users.

    Describe the solution you'd like Extend the RPC handler just like what custom protocols did. We could offer a vector of handlers and let users decide how many they want to define. Furthermore, we remove the implementation of JSON RPC. Don't get me wrong, this is actually the right implementation IMHO. But as a general webview lib, we should just expose vanilla parameters each platform provides.

    Describe alternatives you've considered Keep current one. But I believe it's better to let users decide the amount and the message format of the RPC handler.

    Would you assign yourself to implement this feature?

    • [x] Yes
    • [ ] No

    Additional context This also means #79 should let users implement instead. And in our cases, might transfer to tauri repo.

    type: enhancement platform: All 
    opened by wusyong 12
  • Allow opening devtools programmatically

    Allow opening devtools programmatically

    See https://github.com/tauri-apps/tauri/issues/1213.

    On Linux it can be done with https://docs.rs/webkit2gtk/0.11.0/webkit2gtk/trait.WebInspectorExt.html#tymethod.show

    help wanted type: feature request platform: Windows platform: macOS platform: Linux 
    opened by lucasfernog 11
  • Add mobile documentation

    Add mobile documentation

    What kind of change does this PR introduce?

    • [ ] Bugfix
    • [ ] Feature
    • [x] Docs
    • [ ] Code style update
    • [ ] Refactor
    • [ ] Build-related changes
    • [ ] Other, please describe:

    Does this PR introduce a breaking change?

    • [ ] Yes
    • [x] No

    Checklist

    • [ ] This PR will resolve #___
    • [ ] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.
    • [ ] I have added a convincing reason for adding this feature, if necessary
    • [x] It can be built on all targets and pass CI/CD.

    Other information

    opened by wusyong 0
  • Integrate external functions into wry

    Integrate external functions into wry

    Hi,

    I'm trying to implement a desktop app using wry, but I would need to expose some Rust functions and make them usable from the JavaScript code running inside the web app running with wry and I wanted to ask if it was possible and if yes, how.

    Thanks in advance.

    opened by djtech-dev 0
  • Flatpak config files to run in gnome runtime

    Flatpak config files to run in gnome runtime

    Is your feature request related to a problem? Please describe. I just pushed 0.16 branch which should work in gnome runtime. It upgrades gtk-rs crates to 0.16 and bumps webkit2gtk version to 4.1 so we can use libsoup3. This should help fix #717

    Describe the solution you'd like Add necessary config files to build flatpak application. It should use gnome runtime 43with rust extension. If possible, please also write down steps to build the application.

    Describe alternatives you've considered No, this is the only way to keep my sanity.

    Would you assign yourself to implement this feature?

    • [x] Yes, but I'm not familiar with flatpak. I hope anyone already understand it can help me.
    • [ ] No

    Additional context

    help wanted type: feature request platform: Linux priority: medium 
    opened by wusyong 5
  • Publish New Versions

    Publish New Versions

    Version Updates

    Merging this PR will release new versions of the following packages based on your change files.

    wry

    [0.24.0]

    • Changed env vars used when building for Android; changed WRY_ANDROID_REVERSED_DOMAIN to WRY_ANDROID_PACKAGE and WRY_ANDROID_APP_NAME_SNAKE_CASE to WRY_ANDROID_LIBRARY.
      • dfe6a5e refactor: improve android env vars naming (#829) on 2022-12-30
    • Fixes Android initialization scripts order.
      • 7f819c0 fix(android): initialization scripts order (#808) on 2022-12-12
    • Remove redundant .clone() calls and avoid unnecessary heap allocations.
      • 45f2b21 perf: remove redundant .clone() calls and avoid unnecessary heap allocations (#812) on 2022-12-14
    • Change return type of custom protocol handlers from Result<Response<Vec<u8>>> to Result<Response<Cow<'static, [u8]>>>. This allows the handlers to return static resources without heap allocations. This is effective when you embed some large files like bundled JavaScript source as &'static [u8] using include_bytes!.
      • ddd3461 perf: Change return type of custom protocol handler from Vec<u8> to Cow<'static, [u8]>, closes #796 (#797) on 2022-12-12
    • Ensures that the script passed to .with_initialization_script("here") is not empty.
    • Add APIs to process webview document title change.
      • 14a0ee3 feat: add document title changed handler, closes #804 (#825) on 2022-12-30
    • Evaluate scripts after the page load starts on Linux and macOS.
      • ca7c8e4 fix(unix): race condition on script eval (#815) on 2022-12-14
    • Improve panic error messages on the build script.
      • 5b9f21d feat: improve build script panic messages (#807) on 2022-12-12
    • Add WebViewBuilder::with_url_and_headers and WebView::load_url_with_headers to navigate to urls with headers.
      • 8ae93b9 feat: add headers when loading URLs, closes #816 (#826) on 2023-01-01
      • e246bd1 chore: update headers change file on 2023-01-01
    • Change class declare name from UIViewController to WryNavigationDelegate to avoid class name conflict on iOS.
      • fca42a0 fix(ios): navigation delegate class name conflict (#824) on 2022-12-27
    • On Windows, Add WebviewBuilderExtWindows::with_theme and WebviewExtWindows::set_theme to change webview2 theme.
    version updates 
    opened by github-actions[bot] 0
  • fix(deps): update rust crate base64 to v0.21.0

    fix(deps): update rust crate base64 to v0.21.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | base64 | dependencies | minor | 0.13 -> 0.21 | | base64 | dev-dependencies | minor | 0.13.1 -> 0.21.0 |


    Release Notes

    marshallpierce/rust-base64

    v0.21.0

    Compare Source

    (not yet released)

    Migration

    Functions

    | < 0.20 function | 0.21 equivalent | |-------------------------|-------------------------------------------------------------------------------------| | encode() | engine::general_purpose::STANDARD.encode() or prelude::BASE64_STANDARD.encode() | | encode_config() | engine.encode() | | encode_config_buf() | engine.encode_string() | | encode_config_slice() | engine.encode_slice() | | decode() | engine::general_purpose::STANDARD.decode() or prelude::BASE64_STANDARD.decode() | | decode_config() | engine.decode() | | decode_config_buf() | engine.decode_vec() | | decode_config_slice() | engine.decode_slice() |

    The short-lived 0.20 functions were the 0.13 functions with config replaced with engine.

    Padding

    If applicable, use the preset engines engine::STANDARD, engine::STANDARD_NO_PAD, engine::URL_SAFE, or engine::URL_SAFE_NO_PAD. The NO_PAD ones require that padding is absent when decoding, and the others require that canonical padding is present .

    If you need the < 0.20 behavior that did not care about padding, or want to recreate < 0.20.0's predefined Configs precisely, see the following table.

    | 0.13.1 Config | 0.20.0+ alphabet | encode_padding | decode_padding_mode | |-----------------|------------------|------------------|-----------------------| | STANDARD | STANDARD | true | Indifferent | | STANDARD_NO_PAD | STANDARD | false | Indifferent | | URL_SAFE | URL_SAFE | true | Indifferent | | URL_SAFE_NO_PAD | URL_SAFE | false | Indifferent |

    v0.20.0

    Compare Source

    Breaking changes

    • Update MSRV to 1.57.0
    • Decoding can now either ignore padding, require correct padding, or require no padding. The default is to require correct padding.
      • The NO_PAD config now requires that padding be absent when decoding.

    0.20.0-alpha.1

    Breaking changes
    • Extended the Config concept into the Engine abstraction, allowing the user to pick different encoding / decoding implementations.
      • What was formerly the only algorithm is now the FastPortable engine, so named because it's portable (works on any CPU) and relatively fast.
      • This opens the door to a portable constant-time implementation (#​153, presumably ConstantTimePortable?) for security-sensitive applications that need side-channel resistance, and CPU-specific SIMD implementations for more speed.
      • Standard base64 per the RFC is available via DEFAULT_ENGINE. To use different alphabets or other settings ( padding, etc), create your own engine instance.
    • CharacterSet is now Alphabet (per the RFC), and allows creating custom alphabets. The corresponding tables that were previously code-generated are now built dynamically.
    • Since there are already multiple breaking changes, various functions are renamed to be more consistent and discoverable.
    • MSRV is now 1.47.0 to allow various things to use const fn.
    • DecoderReader now owns its inner reader, and can expose it via into_inner(). For symmetry, EncoderWriter can do the same with its writer.
    • encoded_len is now public so you can size encode buffers precisely.

    v0.13.1

    Compare Source

    • More precise decode buffer sizing, avoiding unnecessary allocation in decode_config.

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about these updates again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • feat: support callback function in eval

    feat: support callback function in eval

    What kind of change does this PR introduce?

    • [ ] Bugfix
    • [x] Feature
    • [ ] Docs
    • [ ] New Binding issue #___
    • [ ] Code style update
    • [ ] Refactor
    • [ ] Build-related changes
    • [ ] Other, please describe:

    Does this PR introduce a breaking change?

    • [ ] Yes, and the changes were approved in issue #___
    • [ ] No

    Checklist

    • [ ] When resolving issues, they are referenced in the PR's title (e.g fix: remove a typo, closes #___, #___)
    • [ ] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.
    • [x] I have added a convincing reason for adding this feature, if necessary

    Other information

    This a draft for resolving issue #474. The API should expose to external after most of major platforms are implemented.

    • Callback closure in evaluate_script should be like | val: String | { ... }. We will serialized the return value from eval and pass to it the callback.
    • Error from the execution result will not pass to the callback closure due to varying formats returned by each platform. I think this is a minor issue, we can deal with this later.
    • [ ] TODO:
      • [x] macOS
      • [x] Unix
      • [x] Windows
      • [ ] Android

    Issues

    opened by pewsheen 0
Releases(wry-v0.23.4)
  • wry-v0.23.4(Dec 13, 2022)

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 473 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (241 crate dependencies)
    

    [0.23.4]

    • Fixes Android initialization scripts order.
      • 800cc48 fix(android): initialization scripts order (#808) on 2022-12-12
    • Improve panic error messages on the build script.
      • 4ec7386 feat: improve build script panic messages (#807) on 2022-12-12

    Cargo Publish

    Updating crates.io index
       Packaging wry v0.23.4 (/home/runner/work/wry/wry)
       Uploading wry v0.23.4 (/home/runner/work/wry/wry)
    
    Source code(tar.gz)
    Source code(zip)
  • wry-v0.23.3(Dec 10, 2022)

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 473 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (241 crate dependencies)
    

    [0.23.3]

    • Fix the beep sound on macOS

    Cargo Publish

    Updating crates.io index
       Packaging wry v0.23.3 (/home/runner/work/wry/wry)
       Uploading wry v0.23.3 (/home/runner/work/wry/wry)
    
    Source code(tar.gz)
    Source code(zip)
  • wry-v0.23.2(Dec 9, 2022)

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 473 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (241 crate dependencies)
    

    [0.23.2]

    • On macOS, remove all custom keydown implementations. This will bring back keydown regression but should allow all accelerator working.
      • fee4bf2 Remove all keydown implementations (#798) on 2022-12-10
    • Suppress unused_variables warning reported only in release build.
      • 4e23c0f fix(macos): suppress unused_variables warning reported only in release build (#790) on 2022-12-07
    • Add WebViewBuilderExtWindows::with_browser_accelerator_keys method to allow disabling browser-specific accelerator keys enabled in WebView2 by default. When false is passed, it disables all accelerator keys that access features specific to a web browser. See the official WebView2 document for more details.
      • 6e622ff feat(windows): Allow disabling browser-specific accelerator keys (#792) on 2022-12-07

    Cargo Publish

    Updating crates.io index
       Packaging wry v0.23.2 (/home/runner/work/wry/wry)
       Uploading wry v0.23.2 (/home/runner/work/wry/wry)
    
    Source code(tar.gz)
    Source code(zip)
  • wry-v0.23.1(Dec 5, 2022)

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 472 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (241 crate dependencies)
    

    [0.23.1]

    • Fixes usage of the linux-headers feature.
      • 64a72ff fix(wry): correctly use the linux-headers feature on 2022-12-05

    Cargo Publish

    Updating crates.io index
       Packaging wry v0.23.1 (/home/runner/work/wry/wry)
       Uploading wry v0.23.1 (/home/runner/work/wry/wry)
    
    Source code(tar.gz)
    Source code(zip)
  • wry-v0.23.0(Dec 5, 2022)

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 472 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (241 crate dependencies)
    

    [0.23.0]

    • Properly parse the content type header for the android.webkit.WebResourceResponse mime type.
      • 1db5ea6 fix(android): properly parse content-type for response mime type (#772) on 2022-11-27
    • Change typo in WebViewBuilderExtWindows::with_additionl_browser_args. to WebViewBuilderExtWindows::with_additional_browser_args.
      • db1c290 fix(windows): Fix typo in method name of WebViewBuilderExtWindows (#781) on 2022-12-02
    • Add Webiew::load_url.
      • a2b9531 feat: add Webiew::navigate_to_url, closes #776 (#777) on 2022-11-30
    • Change the type of WebViewBuilderExtWindows::with_additional_browser_args argument from AsRef<str> to Into<String> to reduce extra allocation.
      • b0ff06a perf: reduce extra allocation at WebViewBuilderExtWindows::with_additional_browser_args argument (#783) on 2022-12-03
    • Validate custom protocol response status code on Android.
      • 7f585c7 feat(android): validate custom protocol response status code (#779) on 2022-11-30
    • On macOS, revert content view to native NSView

    Cargo Publish

    Updating crates.io index
       Packaging wry v0.23.0 (/home/runner/work/wry/wry)
       Uploading wry v0.23.0 (/home/runner/work/wry/wry)
    
    Source code(tar.gz)
    Source code(zip)
  • wry-v0.22.6(Dec 5, 2022)

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 472 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (241 crate dependencies)
    

    [0.22.6]

    • Fixes usage of the linux-headers feature.
      • 14c5ae7 fix(wry): correctly use the linux-headers feature on 2022-12-05

    Cargo Publish

    Updating crates.io index
       Packaging wry v0.22.6 (/home/runner/work/wry/wry)
       Uploading wry v0.22.6 (/home/runner/work/wry/wry)
    
    Source code(tar.gz)
    Source code(zip)
  • wry-v0.22.5(Nov 25, 2022)

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 470 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (241 crate dependencies)
    

    [0.22.5]

    • On macOS, fix arrow keys misprint text on textarea.
      • 3005e54 On macOS, fix arrow keys misprint texts (#769) on 2022-11-25

    Cargo Publish

    Updating crates.io index
       Packaging wry v0.22.5 (/home/runner/work/wry/wry)
       Uploading wry v0.22.5 (/home/runner/work/wry/wry)
    
    Source code(tar.gz)
    Source code(zip)
  • wry-v0.22.4(Nov 24, 2022)

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 470 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (242 crate dependencies)
    

    [0.22.4]

    • On Linux, add linux-headers feature flag to fix version regression. The minimum webkit2gtk version remains v2.22.
      • cf447f6 On Linux, add header feature flag to fix version regression (#766) on 2022-11-24

    Cargo Publish

    Updating crates.io index
       Packaging wry v0.22.4 (/home/runner/work/wry/wry)
       Uploading wry v0.22.4 (/home/runner/work/wry/wry)
    
    Source code(tar.gz)
    Source code(zip)
  • wry-v0.22.3(Nov 21, 2022)

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 469 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (242 crate dependencies)
    

    [0.22.3]

    • On macOS, fix keyinput missing by calling superclass methods.
      • e40e55a On macOS, fix keyinput missing by calling super class methods (#764) on 2022-11-21

    Cargo Publish

    Updating crates.io index
       Packaging wry v0.22.3 (/home/runner/work/wry/wry)
       Uploading wry v0.22.3 (/home/runner/work/wry/wry)
    
    Source code(tar.gz)
    Source code(zip)
  • wry-v0.22.2(Nov 21, 2022)

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 469 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (242 crate dependencies)
    

    [0.22.2]

    • On macOS, add an API to enable or disable backward and forward navigation gestures.
      • 487dff0 Add the ability to navigate with swipe gesture (#757) on 2022-11-16
      • 1a0ec19 Update gesture change file to patch (#763) on 2022-11-21
    • On macOS, pass key event to menu if we have one on key press.
      • 2e5e138 On macOS, pass key event to menu on key press (#760) on 2022-11-21

    Cargo Publish

    Updating crates.io index
       Packaging wry v0.22.2 (/home/runner/work/wry/wry)
       Uploading wry v0.22.2 (/home/runner/work/wry/wry)
    
    Source code(tar.gz)
    Source code(zip)
  • wry-v0.22.1(Nov 16, 2022)

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 469 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (242 crate dependencies)
    

    [0.22.1]

    • Fix WebViewBuilder::with_accept_first_mouse taking behavior of first initalized webview.
      • 0647c0e fix(macos): fix acceptFirstMouse for subsequent webviews, closes #751 (#752) on 2022-11-13
    • Fix download implementation on macOS older than 11.3.
      • e69ddc6 fix(macos): download breaking app on macOS older than 11.3, closes #755 (#756) on 2022-11-15
    • On macOS, remove webview from window's NSView before dropping.
      • 3d3ea80 On macOS, remove webview from window's NSView before dropping (#754) on 2022-11-14

    Cargo Publish

    Updating crates.io index
       Packaging wry v0.22.1 (/home/runner/work/wry/wry)
       Uploading wry v0.22.1 (/home/runner/work/wry/wry)
    
    Source code(tar.gz)
    Source code(zip)
  • wry-v0.22.0(Nov 8, 2022)

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 469 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (242 crate dependencies)
    

    [0.22.0]

    • Added WebViewAttributes::with_accept_first_mouse method for macOS.
      • 2c23440 feat(macos): add accept_first_mouse option, closes #714 (#715) on 2022-10-04
    • Breaking change Custom protocol now takes Request and returns Response types from http crate.
      • 1510e45 refactor: use http crate primitives instead of a custom impl (#706) on 2022-09-29
    • Enabled devtools in debug mode by default.
      • fea0638 feat: enable devtools in debug mode by default (#741) on 2022-10-27
    • On Desktop, add download_started_handler and download_completed_handler. See blob_download and download_event example for their usages.
      • 3691c4f feat: Add download started and download completed callbacks (#530) on 2022-10-19
    • Fix double permission dialog on macOS 12+ and iOS 15+.
      • 8aa7d61 Fix: Remove extra soft prompt asking for media permission on every app launch in macOS (#694) on 2022-09-29
    • Focus webview when window starts moving or resizing on Windows to automatically close <select> dropdowns. Also notify webview2 whenever the window position/size changes which fixes the <select> dropdown position
      • a1001dd fix(windows): focus webview on WM_ENTERSIZEMOVE and call NotifyParentChanged on WM_WINDOWPOSCHANGED. (#695) on 2022-09-16
    • On Windows, hide the webview when the window is minimized to reduce memory and cpu usage.
      • 51b49c5 feat(webview2): hide the webview when the window is minimized (#702) on 2022-09-27
    • Internally return with error from custom protocol if an invalid uri was requseted such as wry:// which doesn't contain a host.
      • 818ce99 fix: don't panic on invalid uri (#712) on 2022-09-30
    • Support cross compiling ios on a non macos host.
    • On Linux, Improve custom protocol with http headers / method added to request, and status code / http headers added to response. This feature is 2.36 only, version below it will fallback to previous implementation.
      • 2944d91 feat(linux): add headers to URL scheme request (#721) on 2022-10-17
    • On macOS, add WKWebview as subview of existing NSView directly.
      • 008eca8 On macOS, add WKWebview as subview of existing NSView directly (#745) on 2022-11-07
    • Keypress on non-input element no longer triggers unsupported key feedback sound.
      • 51c7f12 fix(macos): do not trigger unsupported key feedback sound on keypress (#742) on 2022-10-30
    • Remove the IPC script message handler when the WebView is dropped on macOS.
      • 818ce99 fix: don't panic on invalid uri (#712) on 2022-09-30
    • Breaking change Removed http error variants from wry::Error and replaced with generic HttpError variant that can be used to convert http crate errors.
      • 1510e45 refactor: use http crate primitives instead of a custom impl (#706) on 2022-09-29
    • Disabled Microsoft SmartScreen by default on Windows.
      • a617c5b feat(webview2): disable smartscreen & allow disabling internal webview2 args, closes #704 (#705) on 2022-09-28
    • Add WebView::url to get the current url.
      • 38e49bd feat: add WebView::url() to access the current url (#732) on 2022-10-25
    • Breaking change Removed http module and replaced with re-export of http crate.
      • 1510e45 refactor: use http crate primitives instead of a custom impl (#706) on 2022-09-29
    • Add WebviewBuilderExtWindows::with_additionl_browser_args method to pass additional browser args to Webview2 On Windows. By default wry passes --disable-features=msWebOOUI,msPdfOOUI,msSmartScreenProtection so if you use this method, you also need to disable these components by yourself if you want.
      • 683f866 feat(webview2): add method to pass additional args, closes #415 (#711) on 2022-09-29
    • On Windows, fix canonical reason for custom protocol response.
      • 9d5595c fix(webview2): set response reason correctly, closes #733 (#734) on 2022-10-24
    • On macOS, make the webview first responder.
      • e64ad21 fix(wkwebview): make webview first responder (#740) on 2022-10-28

    Cargo Publish

    Updating crates.io index
       Packaging wry v0.22.0 (/home/runner/work/wry/wry)
       Uploading wry v0.22.0 (/home/runner/work/wry/wry)
    
    Source code(tar.gz)
    Source code(zip)
  • wry-v0.21.1(Sep 15, 2022)

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 457 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (239 crate dependencies)
    

    [0.21.1]

    • Fix transparency on Windows
      • e31cd0a fix: fix transparency on Windows, closes #692 on 2022-09-16

    Cargo Publish

    Updating crates.io index
       Packaging wry v0.21.1 (/home/runner/work/wry/wry)
       Uploading wry v0.21.1 (/home/runner/work/wry/wry)
    
    Source code(tar.gz)
    Source code(zip)
  • wry-v0.21.0(Sep 13, 2022)

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 457 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (239 crate dependencies)
    

    [0.21.0]

    • Implement <input type="file"> on Android.
      • bf39d9d feat(android): implement dialogs and permissions (#685) on 2022-09-05
    • Add WebviewExtAndroid::handle which can be used to execute some code using JNI context.
      • 2bfc6c3 feat(android): JNI execution handle (#689) on 2022-09-07
    • Enable JS alert, confirm, prompt on Android.
      • bf39d9d feat(android): implement dialogs and permissions (#685) on 2022-09-05
    • Prompt for permissions on Android when needed.
      • bf39d9d feat(android): implement dialogs and permissions (#685) on 2022-09-05
    • Implement webview_version on Android.
      • 9183de4 feat(android): implement webview_version (#687) on 2022-09-05
    • Enable storage, geolocation, media playback, window.open.
      • 9dfffcf feat(android): enable storage, geolocation, media playback, window.open (#684) on 2022-09-04
    • Improve Android initialization script implementation.
      • 1b26d60 feat(android): improve initialization scripts implementation (#670) on 2022-08-24
    • WRY will now generate the needed kotlin files at build time but you need to set WRY_ANDROID_REVERSED_DOMAIN, WRY_ANDROID_APP_NAME_SNAKE_CASE and WRY_ANDROID_KOTLIN_FILES_OUT_DIR env vars.
      • b478903 feat(android): generate kotlin files at build time (#671) on 2022-08-24
      • 103f255 chore: change bump to patch on 2022-08-25
    • Breaking change Removed WebView::focus.
      • f338df7 feat(windows): auto-focus the webview (#676) on 2022-08-27
    • Updated tao to 0.14
    • Allow setting the webview background color.
      • eb1b723 feat: allow setting webview bg color, closes #197 (#682) on 2022-09-05
    • Added the RustWebView class on Android.
      • b1e8560 feat(android): define WebView class in kotlin (#672) on 2022-08-24
    • Update the windows crate to the latest 0.39.0 release and webview2-com to 0.19.1 to match.
      • c7d7e1f Update windows to 0.39.0 and webview2-com to 0.19.1 to match (#679) on 2022-08-31
    • On Windows, automatically focus the webview when the window gains focus to match other platforms.
      • f338df7 feat(windows): auto-focus the webview (#676) on 2022-08-27

    Cargo Publish

    Updating crates.io index
       Packaging wry v0.21.0 (/home/runner/work/wry/wry)
       Uploading wry v0.21.0 (/home/runner/work/wry/wry)
    
    Source code(tar.gz)
    Source code(zip)
  • wry-v0.20.2(Aug 14, 2022)

    Updating crates.io index

    Cargo Audit

    \` Fetching advisory database from https://github.com/RustSec/advisory-db.git Loaded 440 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (186 crate dependencies) \`

    [0.20.2]

    • Implement custom protocol on Android.
      • dc68289 feat(android): implement custom protocol (#656) on 2022-08-13
    • Implement WebView::eval on Android.
      • 690fd26 feat(android): implement eval (#658) on 2022-08-13
    • On iOS, add webview as subview instead of replacing original view.
      • 74391e0 fix(ios): addSubview instead of setContentView (#655) on 2022-08-13
    • Move WebView logic from tao to wry.
      • aba1ae5 refactor(android): move WebView logic from tao to wry (#659) on 2022-08-14

    Cargo Publish

    \` Updating crates.io index Packaging wry v0.20.2 (/home/runner/work/wry/wry) Uploading wry v0.20.2 (/home/runner/work/wry/wry) \`

    Source code(tar.gz)
    Source code(zip)
  • wry-v0.20.1(Aug 9, 2022)

    Updating crates.io index

    Cargo Audit

    \` Fetching advisory database from https://github.com/RustSec/advisory-db.git Loaded 435 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (186 crate dependencies) \`

    [0.20.1]

    • Add android support
    • Enable private picture-in-picture on macos.
      • 3cfd8c9 fix: add feature flag to enable private picture-in-picture flag on macos (#645) on 2022-08-05
    • On macOS, fix devtool warning
      • 2eba8c9 fix: devtool warning by adding parent view

    Cargo Publish

    \` Updating crates.io index Packaging wry v0.20.1 (/home/runner/work/wry/wry) Uploading wry v0.20.1 (/home/runner/work/wry/wry) \`

    Source code(tar.gz)
    Source code(zip)
  • wry-v0.20.0(Jul 27, 2022)

    Updating crates.io index

    Cargo Audit

    \` Fetching advisory database from https://github.com/RustSec/advisory-db.git Loaded 422 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (187 crate dependencies) \`

    [0.20.0]

    • Add WebViewBuilder::with_clipboard.
      • c798700 fix: Add WebViewBuilder::with_clipboard(#631) on 2022-07-05
    • Fix typos in several files.
    • Set webview2 language to match the OS language. This makes i18n functions like new Date().toLocaleStrin() behave correctly.
      • e9f04d7 fix: set system language to webview on windows, closes #442 (#640) on 2022-07-26
    • Update tao to 0.13.0.

    Cargo Publish

    \` Updating crates.io index Packaging wry v0.20.0 (/home/runner/work/wry/wry) Uploading wry v0.20.0 (/home/runner/work/wry/wry) \`

    Source code(tar.gz)
    Source code(zip)
  • wry-v0.19.0(Jun 28, 2022)

    Updating crates.io index

    Cargo Audit

    \` Fetching advisory database from https://github.com/RustSec/advisory-db.git Loaded 419 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (182 crate dependencies) \`

    [0.19.0]

      • Automatically resize the webview on Windows to align with other platforms.
    • Breakin change: Removed WebView::resize
    • d7c9097 feat: auto resize webview on Windows (#628) on 2022-06-27
    • Implement new window requested handler
      • fa5456c feat: Implement new window requested event, closes #527 (#526) on 2022-06-19
    • Re-export url::Url.
    • Update tao to 0.12

    Cargo Publish

    \` Updating crates.io index Packaging wry v0.19.0 (/home/runner/work/wry/wry) Uploading wry v0.19.0 (/home/runner/work/wry/wry) \`

    Source code(tar.gz)
    Source code(zip)
  • wry-v0.18.3(Jun 14, 2022)

    Updating crates.io index

    Cargo Audit

    \` Fetching advisory database from https://github.com/RustSec/advisory-db.git Loaded 417 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (180 crate dependencies) \`

    [0.18.3]

    • Update tao to 0.11

    Cargo Publish

    \` Updating crates.io index Packaging wry v0.18.3 (/home/runner/work/wry/wry) Uploading wry v0.18.3 (/home/runner/work/wry/wry) \`

    Source code(tar.gz)
    Source code(zip)
  • wry-v0.18.2(Jun 7, 2022)

    Updating crates.io index

    Cargo Audit

    \` Fetching advisory database from https://github.com/RustSec/advisory-db.git Loaded 416 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (163 crate dependencies) \`

    [0.18.2]

    • Fix NSString can not be released.
      • 95ca52f fix: NSString isn't released (#604) on 2022-06-07

    Cargo Publish

    \` Updating crates.io index Packaging wry v0.18.2 (/home/runner/work/wry/wry) Uploading wry v0.18.2 (/home/runner/work/wry/wry) \`

    Source code(tar.gz)
    Source code(zip)
  • wry-v0.18.1(May 31, 2022)

    Updating crates.io index

    Cargo Audit

    \` Fetching advisory database from https://github.com/RustSec/advisory-db.git Loaded 416 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (163 crate dependencies) \`

    [0.18.1]

    • Remove unused tray from doc features.
      • 5eecb00 Remove unused tray from doc features (#602) on 2022-05-31

    Cargo Publish

    \` Updating crates.io index Packaging wry v0.18.1 (/home/runner/work/wry/wry) Uploading wry v0.18.1 (/home/runner/work/wry/wry) \`

    Source code(tar.gz)
    Source code(zip)
  • wry-v0.18.0(May 31, 2022)

    Updating crates.io index

    Cargo Audit

    \` Fetching advisory database from https://github.com/RustSec/advisory-db.git Loaded 416 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (163 crate dependencies) \`

    [0.18.0]

    • Remove trivial tray features.
      • a3fea48 Remove trivial tray features (#599) on 2022-05-31

    Cargo Publish

    \` Updating crates.io index Packaging wry v0.18.0 (/home/runner/work/wry/wry) Uploading wry v0.18.0 (/home/runner/work/wry/wry) \`

    Source code(tar.gz)
    Source code(zip)
  • wry-v0.17.0(May 24, 2022)

    Updating crates.io index

    Cargo Audit

    \` Fetching advisory database from https://github.com/RustSec/advisory-db.git Loaded 416 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (163 crate dependencies) \`

    [0.17.0]

    • Add option to enable/disable zoom shortcuts for WebView2, disabled by default.
      • 494a110 WebView2: Enable/disable platform default zooming shortcuts, closes #569 (#574) on 2022-05-15
    • Prevent memory leak on macOS.
      • 16d1924 fix: prevent memory leak on macOS, closes #536 (#587) on 2022-05-20
    • Update the windows crate to the latest 0.37.0 release and webview2-com to 0.16.0 to match.

    The #[implement] macro in windows-implement and the implement feature in windows depend on some const generic features which stabilized in rustc 1.61. The MSRV on Windows targets is effectively 1.61, but other targets do not require these features.

    The webview2-com crate specifies rust-version = "1.61", so wry will inherit that MSRV and developers on Windows should get a clear error message telling them to update their toolchain when building wry or anything that depends on wry. Developers targeting other platforms should be able to continue using whatever toolchain they were using before.

    • 9d9d9d8 Update windows-rs to 0.37.0 and webview2-com to 0.16.0 to match (#592) on 2022-05-23

    Cargo Publish

    \` Updating crates.io index Packaging wry v0.17.0 (/home/runner/work/wry/wry) Uploading wry v0.17.0 (/home/runner/work/wry/wry) \`

    Source code(tar.gz)
    Source code(zip)
  • wry-v0.16.2(May 10, 2022)

    Updating crates.io index

    Cargo Audit

    \` Fetching advisory database from https://github.com/RustSec/advisory-db.git Loaded 406 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (170 crate dependencies) \`

    [0.16.2]

    • Fixed build on macos.

    Cargo Publish

    \` Updating crates.io index Packaging wry v0.16.2 (/home/runner/work/wry/wry) Uploading wry v0.16.2 (/home/runner/work/wry/wry) \`

    Source code(tar.gz)
    Source code(zip)
  • wry-v0.16.1(May 8, 2022)

    Updating crates.io index

    Cargo Audit

    \` Fetching advisory database from https://github.com/RustSec/advisory-db.git Loaded 405 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (170 crate dependencies) \`

    [0.16.1]

    • Fixes a crash on macOS below Big Sur due to titlebarSeparatorStyle (11+ API) usage.
      • eb2dddb fix(macos): only use APIs when supported on 2022-05-08
    • Only run WebView::print on macOS on v11+. This prevents a crash on older versions.
      • eb2dddb fix(macos): only use APIs when supported on 2022-05-08

    Cargo Publish

    \` Updating crates.io index Packaging wry v0.16.1 (/home/runner/work/wry/wry) Uploading wry v0.16.1 (/home/runner/work/wry/wry) \`

    Source code(tar.gz)
    Source code(zip)
  • wry-v0.16.0(May 4, 2022)

    Updating crates.io index

    Cargo Audit

    \` Fetching advisory database from https://github.com/RustSec/advisory-db.git Loaded 405 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (178 crate dependencies) \`

    [0.16.0]

    • Fixes a typo in the WebviewExtMacOS conditional compilation.
      • 10d7f03 fix(macos): typo in the WebviewExtMacOS conditional compilation (#568) on 2022-05-02
    • Fixes a crash when the custom protocol response is empty on macOS.
      • 67809f4 fix(macos): crash when custom protocol response is empty (#567) on 2022-05-01
    • Add WebView::zoom method.
      • 34b6cbc feat: add feature to zoom webview contents, closes #388 (#564) on 2022-05-02
    • Set the titlebar separator style in macOS to none.
      • 9776fc4 fix(macos): set titlebar style to none (#566) on 2022-05-01
    • Disable webview2 mini menu
      • ed0b223 fix: disable WebView2 mini menu ("OOUI"), closes #535 (#559) on 2022-04-29

    Cargo Publish

    \` Updating crates.io index Packaging wry v0.16.0 (/home/runner/work/wry/wry) Uploading wry v0.16.0 (/home/runner/work/wry/wry) \`

    Source code(tar.gz)
    Source code(zip)
  • wry-v0.15.1(Apr 27, 2022)

    Updating crates.io index

    Cargo Audit

    \` Fetching advisory database from https://github.com/RustSec/advisory-db.git Loaded 404 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (178 crate dependencies) \`

    [0.15.1]

    • Update how android handles url
      • 427cf92 Unify custom porotocol across Android/iOS (#546) on 2022-04-11
    • Add devtools support on Android/iOS.
      • 1c5d77a Add devtools support on Android/iOS (#548) on 2022-04-11
    • Fix to reset process on MacOS when webview is closed, closes #536.
      • fd1dcc3 fix: reset background process when webview is closed, closes #536 (#556) on 2022-04-24

    Cargo Publish

    \` Updating crates.io index Packaging wry v0.15.1 (/home/runner/work/wry/wry) Uploading wry v0.15.1 (/home/runner/work/wry/wry) \`

    Source code(tar.gz)
    Source code(zip)
  • wry-v0.15.0(Apr 7, 2022)

    Updating crates.io index

    Cargo Audit

    \` Fetching advisory database from https://github.com/RustSec/advisory-db.git Loaded 404 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (178 crate dependencies) \`

    [0.15.0]

    • On Windows and Linux, disable resizing maximized borderless windows.
      • 313eaea fix(win,linux): disable resizing maximized borderless windows (#533) on 2022-03-30
    • Fixes a memory leak on the custom protocol response body on macOS.
      • 36b985e fix(macos): custom protocol memory leak (#539) on 2022-04-03
    • Update tao to v0.8.0.
      • 1c540b0 feat: update tao to 0.8, refactor tray features (#541) on 2022-04-07
    • The tray and ayatana-tray Cargo features are not enabled by default.
      • 1c540b0 feat: update tao to 0.8, refactor tray features (#541) on 2022-04-07
    • Breaking change: Renamed the ayatana Cargo feature to ayatana-tray and added the gtk-tray feature. The default tray on Linux is now libayatana-appindicator.
      • 1c540b0 feat: update tao to 0.8, refactor tray features (#541) on 2022-04-07

    Cargo Publish

    \` Updating crates.io index Packaging wry v0.15.0 (/home/runner/work/wry/wry) Uploading wry v0.15.0 (/home/runner/work/wry/wry) \`

    Source code(tar.gz)
    Source code(zip)
  • wry-v0.14.0(Mar 28, 2022)

    [0.14.0]

    • Added close_devtools function to Webview.
      • bf3b710 feat: add function to close the devtool and check if it is opened (#529) on 2022-03-28
    • Hide the devtool functions behind the any(debug_assertions, feature = "devtools") flag.
      • bf3b710 feat: add function to close the devtool and check if it is opened (#529) on 2022-03-28
    • Breaking change: Renamed the devtool function to open_devtools.
      • bf3b710 feat: add function to close the devtool and check if it is opened (#529) on 2022-03-28
    • Enable tab navigation on macOS.
      • 28ebedc fix(macOS): enable tab navigation on all elements, fixes #406 (#512) on 2022-03-03
    • Added is_devtools_open function to Webview.
      • bf3b710 feat: add function to close the devtool and check if it is opened (#529) on 2022-03-28
      • Expose methods to access the underlying native handles of the webview.
    • Breaking change: WebviewExtWindows::controller now returns the controller directley and not wrapped in an Option
    • e54afec feat: expose webview native handles, closes #495 (#513) on 2022-03-03
    • Add navigation handler to decide if a url is allowed to navigate.
      • aa8af02 feat: Implement navigation event and cancellation, closes #456 (#519) on 2022-03-18
    • Breaking change: Renamed the devtool feature to devtools.
      • bf3b710 feat: add function to close the devtool and check if it is opened (#529) on 2022-03-28
    • Breaking change: Renamed the with_dev_tool function to with_devtools.
      • bf3b710 feat: add function to close the devtool and check if it is opened (#529) on 2022-03-28
    • 52cbd4e feat: add initial Android support (#510) on 2022-03-10
    Source code(tar.gz)
    Source code(zip)
  • wry-v0.13.3(Feb 27, 2022)

    Updating crates.io index

    Cargo Audit

    \` Fetching advisory database from https://github.com/RustSec/advisory-db.git Loaded 398 security advisories (from /home/runner/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (172 crate dependencies) \`

    [0.13.3]

    • Fix rustdoc generation of Windows and Mac on docs.rs.
      • 327a019 Fix rustdoc generation of Windows and Mac on docs.rs, fix #503 (#507) on 2022-02-27

    Cargo Publish

    \` Updating crates.io index Packaging wry v0.13.3 (/home/runner/work/wry/wry) Uploading wry v0.13.3 (/home/runner/work/wry/wry) \`

    Source code(tar.gz)
    Source code(zip)
Owner
Tauri
Build smaller, faster, and more secure desktop applications with a web frontend
Tauri
Cross platform terminal library rust

Cross-platform Terminal Manipulation Library Crossterm is a pure-rust, terminal manipulation library that makes it possible to write cross-platform te

crossterm-rs 2.1k Jan 2, 2023
A new pure-Rust library for cross-platform low-level access to USB devices.

nusb A new pure-Rust library for cross-platform low-level access to USB devices. Documentation Compared to rusb and libusb Pure Rust, no dependency on

Kevin Mehall 23 Oct 30, 2023
General purpose cross-platform GIS-rendering library written in Rust

Galileo is a general purpose cross-platform geo-rendering library. Web examples Raster tile layer (OSM) Vector tile layer (Maplibre) Use buttons at th

Maxim 16 Dec 15, 2023
Cross-platform terminal screen clearing library

ClearScreen Cross-platform terminal screen clearing library. API documentation. Dual-licensed with Apache 2.0 and MIT. Uses Caretaker Maintainership.

null 23 Dec 30, 2022
A cross-platform library for retrieving information about connected devices.

Devices devices is a cross-platform library for retrieving information about connected devices. Combined with a library like sysinfo, a more or less c

Hank Jordan 4 Jan 8, 2023
Rusty fast cross-platform 2D drawing library

Bly Rusty fast cross-platform 2D graphics library Concept Easy to use Bly is easy to use and yet can be called from various windowing libraries using

null 4 Feb 27, 2023
Rust-battery - Rust crate providing cross-platform information about the notebook batteries.

battery Rust crate providing cross-platform information about the notebook batteries. Table of contents Overview Supported platforms Install Examples

svartalf 326 Dec 21, 2022
Cross-platform Rust rewrite of the GNU coreutils

Cross-platform Rust rewrite of the GNU coreutils

null 13k Jan 8, 2023
A cross platform, rust implementation for the Tegra X1 bootROM exploit

Switcheroo A CLI and GUI for the RCM BootRom exploit (Fusée Gelée exploit for Nintendo Switch) Only works on unpatched Switches: https://ismyswitchpat

Ethan Budd 35 Nov 5, 2022
Write Cross-platform application with React-like decralative UI framework and scalable ECS architecture all in Rust.

bevy_dioxus Dioxus Plugin for Bevy Write Cross-platform application with React-like decralative UI framework and scalable ECS architecture all in Rust

Junichi Sugiura 269 Dec 29, 2022
Rust-based language and runtime for cross-platform app development

Pax Pax is a cross-platform rendering engine & Rust framework for interactive graphics, animations, and GUIs. Pax extends the Rust programming languag

Pax 75 Dec 19, 2022
Safe Unix shell-like parameter expansion/variable substitution via cross-platform CLI or Rust API

Safe Unix shell-like parameter expansion/variable substitution for those who need a more powerful alternative to envsubst but don't want to resort to

Isak Wertwein 4 Oct 4, 2022
A pure Rust, cross-platform soundboard app

afx This thing is my attempt at a soundboard program. afx.mp4 Why? I tried some prior art and decided that none of the existing options fit my needs.

Andrew Kvapil 11 Dec 15, 2022
An experimental cross-platform UI framework in rust.

Cross-platform UI framework in Rust with Easy functional composasbles Flexible state management Desktop and mobile support Accessibility Native skia r

null 76 Feb 6, 2023
A cross-platform implementation of Dirman in Rust.

A Directory Manager for Neorg The neorg-dirman crate is a core module which provides a basic interface for workspaces. Workspaces are the backbone of

Neorg 9 Mar 17, 2023
A bilibili downloader built by Tauri and the language you-know-who.

Bilibili Downloader A bilibili video downloader app built by Tauri, Vue and Rust! Explore the docs » View Demo · Report Bug · Request Feature Table of

王翼翔 35 Jun 19, 2023
Simple template to use csr and ssr leptos with tauri for ios/android/windows/macos/linux and web dev

Tailwind-Leptos-Tauri Template Simple template to use csr and ssr leptos with tauri for ios/android/windows/macos/linux and web dev Just clone the rep

Victor Batarse 11 Mar 10, 2024
A cross platform minimalistic text user interface

titik Titik is a crossplatform TUI widget library with the goal of being able to interact intuitively on these widgets. It uses crossterm as the under

Jovansonlee Cesar 113 Dec 31, 2022
Alacritty - A fast, cross-platform, OpenGL terminal emulator

Alacritty is a modern terminal emulator that comes with sensible defaults, but allows for extensive configuration. By integrating with other applications, rather than reimplementing their functionality, it manages to provide a flexible set of features with high performance. The supported platforms currently consist of BSD, Linux, macOS and Windows.

Alacritty 43.8k Dec 31, 2022