Skip to content

[pull] dev from tauri-apps:dev#19

Open
pull[bot] wants to merge 3720 commits into
ebfork:devfrom
tauri-apps:dev
Open

[pull] dev from tauri-apps:dev#19
pull[bot] wants to merge 3720 commits into
ebfork:devfrom
tauri-apps:dev

Conversation

@pull

@pull pull Bot commented Mar 17, 2022

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

Legend-Master and others added 27 commits January 26, 2026 17:55
* fix(tauri-cli): be more conservative to preserve behavior (#14804)

* refactor(tauri-cli): move app path initialization into commands
* refactor(tauri-cli): use OsString where possible

* refactor(tauri-cli): remove needless scoping blocks

* refactor(tauri-cli): make return type concrete

* refactor(tauri-cli): use ?

* refactor(tauri-cli): coerce later to trait object

* refactor(tauri-cli): remove clone

* refactor(tauri-cli): make better use of static OnceLock

* fix(tauri-cli): upgrade atomics to SeqCst

* Add change file

* Update .changes/change-pr-14836.md

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
* refactor(tauri-cli):  remove unneeded Arc<Mutex>

* fix(tauri-cli): remove busy-looping
* perf(tauri-build): refactor find_icon to use &str to remove unnecessary clones

* refactor(perf-tauri-build): remove obsolete changelog for find_icon refactor

* refactor(tauri-build): inline find_icon logic to simplify window icon path retrieval

* refactor(context): update find_icon predicate to use &str

* refactor(context): simplify predicate in find_icon to accept &&String

* Update crates/tauri-build/src/lib.rs

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

---------

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* feat(ci): use trusted publishers for NPM publishing

* bump npm version

* update npm

* use empty NODE_AUTH_TOKEN

* entire workflow permissions
api, CLI and tauri crates must be in sync
when custom assets are provided (`tauri::generate_context!(assets = my_assets)`) we can't use the fn inner logic directly and capture variables - we must pass them as arguments
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.9.0 to 1.11.1.
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](tokio-rs/bytes@v1.9.0...v1.11.1)

---
updated-dependencies:
- dependency-name: bytes
  dependency-version: 1.11.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(bundler): bring back binary patching log

* Fix change tag
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(cli): missing options on mobile dev/build commands

* avoid duplicated flags

* clippy
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Legend-Master and others added 30 commits July 9, 2026 22:59
* chore: fix new clippy warnings from 1.97

* fix mac

* Put in `{}`
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Kotlin Gradle Plugin deprecated the string-based `kotlinOptions` DSL and
2.3+ rejects it with a hard error. Use the `compilerOptions` DSL with
`JvmTarget.JVM_1_8` instead, which is accepted on both 1.9.x and 2.x, so
projects can move to Kotlin 2.x without editing the vendored
`:tauri-android` scripts.
* Migrate to svelte ts for API example

* Clean up

* Use `$derived` `selectedWebview`

* Do the change in onchange instead of state effects

* Set initial x y and sizes

* revert ai slop on main.ts

* More cleanup

* Remove ConsoleMessage

* Remove View type

* license header

* Use `ViewProps`

* Use same button spacing through out

* Move theme example to top level theme switch

* Fix menu views

* More cleanups

* Final cleanup

* Move types to svelte files

* fallback to empty string not false
* fix(bundler): preserve mapped resource names in wix

* Refactor the entire `generate_resource_data`

* Add `ResourceFile::new`

* Use back the hashmap but with entry

* Remove `ResourceDirectory::name` and rely on `directories`

* Fix tests

* Fix git stage

* Add change file

* Make `target_name` optional

* Cleanup

---------

Co-authored-by: Tony <legendmastertony@gmail.com>
Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
* fix: `referenced_by` compilation on different debug profiles

* Guess `ResolvedCommandReference` can't be `debug_assertions` only anymore

* no `const` or
`the destructor for this type cannot be evaluated in constant functions`

* Remove ToTokens guard for ResolvedCommandReference

* Rely on `default` and empty out the `ResolvedCommandReference`

* `ResolvedCommandReference` needs the same
* Migrate to svelte ts for API example

* Clean up

* Use `$derived` `selectedWebview`

* Do the change in onchange instead of state effects

* Set initial x y and sizes

* revert ai slop on main.ts

* More cleanup

* Remove ConsoleMessage

* Remove View type

* license header

* Use `ViewProps`

* Use same button spacing through out

* Move theme example to top level theme switch

* Fix menu views

* More cleanups

* Merge branch 'dev' into api-example-svelte-ts

* Final cleanup

* Move types to svelte files

* fallback to empty string not false

* Initial work

* Bump deps

* Make dragging with states work

* Fix sorting

* Move everything to `MenuBuilder.svelte`

* Add remove button

* Fix Menu and Tray

* Make menu items reactive

* Sync checked states

* Add placeholder to menu builder

* Set user-select to none

* Fix text in the console

* Rework tray page layout

* Close all menus on MenuBuilder unmounted

* Clean up menus properly

* Add initial text and icon on the menu builders

* Move MenuItems to MenuBuilder

* format

* Merge branch 'dev' into api-example-svelte-ts

* Merge branch 'api-example-svelte-ts' into menu-example-rework

* Re-create all the elements as a work around

* Reorder the menu items on builder changes

* On one tray for the tray page

* Update menus on add and remove

* Same for the tray

* Space and align checkboxes

* Merge remote-tracking branch 'upstream/dev' into menu-example-rework

* Clean up menus properly

* Merge branch 'dev' into menu-example-rework

* Remove duplicated webview in new command

* Merge branch 'dev' into menu-example-rework
* fix(ci): bump all setup-node action versions

* NAPI on node 22 as well

* remove covector node version lock
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(bundler): show bundle sizes in the finished output

Append a human-readable size to each bundle path in the "Finished N bundles
at:" log, so the sizes are visible right after `tauri build` instead of
having to look them up manually. Directory bundles (e.g. macOS `.app`) are
measured recursively.

Closes #15341

* chore: include tauri-cli in changefile

* refactor(bundler): use human_bytes crate for size formatting

* Also `@tauri-apps/cli`

* Change to use bytesize for 2 digit precisions
And fail instead of reporting partial sizes

---------

Co-authored-by: Tony <legendmastertony@gmail.com>
* Use `Theme.Material3.DayNight.NoActionBar` by default

* Fix insets on Android

* Add change file

* Revert back to margin-top: 0.5rem

* Align content start
* refactor: rename `extend_api` to `run_invoke_handler`

* Link docs

* unwrap_or_else
* clean up and docs

* Remove menu channel on drop

* Why was the mut gone

* Clone the channel out

* Keep `unreachable_code`

* Put it back to a block

* Move the cloned channel out so no nuances

* Add change file
This allows the unstyled user agent elements match the selected theme colors
* fix: menu regression from #15679

* change init order instead
* Draft: Add `WebviewBuilder::limit_navigations_to_app_bound_domains` only on iOS.

* removed cfg flag from new setters

* change version bump to minor

* fix clippy lint for limit_navigations_to_app_bound_domains

* add tauri.conf.json support, polish doc comments

* add back missing comma, autogenerate config files

* minor documentation formatting changes

* Fix limitNavigationsToAppBoundDomains config binding, edit documentation.

* Have the CLI automatically inject `localhost` into the `WKAppBoundDomains` array
in `Info.plist` when `limitNavigationsToAppBoundDomains` is enabled.

Update the `merge_plist` helper to merge arrays in place
while skipping duplicate entries.

* Extract all window domains for WKAppBoundDomains array

* refine docs for limit_navigations_to_app_bound_domains WindowConfig parameter

* Revert automatic insertion of WKAppBoundDomains, update documentation to match.

* have docs specify tauri-src/Info.ios.plist

* cli doesn't have changes anymore

* Combine ios blocks

* Remove duplicated builder call

* format

---------

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
Co-authored-by: Tony <legendmastertony@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* ci: fix and run acl-tests

* Simplify `CommandScope::from_command`
…rs (#15737)

* docs(cli): document TAURI_SIGNING_PRIVATE_KEY_PATH and clarify key vars

* docs(cli): sync signer generate output with signing env var docs and add change file
* fix(build): copy newly added files from resource directories

The resource copy only emitted `cargo:rerun-if-changed` for the
individual files resolved at build time. When a new file was added to a
resource directory, cargo had no reason to re-run the build script, so
the file was never copied until an unrelated rebuild happened.

Track every walked/globbed resource directory in `ResourcePathsIter` and
emit a `rerun-if-changed` for each after copying, so adding or removing a
file inside a resource directory re-runs the script and picks it up.

Closes #14992

* Avoid emitting for each glob file
ref: #15390

* Rework the test

---------

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
Co-authored-by: Tony <legendmastertony@gmail.com>
* feat(bundler): add bundle > disableBinaryPatching option

Tauri patches the main executable with bundle type information so the updater
plugin can pick the matching installer format when multiple bundle types target
the same platform. This rewrites the binary after it is built, invalidating an
existing code signature on it, which breaks bundling an already-signed binary
(e.g. inside the NSIS bundler).

Add a `bundle > disableBinaryPatching` config option (default false). When set,
the bundler skips patching the main binary and the subsequent re-sign, leaving
the executable untouched.

closes #15591

* feat(cli): add --no-binary-patching flag to build and bundle

Switch the disable-binary-patching control from the proposed
`bundle > disableBinaryPatching` config option to a `--no-binary-patching`
CLI flag on `tauri build` and `tauri bundle`, mirroring the `--no-sign`
precedent. When set, the bundler skips patching the main executable with
bundle type information (and the subsequent re-sign), preserving an
already-signed binary. Patching only matters when shipping multiple bundle
types per platform.

* chore: add @tauri-apps/cli to changefile

* refactor(bundler): use positive binary_patching flag defaulting to true

* refactor(bundler): hand-write SettingsBuilder default, notice on skip

- Implement Default for SettingsBuilder manually so binary_patching
  defaults to true, instead of overriding it on top of a derived default.
- Log a notice when --no-binary-patching skips patching, mirroring the
  --no-sign notice, and drop the now-redundant inline comment.

* Always sign and warn with path data

---------

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
Co-authored-by: Tony <legendmastertony@gmail.com>
* feat(cli): support non-square source images in `tauri icon`

`tauri icon` rejected any source whose width and height differ. Add a `--fit`
option, modeled on the CSS `object-fit` property, to square a non-square source
before generating icons:

- `cover`: scale to fill the square, center-cropping the longer side
- `contain`: scale to fit inside the square, padding the shorter side with transparency

SVG sources are rasterized at their native size before fitting. Non-square
sources without `--fit` still error, now with a hint pointing to the flag.

closes #15376

* fix(cli): rasterize small SVG sources at a higher resolution

* refactor(cli): apply icon --fit as SVG render transform

Keep SVG sources as a vector tree through the fit step and apply the
crop/pad as a transform when rendering each target size, instead of
rasterizing once at a fixed floor and squaring the bitmap. Icons are now
rendered directly from the vector at their final resolution, so a source
with a small intrinsic size stays crisp and the MIN_SVG_RASTER_SIZE
upscale hack is gone.

* Small refactor

* Inline width and height fn

* Clean up comments

* use `::min` `::max`

* Add `@tauri-apps/cli`

* Update tests

---------

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
Co-authored-by: Tony <legendmastertony@gmail.com>
#15617)

* fix(core): purge Rust event listeners when window/webview is destroyed

Rust-side listeners registered via listen/once on a Window, Webview or
WebviewWindow were never removed when that target was destroyed, leaking
handlers for the lifetime of the app.

Add Listeners::remove_listeners_for_target, wired into on_window_close and
on_webview_close, which drops handlers whose target exactly matches the
destroyed one. Matching on the full EventTarget (kind + label) instead of the
label alone keeps window and webview listeners distinct in multi-webview mode,
where a window and its webviews can share a label. App, Any and AnyLabel
listeners are preserved. Follows the existing try_lock + Pending convention so
it is safe during emit.

closes #15613

* Remove AI task comments

* Combine tests

* Simplify target creations

* Move the calls to listener

---------

Co-authored-by: Tony <legendmastertony@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.