aboutsummaryrefslogtreecommitdiffstats
path: root/rust-toolchain.toml (follow)
Commit message (Collapse)AuthorAge
* More dependency upgrades for debian (#5421)Aram Drevekenin2026-07-29
| | | | | | | | | | | * upgrade insta, rand, sha2, strum, thiserror, tokio-tungstenite, toml, which; drop unused semver and typetag * upgrade sysinfo to 0.39.5, bump toolchain (msrv) to 1.95.0 * remote legacy yaml config converter and thus drop serde_yaml * upgrade unicode-width to 0.2.2 * fix(tests): run ipc roundtrip test on a larger stack
* build: Update Rust toolchain to 1.92.0 (#4579)har7an2026-01-05
| | | | | | | | | * build: Update Rust toolchain to 1.92.0 since the previous version 1.90 is EOL. * docs: Mention #4579 in CHANGELOG to notify users of the toolchain update.
* build(cargo): Update Rust toolchain to 1.90.0 (#4457)har7an2025-10-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * build(cargo): Define shared manifest properties workspace-wide in order to allow workspace members to easily copy their values, rather than copying the actual values manually between files. Prepare for a future update of the Rust edition this way by defining the edition in one central location. * build(cargo): Share the license between all workspace members and don't copy the actual license value manually between crates. * build(cargo): Share the rust edition between workspace members rather than manually defining the value per crate. There is no apparent advantage in having different parts of the code use different rust editions. It only makes the code inconsistent, which is not a goal worth striving for. * build(cargo): Share the crate version between workspace members at least for those workspace members that are versioned in lockstep. * refactor(session-manager): Migrate to Rust edition 2021 from edition 2018 in order to use a single unified Rust edition across the entire workspace. Apparently the migration does not involve changes to the actual code. * refactor(plugin-manager): Migrate to Rust edition 2021 from edition 2018 in order to use a single unified Rust edition across the entire workspace. Apparently the migration does not involve changes to the actual code. * build(zellij-utils): Remove the obsolete build script which has contained nothing but comments for two years now. The initial "workaround" has by now become the proper solution and the original issue (see <https://github.com/zellij-org/zellij/pull/2711>) has never been heard of since. The real motivation for this change is the simple fact that this version of prost-build pulled in a pretty old version of the `which` crate which doesn't appear to build with Rust 1.89 (latest stable as of now). * build(cargo): Update Rust toolchain to 1.89 which is the latest stable toolchain as of writing this and has support for the 2024 Rust edition, unlike the previously used 1.84. * fixup! build(zellij-utils): Remove the obsolete build script * refactor: Make implicitly elided lifetimes explicit in cases where a functions return type has an actual lifetime that depends on a non `'static` argument. * build(cargo): Update Rust toolchain to 1.90.0 which is the latest stable toolchain as of writing this. Compared to 1.89.0 this changes the default linker and should, hence, cut down iteration times during development significantly. * ci: Force configured rust toolchain version in release builds for the tagged release assets. Previously the rust version was unconditionally overwritten to be `stable` regardless of what `rust-toolchain.toml` configured. * docs(changelog): Add MR #4457 to list of unreleased changes. * build: Read package version from workspace version value since it no longer resides directly in the `package` object.
* Update rust toolchain to 1.84 (#3945)har7an2025-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * chore: Remove deprecated `Makefile.toml` which really should have been deleted as part of #2012. This hasn't been updated for more than 2 years now and I don't expect anyone to still use this. Our build process is now managed by `cargo xtask`. * Cargo: Update the Rust toolchain to 1.84.0 from 1.75.0 which has been deprecated for a while now. Along with this change, the `wasm32-wasi` target is no longer available (see subsequent commit for additional info). * chore: Rename `wasm32-wasi` to `wasm32-wasip1` as required by the Rust project. The `wasm32-wasi` target name has been retired and will likely be reused at a later time, although to express an entirely different target (i.e. implementation of the WASI standard). For additional information, see: - https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html - https://blog.rust-lang.org/2024/09/05/Rust-1.81.0.html#wasi-01-target-naming-changed * chore: Drop `rust-analysis` component from the `rust-toolchain.toml` definition. This was added way back in 2021 via 8688569a, and while I'm not sure what it expressed back then, nowadays it refers to [Metadata for RLS][1], which apparently was an early language server implementation and has long since been replaced by *rust-analyzer*. We don't want to propose or enforce the use of a specific toolchain and in any case, setting this up properly is the job of a developers IDE/Editor. [1]: https://github.com/rust-lang/rustup/blob/1f06e3b31d444f3649dd51225a9d38362f7313e0/doc/user-guide/src/concepts/components.md#previous-components * chore: Adhere to type rename from `std::panic::PanicInfo` to `std::panic::PanicHookInfo`, which was introduced in Rust 1.81.0. For additional information, see: - https://releases.rs/docs/1.81.0/#compatibility-notes - https://github.com/rust-lang/rust/pull/115974/ * fix(utils/data): Adhere to expected case in match arm patterns, since the expression being matched against has been modified using `to_ascii_lowercase`. Hence, we cannot have upper case ASCII chars in the expressions (these arms were previously no-ops). * fix(utils): Derive `Hash` manually in `input/layout` since the `PartialEq` trait is also implemented manually. Previously the `Hash` impl wasn't consistent with the `Eq` impl, which can have weird effects when using these types in e.g. `HashMap`s or similar types. For additional information, see: - https://rust-lang.github.io/rust-clippy/master/index.html#derived_hash_with_manual_eq - https://doc.rust-lang.org/stable/std/hash/trait.Hash.html#hash-and-eq * fix(utils): Derive `Hash` manually in `pane_size` since the `PartialEq` trait is also implemented manually. Previously the `Hash` impl wasn't consistent with the `Eq` impl, which can have weird effects when using these types in e.g. `HashMap`s or similar types. For additional information, see: - https://rust-lang.github.io/rust-clippy/master/index.html#derived_hash_with_manual_eq - https://doc.rust-lang.org/stable/std/hash/trait.Hash.html#hash-and-eq * fix(server): Don't redeclare variables with their same names. Latest rust toolchains reject this code. * chore(actions): Use non-archived toolchain setup for the Rust toolchain. The previously used action has been archived over a year ago. The new one should also support reading our `rust-toolchain.toml`, so we no longer have to keep track of the toolchain in multiple places. * chore(actions): Add some space to YAML files to make them better visually parsable. * ci: Remove toolchain update Job since as far as I can tell, this isn't used any more. * ci: Fix invalid actions specification and only request an action without running other code. * CHANGELOG: Add PR #3945.
* cargo: Reintroduce `rust-version` field (#3482)har7an2024-07-08
| | | | | | | | | | | | | * cargo: Reintroduce `rust-version` field in `Cargo.toml` since it appears that client-side `cargo` will check this field and [error when the users rust toolchain is too old][1]. Add comments in `Cargo.toml` and `rust-toolchain.toml` pointing to each other so the rust versions mentioned in each file are hopefully kept in sync in the future. [1]: https://doc.rust-lang.org/cargo/reference/manifest.html#the-rust-version-field * CHANGELOG: Add MR #3482.
* Bump rust version to 1.75.0 (#3039)har7an2024-01-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rust-toolchain: Bump toolchain version to 1.69.0 which, compared to the previous 1.67.0, has the following impacts on `zellij`: - [Turn off debuginfo for build deps][2]: Increases build time (on my machine) from ~230 s in 1.67.0 to ~250 s now, *which is unexpected* This version also changes [handling of the `default-features` flag][3] when specifying dependencies in `Cargo.toml`. If a dependent crate requires `default-features = true` on a crate that is required as `default-features = false` further up the dependency tree, the `true` setting "wins". We only specify `default-features = false` for three crates total: - `names`: This is used only by us - `surf`: This is used only by us - `vte`: This is also required by `strip-ansi-escapes`, but that has `default-features = false` as well How this affects our transitive dependencies is unknown at this point. [2]: https://github.com/rust-lang/cargo/pull/11252/ [3]: https://github.com/rust-lang/cargo/pull/11409/ * rust-toolchain: Bump toolchain version to 1.70.0 which, compared to the previous 1.69.0, as the following impacts on `zellij`: 1. [Enable sparse registry checkout for crates.io by default][1] This drastically increases the time to first build on a fresh rust installation/a rust installation with a clean cargo registry cache. Previously it took about 75s to populate the deps/cache (with `cargo fetch --locked` and ~100 MBit/s network), whereas now the same process takes ~10 s. 2. [The `OnceCell` type is now part of std][2] In theory, this would allow us to cut a dependency from `zellij-utils`, but the `once_cell` crate is pulled in by another 16 deps, so there's no point in attempting it right now. Build times and binary sizes are unaffected by this change compared to the previous 1.69.0 toolchain. [1]: https://github.com/rust-lang/cargo/pull/11791/ [2]: https://doc.rust-lang.org/stable/std/cell/struct.OnceCell.html * rust-toolchain: Bump toolchain version to 1.75.0 which, compared to the previous 1.70.0, has the following impacts on `zellij`: 1. [cross-crate inlining][8] This should increase application performance, as functions can now be inlined across crates. 2. [`async fn` in traits][9] This would allow us to drop the `async_trait` dependency, but it is currently still required by 3 other dependencies. Build time in debug mode (on my own PC) is cut down from 256s to 189s (for a clean build). Build time in release mode is cut down from 473s to 391s (for a clean build). Binary sizes only change minimally (825 MB -> 807 MB in debug, 29 MB -> 30 MB in release). [8]: https://github.com/rust-lang/rust/pull/116505 [9]: https://github.com/rust-lang/rust/pull/115822/ * chore: Apply rustfmt. * CHANGELOG: Add PR #3039.
* Use rust 1.67 (#2375)har7an2023-05-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rust: Update toolchain version to 1.67 * xtask/pipeline/publish: Drop manual "wait" for crates.io to catch up, which is obsolete with rust 1.66 and up. Cargo does that on its own now. See https://github.com/rust-lang/cargo/pull/11062 * xtask: Add function to obtain asset_dir instead of assembling it on demand throughout the codebase. * xtask/run: Add '--quick-run' flag as a convenient shorthand for `cargo xtask run --data-dir $PROJECT_ROOT/zellij-utils/assets`. * cargo: Add 'q' command alias as a shorthand for 'cargo xtask run --quick-run' * cargo: Update thiserror to 1.0.40 * cargo: Update anyhow to 1.0.70 and specify dependency only once inside `zellij-utils`, not inside the zellij root crate. * cargo: Update names to 0.14.0 * cargo: Update miette to 5.7.0 and re-export the dependency from zellij-utils, to avoid duplicate (incompatible) includes from inside zellij-utils and the root crate. * cargo: Update dialoguer to 0.10.4 * fix formatting * changelog: Add PR #2375
* [create-pull-request] automated change (#1980)a-kenji2022-12-01
| | | Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* rust-toolchain: Update (#1834)a-kenji2022-10-22
| | | Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* rust-toolchain: Update (#1659)a-kenji2022-08-14
| | | Co-authored-by: a-kenji <a-kenji@users.noreply.github.com>
* rust-toolchain: Update (#1578)a-kenji2022-07-10
| | | Co-authored-by: a-kenji <a-kenji@users.noreply.github.com>
* build: strip debug symbols (#1177)a-kenji2022-05-22
| | | | | | | | | | | | | | * build: strip debug symbols Stripping the symbols for the release build drops binary size currently by 20% and the plugin binaries by up to 50%. Alternative: Keep the debug symbols also on releases * bump(rust): `1.58.0` -> `1.59.0` * chore: bump MSRV `1.56` -> `1.59` Needed for cargos strip-debug feature
* fix: `rust-toolchain` -> `rust-toolchain.toml` (#1313)a-kenji2022-04-12
| | | | The new location has been stable for a year, by now peoples toolchains should have been able to catch up.
* fix(get rid of old toolchain file)Brooks J Rady2021-02-23
|
* Remove Target from toolchain file.a-kenji2021-02-22
| | | | | | Maybe it makes sense to not define the targets in the file for now if we decide to use it at all - they could be a lot and hard to maintain?
* Add rust-toolchain.toml filea-kenji2021-02-22
The rust-toolchain file makes it possible to share a basic rustup configuration across the project. https://rust-lang.github.io/rustup/overrides.html#the-toolchain-file Important to note, this is the current rustup hierarchy: 1. An explicit toolchain, e.g. cargo +beta, 2. The RUSTUP_TOOLCHAIN environment variable, 3. A directory override, ala rustup override set beta, 4. The rust-toolchain file, 5. The default toolchain, source: https://github.com/ebroto/rustup/blob/c2db7dac6b38c99538eec472db9d23d18f918409/README.md#toolchain-override-shorthand