Skip to content

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Sep 1, 2025

Bumps the dependencies group with 6 updates in the / directory:

Package From To
magnus 0.7.1 0.8.0
bytes 1.8.0 1.10.1
wizer 6.0.0 7.0.0
wasi-vfs-cli v0.5.3 v0.5.5
wit-component 0.216.0 0.238.0
wasm-compose 0.219.1 0.238.0

Updates magnus from 0.7.1 to 0.8.0

Release notes

Sourced from magnus's releases.

0.8.0

Magnus 0.8.0 adds a handful of features and fixes. The old-api feature introduced in 0.7.0 is no longer a default feature, so functions marked as part of the old API will be deprecated by default. Otherwise it is largely compatible with 0.7.

Magnus is a Rust library providing a high-level easy-to-use interface to the C API of the Ruby programming language. Magnus lets you write Ruby extension libraries (or 'gems') in Rust, or embed Ruby in your Rust program.

Fixes

  • The fatal exception raised when a Rust function bound to Ruby panics can no longer be caught with rescue Exception.
  • Fixed type bounds for TryConvertOwned for (T, ...) so that T must be TryConvertOwned.

API changes

The minimum supported Rust version in now 1.65.

Magnus 0.5 and earlier would allow you to create Ruby objects with associated functions, like RArray::new. In Magnus 0.6 a new set of APIs for creating Ruby objects was added, as methods on a Ruby handle that can only be obtained on a Ruby thread. The older associated functions API is now marked as deprecated by default. The old-api feature can be enabled to disable deprecation warnings for the old API. In a future version of Magnus will remove this feature.

The FString type has been removed as it can not safely uphold the promise it was making. Either due to Ruby's apis changing or a misinterpretation of old documentation it had been designed assuming interned strings (aka 'fstrings') would not be garbage collected, which is not the case.

Conversions between Ruby's Time and Rust's SystemTime now preserve nanosecond precision.

RString::to_string will now use a Ruby utf-8 validation api that caches the results of the validity check. This will greatly improve performance in the case a string is already known to be utf-8, but may slightly reduce performance when not known.

New Features

Upgrading

Upgrading from Magnus 0.6 or 0.7 should be straightforward. If upgrading from 0.5 or earlier, it's recommended to upgrade to 0.6 first.

FromIterator for RArray and RHash are hidden behind the old-api feature (which will be removed in a future version of Magnus). Use Ruby::ary_from_iter and Ruby::hash_from_iter rather than RArray/Rhash::from_iter or collect::<RArray>()/collect::<RHash>().


See the changelog for all the changes.

Thanks

@​ankane for implementing TryConvert for NonZero types, i128/u128 support, and some additional improvements. @​emwalker for the chrono feature. @​erickguan for improvements to docs, some fixes, and IO features including Ruby::io_extract_modeenc. @​ianks and @​sandbergja for other fixes. @​yaroslav for a detailed issue report that lead to an improvement.

Changelog

Sourced from magnus's changelog.

[0.8.0] - 2025-08-25

Added

  • Ruby::time_nano_new, Ruby::time_timespec_new, and Time::timespec.
  • The chrono feature can be enabled to allow automatic conversions between chrono::DateTime<Utc> and chrono::DateTime<FixedOffset> and Ruby Time objects.
  • typed_data::Writebarrier::writebarrier and writebarrier_unprotect.
  • Implement TryConvert for NonZero types.
  • io module available with io feature, supporting io_extract_modeenc, OpenFlags, FMode, and IoEncoding.
  • Ruby::io_extract_modeenc, a safe wrapper around rb_io_extract_modeenc, allowing structured extraction of open flags, mode flags, and IO encoding metadata.
  • OpenFlags struct, which wraps Ruby's O_ open flags (e.g. O_RDONLY, O_CREAT) in a convenient bitflag-like interface.
  • FMode struct, representing FMODE_ flags used internally by Ruby to represent IO modes (READ, WRITE, BINARY_MODE, etc.).
  • IoEncoding, a safe Rust struct for temporarily owning and inspecting rb_io_encoding, including safe accessors for internal/external encoding and encoding options.
  • Automatic type conversions to/from i128/u128.
  • to_i128/to_u128 for Fixnum/Bignum/Integer.
  • Ruby::integer_from_i128 & Ruby::integer_from_u128.
  • RHash::to_btree_map and automatic conversion from Hash to BTreeMap.

Changed

  • Minimum supported Rust version is now 1.65.
  • Conversions between Ruby's Time and Rust's SystemTime now preserve nanosecond precision.
  • 'old-api' feature, which disables deprecation warnings for the old api is no longer a default feature.
  • RString::to_string will now use a Ruby utf-8 validation api that caches the results of the validity check. This will greatly improve performance in the case a string is already known to be utf-8, but may slightly reduce performance when not known.
  • RString::to_interned_str now returns an RString rather than an FString.

Deprecated

  • thread_fd_close as it will be a no-op as of Ruby 3.5

Removed

  • FString as it can not safely uphold the promise it was making. Either due to Ruby's apis changing or a misinterpretation of old documentation it had been designed assuming interned strings (aka fstrings) would not be garbage collected, which is not the case.
  • RString::as_interned_str as its only purpose was to return an FString.

Fixed

  • The fatal exception raised when a Rust function bound to Ruby panics can no longer be caught with rescue Exception.

... (truncated)

Commits
  • 108c87e Merge pull request #154 from sandbergja/singleton-typo
  • 5347568 Fix typo: singlton should be singleton
  • 56bb429 update examples in magnus-macros
  • 16c1cc9 better fix for change in rb_fiber_raise
  • 00db8b1 fix doc
  • 5adb4d2 fix warnings introduced in newer rustc
  • 619c27e remove FString
  • f4d3e5e update changelog
  • 1940d56 add io_extract_modeenc to C function index
  • 96a126c Merge pull request #144 from erickguan/io
  • Additional commits viewable in compare view

