summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-09-19`JSON::Coder` callback now recieve a second argument to mark object keyssync-gemsJean Boussier
e.g. ```ruby { 1 => 2 } ``` The callback will be invoked for `1` as while it has a native JSON equivalent, it's not legal as an object name.
2025-09-19[ruby/json] Avoid scientific notation before exponent 15Jean Boussier
Fix: https://github.com/ruby/json/issues/861 It's not incorrect to use scientific notation, but it tend to throw people off a bit, so it's best to keep it for very large numbers. https://github.com/ruby/json/commit/1566cd01a6
2025-09-19[ruby/json] Release 2.14.1Jean Boussier
https://github.com/ruby/json/commit/51ce76ea66
2025-09-19[ruby/json] fix issue reading off the end of the ByteBuffer if ptr > 0Scott Myron
Fix: https://github.com/ruby/json/issues/859 https://github.com/ruby/json/commit/67ebabec75 Co-Authored-By: Jean Boussier <jean.boussier@gmail.com>
2025-09-19[ruby/json] Release 2.14.0Jean Boussier
https://github.com/ruby/json/commit/55552cafe2
2025-09-19[ruby/json] Only enable test coverage when running the test suite standaloneJean Boussier
https://github.com/ruby/json/commit/08b9eb0ee6
2025-09-19[ruby/json] Add branch test coverage when available. Force track all files ↵Robin Miller
to prevent implicit file discovery missing files. https://github.com/ruby/json/commit/6bded942c4
2025-09-19[ruby/json] parser: Reject invalid surogate pairs more consistently.Jean Boussier
https://github.com/ruby/json/commit/5855f4f603
2025-09-19[rubygems/rubygems] Switch `cache_all` to be `true` by defaultDavid Rodríguez
And make it a standard setting. https://github.com/rubygems/rubygems/commit/17e356fa94
2025-09-19[rubygems/rubygems] Pull `Gem.win_platform?` out of a hot pathAaron Patterson
`normalize_path` is a pretty hot path, it's called many times per file in each gem. Since the platform isn't going to change from call to call, we can conditionally define `normalize_path` based on the value of `Gem.win_platform?`. https://github.com/rubygems/rubygems/commit/d5e61411f2
2025-09-19[rubygems/rubygems] Completely remove passing `--ext` to `bundle gem` ↵David Rodríguez
without a value https://github.com/rubygems/rubygems/commit/9f34bf6854 Co-authored-by: Martin Emde <martinemde@users.noreply.github.com>
2025-09-19[rubygems/rubygems] Switch `lockfile_checksums` to be true by defaultDavid Rodríguez
https://github.com/rubygems/rubygems/commit/47c3dc19ee Co-authored-by: Jonathan Barquero <jonbarlo@hotmail.com>
2025-09-19[rubygems/rubygems] Make `bundle show --outdated` raise an errorDavid Rodríguez
https://github.com/rubygems/rubygems/commit/3bbbf4a4e5
2025-09-19[rubygems/rubygems] Move error handling to right behind the optionDavid Rodríguez
This is where error handling happens in all the other options, so it's where we'll look when we completely remove error handling for these removed CLI flags in the next major. https://github.com/rubygems/rubygems/commit/40d660c607
2025-09-19[rubygems/rubygems] Make `--local-git` flag to `bundle plugin install` raise ↵David Rodríguez
an error https://github.com/rubygems/rubygems/commit/8bfe317e6d
2025-09-19[rubygems/rubygems] Fix parallel installation issueDavid Rodríguez
If using a gem with precompiled versions having different dependencies than the generic version from a path source, and with a lockfile including a precompiled version, we would materialize the generic version, but end up using dependencies for the precompiled version. That will result in the parallel installer missing the specifications for the extra dependencies of the generic version, causing a crash. If we are materializing for installation, make sure we use the materialized specification when traversing dependencies. https://github.com/rubygems/rubygems/commit/5f75d75de7
2025-09-18ZJIT: Put exit reasons later in stats_string (#14599)Takashi Kokubun
2025-09-18ZJIT: Count writes to the VM frame (#14597)Max Bernstein
This is a) a lot of memory traffic and b) is another good proxy for our ability to strength reduce method calls.
2025-09-18[ruby/erb] [DOC] Doc for ERB#set_eoutvarBurdetteLamar
https://github.com/ruby/erb/commit/cb4911f5f0
2025-09-18[ruby/erb] [DOC] Correct error in #make_compiler exampleBurdetteLamar
https://github.com/ruby/erb/commit/5e6fea0417
2025-09-18[ruby/erb] [DOC] Doc for ERB#make_compilerBurdetteLamar
https://github.com/ruby/erb/commit/ad8231cd68
2025-09-18[ruby/erb] [DOC] Remove example from ERB.version (will get out-of-date)BurdetteLamar
https://github.com/ruby/erb/commit/b0ccb1e317
2025-09-18[ruby/erb] [DOC] Tweak for ERB.new (argument eoutvar)BurdetteLamar
https://github.com/ruby/erb/commit/b629d578c0
2025-09-18[ruby/erb] [DOC] Correct link in doc for attribute #encodingBurdetteLamar
https://github.com/ruby/erb/commit/3e57b27566
2025-09-18[ruby/erb] [DOC] Doc for constant VERSIONBurdetteLamar
https://github.com/ruby/erb/commit/9b16b2d553
2025-09-18[ruby/erb] [DOC] Doc for constant NOT_GIVENBurdetteLamar
https://github.com/ruby/erb/commit/dd6db81d43
2025-09-18[ruby/erb] [DOC] Doc for attribute srcBurdetteLamar
https://github.com/ruby/erb/commit/7556e6817c
2025-09-18ZJIT: Compile sendforward with dynamic dispatch (#14501)Takashi Kokubun
* ZJIT: Compile sendforward with dynamic dispatch * Reload locals only if it has blockiseq * Add a test case of ... with other args
2025-09-18Prevent GC from running during `newobj_of` for internal_event_newobj.Luke Gruber
If another ractor is calling for GC, we need to prevent the current one from joining the barrier. Otherwise, our half-built object will be marked. The repro script was: test.rb: ```ruby require "objspace" 1000.times do ObjectSpace.trace_object_allocations do r = Ractor.new do _obj = 'a' * 1024 end r.join end end ``` $ untilfail lldb -b ./exe/ruby -o "target create ./exe/ruby" -o "run test.rb" -o continue It would fail at `ractor_port_mark`, rp->r was a garbage value. Credit to John for finding the solution. Co-authored-by: John Hawthorn <john.hawthorn@shopify.com>
2025-09-18ZJIT: Support variadic C calls (#14575)Stan Lo
* ZJIT: Support variadic C calls This reduces the `dynamic_send_count` in `liquid-render` by ~21% * ZJIT: Reuse gen_push_frame * ZJIT: Avoid optimizing variadic C call when tracing is enabled
2025-09-18[ruby/prism] Fix example marker for case statement predicateRandy Stauner
https://github.com/ruby/prism/commit/2ddedf650a
2025-09-18Pass -w to lsofJohn Hawthorn
2025-09-18ZJIT: Annotate BasicObject#initialize (#14590)Max Bernstein
It's a no-op and always returns `nil`. Fixes https://github.com/Shopify/ruby/issues/755
2025-09-18Use union in cross_ractor_requirePeter Zhu
A cross_ractor_require is either a require or an autoload, so we can make the fields an union. This reduces the size of cross_ractor_require by 8 bytes.
2025-09-18Remove test causing warningÉtienne Barrié
The test is no longer useful since 5c7dfe85a1dc49334e2828791f0ade42eee662db because Module#initialize_copy is empty/not defined anymore.
2025-09-18Bump rexmldependabot[bot]
Bumps the bundler group with 1 update in the /spec/bundler/realworld/fixtures/warbler directory: [rexml](https://github.com/ruby/rexml). Updates `rexml` from 3.4.1 to 3.4.2 - [Release notes](https://github.com/ruby/rexml/releases) - [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md) - [Commits](https://github.com/ruby/rexml/compare/v3.4.1...v3.4.2) --- updated-dependencies: - dependency-name: rexml dependency-version: 3.4.2 dependency-type: indirect dependency-group: bundler ... Signed-off-by: dependabot[bot] <support@github.com>
2025-09-18[ruby/erb] [DOC] `ERB::Version`Nobuyoshi Nakada
https://github.com/ruby/erb/commit/7fed01c4de
2025-09-18[ruby/erb] [DOC] Fix the location of `url_encode` docNobuyoshi Nakada
The documentation must be just before the definition. https://github.com/ruby/erb/commit/62282e32d9
2025-09-18[ruby/erb] [DOC] Fix the description of #new_toplevelNobuyoshi Nakada
(https://github.com/ruby/erb/pull/78) https://github.com/ruby/erb/commit/de0f18579e
2025-09-18Use `ec->interrupt_mask` to prevent interrupts. (#14588)Samuel Williams
Disallow pending interrupts to be checked during `FiberScheduler#unblock`. Ractors can send signals at any time, so the previous debug assertion can fail if a Ractor sends a signal. Co-authored-by: Luke Gruber <luke.gruber@shopify.com>
2025-09-17Avoid racing ruby_encoding_index with base indexJohn Hawthorn
Previously when we copied base_encoding on top of the encoding, other threads could briefly see the name and ruby_encoding_index of the base encoding.
2025-09-17Avoid duplicate autoloading of encodingsJohn Hawthorn
2025-09-17ZJIT: Call instance allocation function directlyMax Bernstein
2025-09-17ZJIT: Rename optimize_direct_sends to type_specializeMax Bernstein
2025-09-17ZJIT: Prevent custom allocator in ObjectAllocClassMax Bernstein
2025-09-17ZJIT: Const-fold IsMethodCfuncMax Bernstein
2025-09-17ZJIT: Specialize ObjectAlloc with known class pointerMax Bernstein
This has fewer effects (can be elided!) and will eventually get better codegen, too. Fix https://github.com/Shopify/ruby/issues/752
2025-09-17[ruby/erb] [DOC] Doc for #new_toplevelBurdetteLamar
https://github.com/ruby/erb/commit/dee5dd4da8
2025-09-17[ruby/erb] [DOC] More on encodingsBurdetteLamar
https://github.com/ruby/erb/commit/d5f6f65a89
2025-09-17[ruby/erb] [DOC] Doc for ERB#runBurdetteLamar
https://github.com/ruby/erb/commit/77830cb205