summaryrefslogtreecommitdiff
path: root/ext
AgeCommit message (Collapse)Author
2025-10-30Fix up JSON dependencyNobuyoshi Nakada
2025-10-30[ruby/json] Add ryu float parser.Josef Šimánek
https://github.com/ruby/json/commit/9c4db31908 Co-Authored-By: Jean Boussier <jean.boussier@gmail.com>
2025-10-30[ruby/json] Fix GeneratorError messages to be UTF-8 encodedJean Boussier
https://github.com/ruby/json/commit/965ba6c5d4
2025-10-30[ruby/resolv] Fix invalid "Broken registry" warning for UseDomainNameDevolutionOrgad Shaneh
This value is dword, not a string. Amends https://github.com/ruby/resolv/commit/720e25034042. https://github.com/ruby/resolv/commit/bf00ed8585
2025-10-30[ruby/resolv] Fallback to powershell implementation under the bundle environmentHiroshi SHIBATA
[Bug #21645] win32-registory can't load fiddle if Gemfile didn't have that dependency. https://github.com/ruby/resolv/commit/1319183a4b
2025-10-29[Bug #21625] Allow io/wait methods with `IO#ungetc` in text modeNobuyoshi Nakada
2025-10-29[ruby/date] v3.5.0Hiroshi SHIBATA
https://github.com/ruby/date/commit/d535f7e85f
2025-10-29[ruby/zlib] Bump up v3.2.2Hiroshi SHIBATA
https://github.com/ruby/zlib/commit/5d50b223b1
2025-10-28[DOC] Moved non ASCII documents to separated filesNobuyoshi Nakada
C99 does not declare ways to designate the charset encoding of the source file. We can assume just US-ASCII characters will be safe.
2025-10-28[ruby/stringio] [DOC] Doc for StringIO#each_byteBurdette Lamar
(https://github.com/ruby/stringio/pull/157) https://github.com/ruby/stringio/commit/624ce56b4e Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
2025-10-28[ruby/stringio] [DOC] Doc for StringIO#each_codepointBurdette Lamar
(https://github.com/ruby/stringio/pull/159) https://github.com/ruby/stringio/commit/6628d4837b Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
2025-10-28[ruby/stringio] [DOC] Doc for StringIO#each_charBurdette Lamar
(https://github.com/ruby/stringio/pull/158) https://github.com/ruby/stringio/commit/ec6bf815ae Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
2025-10-27[ruby/json] parser.c: Fix indentation in json_decode_integerJean Boussier
https://github.com/ruby/json/commit/f228b30635
2025-10-27[ruby/json] Use locale indepenent version of `islapha`Jean Boussier
https://github.com/ruby/json/commit/1ba1e9bef9
2025-10-27[ruby/stringio] [DOC] Split the examples `StringIO` into the document fileNobuyoshi Nakada
https://github.com/ruby/stringio/commit/04ba28af00
2025-10-27[ruby/openssl] cipher: various docs improvementsKazuki Yamaguchi
The EVP_CIPHER_CTX = OpenSSL::Cipher interface for AEAD ciphers is notoriously complicated and full of pitfalls. I tried to clarify docs so that users can hopefully connect the Ruby methods with the corresponding OpenSSL man pages more easily. - Call out the common mistakes with Cipher#iv= and Cipher#auth_tag= with AES-GCM. - Update outdated notes about the method calling order requirements with AEAD ciphers. - Add references to the man page where the behavior varies according to the specific cipher algorithm and we cannot document every detail. - Various style/wording updates. https://github.com/ruby/openssl/commit/30e22d9bbb
2025-10-27[ruby/openssl] Sync History.mdKazuki Yamaguchi
2025-10-27[ruby/openssl] Check NULL values for deprecated EVP_PKEY_get0() functionsStan Hu
In OpenSSL <= 1.1.1, EVP_PKEY_get0() always returned a valid object, so a NULL check was not necessary. In OpenSSL 3.0, the function can return NULL (https://docs.openssl.org/3.0/man7/migration_guide/#deprecated-function-mappings), so guard against this issue. https://github.com/ruby/openssl/commit/dc90b9c51e
2025-10-27[ruby/openssl] Update link to OpenSSL configuration file docsTobias Haar
https://github.com/ruby/openssl/commit/02ff964114
2025-10-27[ruby/stringio] [DOC] Doc for StringIO#eachBurdette Lamar
(https://github.com/ruby/stringio/pull/154) https://github.com/ruby/stringio/commit/eca2588274
2025-10-27[ruby/stringio] [DOC] Tweaks for StringIO#close_writeBurdette Lamar
(https://github.com/ruby/stringio/pull/150) https://github.com/ruby/stringio/commit/ea6e36f797 Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
2025-10-27[ruby/win32-registry] Use pathspecs to select needed files in the gem fileNobuyoshi Nakada
Exclude other git management files too. https://github.com/ruby/win32-registry/commit/3be0188111
2025-10-27[ruby/resolv] win32/resolv: fix loading of `NV Domain`fukunori03
https://github.com/ruby/resolv/commit/da14f1f2fc
2025-10-27[ruby/stringio] [DOC] Tweaks for StringIO#close_readBurdette Lamar
(https://github.com/ruby/stringio/pull/149) https://github.com/ruby/stringio/commit/11995db341
2025-10-27[ruby/stringio] [DOC] Tweaks for StringIO.closed_read?Burdette Lamar
(https://github.com/ruby/stringio/pull/152) https://github.com/ruby/stringio/commit/7ded426718
2025-10-27[ruby/stringio] [DOC] Tweaks for StringIO.closed_write?Burdette Lamar
(https://github.com/ruby/stringio/pull/153) https://github.com/ruby/stringio/commit/3e9d576441 Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
2025-10-26[ruby/stringio] [DOC] Tweaks for StringIO#closed?Burdette Lamar
(https://github.com/ruby/stringio/pull/151) https://github.com/ruby/stringio/commit/94bd4a3d87
2025-10-25[ruby/json] Release 2.15.2Jean Boussier
https://github.com/ruby/json/commit/5e61cd7dce
2025-10-25[ruby/json] Fix concurrent usage of JSON::Coder#dumpJean Boussier
Fix: https://github.com/rails/rails/commit/90616277e3d8fc46c9cf35d6a7470ff1ea0092f7#r168784389 Because the `depth` counter is inside `JSON::State` it can't be used concurrently, and in case of a circular reference the counter may be left at the max value. The depth counter should be moved outside `JSON_Generator_State` and into `struct generate_json_data`, but it's a larger refactor. In the meantime, `JSON::Coder` calls `State#generate_new` so I changed that method so that it first copy the state on the stack. https://github.com/ruby/json/commit/aefa671eca
2025-10-24[ruby/stringio] [DOC] Tweaks for StringIO#closeBurdette Lamar
(https://github.com/ruby/stringio/pull/148) Make examples do more work (instead of text). https://github.com/ruby/stringio/commit/7f4662438f
2025-10-23[ruby/stringio] [DOC] Tweaks for StringIO.newBurdette Lamar
(https://github.com/ruby/stringio/pull/144) https://github.com/ruby/stringio/commit/d33ac815c1
2025-10-23[DOC] Tweaks for StringIO#binmode (#147)Burdette Lamar
2025-10-23[ruby/stringio] [DOC] Tweaks for StringIO.openBurdette Lamar
(https://github.com/ruby/stringio/pull/146) https://github.com/ruby/stringio/commit/141c6c0edf
2025-10-23[DOC] Tweaks for TCPSocket.newniku
2025-10-18[ruby/zlib] Initialize const memberNobuyoshi Nakada
``` /github/workspace/src/ext/zlib/zlib.c:2608:25: warning: default initialization of an object of type 'struct read_raw_arg' with const member leaves the object uninitialized [-Wdefault-const-init-field-unsafe] 2608 | struct read_raw_arg ra; | ^ /github/workspace/src/ext/zlib/zlib.c:2450:14: note: member 'argv' declared 'const' here 2450 | const VALUE argv[2]; /* for rb_funcallv */ | ^ ``` https://github.com/ruby/zlib/commit/dfa1fcbd37
2025-10-13[ruby/erb] html_escape: refactor redundant ifSharon Rosner
(https://github.com/ruby/erb/pull/88) https://github.com/ruby/erb/commit/c231ced3f4
2025-10-12[ruby/erb] Fix integer overflowNobuyoshi Nakada
Fix https://github.com/ruby/erb/pull/87 https://github.com/ruby/erb/commit/75764f022b
2025-10-11[ruby/erb] html_escape: Avoid buffer allocation for strings with noSharon Rosner
escapable character (https://github.com/ruby/erb/pull/87) This change improves reduces allocations and makes `html_escape` ~35% faster in a benchmark with escaped strings taken from the `test_html_escape` test in `test/test_erb.rb`. - Perform buffer allocation on first instance of escapable character. - Instead of copying characters one at a time, copy unescaped segments using `memcpy`. https://github.com/ruby/erb/commit/aa482890fe
2025-10-09Add Test::Sanitizers.lsan_enabled?Peter Zhu
2025-10-09Rename Test::Sanitizers.enabled? to Test::Sanitizers.asan_enabled?Peter Zhu
2025-10-09Rename ext/-test-/asan to ext/-test-/sanitizersPeter Zhu
2025-10-08[ruby/openssl] ssl: allow SSLContext#set_params to be used from non-main RactorsKazuki Yamaguchi
Freeze OpenSSL::SSL::SSLContext::DEFAULT_PARAMS so that it becomes Ractor-shareable. Also, prepare a new OpenSSL::X509::Store in Ractor-local storage, if called from a non-main Ractor. OpenSSL::X509::Store currently is not a shareable object. https://github.com/ruby/openssl/commit/3d5271327c
2025-10-08[ruby/openssl] ssl: refactor tmp_dh_callback handlingKazuki Yamaguchi
tmp_dh_callback no longer has a default value. It also no longer has to share code with tmp_ecdh_callback, which has been removed in v3.0.0. https://github.com/ruby/openssl/commit/b7cde6df2a
2025-10-08[ruby/openssl] ssl: use SSL_CTX_set_dh_auto() by defaultKazuki Yamaguchi
Rely on OpenSSL's builtin DH parameters for TLS 1.2 and earlier instead of providing a default SSLContext#tmp_dh_callback proc. SSL_CTX_set_dh_auto() has been available since OpenSSL 1.1.0. The parameters can still be overridden by specifying SSLContext#tmp_dh_callback or #tmp_dh, as confirmed by existing tests. SSLContext#tmp_dh_callback depends on a deprecated OpenSSL feature. We also prefer not to hard-code parameters, which is a maintenance burden. This change also improves Ractor compatibility by removing the unshareable proc. https://github.com/ruby/openssl/commit/9cfec9bf5e
2025-10-08[ruby/openssl] ssl: fix extconf.rb check for SSL_CTX_set0_tmp_dh_pkey()Kazuki Yamaguchi
Check for the function we actually use. Both SSL_set0_tmp_dh_pkey() and SSL_CTX_set0_tmp_dh_pkey() were added in OpenSSL 3.0. https://github.com/ruby/openssl/commit/a9b6a64e5f
2025-10-08[Bug #21629] Initialize `struct RString`Nobuyoshi Nakada
2025-10-07[ruby/json] Release 2.15.1Jean Boussier
https://github.com/ruby/json/commit/9e6067bb55
2025-10-06[ruby/openssl] Bump version number to 4.0.0.preKazuki Yamaguchi
https://github.com/ruby/openssl/commit/64f4aae6bd
2025-10-06[ruby/openssl] Ruby/OpenSSL 3.3.1Kazuki Yamaguchi
https://github.com/ruby/openssl/commit/2b88a6d444
2025-10-06[ruby/openssl] ssl: remove OpenSSL::X509::V_FLAG_CRL_CHECK_ALL from the ↵Kazuki Yamaguchi
default store With OpenSSL 3.6.0, it causes nearly every certificate verification to fail with the message "certificate verify failed (unable to get certificate CRL)" because the CRLs are typically unavailable in the default store used by OpenSSL::SSL::SSLContext#set_params. OpenSSL::X509::V_FLAG_CRL_CHECK_ALL is a flag that extends the CRL checking to all certificates in the chain. In OpenSSL < 3.6.0, the flag alone has no effect, and OpenSSL::X509::V_FLAG_CRL_CHECK must also be set to enable CRL checking. In OpenSSL 3.6.0, OpenSSL::X509::V_FLAG_CRL_CHECK_ALL now implies OpenSSL::X509::V_FLAG_CRL_CHECK. This is inconsistent with the man page and may be fixed in a future OpenSSL 3.6.x release, but this flag is not needed and should not be set by default. Fixes https://github.com/ruby/openssl/issues/949 https://github.com/ruby/openssl/commit/e8481cd687