diff --git a/CHANGELOG.md b/CHANGELOG.md index 94f558248d9..01f9643f367 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,29 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a ## [Unreleased] +## [0.11.0] - 2023-09-08 + +### Added + +- `Node#inspect` is much improved. +- `YARP::Pattern` is introduced, which can construct procs to match against nodes. +- `BlockLocalVariableNode` is introduced to take the place of the locations array on `BlockParametersNode`. +- `ParseResult#attach_comments!` is now provided to attach comments to locations in the tree. +- `MultiTargetNode` is introduced as the target of multi writes and for loops. +- `Node#comment_targets` is introduced to return the list of objects that can have attached comments. + +### Changed + +- **BREAKING**: `GlobalVariable*Node#name` now returns a symbol. +- **BREAKING**: `Constant*Node#name` now returns a symbol. +- **BREAKING**: `BlockParameterNode`, `KeywordParameterNode`, `KeywordRestParameterNode`, `RestParameterNode`, `DefNode` all have their `name` methods returning symbols now. +- **BREAKING**: `ClassNode#name` and `ModuleNode#name` now return symbols. +- **BREAKING**: `Location#end_column` is now exclusive instead of inclusive. +- `Location#slice` now returns a properly encoded string. +- `CallNode#operator_loc` is now `CallNode#call_operator_loc`. +- `CallOperatorAndWriteNode` is renamed to `CallAndWriteNode` and its structure has changed. +- `CallOperatorOrWriteNode` is renamed to `CallOrWriteNode` and its structure has changed. + ## [0.10.0] - 2023-09-01 ### Added @@ -94,7 +117,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a - 🎉 Initial release! 🎉 -[unreleased]: https://github.com/ruby/yarp/compare/v0.10.0...HEAD +[unreleased]: https://github.com/ruby/yarp/compare/v0.11.0...HEAD +[0.11.0]: https://github.com/ruby/yarp/compare/v0.10.0...v0.11.0 [0.10.0]: https://github.com/ruby/yarp/compare/v0.9.0...v0.10.0 [0.9.0]: https://github.com/ruby/yarp/compare/v0.8.0...v0.9.0 [0.8.0]: https://github.com/ruby/yarp/compare/v0.7.0...v0.8.0 diff --git a/Gemfile.lock b/Gemfile.lock index f35f7bbac7b..f4d97ce9f37 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - yarp (0.10.0) + yarp (0.11.0) GEM remote: https://rubygems.org/ diff --git a/ext/yarp/extension.h b/ext/yarp/extension.h index ccfb6f9454f..ebcb3d614f0 100644 --- a/ext/yarp/extension.h +++ b/ext/yarp/extension.h @@ -1,7 +1,7 @@ #ifndef YARP_EXT_NODE_H #define YARP_EXT_NODE_H -#define EXPECTED_YARP_VERSION "0.10.0" +#define EXPECTED_YARP_VERSION "0.11.0" #include #include diff --git a/include/yarp/version.h b/include/yarp/version.h index 60fd830ca7c..6c7dd068d33 100644 --- a/include/yarp/version.h +++ b/include/yarp/version.h @@ -1,4 +1,4 @@ #define YP_VERSION_MAJOR 0 -#define YP_VERSION_MINOR 10 +#define YP_VERSION_MINOR 11 #define YP_VERSION_PATCH 0 -#define YP_VERSION "0.10.0" +#define YP_VERSION "0.11.0" diff --git a/rust/yarp-sys/tests/utils_tests.rs b/rust/yarp-sys/tests/utils_tests.rs index b9c57869ac1..5ab3cfb69aa 100644 --- a/rust/yarp-sys/tests/utils_tests.rs +++ b/rust/yarp-sys/tests/utils_tests.rs @@ -12,7 +12,7 @@ fn version_test() { CStr::from_ptr(version) }; - assert_eq!(&cstring.to_string_lossy(), "0.10.0"); + assert_eq!(&cstring.to_string_lossy(), "0.11.0"); } #[test] diff --git a/templates/java/org/yarp/Loader.java.erb b/templates/java/org/yarp/Loader.java.erb index ed1e93dfa61..7ef81b26ecf 100644 --- a/templates/java/org/yarp/Loader.java.erb +++ b/templates/java/org/yarp/Loader.java.erb @@ -71,7 +71,7 @@ public class Loader { expect((byte) 'P'); expect((byte) 0); - expect((byte) 10); + expect((byte) 11); expect((byte) 0); // This loads the name of the encoding. We don't actually do anything diff --git a/templates/lib/yarp/serialize.rb.erb b/templates/lib/yarp/serialize.rb.erb index 3f5329e3a9c..370453565c8 100644 --- a/templates/lib/yarp/serialize.rb.erb +++ b/templates/lib/yarp/serialize.rb.erb @@ -14,7 +14,7 @@ end module YARP module Serialize MAJOR_VERSION = 0 - MINOR_VERSION = 10 + MINOR_VERSION = 11 PATCH_VERSION = 0 def self.load(input, serialized) diff --git a/yarp.gemspec b/yarp.gemspec index 0cd1cf2f661..e96cb8d4034 100644 --- a/yarp.gemspec +++ b/yarp.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |spec| spec.name = "yarp" - spec.version = "0.10.0" + spec.version = "0.11.0" spec.authors = ["Shopify"] spec.email = ["ruby@shopify.com"]