Charles Oliver Nutter
8afe65cd92
[ruby/io-wait] Bump version to 0.3.5 to incorporate JRuby release fixes
...
https://github.com/ruby/io-wait/commit/284cb654cf
2025-11-11 22:33:31 +00:00
Charles Oliver Nutter
5c9d5a66e7
[ruby/io-wait] 0.3.5.test1 fixing JRuby release process
...
https://github.com/ruby/io-wait/commit/c0ae05e319
2025-11-11 22:30:04 +00:00
Charles Oliver Nutter
8428e5e8c6
[ruby/io-wait] Bump version to 0.3.4
...
https://github.com/ruby/io-wait/commit/cd163938e5
2025-11-11 22:18:18 +00:00
Yasuo Honda
c07b2329ed
[ruby/psych] Replace Ruby 3.5 with Ruby 4.0
...
This commit updates the Ruby version to follow the commit in Ruby master branch.
6d81969b47
https://github.com/ruby/psych/commit/971b7de078
2025-11-11 21:05:11 +00:00
Peter Zhu
ade2b51a3b
Don't GC unprotect hash in Coverage.peek_result
...
The call to unprotect the coverages hash was introduced in commit 99093e1
where we used the raw ST table and st_foreach. We now use rb_hash_foreach
which no longer requires GC unprotecting the coverages hash.
2025-11-11 10:17:48 -08:00
Peter Zhu
87493e32ed
Fix memory leak in ObjectSpace tracing
...
allocation_info_tracer_compact_update_object_table_i deletes entries where
the key is no longer in the GC heap but did not free the allocation_info
causing the memory to be leaked.
2025-11-10 16:34:00 -08:00
Nobuyoshi Nakada
9720d499ff
[ruby/zlib] [DOC] Missing documents
...
https://github.com/ruby/zlib/commit/25355bc1dc
2025-11-10 10:12:10 +00:00
Nobuyoshi Nakada
2af63204de
[ruby/digest] [DOC] Missing documents
...
https://github.com/ruby/digest/commit/16b598d6f2
2025-11-10 08:38:45 +00:00
Nobuyoshi Nakada
b1dfcd6507
[ruby/stringio] [DOC] Suppress documentation for internals
...
https://github.com/ruby/stringio/commit/27b2fb2fce
2025-11-10 03:45:08 +00:00
Nobuyoshi Nakada
87c39667bf
[DOC] ObjectSpace.trace_object_allocations_debug_start
2025-11-09 22:11:40 +09:00
Nobuyoshi Nakada
953fee11b3
[DOC] Document of Coverage.line_stub from NEWS-2.6.0
2025-11-09 22:11:39 +09:00
Nobuyoshi Nakada
6cac643487
[ruby/win32-registry] [DOC] Convert documents from RD2
...
https://github.com/ruby/win32-registry/commit/8680eedd43
2025-11-09 12:08:45 +00:00
Jean Boussier
a881f2a0f4
[ruby/json] Release 2.16.0
...
https://github.com/ruby/json/commit/5a12067f88
2025-11-07 09:06:36 +00:00
Jean Boussier
cd8902cce8
[ruby/json] Deprecate JSON::State#[] and JSON::State#[]=
...
This prevent from freezing and sharing state instances.
If you needs some sort of arguments or extra state to the generator
methods, consider using `JSON::Coder` instead.
https://github.com/ruby/json/commit/e9fbc8937f
2025-11-07 09:02:47 +00:00
Jean Boussier
da6ba84554
[ruby/json] Get rid of JSON.deep_const_get (private API)
...
https://github.com/ruby/json/commit/826cb2a4f4
2025-11-07 08:46:00 +00:00
Satoshi Tagomori
aaa1234702
update referenced filenames from namespace to box
2025-11-07 13:14:54 +09:00
Satoshi Tagomori
50b9d9d355
rename namespace.c (and others) to box.c
2025-11-07 13:14:54 +09:00
Kazuki Yamaguchi
87ae631b40
[ruby/openssl] pkey/rsa: fix usage of eRSAError
...
This is a follow-up to commit https://github.com/ruby/openssl/commit/e74ff3e2722f , which missed the line added
in a different PR.
https://github.com/ruby/openssl/commit/1b01d19456
2025-11-06 13:40:55 +00:00
Kazuki Yamaguchi
16b1aa4e4a
[ruby/openssl] pkey: unify error classes into PKeyError
...
Remove the following subclasses of OpenSSL::PKey::PKeyError and make
them aliases of it.
- OpenSSL::PKey::DHError
- OpenSSL::PKey::DSAError
- OpenSSL::PKey::ECError
- OpenSSL::PKey::RSAError
Historically, methods defined on OpenSSL::PKey and OpenSSL::PKey::PKey
raise OpenSSL::PKey::PKeyError, while methods on the subclasses raise
their respective exception classes. However, this distinction is not
particularly useful since all those exception classes represent the
same kind of errors from the underlying EVP_PKEY API.
I think this convention comes from the fact that OpenSSL::PKey::{DH,
DSA,RSA} originally wrapped the corresponding OpenSSL structs DH, DSA,
and RSA, before they were unified to wrap EVP_PKEY, way back in 2002.
OpenSSL::PKey::EC::Group::Error and OpenSSL::PKey::EC::Point::Error
are out of scope of this change, as they are not subclasses of
OpenSSL::PKey::PKeyError and do not represent errors from the EVP_PKEY
API.
https://github.com/ruby/openssl/commit/e74ff3e272
2025-11-06 13:33:15 +00:00
Kazuki Yamaguchi
57aaf86bdb
[ruby/openssl] cipher: use EVP_CIPHER_fetch() if available
...
Likewise, use EVP_MD_fetch() if it is available.
This adds support for AES-GCM-SIV with OpenSSL 3.2 or later.
https://github.com/ruby/openssl/commit/0e565a215e
2025-11-06 13:25:09 +00:00
Kazuki Yamaguchi
10d2311e13
[ruby/openssl] digest: use EVP_MD_fetch() if available
...
With the introduction of OpenSSL 3 providers, newly implemented
algorithms do not necessarily have a corresponding NID assigned. To use
such an algorithm, it has to be "fetched" from providers using the new
EVP_*_fetch() functions.
For digest algorithms, we have to use EVP_MD_fetch() instead of the
existing EVP_get_digestbyname(). However, it is not a drop-in
replacement because:
- EVP_MD_fetch() does not support all algorithm name aliases recognized
by EVP_get_digestbyname().
- Both return an EVP_MD, but the one returned by EVP_MD_fetch() is
sometimes reference counted and the user has to explicitly release
it with EVP_MD_free().
So, keep using EVP_get_digestbyname() for all OpenSSL versions for now,
and fall back to EVP_MD_fetch() if it fails. In the latter case, prepare
a T_DATA object to manage the fetched EVP_MD's lifetime.
https://github.com/ruby/openssl/commit/9fc2179403
2025-11-06 13:25:09 +00:00
Kazuki Yamaguchi
26751e4085
[ruby/openssl] cipher: raise CipherError for unsupported algorithm name
...
Raise OpenSSL::Cipher::CipherError instead of ArgumentError or
RuntimeError for consistency.
https://github.com/ruby/openssl/commit/78601c9c34
2025-11-06 13:25:09 +00:00
Kazuki Yamaguchi
18ab5023b6
[ruby/openssl] digest: raise DigestError for unsupported algorithm name
...
We generally raise OpenSSL::OpenSSLError or its subclass for errors
originating from the OpenSSL library, which may include extra details
appended by ossl_raise().
https://github.com/ruby/openssl/commit/9427a05ce5
2025-11-06 13:25:09 +00:00
Nobuyoshi Nakada
89056f4a86
[DOC] Stop documentation for internals
...
Stop documentation for undocumented private constants and private
class methods. And align private method definition styles.
Also `Socket.tcp_with_fast_fallback` looks private as well as
`Socket.tcp_without_fast_fallback`.
2025-11-06 20:09:12 +09:00
Nobuyoshi Nakada
8c95c9d5ae
Dispatch by platform at load
...
`RUBY_PLATFORM` should be invariant within the same process.
2025-11-06 20:09:12 +09:00
Nobuyoshi Nakada
ae7415c27e
[ruby/strscan] [DOC] no doc for internal methods
...
https://github.com/ruby/strscan/commit/5614095d9c
2025-11-05 10:07:20 +00:00
Nobuyoshi Nakada
439ca0432e
[ruby/strscan] Deprecate constant Id
...
`$Id$` is for RCS, CVS, and SVN; no information with GIT.
https://github.com/ruby/strscan/commit/9e3db14fa2
2025-11-05 16:17:44 +09:00
Nobuyoshi Nakada
27b1500e70
[ruby/strscan] [DOC] Add document of StringScanner::Error
...
https://github.com/ruby/strscan/commit/16ec901356
2025-11-05 07:06:57 +00:00
Nobuyoshi Nakada
f8e9bccd03
[ruby/strscan] Deprecate undocumented toplevel constant ScanError
...
https://github.com/ruby/strscan/commit/b4ddc3a2a6
2025-11-05 05:13:20 +00:00
Nobuyoshi Nakada
c85ef2ca9c
[ruby/strscan] ISO C90 forbids mixed declarations and code
...
Cannot use C99 syntax, as far as supporting Ruby 2.6 and earlier.
https://github.com/ruby/strscan/commit/f6d178fda5
2025-11-05 04:54:56 +00:00
Nobuyoshi Nakada
13f1b432d2
[ruby/strscan] [DOC] Remove the statement rest? is obsolete
...
`eos?` is opposite, cannot be used instead of `rest?`.
https://github.com/ruby/strscan/commit/bee8cc547b
2025-11-05 02:03:10 +00:00
Burdette Lamar
d24bb1e761
[ruby/stringio] [DOC] Tweaks for StringIO#string=
...
(https://github.com/ruby/stringio/pull/172 )
https://github.com/ruby/stringio/commit/17ae4daf9a
2025-11-05 00:09:36 +00:00
Burdette Lamar
be905b2e58
[ruby/stringio] [DOC] Tweaks for StringIO#flush
...
(https://github.com/ruby/stringio/pull/169 )
https://github.com/ruby/stringio/commit/bef6541b55
2025-11-05 00:09:02 +00:00
Burdette Lamar
00b5b3c563
[ruby/stringio] [DOC] Tweaks for StringIO#isatty
...
(https://github.com/ruby/stringio/pull/167 )
https://github.com/ruby/stringio/commit/94303ace95
2025-11-05 00:08:41 +00:00
Burdette Lamar
d5acffba82
[ruby/stringio] [DOC] Tweaks for StringIO#fsync
...
(https://github.com/ruby/stringio/pull/170 )
https://github.com/ruby/stringio/commit/da338d7e5d
2025-11-05 00:05:33 +00:00
Burdette Lamar
e22d9abad3
[ruby/stringio] [DOC] Tweaks for StringIO#fileno
...
(https://github.com/ruby/stringio/pull/168 )
https://github.com/ruby/stringio/commit/9f10c7ae86
2025-11-05 00:05:17 +00:00
Burdette Lamar
9c0f2729c0
[ruby/stringio] [DOC] Tweaks for StringIO#internal_encoding
...
(https://github.com/ruby/stringio/pull/166 )
https://github.com/ruby/stringio/commit/5eeb61df34
2025-11-05 00:03:04 +00:00
Burdette Lamar
554a78daab
[ruby/stringio] [DOC] Doc for StringIO.getc
...
(https://github.com/ruby/stringio/pull/163 )
https://github.com/ruby/stringio/commit/a126fe252f
2025-11-04 23:57:52 +00:00
Takashi Kokubun
fffa4671a4
[ruby/strscan] Resurrect a method that has not been obsolete
...
(https://github.com/ruby/strscan/pull/169 )
Partially revert https://github.com/ruby/strscan/pull/168 because
strscan_rest_p did not have `rb_warning("StringScanner#rest? is
obsolete")`.
It is actively used by the latest tzinfo.gem, and we shouldn't remove it
without deprecating it.
https://github.com/ruby/strscan/commit/f3fdf21189
2025-11-04 21:34:04 +00:00
Nobuyoshi Nakada
e9e5a4a454
[ruby/strscan] Remove methods have been obsolete over two decades
...
https://github.com/ruby/strscan/commit/1387def685
2025-11-04 19:41:21 +00:00
Nobuyoshi Nakada
36cd985db4
[ruby/strscan] Remove no longer used variable
...
Since https://github.com/ruby/strscan/commit/92961cde2b42 .
https://github.com/ruby/strscan/commit/911f9c682a
2025-11-04 18:29:37 +00:00
Nobuyoshi Nakada
29847070f0
[ruby/io-wait] bump up to 0.3.3
...
https://github.com/ruby/io-wait/commit/57bc0b752b
2025-11-04 16:14:15 +00:00
Jean Boussier
f1776e8f17
[ruby/json] Tentative fix for RHEL8 compiler
...
```
parser.c:87:77: error: missing binary operator before token "("
#if JSON_CPU_LITTLE_ENDIAN_64BITS && defined(__has_builtin) && __has_builtin(__builtin_bswap64)
```
https://github.com/ruby/json/commit/fce1c7e84a
2025-11-04 11:07:31 +00:00
Jean Boussier
7c92401363
[ruby/json] Micro-optimize rstring_cache_fetch
...
Closes: https://github.com/ruby/json/pull/888
- Mark it as `inline`.
- Use `RSTRING_GETMEM`, instead of `RSTRING_LEN` and `RSTRING_PTR`.
- Use an inlinable version of `memcmp`.
```
== Parsing activitypub.json (58160 bytes)
ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/json/commit/dbd83256b1 ) +YJIT +PRISM [arm64-darwin24]
Comparison:
before: 11766.6 i/s
after: 12272.1 i/s - 1.04x faster
== Parsing twitter.json (567916 bytes)
ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/json/commit/dbd83256b1 ) +YJIT +PRISM [arm64-darwin24]
Comparison:
before: 1333.2 i/s
after: 1422.0 i/s - 1.07x faster
== Parsing citm_catalog.json (1727030 bytes)
ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/json/commit/dbd83256b1 ) +YJIT +PRISM [arm64-darwin24]
Comparison:
before: 656.3 i/s
after: 673.1 i/s - 1.03x faster
== Parsing float parsing (2251051 bytes)
ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/json/commit/dbd83256b1 ) +YJIT +PRISM [arm64-darwin24]
Comparison:
before: 276.8 i/s
after: 276.4 i/s - same-ish: difference falls within error
```
https://github.com/ruby/json/commit/a67d1a1af4
Co-Authored-By: Scott Myron <samyron@gmail.com>
2025-11-04 08:49:57 +00:00
Jean Boussier
157ae44b1e
[ruby/json] Extract JSON_CPU_LITTLE_ENDIAN_64BITS definition
...
Only apply these definitions on 64 bits archs, as it's unclear
if they have performance benefits or compatibility issues on
32bit archs.
https://github.com/ruby/json/commit/ddad00b746
2025-11-04 08:49:57 +00:00
Nobuyoshi Nakada
447809658a
[ruby/io-wait] Select packging files by pathspecs
...
https://github.com/ruby/io-wait/commit/c66a90f5b1
2025-11-04 05:53:37 +00:00
Burdette Lamar
15e64bd2e6
[ruby/stringio] [DOC] Doc for StringIO#gets
...
(https://github.com/ruby/stringio/pull/164 )
https://github.com/ruby/stringio/commit/10e991e31d
2025-11-04 01:09:55 +00:00
Burdette Lamar
be495013a7
[ruby/stringio] [DOC] Doc for StringIO#getbyte
...
(https://github.com/ruby/stringio/pull/162 )
https://github.com/ruby/stringio/commit/95a7dd592c
2025-11-04 00:59:03 +00:00
Burdette Lamar
0d210f4d39
[ruby/stringio] [DOC] Tweaks for StringIO#external_encoding
...
(https://github.com/ruby/stringio/pull/161 )
https://github.com/ruby/stringio/commit/92656f5c66
2025-11-04 00:47:13 +00:00
Burdette Lamar
6695a3b333
[ruby/stringio] [DOC] Tweaks for StringIO#eof?
...
(https://github.com/ruby/stringio/pull/160 )
https://github.com/ruby/stringio/commit/5034156245
2025-11-04 00:45:25 +00:00