summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2024-10-18[ruby/ipaddr] Use string interpolation instead of format()Akinori MUSHA
https://github.com/ruby/ipaddr/commit/73f59e111f
2024-10-18[ruby/ipaddr] Added to_json/as_json methodTaketo Takashima
Updated to use cidr method when return address with prefix in #as_json https://github.com/ruby/ipaddr/commit/cf8181d53e
2024-10-18[rubygems/rubygems] Clarify `bundle install --quiet` documentationJerome Dalbert
Bundler always exits with a status code. https://github.com/rubygems/rubygems/commit/3a38bd0b12
2024-10-18[ruby/syntax_suggest] Bump up 2.0.1Hiroshi SHIBATA
https://github.com/ruby/syntax_suggest/commit/0b9e4081c0
2024-10-18[ruby/syntax_suggest] Removed empty commentHiroshi SHIBATA
https://github.com/ruby/syntax_suggest/commit/e1d9c83736
2024-10-17[ruby/rdoc] feature: Render mixed-in methods and constants withMike Dalessio
`--embed-mixins` (https://github.com/ruby/rdoc/pull/842) * Embed mixed-in methods and constants with `--embed-mixins` When `--embed-mixins` option is set: - methods from an `extend`ed module are documented as singleton methods - attrs from an `extend`ed module are documented as class attributes - methods from an `include`ed module are documented as instance methods - attrs from an `include`ed module are documented as instance attributes - constants from an `include`ed module are documented Sections are created when needed, and Darkfish's template annotates each of these mixed-in CodeObjects. We also respect the mixin methods' visibility. This feature is inspired by Yard's option of the same name. * Add comment to document why we set object visibility Co-authored-by: Stan Lo <[email protected]> * Add the mixin_from attribute to CodeObject's initializer * Add test coverage for private mixed-in attributes. --------- https://github.com/ruby/rdoc/commit/481c2ce660 Co-authored-by: Stan Lo <[email protected]>
2024-10-17Optimize Ext::Generator::State#configureJean Boussier
If we assume that most of the time the `opts` hash is small it's faster to go over the provided keys with a `case` than to test all possible keys one by one. Before: ``` == Encoding small nested array (121 bytes) ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23] Warming up -------------------------------------- json 156.832k i/100ms oj 209.769k i/100ms rapidjson 162.922k i/100ms Calculating ------------------------------------- json 1.599M (± 2.5%) i/s (625.34 ns/i) - 7.998M in 5.005110s oj 2.137M (± 1.5%) i/s (467.99 ns/i) - 10.698M in 5.007806s rapidjson 1.677M (± 3.5%) i/s (596.31 ns/i) - 8.472M in 5.059515s Comparison: json: 1599141.2 i/s oj: 2136785.3 i/s - 1.34x faster rapidjson: 1676977.2 i/s - same-ish: difference falls within error == Encoding small hash (65 bytes) ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23] Warming up -------------------------------------- json 216.464k i/100ms oj 661.328k i/100ms rapidjson 324.434k i/100ms Calculating ------------------------------------- json 2.301M (± 1.7%) i/s (434.57 ns/i) - 11.689M in 5.081278s oj 7.244M (± 1.2%) i/s (138.05 ns/i) - 36.373M in 5.021985s rapidjson 3.323M (± 2.9%) i/s (300.96 ns/i) - 16.871M in 5.081696s Comparison: json: 2301142.2 i/s oj: 7243770.3 i/s - 3.15x faster rapidjson: 3322673.0 i/s - 1.44x faster ``` After: ``` == Encoding small nested array (121 bytes) ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23] Warming up -------------------------------------- json 168.087k i/100ms oj 208.872k i/100ms rapidjson 149.909k i/100ms Calculating ------------------------------------- json 1.761M (± 1.1%) i/s (567.90 ns/i) - 8.909M in 5.059794s oj 2.144M (± 0.9%) i/s (466.37 ns/i) - 10.861M in 5.065903s rapidjson 1.692M (± 1.7%) i/s (591.04 ns/i) - 8.545M in 5.051808s Comparison: json: 1760868.2 i/s oj: 2144205.9 i/s - 1.22x faster rapidjson: 1691941.1 i/s - 1.04x slower == Encoding small hash (65 bytes) ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23] Warming up -------------------------------------- json 242.957k i/100ms oj 675.217k i/100ms rapidjson 355.040k i/100ms Calculating ------------------------------------- json 2.569M (± 1.5%) i/s (389.22 ns/i) - 12.877M in 5.013095s oj 7.128M (± 2.3%) i/s (140.30 ns/i) - 35.787M in 5.023594s rapidjson 3.656M (± 3.1%) i/s (273.50 ns/i) - 18.462M in 5.054558s Comparison: json: 2569217.5 i/s oj: 7127705.6 i/s - 2.77x faster rapidjson: 3656285.0 i/s - 1.42x faster ```
2024-10-17[ruby/json] Convert Generator initialize and configure method into RubyJean Boussier
This helps very marginally with allocation speed. https://github.com/ruby/json/commit/25db79dfaa
2024-10-17[ruby/rdoc] Use scroll-margin-top on anchor targetsStan Lo
(https://github.com/ruby/rdoc/pull/1190) This will make the anchor target easier to read. https://github.com/ruby/rdoc/commit/e2fe4882f4
2024-10-17[ruby/rdoc] Add scroll-margin-top on all :target elementsMads Ohm Larsen
(https://github.com/ruby/rdoc/pull/1174) https://github.com/ruby/rdoc/commit/7398e5b0ad Co-authored-by: Stan Lo <[email protected]>
2024-10-17[rubygems/rubygems] Allow using `gemspec` DSL twice with same dependency and ↵David Rodríguez
compatible requirements https://github.com/rubygems/rubygems/commit/a8d14c1fc2
2024-10-16[rubygems/rubygems] Fix `bundle check` sometimes locking gems under the ↵David Rodríguez
wrong source https://github.com/rubygems/rubygems/commit/1e5780db0a Co-authored-by: Taylor Thurlow <[email protected]>
2024-10-16[rubygems/rubygems] Delay and refactor verification of changed sourcesDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d5dce93167
2024-10-16[rubygems/rubygems] No reason for `Definition#sources` to be privateDavid Rodríguez
https://github.com/rubygems/rubygems/commit/432fe083a6
2024-10-16[rubygems/rubygems] Lock definition directlyDavid Rodríguez
https://github.com/rubygems/rubygems/commit/55eb6630a8
2024-10-16[rubygems/rubygems] Add missing comma in documentationLeo Arnold
https://github.com/rubygems/rubygems/commit/fe9999f2cf
2024-10-16[ruby/prism] RelocationKevin Newton
https://github.com/ruby/prism/commit/5ea6042408
2024-10-16[ruby/yaml] Support old version of PsychHiroshi SHIBATA
https://github.com/ruby/yaml/commit/5b39653c52
2024-10-16[ruby/yaml] Also use safe_load on YAML::StoreHiroshi SHIBATA
https://github.com/ruby/yaml/commit/09691d005f
2024-10-16[ruby/yaml] Make YAML::DBM optionalHiroshi SHIBATA
https://github.com/ruby/yaml/commit/f7c44d3fd7
2024-10-16[ruby/yaml] Also use safe_load with each_value, values and shiftHiroshi SHIBATA
https://github.com/ruby/yaml/commit/f47d6123eb
2024-10-16[ruby/yaml] Prefer to use YAML.safe_loadHiroshi SHIBATA
https://github.com/ruby/yaml/commit/c3d0f64224
2024-10-16[ruby/yaml] Removed confused VERSION constant for YAML::DBMHiroshi SHIBATA
https://github.com/ruby/yaml/commit/952fd361b1
2024-10-15[ruby/rdoc] Generate meta tags based on page's contentVinicius Stock
(https://github.com/ruby/rdoc/pull/1091) https://github.com/ruby/rdoc/commit/716bc16a7d
2024-10-14[rubygems/rubygems] Prevent some test suite warnings about missing extensionsDavid Rodríguez
We fixed some issues recently where Bundler would try to activate a pysch spec with missing extensions and crash. However, as a side effect, we started printing warnings about missing extensions in situations where we did not warn before. It may be interesting to warn on these new situations too, but in order to minimize changes for now, I'm reverting to printing warnings in the same situations as before. https://github.com/rubygems/rubygems/commit/51ebff6982
2024-10-14[rubygems/rubygems] Fix `gem contents` for default gemsDavid Rodríguez
A default gem does not always live in the same place. For example, Bundler may be installed to `site_dir` when RubyGems have been upgraded. A more reliable way seems to actually activate the default gem, so that we can know for sure where it lives. https://github.com/rubygems/rubygems/commit/c69f6dfb18
2024-10-14[rubygems/rubygems] Fix duplicated specs when they have been previously ↵David Rodríguez
activated https://github.com/rubygems/rubygems/commit/b44bf2ac74
2024-10-13[ruby/irb] Remove bignum check from save_historytomoya ishida
(https://github.com/ruby/irb/pull/1018) IRB need to accept bignum history size, but we don't want explicit bignum checks because threshold of bignum and fixnum depends on platform. https://github.com/ruby/irb/commit/5151467e6a
2024-10-13[ruby/reline] Support continuous tab completiontomoya ishida
(https://github.com/ruby/reline/pull/761) Continuous tab completion is possible in GNU Readline. If dig_perfect_match_proc is set, continuous tab completion will be disabled. https://github.com/ruby/reline/commit/469a52846b
2024-10-12[DOC] Fix spellingJohn Bampton
Notes: Merged: https://github.com/ruby/ruby/pull/11884 Merged-By: nobu <[email protected]>
2024-10-11[ruby/prism] Prism::StringQueryKevin Newton
Introduce StringQuery to provide methods to access some metadata about the Ruby lexer. https://github.com/ruby/prism/commit/d3f55b67b9
2024-10-11[ruby/irb] Document infinite historyGert Goet
(https://github.com/ruby/irb/pull/1012) As introduced in 824473e8 https://github.com/ruby/irb/commit/15e3f50c3f
2024-10-11[ruby/irb] History refactors (https://github.com/ruby/irb/pull/1013)Gert Goet
* Extract logic save_history in separate helper * Extract logic history_file in helper * Allow for readonly history https://github.com/ruby/irb/commit/52307f9026
2024-10-11[ruby/time] [DOC] Escape the word "Date" that does not mean Date classNobuyoshi Nakada
https://github.com/ruby/time/commit/933eccf8d9
2024-10-11[rubygems/rubygems] Fix `gem install` on NFS sharesDavid Rodríguez
NFS shares seem to support flock these days, but they need read-write permissions. https://github.com/rubygems/rubygems/commit/1c492804cd
2024-10-10[rubygems/rubygems] Only pristine executables for default gemsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/1cfc1d626c
2024-10-10[ruby/prism] Prism::CodeUnitsCacheKevin Newton
Calculating code unit offsets for a source can be very expensive, especially when the source is large. This commit introduces a new class that wraps the source and desired encoding into a cache that reuses pre-computed offsets. It performs quite a bit better. There are still some problems with this approach, namely character boundaries and the fact that the cache is unbounded, but both of these may be addressed in subsequent commits. https://github.com/ruby/prism/commit/2e3e1a4d4d
2024-10-10[rubygems/rubygems] Revert "Fix `bundle.bat` re-execution"David Rodríguez
This reverts commit https://github.com/rubygems/rubygems/commit/e04e00f7bb5b. https://github.com/rubygems/rubygems/commit/554ece1587
2024-10-10[ruby/time] [DOC] nodoc VERSIONNobuyoshi Nakada
This file is parsed as a part of Ruby documentation, and this constant appears in the built-in Time class unexpectedly. https://github.com/ruby/time/commit/f26f7ab689
2024-10-10[ruby/time] [DOC] Escape the word "Time" that does not mean Time classNobuyoshi Nakada
https://github.com/ruby/time/commit/8572a306bb
2024-10-10[ruby/time] [DOC] RDoc does not use backticksNobuyoshi Nakada
https://github.com/ruby/time/commit/aefa245a20
2024-10-10[ruby/rdoc] Make methods and attributes linkableStan Lo
(https://github.com/ruby/rdoc/pull/1189) * Use the same color for both class/module and method highlight * Make methods and attributes linkable https://github.com/ruby/rdoc/commit/7757fd9fe4
2024-10-10[rubygems/rubygems] Fix `gem pristine etc` resetting gem twice sometimesDavid Rodríguez
If a default version and a regular version of etc are present at the same time, RubyGems will end up duplicating work and running pristine twice. The `etc` gem is special because it's loaded by RubyGems by default. When doing this, RubyGems will activate the regularly installed version. The when `gem pristine` runs, it will find to installed specifications but materialize both to the already activated specification. Before: ``` $ gem pristine etc --version 1.4.3 Restoring gems to pristine condition... Building native extensions. This could take a while... Restored etc-1.4.3 Building native extensions. This could take a while... Restored etc-1.4.3 ``` After: ``` $ gem pristine etc --version 1.4.3 Restoring gems to pristine condition... Skipped etc-1.4.3, it is a default gem Building native extensions. This could take a while... Restored etc-1.4.3 ``` https://github.com/rubygems/rubygems/commit/5c279ac56b
2024-10-10[rubygems/rubygems] Fix specs with missing extensions getting activatedDavid Rodríguez
https://github.com/rubygems/rubygems/commit/c80998a22a
2024-10-10[rubygems/rubygems] Remove more compatibility code with old RubyGemsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/74e8eff779
2024-10-10[ruby/rdoc] Improve method source togglingStan Lo
(https://github.com/ruby/rdoc/pull/1176) * Move method source block to the top Currently, if a method description is long (e.g. `Array.new`), users need to click the method toggle button next to the method title, and then scroll down to the source code expanded below the description. This commit changes the behavior so that the source code is expanded immediately below the method title. * Update method toggle's interface 1. Display the method toggle button by default instead of displaying on hover 2. Only toggle the source code when clicking the method toggle button, not when clicking the entire method title section. This will allow us to display an anchor link next to the method title 3. Simplify the toggle source button's appearance * Use details tag for method toggling * Rename method-click-advice to method-source-toggle * Improve method controls' display on mobile By moving the method controls out of the method header, we can display them to the right of the method name on desktop, and below the method name on mobile. * Add "Example" label to example code blocks The label should help users distinguish example code blocks from other code blocks, such as method source code. It's only applied to Ruby code examples. * Revert "Add "Example" label to example code blocks" This reverts commit https://github.com/ruby/rdoc/commit/69fc9ce6a379. * Give source code blocks a different background color * Change targeted method's highlighting color to work better with the new method source https://github.com/ruby/rdoc/commit/e608a84af3
2024-10-10Update vendored net-httpSamuel Giddins
Signed-off-by: Samuel Giddins <[email protected]> Notes: Merged: https://github.com/ruby/ruby/pull/11860
2024-10-09[ruby/prism] Attempt to assume binary is UTF-8Kevin Newton
https://github.com/ruby/prism/commit/343197e4ff
2024-10-09[ruby/prism] Avoid breaking code units offset on binary encodingVinicius Stock
https://github.com/ruby/prism/commit/25a4cf6794 Co-authored-by: Kevin Newton <[email protected]>
2024-10-09[rubygems/rubygems] Add `Gem::Specification#gem_dir` backDavid Rodríguez
If old Bundler versions that unconditionally try to remove this method are run with RubyGems versions _without_ this method, Bundler crashes because it tries to remove a method that does not exist. We need to wait until RubyGems cannot install any Bundler versions that unconditionally remove this method. https://github.com/rubygems/rubygems/commit/98804d261d