Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DOC] Improve NEWS.md rendering and add missing features #9308

Merged
merged 3 commits into from Dec 21, 2023
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
72 changes: 47 additions & 25 deletions NEWS.md
Expand Up @@ -36,26 +36,27 @@ Note: We're only listing outstanding class updates.

* Encoding

* Encoding#replicate has been removed, it was already deprecated. [[Feature #18949]]
* `Encoding#replicate` has been removed, it was already deprecated. [[Feature #18949]]

* Fiber

* Introduce Fiber#kill. [[Bug #595]]
```ruby
fiber = Fiber.new do
while true
puts "Yielding..."
Fiber.yield

```ruby
fiber = Fiber.new do
while true
puts "Yielding..."
Fiber.yield
end
ensure
puts "Exiting..."
end
ensure
puts "Exiting..."
end

fiber.resume
# Yielding...
fiber.kill
# Exiting...
```
fiber.resume
# Yielding...
fiber.kill
# Exiting...
```

* MatchData

Expand All @@ -75,7 +76,7 @@ Note: We're only listing outstanding class updates.

* ObjectSpace::WeakMap

* `ObjectSpace::WeakMap#delete` was added to eagerly clear weak map
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do you remove backquote even though it is .md?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It will be marked up as <code> without backquotes.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ko1 Without backticks RDoc is able to linkify the method name.
The current version:
image
After the fix:
image

Copy link
Contributor

@ko1 ko1 Dec 21, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see.


For me, it is better to allow backquotes and rdoc also accepts backquoted method names in future, because it is easy to copy & paste to other articles.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mean the case of "only method name enclosed in backquotes", right?
E.g., `ObjectSpace::WeakMap#delete`, but not `(ObjectSpace::WeakMap#delete)`.
It would be better but should be requested to ruby/rdoc, not here.

* ObjectSpace::WeakMap#delete was added to eagerly clear weak map
entries. [[Feature #19561]]

* Proc
Expand All @@ -84,7 +85,7 @@ Note: We're only listing outstanding class updates.

* Process

* New `Process.warmup` method that notify the Ruby virtual machine that the boot sequence is finished,
* New Process.warmup method that notify the Ruby virtual machine that the boot sequence is finished,
and that now is a good time to optimize the application. This is useful
for long-running applications. The actual optimizations performed are entirely
implementation-specific and may change in the future without notice. [[Feature #18885]]
Expand All @@ -93,10 +94,6 @@ Note: We're only listing outstanding class updates.

* Process::Status#& and Process::Status#>> are deprecated. [[Bug #19868]]

* Queue

* Queue#freeze now raises TypeError. [[Bug #17146]]

* Range

* Range#reverse_each can now process beginless ranges with an Integer endpoint. [[Feature #18515]]
Expand All @@ -109,16 +106,31 @@ Note: We're only listing outstanding class updates.
Refinement#refined_class is deprecated and will be removed in Ruby
3.4. [[Feature #19714]]

* SizedQueue

* SizedQueue#freeze now raises TypeError. [[Bug #17146]]

* String

* String#unpack now raises ArgumentError for unknown directives. [[Bug #19150]]
* String#bytesplice now accepts new arguments index/length or range of the
source string to be copied. [[Feature #19314]]

* Thread::Queue

* Thread::Queue#freeze now raises TypeError. [[Bug #17146]]

* Thread::SizedQueue

* Thread::SizedQueue#freeze now raises TypeError. [[Bug #17146]]

* Time

* Time.new with a string argument became stricter. [[Bug #19293]]

```ruby
Time.new('2023-12-20')
# no time information (ArgumentError)
Time.new('2023-12-20')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This uses the same code twice, which doesn't appear intentional. I would remove the duplicate lines.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ugh. Meant to show "year-month" and "year-month-day", it is a typo. But anyway, I think one example is enough.

# no time information (ArgumentError)
```

* TracePoint

* TracePoint supports `rescue` event. When the raised exception was rescued,
Expand Down Expand Up @@ -150,7 +162,7 @@ Note: We're only listing outstanding class updates.
connections. Socket#recvmsg and Socket#recvmsg_nonblock returns `nil` instead of an empty packet on closed
connections. [[Bug #19012]]

* Name resolution such as `Socket.getaddrinfo`, `Socket.getnameinfo`, `Addrinfo.getaddrinfo`, etc.
* Name resolution such as Socket.getaddrinfo, Socket.getnameinfo, Addrinfo.getaddrinfo, etc.
can now be interrupted. [[Feature #19965]]

* Random::Formatter#alphanumeric is extended to accept optional `chars`
Expand Down Expand Up @@ -290,6 +302,14 @@ changelog for details of the default gems or bundled gems.
deprecated. `it` will be a reference to the first block parameter in Ruby 3.4.
[[Feature #18980]]

* Error message for NoMethodError have changed to not use the target object's `#inspect`
for efficiency, and says "instance of ClassName" instead. [[Feature #18285]]

```ruby
([1] * 100).nonexisting
# undefined method `nonexisting' for an instance of Array (NoMethodError)
```

## Stdlib compatibility issues

* `racc` is promoted to bundled gems.
Expand Down Expand Up @@ -456,6 +476,7 @@ changelog for details of the default gems or bundled gems.
[Feature #10602]: https://bugs.ruby-lang.org/issues/10602
[Bug #17146]: https://bugs.ruby-lang.org/issues/17146
[Feature #18183]: https://bugs.ruby-lang.org/issues/18183
[Feature #18285]: https://bugs.ruby-lang.org/issues/18285
[Feature #18498]: https://bugs.ruby-lang.org/issues/18498
[Feature #18515]: https://bugs.ruby-lang.org/issues/18515
[Feature #18551]: https://bugs.ruby-lang.org/issues/18551
Expand All @@ -465,6 +486,7 @@ changelog for details of the default gems or bundled gems.
[Bug #19012]: https://bugs.ruby-lang.org/issues/19012
[Feature #19057]: https://bugs.ruby-lang.org/issues/19057
[Bug #19150]: https://bugs.ruby-lang.org/issues/19150
[Bug #19293]: https://bugs.ruby-lang.org/issues/19293
[Feature #19314]: https://bugs.ruby-lang.org/issues/19314
[Feature #19347]: https://bugs.ruby-lang.org/issues/19347
[Feature #19351]: https://bugs.ruby-lang.org/issues/19351
Expand Down