Skip to content

Bump magnus from 0.8.2 to 0.9.3 in the cargo group - #189

Merged
dduugg merged 2 commits into
mainfrom
dependabot/cargo/cargo-291e007db6
Nov 2, 2026
Merged

dduugg merged 2 commits into
mainfrom
dependabot/cargo/cargo-291e007db6

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 1, 2026

Copy link
Copy Markdown
Contributor

Bumps the cargo group with 1 update: magnus.

Updates magnus from 0.8.2 to 0.9.3

Release notes

Sourced from magnus's releases.

0.9.3

Magnus 0.9.3 is a patch release, with 1 bug fix.

Fixes a potential crash if an exception is raised and converted to a magnus::Error while handling another exception.

Magnus' handling of the new exception would clear the current exception, rather than restoring the original exception, leaving Ruby with an unexpected nil when wrapping up the handling of the outer exception. See https://bugs.ruby-lang.org/issues/22240 for more details.

Thanks to @​rwstauner finding and fixing this.

0.9.2

Magnus 0.9.2 is a patch release, with 2 bug fixes.

Removes Ruby::waitpid on non-unix/non-windows platforms to resolve a compilation error on non-unix/non-windows platforms.

Fixes Fixnum::to_u32 on 32-bit platforms so that it doesn't always return RangeError.

Thanks to @​buvinghausen for reporting these.

0.9.1

Magnus 0.9.1 is a patch release, with 1 bug fix.

Bumps the dependency for the quote crate in magnus-macros to 1.0.37 or later, as magnus-macros depends on CString support that was added in 1.0.37. Thanks to @​y-yagi for this fix.

See the 0.9.0 release for what's new in 0.9.

0.9.0

Magnus 0.9.0 adds a handful of features and fixes, otherwise it is largely compatible with 0.8.

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.

New Features

The debug module implements functions from Ruby's debug.h header, including Ruby::profile_frames, Ruby::debug_inspector_open, Ruby::tracepoint_new, and Ruby::postponed_job_preregister.

Conversions for C strings with Ruby::str_from_c_str, RString::to_c_string, and implementations of IntoRString for &CStr, IntoValue for &CStr, and TryConvert for CString.

RString::modify_expand to grow the capacity of a Ruby string.

RTypedData::as_ptr/typed_data::Obj::as_ptr to get the raw pointer to Rust data that has been wrapped as a Ruby object.

API changes

Minimum supported Rust version is now 1.85.

The supported Ruby versions are now 4.0, 3.4, 3.3, and 3.2. Magnus will compile with Ruby 3.1, but tests are no longer run for Ruby 3.1. Small patches will be accepted for Ruby 3.1 compatibility. Magnus will no longer compile with Ruby 2.7 and 3.0. As of the time of this release Magnus works with the unreleased Ruby 4.1. It is possible that changes in this unreleased version of Ruby may break compatibility before the release of 4.1.

Magnus is no longer tested on macOS Intel, though it should still compile and patches will be accepted for macOS Intel compatibility.

... (truncated)

Changelog

Sourced from magnus's changelog.

[0.9.3] - 2026-10-15

Fixed

  • Catching a Ruby exception (e.g. in Ruby::eval, or any API that may raise) no longer clears $!. It is now restored to the exception Ruby was already handling, matching the semantics of a Ruby rescue. Clearing it corrupted the interpreter's unwind state when Rust was called while an exception was propagating, crashing Ruby with ec->errinfo == nil (https://bugs.ruby-lang.org/issues/22240).

[0.8.4] - 2026-10-15

Fixed

  • Catching a Ruby exception (e.g. in Ruby::eval, or any API that may raise) no longer clears $!. It is now restored to the exception Ruby was already handling, matching the semantics of a Ruby rescue. Clearing it corrupted the interpreter's unwind state when Rust was called while an exception was propagating, crashing Ruby with ec->errinfo == nil (https://bugs.ruby-lang.org/issues/22240).

[0.9.2] - 2026-10-02

Fixed

  • Ruby::waitpid is now only available on Unix (this includes Linux and macOS) and Windows platforms so that Magnus may compile on non-unix/non-windows platforms, e.g wasi.
  • Fixnum::to_u32 on 32-bit platforms would always return RangeError.

[0.8.3] - 2026-10-02

Fixed

  • Ruby::waitpid is now only available on Unix (this includes Linux and macOS) and Windows platforms so that Magnus may compile on non-unix/non-windows platforms, e.g wasi.
  • Fixnum::to_u32 on 32-bit platforms would always return RangeError.

[0.9.1] - 2026-09-28

Fixed

  • bump quote dependency to 1.0.37 in magnus-macros for CString support.

[0.9.0] - 2026-09-22

Added

  • Ruby::profile_frames to collect a lightweight backtrace for profiling.
  • Thread::profile_frames to collect a lightweight backtrace for profiling a specific thread.
  • Ruby::debug_inspector_open to acquire a DebugInspector struct that gives access to the current frame's self, class, binding, and instruction sequence.
  • Ruby::tracepoint_new and TracePoint to access Ruby's TracePoint api.
  • Ruby::postponed_job_preregister and PostponedJobHandle::trigger to register and trigger postponed jobs that can be triggered from non-Ruby threads/without the GVL to be run later from a Ruby thread with the GVL.
  • Conversions for C strings with Ruby::str_from_c_str, RString::to_c_string,

... (truncated)

Commits
  • 7857a44 0.9.3 release
  • a2c8603 Preserve errinfo in protect and eval rather than clearing it
  • d5cd626 bump to 0.9.2
  • 52a511c update changelog for 0.9.2
  • 5698409 fix Fixnum::to_u32 on 32-bit platforms
  • 590d3a2 Ruby::waitpid only works on windows/unix
  • 91dca72 update changelog for 0.9.1 release
  • 8d72c6a Merge pull request #185 from y-yagi/magnus-macros-quote-min-version
  • 1922a0b Require quote 1.0.37 or later in magnus-macros
  • 4cd3e9d update changelog for 0.9.0 release
  • Additional commits viewable in compare view

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 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 cargo group with 1 update: [magnus](https://github.com/matsadler/magnus).


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

---
updated-dependencies:
- dependency-name: magnus
  dependency-version: 0.9.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
...

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 Nov 1, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner November 1, 2026 04:19
@github-project-automation github-project-automation Bot moved this to Triage in Modularity Nov 1, 2026
serde_magnus 0.11 still requires magnus ^0.8.1 and no release supports
0.9 yet (OneSignal/serde-magnus#26 is open). With both magnus versions in
the lockfile, serde_magnus::serialize returned a magnus 0.8 Value and
Error that the 0.9 code could not use, failing the compile in every
RSpec job.

The extension only serialized three shapes, so build them with magnus
directly: Team as a Hash with Symbol keys in field order, the
teams_for_files result as a Hash of String to Team or nil, and
info_messages as an Array of String. These match what serde_magnus
produced, and serde is no longer needed.
@dduugg
dduugg merged commit 7f260b7 into main Nov 2, 2026
16 checks passed
@dduugg
dduugg deleted the dependabot/cargo/cargo-291e007db6 branch November 2, 2026 20:43
@github-project-automation github-project-automation Bot moved this from Triage to Done in Modularity Nov 2, 2026
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

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant