summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS.md70
1 files changed, 45 insertions, 25 deletions
diff --git a/NEWS.md b/NEWS.md
index 17dfca8d1c..87e8a81618 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -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
@@ -75,7 +76,7 @@ Note: We're only listing outstanding class updates.
* ObjectSpace::WeakMap
- * `ObjectSpace::WeakMap#delete` was added to eagerly clear weak map
+ * ObjectSpace::WeakMap#delete was added to eagerly clear weak map
entries. [[Feature #19561]]
* Proc
@@ -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]]
@@ -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]]
@@ -109,16 +106,29 @@ 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)
+ ```
+
* TracePoint
* TracePoint supports `rescue` event. When the raised exception was rescued,
@@ -150,7 +160,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`
@@ -290,6 +300,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.
@@ -456,6 +474,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
@@ -465,6 +484,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