You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+34-1Lines changed: 34 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,38 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
6
6
7
7
## [Unreleased]
8
8
9
+
## [0.9.0] - 2023-08-25
10
+
11
+
### Added
12
+
13
+
- Regular expressions can now be bound by `\n`, `\r`, and a combination of `\r\n`.
14
+
- Strings delimited by `%`, `%q`, and `%Q` can now be bound by `\n`, `\r`, and a combination of `\r\n`.
15
+
-`IntegerNode#value` now returns the value of the integer as a Ruby `Integer`.
16
+
-`FloatNode#value` now returns the value of the float as a Ruby `Float`.
17
+
-`RationalNode#value` now returns the value of the rational as a Ruby `Rational`.
18
+
-`ImaginaryNode#value` now returns the value of the imaginary as a Ruby `Complex`.
19
+
-`ClassNode#name` is now a string that returns the name of just the class, without the namespace.
20
+
-`ModuleNode#name` is now a string that returns the name of just the module, without the namespace.
21
+
- Regular expressions and strings found after a heredoc declaration but before the heredoc body are now parsed correctly.
22
+
- The serialization API now supports shared strings, which should help reduce the size of the serialized AST.
23
+
-`*Node#copy` is introduced, which returns a copy of the node with the given overrides.
24
+
-`Location#copy` is introduced, which returns a copy of the location with the given overrides.
25
+
-`DesugarVisitor` is introduced, which provides a simpler AST for use in tools that want to process fewer node types.
26
+
-`{ClassVariable,Constant,ConstantPath,GlobalVariable,InstanceVariable,LocalVariable}TargetNode` are introduced. These nodes represent the target of writes in locations where a value cannot be provided, like a multi write or a rescue reference.
27
+
-`UntilNode#closing_loc` and `WhileNode#closing_loc` are now provided.
28
+
-`Location#join` is now provided, which joins two locations together.
29
+
-`YARP::parse_lex` and `YARP::parse_lex_file` are introduced to parse and lex in one result.
30
+
31
+
### Changed
32
+
33
+
- When there is a magic encoding comment, the encoding of the first token's source string is now properly reencoded.
34
+
- Constants followed by unary `&` are now properly parsed as a call with a passed block argument.
35
+
- Escaping multi-byte characters in a string literal will now properly escape the entire character.
36
+
-`YARP.lex_compat` now has more accurate behavior when a byte-order mark is present in the file.
37
+
-**BREAKING**: `AndWriteNode`, `OrWriteNode`, and `OperatorWriteNode` have been split back up into their `0.7.0` versions.
38
+
- We now properly support spaces between the `encoding` and `=`/`:` in a magic encoding comment.
39
+
- We now properly parse `-> foo: bar do end`.
40
+
9
41
## [0.8.0] - 2023-08-18
10
42
11
43
### Added
@@ -49,7 +81,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
0 commit comments