← All reportsPublic report

tauri-apps/tauri

Build smaller, faster, and more secure desktop and mobile applications with a web frontend.

111k stars Rust View on GitHubprofiled 11d ago
Try GitZoid
56PRs this week
18Contributors
1Deps scanned
0Issues found
01 · Repo overview

How tauri is put together

This is the Tauri framework monorepo: a Rust workspace building the core application framework for creating desktop/mobile apps with web frontends, plus the JavaScript API layer consumed by those frontends. The Rust workspace is split into layered crates: `tauri` (core runtime), `tauri-runtime`/`tauri-runtime-wry` (windowing abstraction over WRY/webview), build-time crates (`tauri-build`, `tauri-codegen`), developer tooling (`tauri-cli`, `tauri-bundler`, `tauri-macos-sign`, `tauri-driver`), and shared utilities (`tauri-utils`, `tauri-macros`). The TypeScript side ships two published packages under pnpm workspaces: `packages/api` (@tauri-apps/api, bundled via Rollup to ESM/CJS/IIFE) and `packages/cli` (a NAPI-RS wrapper exposing the Rust CLI binary to Node). Data flow is frontend JS calling IPC commands into the Rust core, with capabilities/ACL gating enforced at build time and runtime.

Languages

RustTypeScriptJavaScript

Frameworks

WRY-based webview runtime (tauri-runtime-wry)Rollup (packages/api bundling)ESLint + typescript-eslint + eslint-plugin-securityPrettierNAPI-RS (Node native bindings)Handlebars (bundler templates)

Infrastructure