Updates bytes from 1.8.0 to 1.10.1

Release notes

Sourced from bytes's releases.

Bytes v1.10.1

1.10.1 (March 5th, 2025)

Fixed

  • Fix memory leak when using to_vec with Bytes::from_owner (#773)

#773: tokio-rs/bytes#773

Bytes v1.10.0

1.10.0 (February 3rd, 2025)

Added

  • Add feature to support platforms without atomic CAS (#467)
  • try_get_* methods for Buf trait (#753)
  • Implement Buf::chunks_vectored for Take (#617)
  • Implement Buf::chunks_vectored for VecDeque<u8> (#708)

Fixed

  • Remove incorrect guarantee for chunks_vectored (#754)
  • Ensure that tests pass under panic=abort (#749)

Bytes v1.9.0

1.9.0 (November 27, 2024)

Added

  • Add Bytes::from_owner to enable externally-allocated memory (#742)

Documented

  • Fix typo in Buf::chunk() comment (#744)

Internal changes

  • Replace BufMut::put with BufMut::put_slice in Writer impl (#745)
  • Rename hex_impl! to fmt_impl! and reuse it for fmt::Debug (#743)
Changelog

Sourced from bytes's changelog.

1.10.1 (March 5th, 2025)

Fixed

  • Fix memory leak when using to_vec with Bytes::from_owner (#773)

1.10.0 (February 3rd, 2025)

Added

  • Add feature to support platforms without atomic CAS (#467)
  • try_get_* methods for Buf trait (#753)
  • Implement Buf::chunks_vectored for Take (#617)
  • Implement Buf::chunks_vectored for VecDeque<u8> (#708)

Fixed

  • Remove incorrect guarantee for chunks_vectored (#754)
  • Ensure that tests pass under panic=abort (#749)

1.9.0 (November 27, 2024)

Added

  • Add Bytes::from_owner to enable externally-allocated memory (#742)

Documented

  • Fix typo in Buf::chunk() comment (#744)

Internal changes

  • Replace BufMut::put with BufMut::put_slice in Writer impl (#745)
  • Rename hex_impl! to fmt_impl! and reuse it for fmt::Debug (#743)
Commits

Updates wizer from 6.0.0 to 7.0.0

Commits
  • efb7fca Bump to version 7.0.0 (#110)
  • 0be682d Update Wasmtime and the WASI implementation to v23 (#109)
  • b7315f9 Use almalinux:8 instead of centos:7 docker image for release builds (#108)
  • 8901fa1 Remove $ signs from the bash script to allow for copy pasting (#106)
  • ef54f2c release: add npmrc to ensure publish permissions (#107)
  • 525dfc6 Merge pull request #104 from fitzgen/release-6.0.0
  • See full diff in compare view

Updates wasi-vfs-cli from v0.5.3 to v0.5.5

Commits

Updates wit-component from 0.216.0 to 0.238.0

Commits

Updates wasm-compose from 0.219.1 to 0.238.0

Commits

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 <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps the dependencies group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [magnus](https://github.com/matsadler/magnus) | `0.7.1` | `0.8.0` |
| [bytes](https://github.com/tokio-rs/bytes) | `1.8.0` | `1.10.1` |
| [wizer](https://github.com/bytecodealliance/wizer) | `6.0.0` | `7.0.0` |
| [wasi-vfs-cli](https://github.com/kateinoigakukun/wasi-vfs) | `v0.5.3` | `v0.5.5` |
| [wit-component](https://github.com/bytecodealliance/wasm-tools) | `0.216.0` | `0.238.0` |
| [wasm-compose](https://github.com/bytecodealliance/wasm-tools) | `0.219.1` | `0.238.0` |



Updates `magnus` from 0.7.1 to 0.8.0
- [Release notes](https://github.com/matsadler/magnus/releases)
- [Changelog](https://github.com/matsadler/magnus/blob/main/CHANGELOG.md)
- [Commits](matsadler/magnus@0.7.1...0.8.0)

Updates `bytes` from 1.8.0 to 1.10.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.8.0...v1.10.1)

Updates `wizer` from 6.0.0 to 7.0.0
- [Release notes](https://github.com/bytecodealliance/wizer/releases)
- [Commits](bytecodealliance/wizer@v6.0.0...v7.0.0)

Updates `wasi-vfs-cli` from v0.5.3 to v0.5.5
- [Release notes](https://github.com/kateinoigakukun/wasi-vfs/releases)
- [Commits](kateinoigakukun/wasi-vfs@39d83db...2736b8f)

Updates `wit-component` from 0.216.0 to 0.238.0
- [Release notes](https://github.com/bytecodealliance/wasm-tools/releases)
- [Commits](https://github.com/bytecodealliance/wasm-tools/commits)

Updates `wasm-compose` from 0.219.1 to 0.238.0
- [Release notes](https://github.com/bytecodealliance/wasm-tools/releases)
- [Commits](https://github.com/bytecodealliance/wasm-tools/commits)

---
updated-dependencies:
- dependency-name: magnus
  dependency-version: 0.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: bytes
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: wizer
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: wasi-vfs-cli
  dependency-version: 2736b8fcf00036348d22b713fa59fcd42a0f8387
  dependency-type: direct:production
  dependency-group: dependencies
- dependency-name: wit-component
  dependency-version: 0.238.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: wasm-compose
  dependency-version: 0.238.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Sep 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file rust Pull requests that update Rust code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants