Граф коммитов

777 Коммитов

Автор SHA1 Сообщение Дата
git a7cf39bba8 Update default gems list at 87d32376d9 [ci skip] 2022-12-14 05:54:44 +00:00
git a3b2719a09 Update default gems list at 0c27c1b3fc [ci skip] 2022-12-14 05:49:54 +00:00
git 6b41a2f9e7 Update default gems list at 067747bb9a [ci skip] 2022-12-14 05:36:41 +00:00
git 25f727d4ca Update default gems list at a1dba60b5b [ci skip] 2022-12-13 18:37:48 +00:00
Takashi Kokubun a66a69865d
YJIT: Change the default mem size to 64MiB (#6912)
* YJIT: Change the default mem size to 64MiB

* Also update ruby --help

Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
2022-12-13 11:00:22 -05:00
Maxime Chevalier-Boisvert 1004d693b7
Make it so YJIT is no longer marked as experimental (#6909)
Tested on production workloads at Shopify for > 1 year and proven
to be quite stable. Enabling YJIT at run-time is still guarded
behind the --yjit command-line option for now.
2022-12-12 15:13:46 -05:00
Nobuyoshi Nakada f093b619a4
[DOC] NEWS about [Feature #19104] 2022-12-12 13:56:06 +09:00
nagachika 9477ec732b NEWS.md: fix ticket ref position. 2022-12-11 20:23:36 +09:00
Kazuhiro NISHIYAMA d245c2ec48
Fix typos [ci skip] 2022-12-11 19:27:21 +09:00
Nobuyoshi Nakada 0645c8b3c1
[DOC] Fix update-NEWS-refs.rb
* Issue numbers are path components but not fragments
* Align justification width to Feature lines
2022-12-10 19:01:29 +09:00
nagachika c33615b654 NEWS.md: Added compatibility issue of String#to_c. [ruby-core:110523] [Bug #19087] 2022-12-10 16:10:39 +09:00
git 7c438328d5 Update default gems list at 01cf3ab3b8 [ci skip] 2022-12-09 07:59:57 +00:00
git c668eaff1e Update default gems list at 93ac1503be [ci skip] 2022-12-09 07:37:03 +00:00
git db09ddf862 Update default gems list at d7baa17b49 [ci skip] 2022-12-09 05:58:23 +00:00
git 54a6bd2f00 Update default gems list at 95b423f93a [ci skip] 2022-12-09 04:36:27 +00:00
git 234c3a056e Update default gems list at 8bbf4e5d8d [ci skip] 2022-12-08 21:00:41 +00:00
git 516fe62734 Update default gems list at 6f44dc8edf [ci skip] 2022-12-08 07:24:21 +00:00
git b2764752b2 Update default gems list at b9d055d760 [ci skip] 2022-12-08 05:13:10 +00:00
git 7cd0dacb0b Update default gems list at 9fce6014b5 [ci skip] 2022-12-08 02:09:25 +00:00
Maxime Chevalier-Boisvert 3bb7a40160
Update NEWS.md 2022-12-07 15:00:18 -05:00
nagachika f725bf358a Fix a typo in NEWS.md. [ci-skip] 2022-12-07 21:27:36 +09:00
Nobuyoshi Nakada 581b4a3c88
NEWS.md: Remove an extraneous word [ci skip] 2022-12-07 19:48:38 +09:00
Nobuyoshi Nakada c43203fd09
NEWS.md: Remove white space only lines [ci skip] 2022-12-07 19:19:26 +09:00
Jean Boussier 1968b4e2c7 Mention `rb_hash_new_capa` and `rb_internal_thread_*` in NEWS.md 2022-12-07 10:08:25 +01:00
Yusuke Endoh bcd8b2f00a NEWS.md: Added some missing features
Also, tool/update-NEWS-refs.rb is added to help the update of NEWS.md.
2022-12-07 12:32:29 +09:00
Yusuke Endoh 8684904cb4 NEWS.md: Explain the change of [Feature #18367] 2022-12-07 08:11:35 +09:00
Koichi Sasada 87a1fb9ac3 NEWS: `UnboundMethod#==` 2022-12-06 18:23:54 +09:00
Kazuhiro NISHIYAMA 53473f8ea9
Remove unused link [ci skip] 2022-12-06 11:52:34 +09:00
Kazuhiro NISHIYAMA cf12a8f23e
Fix a link [ci skip] 2022-12-06 11:52:20 +09:00
Kazuhiro NISHIYAMA 78d42c23e2
Remove unused headings [ci skip] 2022-12-06 11:51:07 +09:00
Martin Dürst 68bb6bfc35 update NEWS to mention Unicode version 15.0.0 2022-12-06 10:17:34 +09:00
git 8e5d1277fa Update default gems list at fa865f5752 [ci skip] 2022-12-05 10:45:25 +00:00
git d0888f7784 Update default gems list at 3fe5890f7b [ci skip] 2022-12-05 10:30:39 +00:00
git faee3b9039 Update default gems list at b62b7dc705 [ci skip] 2022-12-05 08:33:45 +00:00
git 8f7ec172a6 Update default gems list at 325ac80c21 [ci skip] 2022-12-05 08:18:45 +00:00
git ab314610ab Update default gems list at 3909cfaa02 [ci skip] 2022-12-05 08:14:37 +00:00
git f64718cb32 Update default gems list at faafb7b740 [ci skip] 2022-12-05 08:04:37 +00:00
git 88735f9e18 Update default gems list at 95e272baf8 [ci skip] 2022-12-05 08:03:06 +00:00
git 2c78ca64cb Update default gems list at f5355df610 [ci skip] 2022-12-05 07:52:19 +00:00
git 771c4ee68c Update default gems list at 52c76d0f69 [ci skip] 2022-12-05 07:49:38 +00:00
git fca68f373c Update default gems list at 40ee1eea76 [ci skip] 2022-12-05 07:45:14 +00:00
git 40e82877d2 Update default gems list at 73404e8f12 [ci skip] 2022-12-05 07:39:16 +00:00
git 68be8908fc Update default gems list at 7a7d1b3853 [ci skip] 2022-12-05 07:36:04 +00:00
git ba7151224f Update default gems list at 0d5ad44ac3 [ci skip] 2022-12-05 07:34:31 +00:00
git e11bf1f253 Update default gems list at 71b4d35526 [ci skip] 2022-12-05 07:19:21 +00:00
git d9f75c6c5a Update default gems list at c5911408f9 [ci skip] 2022-12-05 07:14:44 +00:00
git d97949ea82 Update default gems list at 04311008b6 [ci skip] 2022-12-05 07:06:30 +00:00
git 0cfe77d4f6 Update default gems list at ad970f5474 [ci skip] 2022-12-05 06:53:59 +00:00
git 4a5a657842 Update default gems list at 8a5dffe513 [ci skip] 2022-12-05 06:45:30 +00:00
git fad4e906c3 Update default gems list at 8c596369e8 [ci skip] 2022-12-05 06:32:42 +00:00
git c94764463a Update default gems list at 05caafb473 [ci skip] 2022-12-05 06:19:35 +00:00
git 594c663f12 Update default gems list at f6dad39544 [ci skip] 2022-12-05 06:10:32 +00:00
git da5fe6e893 Update default gems list at a0deb64909 [ci skip] 2022-12-05 06:08:15 +00:00
git e01c980aa7 Update default gems list at 3cfb7afbfe [ci skip] 2022-12-05 06:00:10 +00:00
git ce3abb4221 Update default gems list at fcbafe7f4a [ci skip] 2022-12-05 05:57:49 +00:00
git f1f39a5fdb Update default gems list at c4d22d47f8 [ci skip] 2022-12-05 05:48:41 +00:00
Hiroshi SHIBATA 650b87b0bd
Manually bumped date-3.3.0 version 2022-12-05 14:40:32 +09:00
git 6b0ff6f9eb Update default gems list at 0f534bfb6a [ci skip] 2022-12-05 05:25:11 +00:00
git f64b235432 Update default gems list at d7b00b55a9 [ci skip] 2022-12-05 05:00:54 +00:00
git 3491ac8ae1 Update default gems list at 5fb3dec058 [ci skip] 2022-12-05 04:56:36 +00:00
git ed1e0c2d13 Update bundled gems list at 6f3c8fdab4 [ci skip] 2022-12-02 17:23:52 +00:00
Takashi Kokubun fa77bcf722
YJIT: Change the default --yjit-call-threshold to 30 (#6850) 2022-12-02 11:32:49 -05:00
Kazuhiro NISHIYAMA b3890670b2
Fix a link [ci skip] 2022-12-02 16:22:12 +09:00
Kazuhiro NISHIYAMA 6930a2564c
NEWS.md: sort [ci skip] 2022-12-02 16:22:12 +09:00
Samuel Williams 4fa47eabf2
Clarify the storage argument. (#6849)
* Slightly more consistent indentation with other parts of the document.
2022-12-02 17:49:42 +13:00
Nobuyoshi Nakada 01790de9e6
Fix indents in NEWS [ci skip]
The MarkDown parser in RDoc requires 4 columns indentation for
paragraphs following list items.  Otherwise, the following paragraphs
are not interpreted as the part of the preceeding list item,
2022-12-01 23:01:28 +09:00
Samuel Williams 0436f1e15a
Introduce `Fiber#storage` for inheritable fiber-scoped variables. (#6612) 2022-12-01 23:00:33 +13:00
Nobuyoshi Nakada 4e68b59431 [Feature #19138] Add `SyntaxError#path` 2022-12-01 17:05:41 +09:00
git 062c5a9e6b Update default gems list at d6e91784ab [ci skip] 2022-11-30 03:59:46 +00:00
Yusuke Endoh 33a9a7fd8d Mention Exception#detailed_message in NEWS.md 2022-11-30 11:35:44 +09:00
Yusuke Endoh 4e13f5b579 Mention Regexp.timeout= in NEWS.md 2022-11-30 11:34:02 +09:00
git 4db429d211 Update default gems list at 4f8c6711dd [ci skip] 2022-11-29 04:59:09 +00:00
git 612b528c8a Update default gems list at d13de3a62e [ci skip] 2022-11-28 18:45:17 +00:00
git dcf94e719c Update default gems list at 476700c06f [ci skip] 2022-11-28 12:50:43 +00:00
Kazuhiro NISHIYAMA 833545a211
NEWS.md: sort [ci skip] 2022-11-28 13:57:50 +09:00
git 529e58d610 Update default gems list at b335d899ff [ci skip] 2022-11-28 04:41:36 +00:00
git 1612d57691 Update default gems list at 98074a57ca [ci skip] 2022-11-28 03:35:19 +00:00
git 0096d99eff Update bundled gems list at 2022-11-28 2022-11-28 02:57:48 +00:00
git d055c44b0c Update default gems list at 6fdc677186 [ci skip] 2022-11-27 06:33:33 +00:00
git 26794b95cf Update bundled gems list at 3853385377 [ci skip] 2022-11-26 06:45:33 +00:00
git 51994955cd Update default gems list at 534bac04e7 [ci skip] 2022-11-26 06:06:50 +00:00
Takashi Kokubun 91c7e8afc4 Revert "Update default gems list at 574896a0ce [ci skip]"
This reverts commit eb3a6ae524.
2022-11-25 21:36:16 -08:00
git eb3a6ae524 Update default gems list at 574896a0ce [ci skip] 2022-11-26 05:33:02 +00:00
Nobuyoshi Nakada 15be9ecbcc
Revert "Update default gems list at d0bb24c497 [ci skip]"
This reverts commit ba26dd7ba5, which
duplicates the list.
2022-11-26 13:29:17 +09:00
git ba26dd7ba5 Update default gems list at d0bb24c497 [ci skip] 2022-11-26 04:13:23 +00:00
Nobuyoshi Nakada d0bb24c497
[DOC] Fix loose and tight lists
The MarkDown parser of RDoc does not allow mixing loose and tight
lists, and the results may be very unexpected otherwise.
2022-11-26 13:12:10 +09:00
Nobuyoshi Nakada 19fdc9cac2
[DOC] Fix indents of nested bullet lists 2022-11-26 13:12:10 +09:00
Takashi Kokubun ac4d00df82 MJIT: Change default --mjit-max-cache back to 100
These days we benchmark MJIT using yjit-bench. The warmup duration in
yjit-bench is very short, so compiling many methods comes at a cost even
while it's actually optimal for MJIT to compile everything / tens of
thousands of methods once it reaches the peak performance.

yjit-bench doesn't necessarily represent the peak performance on production.
It measures the performance of Ruby 30~60s after boot. If your JIT takes
more than 1 minute to warm up, there's no way for the JIT to make the numbers
good on yjit-bench.

Until we make MJIT's compilation much faster, we don't afford compiling
10,000 methods on yjit-bench.

This change alone makes MJIT's benchmark number on railsbench 2x better :p
2022-11-25 15:55:19 -08:00
Nobuyoshi Nakada 8a50db7dfa
NEWS: "Find pattern" is not related to find.rb [ci skip] 2022-11-25 19:53:35 +09:00
Nobuyoshi Nakada 26baf4813e
[Feature #18925] [DOC] Add `FileUtils.ln_sr` to NEWS 2022-11-25 19:51:31 +09:00
Nobuyoshi Nakada fb7598fb3e
[DOC] Remove extraneous backticks
So cross-references to defined classes/modules/methods work.
2022-11-25 19:17:44 +09:00
Nobuyoshi Nakada 4ab89d57bb
Fix indents in NEWS [ci skip]
The MarkDown parser in RDoc requires 4 columns indentation for
paragraphs following list items.
2022-11-25 19:07:21 +09:00
yui-knk e29d9e9fba Add examples to error_tolerant option in NEWS [ci skip] 2022-11-25 15:36:00 +09:00
Takashi Kokubun d15de2f0d7 Add a NEWS entry about erb -S removal [ci skip] 2022-11-24 14:55:07 -08:00
Maxime Chevalier-Boisvert 07169fd824
Update YJIT section of `NEWS.md` (#6803)
* Update YJIT section of `NEWS.md`

* Update NEWS.md
2022-11-24 16:37:04 -05:00
zverok eaf2b6c439 Add Time#deconstruct_keys 2022-11-22 23:10:46 +02:00
git 32d202eb93 Update default gems list at 805d70f716 [ci skip] 2022-11-22 02:13:26 +00:00
git 5304b3bd85 Update default gems list at 3f960cf445 [ci skip] 2022-11-22 02:01:14 +00:00
Takashi Kokubun 607fb49dbc
YJIT: Lower the required Rust version from 1.58.1 to 1.58.0 (#6780) 2022-11-21 10:27:39 -08:00
git 427985c194 Update default gems list at 509f04ca91 [ci skip] 2022-11-21 05:25:05 +00:00
yui-knk db8ff237c7 Add a link to Feature #19070 ticket [ci skip] 2022-11-21 14:17:07 +09:00
yui-knk d8601621ed Enhance keep_tokens option for RubyVM::AbstractSyntaxTree parsing methods
Implementation for Language Server Protocol (LSP) sometimes needs token information.
For example both `m(1)` and `m(1, )` has same AST structure other than node locations
then it's impossible to check the existence of `,` from AST. However in later case,
it might be better to suggest variables list for the second argument.
Token information is important for such case.

This commit adds these methods.

* Add `keep_tokens` option for `RubyVM::AbstractSyntaxTree.parse`, `.parse_file` and `.of`
* Add `RubyVM::AbstractSyntaxTree::Node#tokens` which returns tokens for the node including tokens for descendants nodes.
* Add `RubyVM::AbstractSyntaxTree::Node#all_tokens` which returns all tokens for the input script regardless the receiver node.

[Feature #19070]

Impacts on memory usage and performance are below:

Memory usage:

```
$ cat test.rb
root = RubyVM::AbstractSyntaxTree.parse_file(File.expand_path('../test/ruby/test_keyword.rb', __FILE__), keep_tokens: true)

$ /usr/bin/time -f %Mkb /usr/local/bin/ruby -v
ruby 3.2.0dev (2022-11-19T09:41:54Z 19070-keep_tokens d3af1b8057) [x86_64-linux]
11408kb

# keep_tokens :false
$ /usr/bin/time -f %Mkb /usr/local/bin/ruby test.rb
17508kb

# keep_tokens :true
$ /usr/bin/time -f %Mkb /usr/local/bin/ruby test.rb
30960kb
```

Performance:

```
$ cat ../ast_keep_tokens.yml
prelude: |
  src = <<~SRC
    module M
      class C
        def m1(a, b)
          1 + a + b
        end
      end
    end
  SRC
benchmark:
  without_keep_tokens: |
    RubyVM::AbstractSyntaxTree.parse(src, keep_tokens: false)
  with_keep_tokens: |
    RubyVM::AbstractSyntaxTree.parse(src, keep_tokens: true)

$ make benchmark COMPARE_RUBY="./ruby" ARGS=../ast_keep_tokens.yml
/home/kaneko.y/.rbenv/shims/ruby --disable=gems -rrubygems -I../benchmark/lib ../benchmark/benchmark-driver/exe/benchmark-driver \
            --executables="compare-ruby::./ruby -I.ext/common --disable-gem" \
            --executables="built-ruby::./miniruby -I../lib -I. -I.ext/common  ../tool/runruby.rb --extout=.ext  -- --disable-gems --disable-gem" \
            --output=markdown --output-compare -v ../ast_keep_tokens.yml
compare-ruby: ruby 3.2.0dev (2022-11-19T09:41:54Z 19070-keep_tokens d3af1b8057) [x86_64-linux]
built-ruby: ruby 3.2.0dev (2022-11-19T09:41:54Z 19070-keep_tokens d3af1b8057) [x86_64-linux]
warming up..

|                     |compare-ruby|built-ruby|
|:--------------------|-----------:|---------:|
|without_keep_tokens  |     21.659k|   21.303k|
|                     |       1.02x|         -|
|with_keep_tokens     |      6.220k|    5.691k|
|                     |       1.09x|         -|
```
2022-11-21 09:01:34 +09:00
Hiroshi SHIBATA a80b66e7eb
Added build instructions of psych and fiddle with source files of libyaml and libffi 2022-11-18 17:51:37 +09:00
Samuel Williams cb4c89e08e
Fix quoting of code in `NEWS.md`. 2022-11-17 15:19:21 -08:00
Samuel Williams ea8a7287e2
Add support for `sockaddr_un` on Windows. (#6513)
* Windows: Fix warning about undefined if_indextoname()

* Windows: Fix UNIXSocket on MINGW and make .pair more reliable

* Windows: Use nonblock=true for read tests with scheduler

* Windows: Move socket detection from File.socket? to File.stat

Add S_IFSOCK to Windows and interpret reparse points accordingly.
Enable tests that work now.

* Windows: Use wide-char functions to UNIXSocket

This fixes behaviour with non-ASCII characters.
It also fixes deletion of temporary UNIXSocket.pair files.

* Windows: Add UNIXSocket tests for specifics of Windows impl.

* Windows: fix VC build due to missing _snwprintf

Avoid usage of _snwprintf, since it fails linking ruby.dll like so:

  linking shared-library x64-vcruntime140-ruby320.dll
  x64-vcruntime140-ruby320.def : error LNK2001: unresolved external symbol snwprintf
  x64-vcruntime140-ruby320.def : error LNK2001: unresolved external symbol vsnwprintf_l

whereas linking miniruby.exe succeeds.

This patch uses snprintf on the UTF-8 string instead.

Also remove branch GetWindowsDirectoryW, since it doesn't work.

* Windows: Fix dangling symlink test failures

Co-authored-by: Lars Kanis <kanis@comcard.de>
2022-11-17 14:50:25 -08:00
git 71e668e633 Update default gems list at c76909e551 [ci skip] 2022-11-17 04:53:46 +00:00
Takashi Kokubun d15d1c01c2
Rename --mjit-min-calls to --mjit-call-threshold (#6731)
for consistency with YJIT
2022-11-14 23:38:52 -08:00
git e4e2ff76a8 Update default gems list at d019c3a4bd [ci skip] 2022-11-14 06:38:18 +00:00
Nobuyoshi Nakada bab8051d2d [Bug #19100] [DOC] Add NEWS about PRNG update and incompatiblity 2022-11-11 01:56:46 +09:00
git cdb3ec3af8 Update default gems list at 4e728486b9 [ci skip] 2022-11-08 08:08:48 +00:00
Takashi Kokubun ea77aa2fd0
YJIT: Make Code GC metrics available for non-stats builds (#6665) 2022-11-03 13:41:35 -04:00
git 1acbcf0e58 Update bundled gems list at 2022-10-30 2022-10-30 07:04:08 +00:00
Kazuhiro NISHIYAMA 572cd10a86
Fix links and sort [ci skip] 2022-10-30 00:53:10 +09:00
Takashi Kokubun b795e66a2d
Add NEWS entries about YJIT [ci skip] (#6636) 2022-10-26 10:40:49 -04:00
Takashi Kokubun 1161454806
Add NEWS entries about MJIT [ci skip] 2022-10-25 22:26:20 -07:00
git a733633c57 Update default gems list at d6d9b5130e [ci skip] 2022-10-25 23:14:50 +00:00
git 399747926c Update bundled gems list at 2022-10-24 2022-10-24 09:27:55 +00:00
git 87f432b675 Update default gems list at c5f5403f6e [ci skip] 2022-10-24 05:46:26 +00:00
yui-knk 0d697e341a Add [Feature #19013] to NEWS [ci skip] 2022-10-22 16:46:27 +09:00
Ufuk Kayserilioglu 0378e2f4a8 Add Class#attached_object
Implements [Feature #12084]

Returns the object for which the receiver is the singleton class, or
raises TypeError if the receiver is not a singleton class.
2022-10-20 17:30:17 +02:00
git 93d73cfe80 Update default gems list at dffca50bb6 [ci skip] 2022-10-18 08:22:21 +00:00
git 85cee29357 Update default gems list at 6166fa612c [ci skip] 2022-10-17 07:43:51 +00:00
Nobuyoshi Nakada 15488fc1c6
Update bundled gems list at 2022-10-16 2022-10-16 18:22:20 +09:00
Samuel Williams 8a420670a2
Introduce `Fiber::Scheduler#io_select` hook for non-blocking `IO.select`. (#6559) 2022-10-15 19:59:04 +13:00
Vladimir Dementyev 4954c9fc0f Add MatchData#deconstruct/deconstruct_keys 2022-10-10 12:41:13 +09:00
git 7775d14356 Update bundled gems list at 2022-10-08 2022-10-08 07:05:42 +00:00
Alan Wu d76854f166 Update NEWS about [Feature #18589] 2022-10-07 12:38:43 -04:00
Samuel Williams e4f91bbdba
Add IO#timeout attribute and use it for blocking IO operations. (#5653) 2022-10-07 21:48:38 +13:00
git e76217a7f3 Update bundled gems list at c3a87e16d8 [ci skip] 2022-10-07 07:03:33 +00:00
Hiroshi SHIBATA b84140f607
Mentioned removing libffi sources from fiddle 2022-10-05 18:26:17 +09:00
git 48c261a040 Update default gems list at 203b831065 [ci skip] 2022-10-05 06:25:40 +00:00
git 6378825df5 Update bundled gems list at 2022-10-04 2022-10-04 07:09:33 +00:00
Victor Shepelev ad651925e3
Add Data class implementation: Simple immutable value object 2022-09-30 18:23:19 +09:00
git 4ced7bfb23 Update bundled gems list at 866cfb248e [ci skip] 2022-09-29 12:05:31 +00:00
git 2f7a530f59 Update bundled gems list at 8c4e52fbe8 [ci skip] 2022-09-29 01:28:41 +00:00
Samuel Williams e7ddb6b182
Update NEWS.md with updated coverage interfaces. 2022-09-29 09:44:14 +13:00
Samuel Williams 81b919ce5c Add news for eval coverage. 2022-09-25 20:35:47 +13:00
git 4c37eaa979 Update default gems list at 928aeef330 [ci skip] 2022-09-22 08:31:12 +00:00
Hiroshi SHIBATA f07e651a90
Mentioned new constants for Process and Socket classes on NEWS.md 2022-09-22 14:37:56 +09:00
Mau Magnaguagno 76b4305a59 [DOC] Improve NEWS.md
Fix missing dot and replace error with ArgumentError.
2022-09-21 15:17:12 +09:00
Benoit Daloze acc61cbf4a Add NEWS entry for the previous commit 2022-09-12 14:59:45 +02:00
Benoit Daloze 14bcf69c9c Deprecate Encoding#replicate
* See [Feature #18949].
2022-09-10 19:02:15 +02:00
git 6d10865cc2 Update default gems list at 2657d8efb9 [ci skip] 2022-09-06 01:42:25 +00:00
git 4331d4bbf0 Update default gems list at 113581d288 [ci skip] 2022-09-05 10:06:58 +00:00
Takashi Kokubun 7064d259bc
Update NEWS.md for YJIT 2022-09-01 14:12:24 -07:00
Kazuhiro NISHIYAMA 954f709f4e
NEWS.md: sort [ci skip] 2022-08-22 12:18:58 +09:00
Hiroshi SHIBATA 3d6baad7fa
Added syntax_suggest entry to NEWS 2022-08-22 11:40:38 +09:00
git 61ab06fe8a Update default gems list at 490af8dbdb [ci skip] 2022-08-19 01:03:07 +00:00
git b3718edee2 Update bundled gems list at 2022-08-18 2022-08-18 07:04:23 +00:00
Nobuyoshi Nakada 0617cba197
[DOC] Add the link to [Feature #18809] 2022-08-13 11:23:47 +09:00
Kouhei Yanagita d1d1c9ba7a Add a NEWS entry about Integer#ceildiv [ci skip] 2022-08-13 09:29:15 +09:00
git 2ebb428fd9 Update default gems list at 1b32a4c7bb [ci skip] 2022-08-10 12:52:38 +00:00
git 1139bc8c20 Update bundled gems list at 2022-08-10 2022-08-10 07:05:11 +00:00
git dcf0bb3032 Update default gems list at 5c9ce54757 [ci skip] 2022-08-08 14:59:56 +00:00
Kazuhiro NISHIYAMA 1520936aa7
Fix a link [ci skip] 2022-08-01 12:34:03 +09:00
Akinori MUSHA d050f162a7
Mention Enumerator.product/Enumerator::Product in the NEWS.md 2022-07-30 20:05:14 +09:00
git 1052ad4e48 Update bundled gems list at 156da55c16 [ci skip] 2022-07-13 06:46:52 +00:00
git e99e1f0f3f Update bundled gems list at 2022-07-12 2022-07-12 07:03:23 +00:00
git 53afacd036 Update bundled gems list at 2022-07-06 2022-07-06 07:03:41 +00:00
git b92fb78696 Update bundled gems list at 2022-07-04 2022-07-04 07:03:51 +00:00
git 3124422bc8 Update bundled gems list at e0c6e288f0 [ci skip] 2022-07-01 06:53:37 +00:00
git c0b5124043 Update default gems list at 50e13870bf [ci skip] 2022-06-25 09:11:16 +00:00
git 641a732909 Update bundled gems list at 2022-06-21 2022-06-21 07:05:34 +00:00
Nobuyoshi Nakada 1e9939dae2 [Feature #18788] Support options as `String` to `Regexp.new`
`Regexp.new` now supports passing the regexp flags not only as an
`Integer`, but also as a `String.  Unknown flags raise errors.
2022-06-20 19:35:12 +09:00
Nobuyoshi Nakada ab2a43265c Warn suspicious flag to `Regexp.new`
Now second argument should be `true`, `false`, `nil` or Integer.
This flag is confused with third argument some times.
2022-06-20 19:35:12 +09:00
git 271bcc0c1c Update bundled gems list at 150bd6e242 [ci skip] 2022-06-20 02:45:22 +00:00
git daf086c0e1 Update bundled gems list at 2022-06-15 2022-06-15 07:01:39 +00:00
Jeremy Evans 7cda7fbbdc
Add Module#undefined_instance_methods
Implements [Feature #12655]

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2022-06-06 09:57:32 -07:00
git ab7f8e32aa Update default gems list at fde4519af8 [ci skip] 2022-05-25 09:09:04 +00:00
git 6ba394ce30 Update bundled gems list at 2022-05-21 2022-05-21 07:07:14 +00:00
git e3434118c2 Update default gems list at bcdbfe4b6e [ci skip] 2022-05-20 09:02:36 +00:00
git 093c516ce5 Update default gems list at 6b6d7df39d [ci skip] 2022-05-18 01:04:36 +00:00
Samuel Williams 32de6097b2
Fix various autoload race conditions. (#5898)
* Add RUBY_VM_CRITICAL_SECTION for detecting unexpected context switch.

* Prevent race between GC mark and autoload setup.

* Protect race on autoload state.

* Avoid potential race condition when allocating `autoload_featuremap`.

* Add NEWS entry for autoload fixes.
2022-05-15 16:07:12 +12:00
git 0161dc3edc Update default gems list at ecf32dbfc0 [ci skip] 2022-05-09 09:21:02 +00:00
git 95bb7e0a25 Update default gems list at a370eb5a63 [ci skip] 2022-05-09 09:19:47 +00:00
git 99f490475f Update default gems list at 30632efeaa [ci skip] 2022-05-09 07:48:37 +00:00
git 546f6ce432 Update default gems list at fbbe7ac7e3 [ci skip] 2022-05-09 07:36:53 +00:00
git 98e3fdb444 Update bundled gems list at 25eb63fa7f [ci skip] 2022-05-08 14:05:55 +00:00
git 840dbe1cbf Update default gems list at cd2613b6a4 [ci skip] 2022-04-27 20:57:25 +00:00
Tim Smith 810b9c344a Resolve several markedown warnings
- Spaces before and after blocks.
- Single spaces after sentences everywhere

Signed-off-by: Tim Smith <tsmith@mondoo.com>
2022-04-19 08:32:37 +09:00
git 566fb7fa7d Update default gems list at 2aca566a10 [ci skip] 2022-04-15 21:35:19 +00:00
git 1f3448f524 Update bundled gems list at 8197ae35f9 [ci skip] 2022-04-06 14:57:47 +00:00
Benoit Daloze 573005983a Give some tips on how to find the missing ruby2_keywords 2022-04-05 11:54:57 +02:00
Benoit Daloze d3f659d3f9 Add NEWS entry for Bug #18625 to help adding ruby2_keywords in the missing places 2022-04-05 11:42:02 +02:00
git dcc3c2858f Update bundled gems list at e73d76027e [ci skip] 2022-04-02 10:29:56 +00:00
git 7dfea79ebf Update bundled gems list at b3a05827c7 [ci skip] 2022-04-01 05:44:35 +00:00
git f24abc0bb2 Update default gems list at 06f94d1784 [ci skip] 2022-04-01 04:57:20 +00:00
git f380a25520 Update default gems list at 8a38419b73 [ci skip] 2022-03-31 15:23:12 +00:00
Jeremy Evans 79b59fee16 Update NEWS for proc autosplat change 2022-03-30 11:39:27 -07:00
Jeremy Evans 5d43969e92 Update NEWS for TracePoint#enable target_thread default change 2022-03-29 18:33:16 -07:00
Nobuyoshi Nakada 282baa6943
[DOC] Move the entry for [Feature #18571] 2022-03-28 15:03:41 +09:00
Kazuhiro NISHIYAMA 4e580bd67a
Fix a link [ci skip] 2022-03-28 10:59:35 +09:00
Hiroshi SHIBATA c3555e3da4
Added entry of Psych changes for #18571 2022-03-28 10:43:10 +09:00
Jeremy Evans f79765abe8 Update NEWS for {Kernel,TracePoint}#binding change 2022-03-25 14:33:24 -07:00
git 04591e1be7 Update default gems list at 4c4a1e2035 [ci skip] 2022-03-24 12:39:01 +00:00
Kazuhiro NISHIYAMA bbd29fe0b6
Fix a link [ci skip] 2022-03-22 09:49:32 +09:00
Shugo Maeda 2fdfd499db
Add a NEWS entry about [Feature #18598] [ci skip] 2022-03-18 11:53:36 +09:00
Jeremy Evans b6804d62f8 Make Proc#parameters support lambda keyword for returning parameters as if lambda
This makes it easier to use Proc#parameters to build wrappers.

Implements [Feature #15357]
2022-03-17 11:52:02 -07:00
git df6f2b645f Update default gems list at fadc7a150c [ci skip] 2022-03-17 08:29:21 +00:00
Kazuhiro NISHIYAMA 9d6cc7e4c0
Fix a link [ci skip] 2022-03-14 07:52:40 +09:00
Martin Dürst 2672502457 mention Unicode Version 14.0.0 2022-03-13 09:19:52 +09:00
git 7f5440756e Update default gems list at bd18623307 [ci skip] 2022-03-10 13:59:25 +00:00
git ff7eb85125 Update default gems list at 9c531ca524 [ci skip] 2022-03-07 11:09:43 +00:00
git c1790f8c11 Update default gems list at 7f7db124ee [ci skip] 2022-03-03 08:56:31 +00:00
git bec492c77e Update default gems list at eb40ff73bf [ci skip] 2022-02-28 11:10:22 +00:00
git 43cc4f66c2 Update bundled gems list at 2022-02-23 2022-02-23 07:00:29 +00:00
Kazuhiro NISHIYAMA 1f3fe3801b
Fix links [ci skip] 2022-02-21 00:44:19 +09:00
Shugo Maeda c8817d6a3e
Add String#byteindex, String#byterindex, and MatchData#byteoffset (#5518)
* Add String#byteindex, String#byterindex, and MatchData#byteoffset [Feature #13110]

Co-authored-by: NARUSE, Yui <naruse@airemix.jp>
2022-02-19 19:10:00 +09:00
Kazuki Tsujimoto db6b23c76c
Find pattern is no longer experimental [Feature #18585] 2022-02-19 18:45:49 +09:00
Akinori MUSHA ac32b7023a Mention Set as a new builtin class to NEWS 2022-02-18 11:56:24 +09:00
git 66b9ca8426 Update default gems list at f07a2613e3 [ci skip] 2022-02-10 08:19:42 +00:00
git ea6b6f1ad3 Update bundled gems list at d4a8c04dc7 [ci skip] 2022-02-02 04:26:22 +00:00
git 804dca7b0c Update default gems list at fc4fbeef28 [ci skip] 2022-02-01 04:22:40 +00:00
Koichi ITO f924e05b68
[DOC] Fix a typo in the NEWS.md
Follow up of https://github.com/ruby/ruby/commit/fbb3cab.
2022-01-31 07:38:10 +09:00
Takashi Kokubun fbb3cab956
Add a NEWS entry about [Feature #16806] 2022-01-29 00:32:38 -08:00
Nobuyoshi Nakada e3b5cc8836
NEWS: `Fixnum` and `Bignum` are removed finally [Feature #12005] 2022-01-25 23:10:20 +09:00
git c6a19b77a2 Update default gems list at 328e6bf3b3 [ci skip] 2022-01-24 01:57:23 +00:00
Kazuhiro NISHIYAMA 54568c949b
Fix a link [ci skip] 2022-01-18 22:57:21 +09:00
Takashi Kokubun c0d18a1aa2
[ruby/erb] Revert "Remove safe_level and further positional arguments (https://github.com/ruby/erb/pull/7)"
This reverts commit 5133efa06f.

While we already handled this deprecation in many libraries, we noticed
that some (e.g. sprockets) relied on the format of `ERB.version` and
2b4182eb10 broke such handling.

Given that the `ERB.version` change was released at 3.1 and it's
obviously new, I'll skip this removal in 3.2 and postpone this to a
future version.
2022-01-17 12:39:17 -08:00
Takashi Kokubun 728304093c
Update NEWS.md about ERB.new 2022-01-15 13:53:57 -08:00
Jeremy Evans a93cc3e23b Make Hash#shift return nil for empty hash
Fixes [Bug #16908]
2022-01-14 12:17:57 -08:00
Jeremy Evans ca3d405242 Fix constant assignment evaluation order
Previously, the right hand side was always evaluated before the
left hand side for constant assignments.  For the following:

```ruby
lhs::C = rhs
```

rhs was evaluated before lhs, which is inconsistant with attribute
assignment (lhs.m = rhs), and apparently also does not conform to
JIS 3017:2013 11.4.2.2.3.

Fix this by changing evaluation order.  Previously, the above
compiled to:

```
0000 putself                                                          (   1)[Li]
0001 opt_send_without_block                 <calldata!mid:rhs, argc:0, FCALL|VCALL|ARGS_SIMPLE>
0003 dup
0004 putself
0005 opt_send_without_block                 <calldata!mid:lhs, argc:0, FCALL|VCALL|ARGS_SIMPLE>
0007 setconstant                            :C
0009 leave
```

After this change:

```
0000 putself                                                          (   1)[Li]
0001 opt_send_without_block                 <calldata!mid:lhs, argc:0, FCALL|VCALL|ARGS_SIMPLE>
0003 putself
0004 opt_send_without_block                 <calldata!mid:rhs, argc:0, FCALL|VCALL|ARGS_SIMPLE>
0006 swap
0007 topn                                   1
0009 swap
0010 setconstant                            :C
0012 leave
```

Note that if expr is not a module/class, then a TypeError is not
raised until after the evaluation of rhs.  This is because that
error is raised by setconstant.  If we wanted to raise TypeError
before evaluation of rhs, we would have to add a VM instruction
for calling vm_check_if_namespace.

Changing assignment order for single assignments caused problems
in the multiple assignment code, revealing that the issue also
affected multiple assignment.  Fix the multiple assignment code
so left-to-right evaluation also works for constant assignments.

Do some refactoring of the multiple assignment code to reduce
duplication after adding support for constants. Rename struct
masgn_attrasgn to masgn_lhs_node, since it now handles both
constants and attributes. Add add_masgn_lhs_node static function
for adding data for lhs attribute and constant setting.

Fixes [Bug #15928]
2022-01-14 11:00:26 -08:00
Jean Boussier 8d05047d72 Add a Module#const_added callback
[Feature #17881]

Works similarly to `method_added` but for constants.

```ruby
Foo::BAR = 42 # call Foo.const_added(:FOO)
class Foo::Baz; end # call Foo.const_added(:Baz)
Foo.autoload(:Something, "path") # call Foo.const_added(:Something)
```
2022-01-14 11:30:07 +01:00
Koichi Sasada 9de380860d add a NEWS entry of `Proc#dup`. 2022-01-13 17:45:25 +09:00
Kazuhiro NISHIYAMA 533bc77170
Fix typo [ci skip] 2022-01-07 09:44:33 +09:00
manga_osyo 1bfccba775 Add bugs.ruby links. 2022-01-07 01:13:04 +09:00
git 2db7952e59 Update bundled gems list at 2022-01-06 2022-01-06 07:02:37 +00:00
Nobuyoshi Nakada 3e417a554b
NEWS: "taintedness" and "trustedness" methods are removed 2022-01-06 11:32:27 +09:00
Nobuyoshi Nakada ac0d27eb58
NEWS: Separate removed constants section 2022-01-06 11:20:55 +09:00
Nobuyoshi Nakada e38d583391
NEWS: Links to the tickets to remove deprecated features 2022-01-05 18:27:16 +09:00
Nobuyoshi Nakada 1272a331b4
NEWS: Removal of `Kernel#=~` [Feature #15231] 2022-01-05 18:18:43 +09:00
Shugo Maeda 54198c7b97
Add Module#refinements and Refinement#refined_class [Feature #12737] 2022-01-05 17:47:29 +09:00
Shugo Maeda 21ee5341f8
Add Module.used_refinements 2022-01-05 16:58:23 +09:00
git 30c03f9e93 Update default gems list at 6f53425825 [ci skip] 2022-01-02 06:06:11 +00:00
Nobuyoshi Nakada 6f53425825
NEWS: Removed constants 2022-01-02 15:05:02 +09:00
git b2a88063d6 Update default gems list at 6d1b406dc8 [ci skip] 2022-01-02 02:29:48 +00:00
Nobuyoshi Nakada f59b2e440e
NEWS: Removed methods 2021-12-31 23:59:50 +09:00
Nobuyoshi Nakada 60e9aa5733
NEWS: Removed C APIs 2021-12-31 23:59:04 +09:00
Jeremy Evans f53dfab95c Add support for anonymous rest and keyword rest argument forwarding
This allows for the following syntax:

```ruby
def foo(*)
  bar(*)
end
def baz(**)
  quux(**)
end
```

This is a natural addition after the introduction of anonymous
block forwarding.  Anonymous rest and keyword rest arguments were
already supported in method parameters, this just allows them to
be used as arguments to other methods.  The same advantages of
anonymous block forwarding apply to rest and keyword rest argument
forwarding.

This has some minor changes to #parameters output.  Now, instead
of `[:rest], [:keyrest]`, you get `[:rest, :*], [:keyrest, :**]`.
These were already used for `...` forwarding, so I think it makes
it more consistent to include them in other cases.  If we want to
use `[:rest], [:keyrest]` in both cases, that is also possible.

I don't think the previous behavior of `[:rest], [:keyrest]` in
the non-... case and `[:rest, :*], [:keyrest, :**]` in the ...
case makes sense, but if we did want that behavior, we'll have to
make more substantial changes, such as using a different ID in the
... forwarding case.

Implements [Feature #18351]
2021-12-30 14:37:42 -08:00
git 6d57290210 Update bundled gems list at 2021-12-29 2021-12-29 07:02:15 +00:00
git 7fbd93e60f Update default gems list at d75f7078c8 [ci skip] 2021-12-29 01:03:36 +00:00
git f486566f13 Update default gems list at d6311cb1ca [ci skip] 2021-12-27 01:48:03 +00:00
git 18da9359de Update bundled gems list at 2322967f3e [ci skip] 2021-12-26 06:51:28 +00:00
git 2322967f3e Update default gems list at 1698010bb1 [ci skip] 2021-12-26 06:38:45 +00:00
git a91605c9da Update default gems list at 53b3c044fc [ci skip] 2021-12-25 14:12:38 +00:00
Kazuhiro NISHIYAMA 53b3c044fc
Copy NEWS.md to doc/NEWS-3.1.0.md and update for 3.2.0 2021-12-25 23:11:43 +09:00
Nobuyoshi Nakada 1ad42f8a76
Update default gems list at 8247b193c0 [ci skip] 2021-12-25 18:43:37 +09:00
Nobuyoshi Nakada 14e550052b
NEWS: mention Time.new argument error more
Show an example of Time.new with perhaps unexpected results in
earlier versions.
2021-12-25 18:24:39 +09:00
Nobuyoshi Nakada 42eb9bf37a
Fix the names of Thread::Queue and method for the cross-reference 2021-12-25 17:45:22 +09:00
Nobuyoshi Nakada 30374b4fb7
NEWS: Put spaces to make Method and UnboundMethod links 2021-12-25 17:42:27 +09:00