Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create V3 Announcement #3143

Open
4 tasks
tweidinger opened this issue Jan 30, 2025 · 1 comment
Open
4 tasks

Create V3 Announcement #3143

tweidinger opened this issue Jan 30, 2025 · 1 comment
Assignees
Labels
blog Is it related to new/updated blog content?

Comments

@tweidinger
Copy link
Contributor

tweidinger commented Jan 30, 2025

As we informally decided in a voting in the working group discord channel to release a new major version of Tauri as a consequence of breaking changes we need to write an announcement that describes:

  • Motivation
  • Changelog
  • Migration path
  • Backwards (in)compatibility issues/drop

Context from working group discussions:

We need to upgrade/replace gtk3/gtk-rs which has breaking changes and we currently have 3ish options to go forward with:

  1. Get upstream maintainers of gtk-rs to update to a recent glib version or transfer to tauri (unlikely but not impossible) - would be a short term solution also keeping v1 supported
  2. Migrate to gtk4-rs and other upgrade behind feature flags in multiple crates to release in a minor and keep v2 supported
  3. Migrate to gtk4-rs and other upgrades with a v3 major release

We can combine 1 and 2/3 to keep v1/v2 supported with security relevant updates of glib but depends on upstream actors.
Also note that gtk3 is unmaintained since last year and the upgrade is kinda unavoidable over time, this just accelerates the process.

Context Motivation

The initial movement was caused by unsound behavior in glib < 0.2 leading to an acceleration of updating our dependencies and removing part of our older no longer required dependencies.

cargo tree -i glib
glib v0.18.5
├── atk v0.18.2
│   └── gtk v0.18.2
│       ├── libappindicator v0.9.0
│       │   └── tray-icon v0.19.2
│       │       └── tauri v2.2.3 (/home/user/tauri/crates/tauri)
│       ├── muda v0.15.3
│       ├── tao v0.31.1
│       ├── tauri v2.2.3 (/home/user/tauri/crates/tauri) (*)
│       ├── tauri-runtime v2.3.0 (/home/user/tauri/crates/tauri-runtime)
│       ├── tauri-runtime-wry v2.3.0 (/home/user/tauri/crates/tauri-runtime-wry) (*)
│       ├── webkit2gtk v2.0.1
│       └── wry v0.48.0 (*)
├── cairo-rs v0.18.5
├── gdk v0.18.2 (*)
├── gdk-pixbuf v0.18.5
├── gdkx11 v0.18.2 (*)
├── gio v0.18.4
├── gtk v0.18.2 (*)
├── javascriptcore-rs v1.1.2
├── libappindicator v0.9.0 (*)
├── pango v0.18.3 (*)
├── soup3 v0.5.0 (*)
└── webkit2gtk v2.0.1 (*)

We are touching all/most of these crates either by updating gtk or by removing it as a dependency.

@tweidinger tweidinger self-assigned this Jan 30, 2025
@tweidinger tweidinger converted this from a draft issue Jan 30, 2025
@tweidinger
Copy link
Contributor Author

This is blocked by all implementation issues tracked in https://github.com/orgs/tauri-apps/projects/34/ for now and there may be issues relevant in https://github.com/orgs/tauri-apps/projects/32

@tweidinger tweidinger added the blog Is it related to new/updated blog content? label Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blog Is it related to new/updated blog content?
Projects
Development

No branches or pull requests

1 participant