Skip to content

Commit 1f49ca9

Browse files
committed
Bump to v0.29.0
1 parent 59fc15b commit 1f49ca9

File tree

22 files changed

+44
-25
lines changed

22 files changed

+44
-25
lines changed

CHANGELOG.md

+20-1
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.29.0] - 2024-05-10
10+
11+
### Added
12+
13+
- Added `Prism::CallNode#full_message_loc`, which gives the location including the `=` if there is one.
14+
- A warning for when `# shareable_constant_value` is not used on its own line.
15+
- An error for invalid implicit local variable writes.
16+
- Implicit hash patterns in array patterns are disallowed.
17+
- We now validate that Unicode escape sequences are not surrogates.
18+
19+
### Changed
20+
21+
- All fields named `operator` have been renamed to `binary_operator` for `*OperatorWriteNode` nodes. This is to make it easier to provide C++ support. In the Ruby API, the old fields are aliased to the new fields with a deprecation warning.
22+
- Many updated error messages to more closely match CRuby.
23+
- We ensure keyword parameters do not end in `!` or `?`.
24+
- Fixed some escaping in string literals with control sequences and hex escapes.
25+
- Fix a bug with RBS types when used outside the `ruby/prism` codebase.
26+
927
## [0.28.0] - 2024-05-03
1028

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

501519
- 🎉 Initial release! 🎉
502520

503-
[unreleased]: https://github.com/ruby/prism/compare/v0.28.0...HEAD
521+
[unreleased]: https://github.com/ruby/prism/compare/v0.29.0...HEAD
522+
[0.29.0]: https://github.com/ruby/prism/compare/v0.28.0...v0.29.0
504523
[0.28.0]: https://github.com/ruby/prism/compare/v0.27.0...v0.28.0
505524
[0.27.0]: https://github.com/ruby/prism/compare/v0.26.0...v0.27.0
506525
[0.26.0]: https://github.com/ruby/prism/compare/v0.25.0...v0.26.0

Gemfile.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
prism (0.28.0)
4+
prism (0.29.0)
55

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

ext/prism/extension.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef PRISM_EXT_NODE_H
22
#define PRISM_EXT_NODE_H
33

4-
#define EXPECTED_PRISM_VERSION "0.28.0"
4+
#define EXPECTED_PRISM_VERSION "0.29.0"
55

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

gemfiles/2.7/Gemfile.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: ../..
33
specs:
4-
prism (0.28.0)
4+
prism (0.29.0)
55

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

gemfiles/3.0/Gemfile.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: ../..
33
specs:
4-
prism (0.28.0)
4+
prism (0.29.0)
55

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

gemfiles/3.1/Gemfile.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: ../..
33
specs:
4-
prism (0.28.0)
4+
prism (0.29.0)
55

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

gemfiles/3.2/Gemfile.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: ../..
33
specs:
4-
prism (0.28.0)
4+
prism (0.29.0)
55

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

gemfiles/3.3/Gemfile.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: ../..
33
specs:
4-
prism (0.28.0)
4+
prism (0.29.0)
55

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

gemfiles/3.4/Gemfile.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: ../..
33
specs:
4-
prism (0.28.0)
4+
prism (0.29.0)
55

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

gemfiles/jruby/Gemfile.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: ../..
33
specs:
4-
prism (0.28.0)
4+
prism (0.29.0)
55

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

gemfiles/truffleruby/Gemfile.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: ../..
33
specs:
4-
prism (0.28.0)
4+
prism (0.29.0)
55

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

gemfiles/typecheck/Gemfile.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: ../..
33
specs:
4-
prism (0.28.0)
4+
prism (0.29.0)
55

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

include/prism/version.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
/**
1515
* The minor version of the Prism library as an int.
1616
*/
17-
#define PRISM_VERSION_MINOR 28
17+
#define PRISM_VERSION_MINOR 29
1818

1919
/**
2020
* The patch version of the Prism library as an int.
@@ -24,6 +24,6 @@
2424
/**
2525
* The version of the Prism library as a constant string.
2626
*/
27-
#define PRISM_VERSION "0.28.0"
27+
#define PRISM_VERSION "0.29.0"
2828

2929
#endif

javascript/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ruby/prism",
3-
"version": "0.28.0",
3+
"version": "0.29.0",
44
"description": "Prism Ruby parser",
55
"type": "module",
66
"main": "src/index.js",

prism.gemspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Gem::Specification.new do |spec|
44
spec.name = "prism"
5-
spec.version = "0.28.0"
5+
spec.version = "0.29.0"
66
spec.authors = ["Shopify"]
77
spec.email = ["[email protected]"]
88

rust/Cargo.lock

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rust/ruby-prism-sys/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ruby-prism-sys"
3-
version = "0.28.0"
3+
version = "0.29.0"
44
edition = "2021"
55
license-file = "../../LICENSE.md"
66
repository = "https://github.com/ruby/prism"

rust/ruby-prism-sys/tests/utils_tests.rs

+1-1
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.28.0");
15+
assert_eq!(&cstring.to_string_lossy(), "0.29.0");
1616
}
1717

1818
#[test]

rust/ruby-prism/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ruby-prism"
3-
version = "0.28.0"
3+
version = "0.29.0"
44
edition = "2021"
55
license-file = "../../LICENSE.md"
66
repository = "https://github.com/ruby/prism"
@@ -26,7 +26,7 @@ serde = { version = "1.0", features = ["derive"] }
2626
serde_yaml = "0.9"
2727

2828
[dependencies]
29-
ruby-prism-sys = { version = "0.28.0", path = "../ruby-prism-sys" }
29+
ruby-prism-sys = { version = "0.29.0", path = "../ruby-prism-sys" }
3030

3131
[features]
3232
default = ["vendored"]

templates/java/org/prism/Loader.java.erb

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public class Loader {
101101
expect((byte) 'M', "incorrect prism header");
102102

103103
expect((byte) 0, "prism major version does not match");
104-
expect((byte) 28, "prism minor version does not match");
104+
expect((byte) 29, "prism minor version does not match");
105105
expect((byte) 0, "prism patch version does not match");
106106

107107
expect((byte) 1, "Loader.java requires no location fields in the serialized output");

templates/javascript/src/deserialize.js.erb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as nodes from "./nodes.js";
22

33
const MAJOR_VERSION = 0;
4-
const MINOR_VERSION = 28;
4+
const MINOR_VERSION = 29;
55
const PATCH_VERSION = 0;
66

77
// The DataView getFloat64 function takes an optional second argument that

templates/lib/prism/serialize.rb.erb

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ module Prism
1010

1111
# The minor version of prism that we are expecting to find in the serialized
1212
# strings.
13-
MINOR_VERSION = 28
13+
MINOR_VERSION = 29
1414

1515
# The patch version of prism that we are expecting to find in the serialized
1616
# strings.

0 commit comments

Comments
 (0)