Skip to content

Commit c711373

Browse files
committed
Bump to version 0.12.0
1 parent a20f976 commit c711373

File tree

8 files changed

+34
-9
lines changed

8 files changed

+34
-9
lines changed

CHANGELOG.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,30 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
66

77
## [Unreleased]
88

9+
## [0.12.0] - 2023-09-15
10+
11+
### Added
12+
13+
- `RegularExpressionNode#options` and `InterpolatedRegularExpressionNode#options` are now provided. These return integers that match up to the `Regexp#options` API.
14+
- Greatly improved `Node#inspect` and `Node#pretty_print` APIs.
15+
- `MatchLastLineNode` and `InterpolatedMatchLastLineNode` are introduced to represent using a regular expression as the predicate of an `if` or `unless` statement.
16+
- `IntegerNode` now has a base flag on it.
17+
- Heredocs that were previously `InterpolatedStringNode` and `InterpolatedXStringNode` nodes without any actual interpolation are now `StringNode` and `XStringNode`, respectively.
18+
- `StringNode` now has a `frozen?` flag on it, which respects the `frozen_string_literal` magic comment.
19+
- Numbered parameters are now supported, and are properly represented using `LocalVariableReadNode` nodes.
20+
- `ImplicitNode` is introduced, which wraps implicit calls, local variable reads, or constant reads in omitted hash values.
21+
- `YARP::Dispatcher` is introduced, which provides a way for multiple objects to listen for certain events on the AST while it is being walked. This is effectively a way to implement a more efficient visitor pattern when you have many different uses for the AST.
22+
23+
### Changed
24+
25+
- **BREAKING**: Flags fields are now marked as private, to ensure we can change their implementation under the hood. Actually querying should be through the accessor methods.
26+
- **BREAKING**: `AliasNode` is now split into `AliasMethodNode` and `AliasGlobalVariableNode`.
27+
- Method definitions on local variables is now correctly handled.
28+
- Unary minus precedence has been fixed.
29+
- Concatenating character literals with string literals is now fixed.
30+
- Many more invalid syntaxes are now properly rejected.
31+
- **BREAKING**: Comments now no longer include their trailing newline.
32+
933
## [0.11.0] - 2023-09-08
1034

1135
### Added
@@ -117,7 +141,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
117141

118142
- 🎉 Initial release! 🎉
119143

120-
[unreleased]: https://github.com/ruby/yarp/compare/v0.11.0...HEAD
144+
[unreleased]: https://github.com/ruby/yarp/compare/v0.12.0...HEAD
145+
[0.12.0]: https://github.com/ruby/yarp/compare/v0.11.0...v0.12.0
121146
[0.11.0]: https://github.com/ruby/yarp/compare/v0.10.0...v0.11.0
122147
[0.10.0]: https://github.com/ruby/yarp/compare/v0.9.0...v0.10.0
123148
[0.9.0]: https://github.com/ruby/yarp/compare/v0.8.0...v0.9.0

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
yarp (0.11.0)
4+
yarp (0.12.0)
55

66
GEM
77
remote: https://rubygems.org/

ext/yarp/extension.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef YARP_EXT_NODE_H
22
#define YARP_EXT_NODE_H
33

4-
#define EXPECTED_YARP_VERSION "0.11.0"
4+
#define EXPECTED_YARP_VERSION "0.12.0"
55

66
#include <ruby.h>
77
#include <ruby/encoding.h>

include/yarp/version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#define YP_VERSION_MAJOR 0
2-
#define YP_VERSION_MINOR 11
2+
#define YP_VERSION_MINOR 12
33
#define YP_VERSION_PATCH 0
4-
#define YP_VERSION "0.11.0"
4+
#define YP_VERSION "0.12.0"

rust/yarp-sys/tests/utils_tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ fn version_test() {
1212
CStr::from_ptr(version)
1313
};
1414

15-
assert_eq!(&cstring.to_string_lossy(), "0.11.0");
15+
assert_eq!(&cstring.to_string_lossy(), "0.12.0");
1616
}
1717

1818
#[test]

templates/java/org/yarp/Loader.java.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public class Loader {
7171
expect((byte) 'P');
7272

7373
expect((byte) 0);
74-
expect((byte) 11);
74+
expect((byte) 12);
7575
expect((byte) 0);
7676

7777
// This loads the name of the encoding. We don't actually do anything

templates/lib/yarp/serialize.rb.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ end
1414
module YARP
1515
module Serialize
1616
MAJOR_VERSION = 0
17-
MINOR_VERSION = 11
17+
MINOR_VERSION = 12
1818
PATCH_VERSION = 0
1919

2020
def self.load(input, serialized)

yarp.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Gem::Specification.new do |spec|
44
spec.name = "yarp"
5-
spec.version = "0.11.0"
5+
spec.version = "0.12.0"
66
spec.authors = ["Shopify"]
77
spec.email = ["ruby@shopify.com"]
88

0 commit comments

Comments
 (0)