summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-12-10Split system dependent commands to clean modular-gcNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/12300
2024-12-10Remove unused macros from parse.yydah
Notes: Merged: https://github.com/ruby/ruby/pull/11781
2024-12-10Remove minimum Bison version requirement from parse.yydah
How about removing `%require “version”` since it is a definition to specify the minimum version of Bison and is not needed now that we have completely moved to Lrama? see: https://www.gnu.org/software/bison/manual/html_node/Require-Decl.html
2024-12-10[ruby/strscan] [DOC] doc/strscan/strscan.md - update Matcher MethodsNAITOH Jun
(https://github.com/ruby/strscan/pull/123) Added support for string pattern type in https://github.com/ruby/strscan/pull/106. And fix Success Return content. https://github.com/ruby/strscan/commit/6a5acde674
2024-12-10[ruby/fiddle] Fix test_dlopen_linker_script_input_linux beingDani Smith
omitted on Fedora 40 aarch64 (https://github.com/ruby/fiddle/pull/161) I found working on Fedora 40 on aarch64 that `test_dlopen_linker_script_input_linux` was omitted due to not finding libncurses.so, since it is in /usr/lib64. This PR makes the glob a little more portable. https://github.com/ruby/fiddle/commit/444774c0c4
2024-12-10Launchable: Remove unnecessary command (#12299)Naoto Ono
`launchable verify` command is designed for checking if CLI has been configured successfully. We've already checked it, so we don't need calling this command anymore. Notes: Merged-By: ono-max <onoto1998@gmail.com>
2024-12-09Clean all modular GCsPeter Zhu
We should run `make clean` or `make distclean` on each of the GC directories. Notes: Merged: https://github.com/ruby/ruby/pull/12295
2024-12-09Only delete gc directory if emptyPeter Zhu
If building in the source directory, this will delete the gc directory. Notes: Merged: https://github.com/ruby/ruby/pull/12295
2024-12-09Don't delete .gc directoryPeter Zhu
We build in the gc directory since commit d0575032527916b523035be87ad876152c886c85, so we don't need to remove the .gc directory. Notes: Merged: https://github.com/ruby/ruby/pull/12295
2024-12-09Add missing fiber nil check to avoid slow rb_check_funcall()Alan Wu
Check for nil like other callers of rb_fiber_scheduler_current(). Notes: Merged: https://github.com/ruby/ruby/pull/12298
2024-12-09objspace_dump: Use FILE* to avoid crashing in mark functionsAlan Wu
We observed crashes from rb_io_bufwrite() thread switching (through rb_thread_check_ints()) in the middle of rb_execution_context_mark(). By the time rb_execution_context_mark() gets a timeslice again, it read garbage from a frame that was already popped in another thread, crashing the process in SEGV. Other mark functions probably have their own ways of breaking, but clearly, the usual IO code do too much for this perilous pseudo GC context. Use `FILE*` like before 5001cc47169614ea07d87651c95c2ee185e374e0 ("Optimize ObjectSpace.dump_all"). Also, add type checking for the private _dump methods. Co-authored-by: Peter Zhu <peter@peterzhu.ca> Notes: Merged: https://github.com/ruby/ruby/pull/12285
2024-12-09[ruby/mmtk] Also remove .rustc_info.json in clean-mmtk targetPeter Zhu
https://github.com/ruby/mmtk/commit/4b67c8b4da
2024-12-09[ruby/mmtk] Add target clean-mmtk to clean Rust debug and release directoriesPeter Zhu
https://github.com/ruby/mmtk/commit/1f71cb873c
2024-12-09YJIT: Add a comment about a lazy frame callTakashi Kokubun
jit_prepare_lazy_frame_call is a complicated trick and comes with memory overhead. Every use of the function should come with justification.
2024-12-09YJIT: Spill/load argument registers to reuse blocks (#12287)Takashi Kokubun
* YJIT: Spill/load argument registers to reuse blocks * Mention the immediate function name * Explain the context behind spill/load operations Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2024-12-09[ruby/rdoc] Expand rdoc-ref targets at the end of ri outputStan Lo
(https://github.com/ruby/rdoc/pull/1141) There have been several document refactors in ruby/ruby that extract individual methods/classes' documentation into separate files, like ruby/ruby#6567 Because RI is not capable of rendering those references, RI users are left with dramatically fewer documentation on those methods/classes. This commit adds a new option `--expand-ref` (default: true) to expand all the rdoc-ref targets at the end of the output. https://github.com/ruby/rdoc/commit/9e2b28c6e3
2024-12-09[Bug #20933] Fix IO::Buffer overlap calculationPeter Zhu
The allocated buffers may be consecutive memory addresses. This will mean that `b->base == a->base + a->size` even though `a` and `b` are separate buffers. Notes: Merged: https://github.com/ruby/ruby/pull/12284
2024-12-09YJIT: Only enable disassembly colors for tty (#12283)Max Bernstein
* YJIT: Use fully-qualified name for OPTIONS in get_options! * YJIT: Only enable disassembly colors for tty Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2024-12-10Fix Connection Attempt Delay of `Socket.tcp` (#12291)Misaki Shioi
The following two commits fix the proper clearing of the Connection Attempt Delay in `TCPSocket.new`. - https://github.com/ruby/ruby/pull/12087/commits/b2f610b0edf8f84d9d0fce038f3ebfa9f2cb0223 - https://github.com/ruby/ruby/pull/12223/commits/6f4efaec5352cdeb6cab86036a83f53c9fa5c3d2 The same fix will be applied to `Socket.tcp`. Notes: Merged-By: shioimm <shioi.mm@gmail.com>
2024-12-09Launchable: Remove FIXME comment (#12293)Naoto Ono
https://github.com/launchableinc/cli/issues/786 has already been solved, so we can remove the comment. Notes: Merged-By: ono-max <onoto1998@gmail.com>
2024-12-09Enable more Launchable integration in bootstraptest and test-all (#12255)Naoto Ono
Notes: Merged-By: ono-max <onoto1998@gmail.com>
2024-12-09Update default gems list at 771612475948bb6d15b2a6a229c49d [ci skip]git
2024-12-09[ruby/etc] Bump up 1.4.5Hiroshi SHIBATA
https://github.com/ruby/etc/commit/5019f4314a
2024-12-09[ruby/psych] Bump up 5.2.1Hiroshi SHIBATA
https://github.com/ruby/psych/commit/7c81f7db53
2024-12-09Added did_you_mean-2.0.0 change to NEWS.mdHiroshi SHIBATA
https://github.com/ruby/did_you_mean/pull/194
2024-12-09Move compatibility changes of stdlib to that sectionHiroshi SHIBATA
2024-12-09Revert "Launchable: Stop recording tests temporarily" (#12289)Naoto Ono
Revert "Launchable: Stop recording tests temporarily (#12268)" This reverts commit 866f1a1f2d6f0425b1535fb5697a30404e83e7c2. Notes: Merged-By: ono-max <onoto1998@gmail.com>
2024-12-08[ruby/rdoc] lint: Remove unreachable codeOKURA Masafumi
(https://github.com/ruby/rdoc/pull/1137) This is an attempt to utilize RuboCop further. RuboCop was added in https://github.com/ruby/rdoc/commit/9262fdd43a3a but only a few rules have been enabled. I believe we can utilize RuboCop more for better code quality, especially with Lint cops. This is the first step to enable other Lint cops. This commit also exclude some auto generated files. https://github.com/ruby/rdoc/commit/a53287fce0
2024-12-08[ruby/rdoc] Use distinct styles for note lists and label listsnicholas a. evans
(https://github.com/ruby/rdoc/pull/1209) * Use the original `label` description list style As a default for all description lists, the original "label" style is more readable. This is slightly different from the original `label` dl though: * slightly increased left margin for `dd` (to 1em) * removed right margin on `dd` * removed `dt` bottom margin and `dd` top margin, to reduce the gap between the term and its description (to only the standard line-height gap). * Add closing tags for description list terms Without the closing tags, the dt elements contain whitespace after the text. This normally isn't a big deal, but does mess some things up, e.g: using `::after` with `content: ", "` in stylesheets. * Restore float:left style for note lists Unlike the original note list styles, this version sets the line-height for all `dt` elements to be the same as the `p` elements contained inside the `dd`, so that the second line has the same indentation as all subsequent lines. * Add commas between note list terms https://github.com/ruby/rdoc/commit/9e69ea6d75
2024-12-07[Bug #20929] Win32: Use `wcsftime`Nobuyoshi Nakada
`_strftime_l` is not available on msvcrt that is still used by 32bit mingw compiler. Notes: Merged: https://github.com/ruby/ruby/pull/12286
2024-12-07[ruby/openssl] ssl: do not clear existing SSL options in SSLContext#set_paramsKazuki Yamaguchi
Apply SSL options set in DEFAULT_PARAMS without clearing existing options. It currently clears options in order to avoid setting one of the options included in OpenSSL::SSL::OP_ALL unless explicitly specified, namely OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS. Now that OpenSSL::SSL::OP_ALL has been removed from SSLContext#initialize, it is no longer necessary. https://github.com/ruby/openssl/commit/77c3db2d65
2024-12-07[ruby/openssl] ssl: do not enable OpenSSL::SSL::OP_ALL by defaultKazuki Yamaguchi
Respect the SSL options set by default by SSL_CTX() and by the system-wide OpenSSL configuration file. OpenSSL::SSL::SSLContext#initialize currently adds OpenSSL::SSL::OP_ALL on top of the default SSL options. Let's stop doing it. OpenSSL::SSL::OP_ALL is a set of options that changes OpenSSL's behavior to workaround various TLS implementation bugs. Using it is considered usually safe, but is not completely harmless. https://github.com/ruby/openssl/commit/00bec0d905
2024-12-07[ruby/openssl] ssl: improve documentation of SSLContext#options=Kazuki Yamaguchi
https://github.com/ruby/openssl/commit/9120fcde6a
2024-12-07[ruby/openssl] Call Init_ossl_*() functions in alphabetical orderKazuki Yamaguchi
It was originally sorted in alphabetical order, but it has been broken over time. Let's fix it. https://github.com/ruby/openssl/commit/974c67f38f
2024-12-07[ruby/openssl] Mark variables and functions as static whenever possibleKazuki Yamaguchi
https://github.com/ruby/openssl/commit/85d6b7f192
2024-12-07[ruby/openssl] ts: fix exception class raised when getting an OID nameKazuki Yamaguchi
get_asn1obj() is used by several methods in OpenSSL::Timestamp to get the string representation of an OID. On an error, such as memory allocation failure, it can raise OpenSSL::X509::AttributeError. It should be OpenSSL::Timestamp::TimestampError instead. https://github.com/ruby/openssl/commit/a424aad1df
2024-12-07[ruby/openssl] ts: avoid using OpenSSL::PKCS7's internalsKazuki Yamaguchi
Internals of OpenSSL::PKCS7 should be kept within ossl_pkcs7.c. Add a new ossl_pkcs7_new() function for duplicating and wrapping an OpenSSL PKCS7 object in OpenSSL::PKCS7. This follows the convention used by other ossl_*_new() functions. https://github.com/ruby/openssl/commit/b5f79f771e
2024-12-07[ruby/openssl] x509store: fix exception class in ↵Kazuki Yamaguchi
OpenSSL::X509::StoreContext#verify Follow-up commit https://github.com/ruby/openssl/commit/0789643d7333 (openssl: clear OpenSSL error queue before return to Ruby, 2016-05-18). It should raise OpenSSL::X509::StoreError instead of OpenSSL::X509::CertificateError. https://github.com/ruby/openssl/commit/0201f23ad6
2024-12-07[ruby/openssl] ns_spki: fix exception class in OpenSSL::Netscape::SPKI#to_derKazuki Yamaguchi
It should raise OpenSSL::Netscape::SPKIError instead of OpenSSL::X509::CertificateError. No test cases covered this because it only occurs in exceptional cases, such as memory allocation failure. https://github.com/ruby/openssl/commit/527b6101d1
2024-12-07[ruby/openssl] pkey/ec: fix exception class in OpenSSL::PKey::EC.newKazuki Yamaguchi
Fix a copy-and-paste error introduced in commit https://github.com/ruby/openssl/commit/74f6c6175688 (pkey: allocate EVP_PKEY on #initialize, 2021-04-12). It should raise OpenSSL::PKey::ECError instead of OpenSSL::PKey::DSAError. https://github.com/ruby/openssl/commit/b1f6a04abf
2024-12-07[ruby/openssl] make configs shareable when frozenHoneyryderChuck
https://github.com/ruby/openssl/commit/654cb22e21
2024-12-07[ruby/openssl] freeze OpenSSL::Config::DEFAULT_CONFIG_FILEHoneyryderChuck
https://github.com/ruby/openssl/commit/3cc1825435
2024-12-07[ruby/openssl] make config frozen on initializeHoneyryderChuck
https://github.com/ruby/openssl/commit/50599513cf
2024-12-07[ruby/openssl] ssl: handle callback exceptions in SSLSocket#sysread and ↵Kazuki Yamaguchi
#syswrite Check the ID_callback_state ivar after SSL_read() or SSL_write() returns, similar to what ossl_start_ssl() does. Previously, callbacks that can raise a Ruby exception were only called from ossl_start_ssl(). This has changed in OpenSSL 1.1.1. Particularly, the session_new_cb will be called whenever a client receives a NewSessionTicket message, which can happen at any time during a TLS 1.3 connection. https://github.com/ruby/openssl/commit/aac9ce1304
2024-12-07[ruby/openssl] ssl: fix potential exception in servername_cbKazuki Yamaguchi
ssl_servername_cb() is a callback function called from OpenSSL and Ruby exceptions must not be raised from it. Allocate the Array within rb_protect(). https://github.com/ruby/openssl/commit/3a2bf74d35
2024-12-06[DOC] New homepage for docs.ruby-lang.org/en (#12227)Stan Lo
Notes: Merged-By: peterzhu2118 <peter@peterzhu.ca>
2024-12-06.gdbinit: Fix reference to undefined rb_thread_t field [ci skip]Alan Wu
2024-12-06YJIT: small fix to stats formatting. (#12282)Maxime Chevalier-Boisvert
Avoid division by zero and NaN%, e.g. num_throw_break: 0 ( NaN%) num_throw_retry: 0 ( NaN%) num_throw_return: 0 ( NaN%) Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2024-12-06Add rb_gc_impl_active_gc_name to gc/gc_impl.hPeter Zhu
Notes: Merged: https://github.com/ruby/ruby/pull/12271
2024-12-06[rubygems/rubygems] Skip unresolved deps warning on ↵David Rodríguez
`Gem::Specification.reset` on benign cases If `Gem::Specification.reset` is used, but there are still unresolved dependencies, RubyGems prints a warning. There are though, certain cases where the situation will not cause any issues. One such case is when the unresolved dependency does not restrict any versions (>= 0) and there's a default gem matching it. In this situation, it doesn't matter if Gem paths change, because default gems are still activatable, so the dependency will be properly activated if ever needed. https://github.com/rubygems/rubygems/commit/e5f8a3068e