Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Feb 1, 2026

Bumps ts-rs from 11.1.0 to 12.0.1.

Release notes

Sourced from ts-rs's releases.

v12.0.0

Hello again! Today, we're excited to announce v12 of ts-rs! 🥳

While this is a breaking release, we expect a seamless upgrade for most users.
Even though we adjusted the representation of two types, their new and improved bindings should be less restrictive in most cases and therefore require minimal intervention.
Besides that, only code that interacts directly with the TS trait should be affected and easily fixed.

Changes to HashMap & friends (again)

With v12, we once again changed how HashMap, BTreeMap, etc. are represented in TypeScript.
As a result, bindings are more flexible, work in more scenarios, and better match the expectations of TypeScript developers.

With this change, HashMap<K, V> will result in { [key in K]: V }. The exception to this is when K is an enum - only then we generate { [key in K]?: V } instead.

Before, indexing into an object required dealing with undefined values. With this change, this is no longer forced onto users, which is the expected behavior for most TypeScript developers. If you want tsc to be pedantic about undefined values, enable noUncheckedIndexedAccess, which exists for this very purpose.

To aid migration, you can set the TS_RS_USE_V11_HASHMAP environment variable to revert to the previous behavior. However, we do intend on removing this flag in a future release.

Chunky Integers

By default, large integers that don't fit into a 64-bit float are exported as bigint.
With this release, this has now become configurable through environment variables and/or .cargo/config.toml.

Better Configuration!

Using environment variables, the generation and exporting of bindings can be configured. With v12, we now allow for the same level of control when exporting bindings programmatically.

The Type of Nothing

With this release, we altered the representation of unit structs and unit variants from Record<string, never> to Record<symbol, never>.
It is equally expressive, but avoids a quirk in the TS typesystem when contained within an enum variant.

What Else?

  • Support for types from the arrayvec crate
  • Support for types from the jiff crate
  • More lenient handling of serde attributes, resulting in less warnings
  • Improved documentation & README
  • Bug fixes! 🙂

Changelog

New Contributors

... (truncated)

Changelog

Sourced from ts-rs's changelog.

master

Breaking

Features

Fixes

12.0.0

Breaking

  • Change generated type of unit structs to Record<symbol, never> (#431)
  • Change generated type of HashMap to { [key in K]: V } if K is not an enum (#446)
  • Enable programmatic configuration of binding generation (#460)

Features

  • Add TS_RS_LARGE_INT environment variable to configure binding for i64, u64, i128, etc. (#448)
  • Add support for arrayvec (#469)
  • Add support for jiff (#458)

Fixes

  • Do not emit warning for #[serde(borrow)] (#471)
  • Do not emit warning for #[serde(crate = "..")] (#447)
  • Fix trait bound generation when using #[ts(optional)] on an Option<Generic> (#454)
  • Fix parsing of comma-separated serde attributes (#466)
Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [ts-rs](https://github.com/Aleph-Alpha/ts-rs) from 11.1.0 to 12.0.1.
- [Release notes](https://github.com/Aleph-Alpha/ts-rs/releases)
- [Changelog](https://github.com/Aleph-Alpha/ts-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Aleph-Alpha/ts-rs/commits)

---
updated-dependencies:
- dependency-name: ts-rs
  dependency-version: 12.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@coderabbitai
Copy link

coderabbitai bot commented Feb 1, 2026

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • 🔍 Trigger a full review

Comment @coderabbitai help to get the list of available commands and usage tips.

@pilgrimlyieu pilgrimlyieu merged commit eb9b7e7 into main Feb 1, 2026
2 checks passed
@dependabot dependabot bot deleted the dependabot/cargo/src-tauri/ts-rs-12.0.1 branch February 1, 2026 01:54
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.

1 participant