Skip to content

Commit bfde753

Browse files
committed
Bump to version 0.8.0
1 parent 9e2ef6f commit bfde753

File tree

8 files changed

+29
-10
lines changed

8 files changed

+29
-10
lines changed

CHANGELOG.md

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

77
## [Unreleased]
88

9+
## [0.8.0] - 2023-08-18
10+
11+
### Added
12+
13+
- Some performance improvements when converting from the C AST to the Ruby AST.
14+
- Two rust crates have been added: `yarp-sys` and `yarp`. They are as yet unpublished.
15+
16+
### Changed
17+
18+
- Escaped newlines in strings and heredocs are now handled more correctly.
19+
- Dedenting heredocs that result in empty string nodes will now drop those string nodes from the list.
20+
- Beginless and endless ranges in conditional expressions now properly form a flip flop node.
21+
- `%` at the end of files no longer crashes.
22+
- Location information has been corrected for `if/elsif` chains that have no `else`.
23+
- `__END__` at the very end of the file was previously parsed as an identifier, but is now correct.
24+
- **BREAKING**: Nodes that reference `&&=`, `||=`, and other writing operators have been consolidated. Previously, they were separate individual nodes. Now they are a tree with the target being the left-hand side and the value being the right-hand side with a joining `AndWriteNode`, `OrWriteNode`, or `OperatorWriteNode` in the middle. This impacts all of the nodes that match this pattern: `{ClassVariable,Constant,ConstantPath,GlobalVariable,InstanceVariable,LocalVariable}Operator{And,Or,}WriteNode`.
25+
- **BREAKING**: `BlockParametersNode`, `ClassNode`, `DefNode`, `LambdaNode`, `ModuleNode`, `ParenthesesNode`, and `SingletonClassNode` have had their `statements` field renamed to `body` to give a hint that it might not be a `StatementsNode` (it could also be a `BeginNode`).
26+
927
## [0.7.0] - 2023-08-14
1028

1129
### Added
@@ -22,7 +40,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
2240

2341
- Autotools has been removed from the build system, so when the gem is installed it will no longer need to go through a configure step.
2442
- The AST for `foo = *bar` has changed to have an explicit array on the right hand side, rather than a splat node. This is more consistent with how other parsers handle this.
25-
- `RangeNodeFlags` has been renamed to `RangeFlags`.
43+
- **BREAKING**: `RangeNodeFlags` has been renamed to `RangeFlags`.
2644
- Unary minus on number literals is now parsed as part of the literal, rather than a call to a unary operator. This is more consistent with how other parsers handle this.
2745

2846
## [0.6.0] - 2023-08-09
@@ -31,6 +49,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
3149

3250
- 🎉 Initial release! 🎉
3351

34-
[unreleased]: https://github.com/ruby/yarp/compare/v0.7.0...HEAD
52+
[unreleased]: https://github.com/ruby/yarp/compare/v0.8.0...HEAD
53+
[0.8.0]: https://github.com/ruby/yarp/compare/v0.7.0...v0.8.0
3554
[0.7.0]: https://github.com/ruby/yarp/compare/v0.6.0...v0.7.0
3655
[0.6.0]: https://github.com/ruby/yarp/compare/d60531...v0.6.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.7.0)
4+
yarp (0.8.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
@@ -5,7 +5,7 @@
55
#include <ruby/encoding.h>
66
#include "yarp.h"
77

8-
#define EXPECTED_YARP_VERSION "0.7.0"
8+
#define EXPECTED_YARP_VERSION "0.8.0"
99

1010
VALUE yp_source_new(yp_parser_t *parser);
1111
VALUE yp_token_new(yp_parser_t *parser, yp_token_t *token, rb_encoding *encoding, VALUE source);

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 7
2+
#define YP_VERSION_MINOR 8
33
#define YP_VERSION_PATCH 0
4-
#define YP_VERSION "0.7.0"
4+
#define YP_VERSION "0.8.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.7.0");
15+
assert_eq!(&cstring.to_string_lossy(), "0.8.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
@@ -49,7 +49,7 @@ public class Loader {
4949
private final Nodes.Source source;
5050

5151
private byte MAJOR_VERSION = (byte) 0;
52-
private byte MINOR_VERSION = (byte) 7;
52+
private byte MINOR_VERSION = (byte) 8;
5353
private byte PATCH_VERSION = (byte) 0;
5454

5555
private Loader(byte[] serialized, Nodes.Source source) {

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 = 7
17+
MINOR_VERSION = 8
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.7.0"
5+
spec.version = "0.8.0"
66
spec.authors = ["Shopify"]
77
spec.email = ["ruby@shopify.com"]
88

0 commit comments

Comments
 (0)