summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2024-12-16Sync net-http commitsStan Lo
https://github.com/ruby/net-http/commit/9bcf818fd009eafb11107c7457aa56d533d16d94 https://github.com/ruby/net-http/commit/5e34e74261f40f4f10c93d7700761c437117f494 Notes: Merged: https://github.com/ruby/ruby/pull/12362
2024-12-16Exclude irb from documentation generationStan Lo
- IRB has its own documentation in the project readme and https://ruby.github.io/irb/ already. - As a tool, its internal implementation details are not relevant to the user. - Excluding it from the documentation generation reduces the size of the generated documentation and makes search results more relevant. I also checked the there are no references to IRB so it should not break any links. Notes: Merged: https://github.com/ruby/ruby/pull/12325
2024-12-16[rubygems/rubygems] Fix `bundle lock --add-checksums` when gems are already ↵David Rodríguez
installed https://github.com/rubygems/rubygems/commit/a087c452ad
2024-12-16[ruby/rdoc] Print warnings for rdoc-ref links that can't be resolvedStan Lo
(https://github.com/ruby/rdoc/pull/1241) https://github.com/ruby/rdoc/commit/4a5206ae56
2024-12-16[rubygems/rubygems] Fix `gem info` tagging some non default gems as defaultDavid Rodríguez
https://github.com/rubygems/rubygems/commit/7585825c57
2024-12-16[ruby/reline] Bump version to 0.6.0Mari Imaizumi
(https://github.com/ruby/reline/pull/795) https://github.com/ruby/reline/commit/e0850cd5ba
2024-12-16[ruby/prism] Fix up regression in ruby parser translationKevin Newton
https://github.com/ruby/prism/commit/b283a72c88 Notes: Merged: https://github.com/ruby/ruby/pull/12358
2024-12-16[ruby/prism] Simplify srange_find in parser compilerKevin Newton
https://github.com/ruby/prism/commit/34efacc618 Notes: Merged: https://github.com/ruby/ruby/pull/12358
2024-12-16[ruby/prism] Add do keyword tracking for While/UntilKevin Newton
https://github.com/ruby/prism/commit/9686897290 Notes: Merged: https://github.com/ruby/ruby/pull/12358
2024-12-16[ruby/prism] Bump to v1.2.0Kevin Newton
https://github.com/ruby/prism/commit/817a8e39d9 Notes: Merged: https://github.com/ruby/ruby/pull/12358
2024-12-16[ruby/prism] Bump to v1.1.0Kevin Newton
https://github.com/ruby/prism/commit/f80026883d Notes: Merged: https://github.com/ruby/ruby/pull/12358
2024-12-16[ruby/rdoc] Fix to parse `rb_define_global_const`Nobuyoshi Nakada
https://github.com/ruby/ruby/pull/12357 https://github.com/ruby/rdoc/commit/458ecbb7f7
2024-12-16[ruby/reline] Change quoted_insert and bracketed_paste to a singletomoya ishida
key input (https://github.com/ruby/reline/pull/792) https://github.com/ruby/reline/commit/8f331edb07
2024-12-16[ruby/rdoc] Bump version to v6.9.1Stan Lo
https://github.com/ruby/rdoc/commit/7cd125e2f0
2024-12-16Freeze `Random::Formatter::ALPHANUMERIC` and its elementsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/12356
2024-12-16[ruby/rdoc] Add attribute :force to RDoc::RubygemsHook just liketomoya ishida
RDoc::RubyGemsHook (https://github.com/ruby/rdoc/pull/1244) Rubygems creates an instance of RDoc::RubygemsHook, sets `doc.force = overwrite`, then calls `doc.generate` the document. RDoc::RubygemsHook needs attribute `:force` just like RDoc::RubyGemsHook. https://github.com/ruby/rdoc/commit/01bdbcdd4d
2024-12-16[ruby/tmpdir] Move private constants under `Dir::Tmpname` moduleNobuyoshi Nakada
Including `TMPDIR_CANDIDATES` extracted from `Dir.tmpdir` invariant. https://github.com/ruby/tmpdir/commit/d219ee273f
2024-12-16[ruby/tmpdir] Tell if the block is given by block argumentNobuyoshi Nakada
https://github.com/ruby/tmpdir/commit/6e97a96d3b
2024-12-16[ruby/tmpdir] Fix for path-like objectsNobuyoshi Nakada
Fix https://github.com/ruby/tmpdir/pull/37 https://github.com/ruby/tmpdir/commit/a8ceafae7d
2024-12-16[ruby/securerandom] Bump up v0.4.1Hiroshi SHIBATA
https://github.com/ruby/securerandom/commit/65fb8ddcc3
2024-12-16[ruby/securerandom] Only define compatible method in < Ruby 3.3Hiroshi SHIBATA
https://github.com/ruby/securerandom/commit/2c8cdfba7b
2024-12-16[ruby/securerandom] Restore SecureRandom.alphanumeric same as ↵Hiroshi SHIBATA
Random::Formatter.alphanumeric of Ruby 3.3/3.4 Fixes https://github.com/ruby/securerandom/pull/35 https://github.com/ruby/securerandom/commit/fbb36e36cc
2024-12-16[ruby/timeout] Bump up v0.4.3Hiroshi SHIBATA
https://github.com/ruby/timeout/commit/607d8c6fbe
2024-12-15[rubygems/rubygems] Fix broken link to license fileStan Lo
https://github.com/rubygems/rubygems/commit/76cb4aad70
2024-12-15[ruby/rdoc] Hide hamburger on desktopJames Reid-Smith
(https://github.com/ruby/rdoc/pull/1237) * Clean up the duplicate definitions and unnecessary print styling * Hides the navigation toggle when there's enough room to always display the navigation * Update lib/rdoc/generator/template/darkfish/css/rdoc.css --------- https://github.com/ruby/rdoc/commit/c6193bf1e2 Co-authored-by: Stan Lo <stan001212@gmail.com>
2024-12-15[ruby/rdoc] Fix iPad Pro navigation not shownJames Reid-Smith
(https://github.com/ruby/rdoc/pull/1236) Found this issue when I was debugging the navigation toggle. I noticed it first in the chrome dev tools, but it was also reproducible on an iPad Pro. Symptom: - On iPad Pro, the navigation section is hidden but there's enough space to show it. Making the user have to click the hamburger button to show it but it's not necessary to hide the navigation section. - On desktop, the navigation section is shown. - On mobile, the navigation section is hidden until the hamburger button is clicked. Fix: - The javascript code was matching 1024px instead of 1023px. The media sections of the css was altering the layout on 1024px. So ipad got the full desktop layout but the navigation section was hidden. https://github.com/ruby/rdoc/commit/1794e59755
2024-12-15[ruby/reline] Refactor Reline::Unicode ed_ vi_ em_ methodstomoya ishida
(https://github.com/ruby/reline/pull/720) * Refactor Reline::Unicode vi_ ed_ em_ methods * Make Reline::Unicode's vi_ ed_ em_ method encoding safe https://github.com/ruby/reline/commit/cdd7288978
2024-12-14[ruby/irb] Fix broken rdoc-ref caused by a typoStan Lo
(https://github.com/ruby/irb/pull/1049) https://github.com/ruby/irb/commit/cdc88fe87f
2024-12-13[ruby/irb] Avoid generating documentation pages for internalStan Lo
components (https://github.com/ruby/irb/pull/1047) https://github.com/ruby/irb/commit/f57025a35e
2024-12-13[ruby/rdoc] Bump version to v6.9.0Stan Lo
https://github.com/ruby/rdoc/commit/dba9474732
2024-12-13[rubygems/rubygems] Fix restarting with locked version when $PROGRAM_NAME ↵Camden Narzt
has been changed Use Process.argv0 instead of $PROGRAM_NAME because $PROGRAM_NAME is liable to be changed but Process.argv0 is not. https://github.com/rubygems/rubygems/commit/43b747dc9e
2024-12-13Fixed compatibility error with setup command and rdoc plugin on rubygemsHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/12330
2024-12-13Removed unnecessary plugin file in ruby/ruby repositoryHiroshi SHIBATA
2024-12-13Make it loose coupling between RubyGems and RDoc (#1171)mterada1228
* Make it loose coupling between RubyGems and RDoc \### Problems There are following problems because of tight coupling between RubyGems and RDoc. 1. If there are braking changes in RDoc, RubyGems is also broken. 2. When we maintain RDoc, we have to change RubyGems. The reason why they are happened is that RubyGems creates documents about a gem with installing it. Note that RubyGems uses functions of RDoc to create documents. Specifically, - Creating documents is executed by `rubygems/lib/rubygems/rdoc.rb`. - `::RDoc::RubygemsHook` which is defined by RDoc is called by the file. \### Solution RubyGems has the plugin system. If a gem includes `rubygems_plugin.rb`, RubyGems loads it. RubyGems executes a process defined in it while installing gems, uninstalling gems or other events. We can use the system to solve the problems. The root cause is RubyGems directly references the class of RDoc. We can remove the root cause by making RDoc RubyGems plugin. Alternatively `rubygems_plugin.rb` creates documents about gems. \### FAQ Q1. Do we need to change codes of RubyGems? A. No, we don't. This change keeps compatibility of API used from RubyGems. Q2. Is it better to delete existing codes related to RDoc in RubyGems? No, it isn't. If we change codes of RubyGems, we can't keep a compatibility. Example: If we delete codes that uses `RDoc::RubygemsHook` in `rubygems/lib/rubygems/rdoc.rb`, documentations are not created with old RDoc. Q3. When can we delete `rubygems/lib/rubygems/rdoc.rb`? A. We can delete it when all users use RDoc including `rubygems_plugin`. Next ruby version is 3.4. If it includes the RDoc including `rubygems_plugin`, we can delete `rubygems/lib/rubygems/rdoc.rb` after ruby 3.3 is EOL. Q4. Is it a breaking change that Rubygems creates documents with rubygems_plugin not RDoc::RubygemsHook? A. No, it isn't. If we simply implement this approach, we move the implementation from `rdoc/lib/rdoc/rubygems_hook.rb` to `rubygems_plugin.rb`. This way can be breaking change. It seems to be fine that we just need to delete `rdoc/rubygems_hook.rb` but it doesn't work. It generates multiple documents. `rubygems/lib/rubygems/rdoc.rb` has the following code. ``` begin require "rdoc/rubygems_hook" # ... rescue LoadError end ``` This code ignores RDoc related processes when `rdoc/rubygems_hook` can't be required. But, this 'require' is not failed. This is because Ruby installs Rdoc as a default gem. So, Rdoc installed as a default gem generates documents and one installed as a normal gem does it too. If you think that this behavior is accectable, we can just delete `rdoc/rubygems_hook.rb`. What do you think about this approach? In this change, we take another approach to solve the problem that creates multiple documents. If `Gem.done_installing(&Gem::RDoc.method(:generation_hook))` in `rubygems/rdoc.rb` doesn't create documents, we can solve the problem. We have some options. * We change `rubygems/rdoc.rb` and then don't execute `Gem.done_installing`. (This is a change for RubyGems.) * We change `rdoc/rubygems_hook.rb` and then make `generation_hook` a no-op method. (This is a change for RDoc.) We choose the latter to avoid changing for RubyGems. \### Test \#### Preparation Install Rdoc which including our changes by executing `rake install`. ❯ rake install We confirmed that Rdoc which including our changes was installed. ❯ gem list | grep rdoc rdoc (6.6.0, default: 6.4.0) \#### Check point We tested to check compatibility. How to chack the compatibility? We tested creating same documents by our RDoc and old RDoc with latest RubyGems. We used following versions to test. ``` ❯ ruby -v ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [arm64-darwin22] ❯ gem list | grep rdoc rdoc (default: 6.4.0) ❯ ruby -I rubygems/lib rubygems/exe/gem --version 3.5.14 ``` Here is a result of test with old RDoc. We can see that the document is created correctlly with `Parsing...` and `Done installing...`. ``` ❯ ruby -I rubygems/lib rubygems/exe/gem install pkg-config Successfully installed pkg-config-1.5.6 Parsing documentation for pkg-config-1.5.6 Done installing documentation for pkg-config after 0 seconds 1 gem installed ``` Here is a result of test with our RDoc. We can see that the document is created correctlly with `Parsing...` and `Done installing...`. ``` ❯ ruby -I rubygems/lib rubygems/exe/gem install pkg-config Successfully installed pkg-config-1.5.6 Parsing documentation for pkg-config-1.5.6 Done installing documentation for pkg-config after 0 seconds 1 gem installed ``` As you can see we got the same results, our RDoc keeps compatibility. * rename a test file * Revert "rename a test file" This reverts commit 70a144bf3fb8f2cc653972e858b5fed3747765d7. * revert a test class name * exclude `TestRDocRubyGemsHook` at job of ruby-core * When `rubygems_plugin.rb` is not found, `test_rdoc_rubygems_hook.rb` is skipped. * remove unnecessary whitespace * add comment * Add support for the case that RDoc is installed as a default gem * Fix problems Co-authored-by: mterada1228 <49284339+mterada1228@users.noreply.github.com> * Simplify * removed unused blank lines and revert test * for rerun tests * add comment for rubygems_plugin.rb --------- Co-authored-by: Sutou Kouhei <kou@clear-code.com> Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
2024-12-13Bump vendored uri to 1.0.2David Rodríguez
2024-12-13Bump vendored net-http to 0.6.0David Rodríguez
2024-12-13Bump vendored securerandom to 0.4.0David Rodríguez
2024-12-13[ruby/resolv] Allow setting default Resolv::DNS config in Resolv.newJeremy Evans
If a positional argument is provided, the use_ipv6 keyword option is ignored: ```ruby Resolv.new([Resolv::DNS.new], use_ipv6: false) ``` Issue a warning in this case. Currently, you have to pass a positional hash argument to set the DNS config. However, after support for the use_ipv6 keyword argument is removed, you will be able to pass either a positional hash or keyword arguments. Code that was just specifying the use_ipv6 keyword optional will still work correctly in that case. https://github.com/ruby/resolv/commit/5ff9dda991
2024-12-13[ruby/resolv] Bump up v0.6.0Hiroshi SHIBATA
https://github.com/ruby/resolv/commit/cb4b335034
2024-12-13[ruby/logger] Bump up v1.6.3Hiroshi SHIBATA
https://github.com/ruby/logger/commit/97bce95f49
2024-12-13[ruby/shellwords] Bump up v0.2.2Hiroshi SHIBATA
https://github.com/ruby/shellwords/commit/55ab74d37a
2024-12-12Fix LoadError's linking issueStan Lo
Original issue: https://github.com/ruby/rdoc/issues/1128 The problem is caused by the `# :stopdoc:` directive in `bundled_gems.rb`, which's scope covers the redefinition of `LoadError`. Since the goal of `# :stopdoc:` is to hide the documentation of `Gem::BUNDLED_GEMS`, we can use `# :nodoc:` on it instead. Notes: Merged: https://github.com/ruby/ruby/pull/12317
2024-12-12[ruby/irb] Load history when starting a direct debug sessionJames Reid-Smith
(https://github.com/ruby/irb/pull/1046) * Load history when starting a direct debug session When starting a debug session directly with RUBY_DEBUG_IRB_CONSOLE=1 and `require 'debug'; debugger`, IRB's history wasn't loaded. This commit ensures history is loaded in this case by calling `load_history` when configuring IRB for the debugger. Fixes ruby/irb#975 * Update test/irb/test_history.rb * Update lib/irb/debug.rb --------- https://github.com/ruby/irb/commit/7f851b5353 Co-authored-by: Stan Lo <stan001212@gmail.com>
2024-12-12[ruby/reline] Undo and redo should restore indentationtomoya ishida
(https://github.com/ruby/reline/pull/793) * Undo and redo should restore indentation Undo and redo should not perform auto indentation. It should not change the indentation. Instead, it should restore previous indentation. * Rename ivar undoing(undoing or redoing) to restoring https://github.com/ruby/reline/commit/6355a6e0b2
2024-12-12[ruby/irb] Bump version to v1.14.2Stan Lo
(https://github.com/ruby/irb/pull/1045) https://github.com/ruby/irb/commit/dd31884657
2024-12-11[ruby/prism] Bump typechecking depsKevin Newton
https://github.com/ruby/prism/commit/230c8b8a48
2024-12-11[rubygems/rubygems] Normalize CLI flag documentation and make sure all flags ↵David Rodríguez
are documented https://github.com/rubygems/rubygems/commit/20a834818b
2024-12-11[rubygems/rubygems] Add documentation for changelog flags in `bundle gem`Adam Leach
The --changelog and --no-changelog flags are missing from docs, this adds them in a way that matches other flags https://github.com/rubygems/rubygems/commit/92f77678fe
2024-12-11[rubygems/rubygems] Add missing `--pre` flag to `bundle update --help`David Rodríguez
https://github.com/rubygems/rubygems/commit/21335a7378
2024-12-11[rubygems/rubygems] Add missing `--outdated` flag to `bundle show --help`David Rodríguez
https://github.com/rubygems/rubygems/commit/2864e54ce3