Cloudflare Worker (crates/tauri-schema-worker with wrangler.toml)Cross-compilation Docker images (.docker/cross/*)Dev container (.devcontainer/Dockerfile)Dependabot + Renovate dependency automation

Major components

crates/tauri (core)

The main Tauri runtime crate providing app lifecycle, IPC command handling, event system, window/webview management, and plugin/capability integration.

tauri-runtime / tauri-runtime-wry

Abstract windowing/webview interface trait layer and its concrete implementation over the WRY webview library.

tauri-build / tauri-codegen

Build-time code generation: compiles configuration, assets, capabilities, and resources into the binary at compile time.

tauri-cli

Developer CLI (cargo tauri / @tauri-apps/cli) for scaffolding, dev server watching, and driving builds/bundles; also publishes JSON schemas (config.schema.json, tauri.config.schema.json).

tauri-bundler

Packages built executables into OS-specific installers/bundles (MSI/WiX, NSIS, DMG/App bundles, AppImage, deb, RPM) including signing hooks.

@tauri-apps/api (packages/api)

TypeScript IPC/API library injected into webviews, bundled by Rollup to ESM, CJS, and a global IIFE bundle embedded as crates/tauri/scripts/bundle.global.js.

@tauri-apps/cli (packages/cli)

NAPI-RS Node.js wrapper that loads platform-specific native .node bindings of the Rust CLI and exposes run()/logError() to npm consumers.

tauri-utils / tauri-macros / tauri-plugin / tauri-schema-generator

Shared helpers (config parsing, ACL, platform detection), proc macros for commands/state, plugin system abstractions, and schema generation for reference docs.

Over the past five weeks, the Tauri project focused on modernizing its toolchain and platform templates — upgrading to newer versions of tao/wry, Gradle 9, targetSdk 37, and newer Node/pnpm versions in CI — while also shipping user-facing features like non-square icon support and a permission handler API. A steady stream of bug fixes landed across Android, Linux, Windows, and the bundler, including some breaking changes like querying monitors on the main thread. Housekeeping work such as workspace dependency management, dependency updates via Renovate, and documentation clarifications rounded out each week.

Week by week

2026-08-17A quieter week centered on developer-experience improvements, including a warning for apps still using the default product name.latest6 changes

Feature

Warning when productName is left default

The CLI now warns developers who haven't set a custom product name, which helps avoid accidentally publishing apps under the generic default name.

Fix

Explicit Resource Management for Resource

The Resource API now supports JavaScript's 'using' syntax so resources are cleaned up automatically when they go out of scope.

Refactor

Locked minor versions

Dependencies were pinned to specific minor versions to keep builds more predictable.

Docs

Clarified convertFileSrc asset protocol setup

Documentation was improved to explain how to correctly configure the asset protocol used with convertFileSrc.

Docs

Documented Explicit Resource Management

API docs were updated to cover the new resource cleanup behavior.

Chore

Dependency and lint cleanups

Routine maintenance included fixing linter warnings and updating the jsonschema crate to v0.49.9.

2026-08-10Android tooling got a big refresh with Gradle 9 and targetSdk 37, alongside several crash-prevention fixes.6 changes

Feature

Android template updated to targetSdk 37

New Android projects now target the latest Android SDK level, keeping apps compliant with Play Store requirements.

Fix

Android template moved to Gradle 9

The Android project template now uses Gradle 9, the current major version of the build tool.

Fix

Menu commands no longer panic

Certain menu-related commands could previously crash the app; that's been fixed.

Fix

Monitors queried on main thread

A breaking change ensures monitor information is always fetched on the main thread, preventing crashes on some platforms.

Feature

Warning when Java is too new for bundled Gradle

The CLI now alerts developers if their installed Java version is incompatible with the Gradle version Tauri ships with.

Chore

Workspace dependency management

All Rust dependencies were consolidated into centralized workspace management, making version upkeep easier across the project.

2026-08-03The busiest week of the period brought a new wry permission handler API plus fixes for nightly-Rust compatibility and deterministic builds.6 changes

Feature

Wry permission handler exposed in Tauri

Developers can now intercept and control webview permission requests (like camera or microphone access) directly from their Tauri app.

Fix

Deterministic asset codegen and config serialization

Build outputs are now byte-for-byte identical across runs, which helps with reproducible releases.

Fix

Bundler stopped shipping xdg-open/xdg-utils

Linux packages no longer bundle these system utilities unnecessarily, reducing package size and conflicts.

Fix

Correct exit code from run_return()

Apps using the alternate run loop now receive the proper exit code instead of an unexpected value.

Fix

Nightly Rust build compatibility

Builds were fixed for people testing upcoming Rust compiler versions, resolving issues finding output directories and library files.

Fix

Android plugin manager activity fix

Plugins now work correctly regardless of which activity is active, improving Android reliability.

2026-07-27Core windowing libraries tao and wry were upgraded, and several Linux-specific window and display bugs were fixed.5 changes

Feature

Upgraded tao to 0.36 and wry to 0.56

The foundational libraries handling windows and webviews were updated, bringing along their latest fixes and capabilities.

Fix

Resize cursor on undecorated Linux windows

On Linux, the mouse pointer now shows the correct resize cursor near the edges of borderless WebKitGTK windows.

Fix

Bundler respects configured GDK backend

Linux packaging now honors your chosen graphics backend setting instead of ignoring it.

Docs

Documented browser argument data directory requirement

Docs now explain why certain browser arguments require specifying a data directory.

Chore

Dependency updates and CI tweaks

Objective-C crates, jsonschema, and napi-rs grouping saw routine updates and CI configuration changes.

2026-07-20A feature-rich week added non-square icon generation and a binary-patching opt-out, plus memory-leak fixes for event listeners.6 changes

Feature

Non-square source images for tauri icon

You can now feed rectangular images into the icon generator and get properly scaled icons for every platform.

Feature

--no-binary-patching flag for build and bundle

Developers can skip Tauri's automatic modification of built binaries when their workflow doesn't need it.

Fix

Event listeners purged on window/webview destruction

Closing a window or webview now cleans up its event listeners, preventing slow memory leaks over time.

Fix

Newly added resource files copied on rebuild

Files added to resource directories after an initial build are now picked up correctly.

Fix

Webview focus restoration on Windows

A breaking change restores proper keyboard focus behavior for webviews when the unstable feature is enabled.

Chore

CI modernized to Node 22/24

Continuous integration testing moved off Node 20 to test against the two most recent Node.js versions.

03 · Security check

Dependencies and code review

1 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 1 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

No concrete code-level issues confirmed.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required