Skip to content

Bump toolchain and rust_version to 1.89.0#181

Merged
kskalski merged 2 commits intoanza-xyz:masterfrom
kskalski:ks/rust_193
Mar 12, 2026
Merged

Bump toolchain and rust_version to 1.89.0#181
kskalski merged 2 commits intoanza-xyz:masterfrom
kskalski:ks/rust_193

Conversation

@kskalski
Copy link
Copy Markdown
Contributor

@kskalski kskalski commented Feb 12, 2026

We are using old toolchain, no harm in building with newest stable version, we set rust-version separately.

@kskalski kskalski changed the title Bump toolchai to 1.93.0 Bump toolchain to 1.93.0 Feb 12, 2026
@kskalski
Copy link
Copy Markdown
Contributor Author

Would like to migrate both toolchain and rust-version to at least 1.85, so we can switch to edition 2024 and enable some more convenient language syntax / trim down the drop semantics.

@kskalski kskalski marked this pull request as ready for review February 12, 2026 05:27
@febo
Copy link
Copy Markdown
Contributor

febo commented Feb 12, 2026

The rationale for using an older toolchain is that we keep compatibility with platform-tools' Rust version, which is what on-chain programs are compiled with.

If we bump the requirement then we can't use the latest version of wincode in programs.

@febo febo mentioned this pull request Feb 12, 2026
@kskalski
Copy link
Copy Markdown
Contributor Author

I see, this PR doesn't strictly break it, but I guess we want some test coverage for the older toolchain.

@steviez
Copy link
Copy Markdown
Contributor

steviez commented Feb 16, 2026

The rationale for using an older toolchain is that we keep compatibility with platform-tools' Rust version, which is what on-chain programs are compiled with.

If we bump the requirement then we can't use the latest version of wincode in programs.

Does the wincode version have to match the platform tools Rust version exactly ? Platform tools is not the only consumer of wincode so having wincode Rust version coupled to platform tools Rust version is not ideal.

Some other questions about platform tools:

  • How often does Rust version adjust there ?
  • Does platform tools need any other wincode features asap ? Bumping MSRV requires a major if I'm not mistaken, but release branches could potentially allow us to pick up new features (via cherry-pick) on an older branch

@steviez
Copy link
Copy Markdown
Contributor

steviez commented Feb 16, 2026

Would like to migrate both toolchain and rust-version to at least 1.85, so we can switch to edition 2024 and enable some more convenient language syntax / trim down the drop semantics.

Generally, we probably don't want to bump MSRV (and thus create a new major) every time new stable rust drops. However, edition is once every couple years so probably reasonable to bump it to pick up the new edition and then leave it alone for a while.

Let's see what febo says to some of my above questions tho and we can figure out plan forward from there

@cpubot cpubot requested a review from febo February 17, 2026 20:15
@febo
Copy link
Copy Markdown
Contributor

febo commented Feb 18, 2026

Does the wincode version have to match the platform tools Rust version exactly ? Platform tools is not the only consumer of wincode so having wincode Rust version coupled to platform tools Rust version is not ideal.

It does not need to be an exact match, but if we want to use wincode in programs we sort of need to be conservative in what version we can use. Currently we are using 1.84.1 since it corresponds to platform-tools 1.51. There are a couple of versions after that one (1.52 and 1.53) but they have a few performance regressions.

Some other questions about platform tools:

  • How often does Rust version adjust there ?

They do not follow every release, e.g.,:

  • 1.51 comes with Rust 1.84.1
  • 1.52 and 1.53 with Rust 1.89.0
  • Does platform tools need any other wincode features asap ? Bumping MSRV requires a major if I'm not mistaken, but release branches could potentially allow us to pick up new features (via cherry-pick) on an older branch

platform-tools is independent of wincode. The requirement is that we use platform-tools to compile programs, so any program is limited by the bundled Rust version. If we increase the requirement, then we can't use a particular wincode version in programs.

A new version of platform-tools (1.54) should be out soon. It fixes the regressions and it will have 1.89.0 bundled.

@febo
Copy link
Copy Markdown
Contributor

febo commented Mar 7, 2026

@kskalski @steviez New platform-tools was released. It comes with Rust 1.89.0 so a bump up to that version would be fine for programs.

@kskalski kskalski changed the title Bump toolchain to 1.93.0 Bump toolchain and rust_vection to 1.89.0 Mar 9, 2026
@cpubot cpubot requested review from febo and removed request for febo March 9, 2026 04:42
Copy link
Copy Markdown
Contributor

@steviez steviez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see the PR is still in draft state - anything else to do here before reviewing ?

@kskalski
Copy link
Copy Markdown
Contributor Author

kskalski commented Mar 9, 2026

Waiting for CI mostly. But I wonder if we should land it on 0.4 line or wait until we are ready to release (including breaking changes) 0.5.

@kskalski kskalski changed the title Bump toolchain and rust_vection to 1.89.0 Bump toolchain and rust_version to 1.89.0 Mar 9, 2026
@kskalski kskalski marked this pull request as ready for review March 9, 2026 05:00
@steviez
Copy link
Copy Markdown
Contributor

steviez commented Mar 9, 2026

Waiting for CI mostly. But I wonder if we should land it on 0.4 line or wait until we are ready to release (including breaking changes) 0.5.

Hmm, good point; this does seem like something we'd want to put in a "major" (actually a minor b/c we're in 0.x.y). Not sure if we had other changes in mind for the 0.4 line or if we could bump to 0.5 today

@kskalski
Copy link
Copy Markdown
Contributor Author

kskalski commented Mar 9, 2026

We are not yet ready for 0.5, there is one problem that Zach wants to solve (in #220) and we are having a discussion which APIs should be added in 0.4 such that we can properly deprecate the ones we want ahead of #213 (to land in 0.5)

@cpubot cpubot added the v0.5 label Mar 11, 2026
@cpubot
Copy link
Copy Markdown
Contributor

cpubot commented Mar 12, 2026

This should be good to merge now

@kskalski kskalski merged commit 5420829 into anza-xyz:master Mar 12, 2026
4 checks passed
@kskalski kskalski deleted the ks/rust_193 branch March 12, 2026 04:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants