Skip to content

Commit 5a18de6

Browse files
Merge pull request #598 from theseus-rs/release-plz-2025-12-13T06-33-35Z
ristretto-v0.28.0
2 parents 2a47f81 + f36a851 commit 5a18de6

File tree

8 files changed

+195
-27
lines changed

8 files changed

+195
-27
lines changed

CHANGELOG.md

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,174 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## `ristretto_cli` - [0.28.0](https://github.com/theseus-rs/ristretto/compare/v0.27.0...v0.28.0) - 2026-01-26
11+
12+
### Added
13+
- implement async threading
14+
- initial jpms support
15+
- implement comprehensive bytecode and attribute verification
16+
- implement invokedynamic instruction
17+
- implement hidden classes
18+
- enhance interface method resolution and string constant initialization
19+
- implement reflection
20+
- implement lambda support
21+
- configure class object module
22+
- add monitorenter and monitorexit instructions
23+
- initial threading implementation
24+
- implement java/lang/NullPointerException.getExtendedNPEMessage()Ljava/lang/String;
25+
- implement jdk/internal/loader/BootLoader.setBootLoaderUnnamedModule0(Ljava/lang/Module;)V
26+
- implement java/lang/Class.getRecordComponents0()[Ljava/lang/reflect/RecordComponent;
27+
28+
### Fixed
29+
- isolate GC to VM instance
30+
- improve performance
31+
- improve cli exception cause reporting
32+
- optimize mutf8
33+
- correct tableswitch and lookupswitch negative offsets
34+
- update class loading to comply with JVMS 5.5
35+
- handle backward jumps to method entry and enable ignored tests
36+
- stub java/lang/NullPointerException.getExtendedNPEMessage()Ljava/lang/String; to return null
37+
- register dynamically created classes
38+
39+
### Other
40+
- improve lint configuration
41+
- rename mutf8 benchmark
42+
- Fix lookupswitch type cast error
43+
- Add test for lookupswitch bug
44+
- update to reqwest=0.13.0
45+
- update rustdoc references section
46+
- update java versions
47+
- add field initialization tests and docs
48+
- correct cyclic crate dependencies with ristretto_jimage
49+
- correct clippy lints
50+
- Implement invokedynamic support and MethodHandleNatives updates for JDK 17+ compatibility
51+
52+
## `ristretto_vm` - [0.28.0](https://github.com/theseus-rs/ristretto/compare/ristretto_vm-v0.27.0...ristretto_vm-v0.28.0) - 2026-01-26
53+
54+
### Added
55+
- add monitorenter and monitorexit instructions
56+
- implement async threading
57+
- enhance interface method resolution and string constant initialization
58+
- initial threading implementation
59+
- implement reflection
60+
- implement lambda support
61+
- implement invokedynamic instruction
62+
- implement hidden classes
63+
- implement java/lang/NullPointerException.getExtendedNPEMessage()Ljava/lang/String;
64+
- configure class object module
65+
- implement jdk/internal/loader/BootLoader.setBootLoaderUnnamedModule0(Ljava/lang/Module;)V
66+
- initial jpms support
67+
- implement comprehensive bytecode and attribute verification
68+
- implement java/lang/Class.getRecordComponents0()[Ljava/lang/reflect/RecordComponent;
69+
70+
### Fixed
71+
- isolate GC to VM instance
72+
- handle backward jumps to method entry and enable ignored tests
73+
- improve performance
74+
- correct tableswitch and lookupswitch negative offsets
75+
- stub java/lang/NullPointerException.getExtendedNPEMessage()Ljava/lang/String; to return null
76+
- register dynamically created classes
77+
- update class loading to comply with JVMS 5.5
78+
79+
### Other
80+
- update java versions
81+
- Merge pull request #630 from theseus-rs/optimize-async-instructions
82+
- correct clippy lints
83+
- Implement invokedynamic support and MethodHandleNatives updates for JDK 17+ compatibility
84+
- update rustdoc references section
85+
- add field initialization tests and docs
86+
- improve lint configuration
87+
88+
## `ristretto_macros` - [0.28.0](https://github.com/theseus-rs/ristretto/compare/ristretto_macros-v0.27.0...ristretto_macros-v0.28.0) - 2026-01-26
89+
90+
### Added
91+
- implement async threading
92+
93+
### Fixed
94+
- improve performance
95+
96+
### Other
97+
- improve lint configuration
98+
99+
## `ristretto_jit` - [0.28.0](https://github.com/theseus-rs/ristretto/compare/ristretto_jit-v0.27.0...ristretto_jit-v0.28.0) - 2026-01-26
100+
101+
### Added
102+
- implement lambda support
103+
104+
### Fixed
105+
- isolate GC to VM instance
106+
- handle backward jumps to method entry and enable ignored tests
107+
- improve performance
108+
- correct tableswitch and lookupswitch negative offsets
109+
110+
### Other
111+
- update rustdoc references section
112+
- improve lint configuration
113+
114+
## `ristretto_classloader` - [0.28.0](https://github.com/theseus-rs/ristretto/compare/ristretto_classloader-v0.27.0...ristretto_classloader-v0.28.0) - 2026-01-26
115+
116+
### Added
117+
- enhance interface method resolution and string constant initialization
118+
- implement reflection
119+
- implement lambda support
120+
- implement invokedynamic instruction
121+
- implement hidden classes
122+
- configure class object module
123+
- initial jpms support
124+
125+
### Fixed
126+
- isolate GC to VM instance
127+
- improve performance
128+
- update class loading to comply with JVMS 5.5
129+
130+
### Other
131+
- update java versions
132+
- update to reqwest=0.13.0
133+
- update rustdoc references section
134+
- add field initialization tests and docs
135+
- improve lint configuration
136+
- correct cyclic crate dependencies with ristretto_jimage
137+
138+
## `ristretto_jimage` - [0.28.0](https://github.com/theseus-rs/ristretto/compare/ristretto_jimage-v0.27.0...ristretto_jimage-v0.28.0) - 2026-01-26
139+
140+
### Other
141+
- improve lint configuration
142+
- correct cyclic crate dependencies with ristretto_jimage
143+
144+
## `ristretto_gc` - [0.28.0](https://github.com/theseus-rs/ristretto/compare/ristretto_gc-v0.27.0...ristretto_gc-v0.28.0) - 2026-01-26
145+
146+
### Added
147+
- implement reflection
148+
- implement lambda support
149+
- initial jpms support
150+
151+
### Fixed
152+
- isolate GC to VM instance
153+
154+
### Other
155+
- improve lint configuration
156+
157+
## `ristretto_classfile` - [0.28.0](https://github.com/theseus-rs/ristretto/compare/ristretto_classfile-v0.27.0...ristretto_classfile-v0.28.0) - 2026-01-26
158+
159+
### Added
160+
- implement invokedynamic instruction
161+
- implement hidden classes
162+
- initial jpms support
163+
- implement comprehensive bytecode and attribute verification
164+
165+
### Fixed
166+
- optimize mutf8
167+
- improve performance
168+
- correct tableswitch and lookupswitch negative offsets
169+
170+
### Other
171+
- rename mutf8 benchmark
172+
- Fix lookupswitch type cast error
173+
- Add test for lookupswitch bug
174+
- update to reqwest=0.13.0
175+
- update rustdoc references section
176+
- improve lint configuration
177+
10178
## `ristretto_cli` - [0.27.0](https://github.com/theseus-rs/ristretto/compare/v0.26.0...v0.27.0) - 2025-12-09
11179

12180
### Added

Cargo.lock

Lines changed: 13 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ keywords = ["java", "jvm"]
3030
license = "Apache-2.0 OR MIT"
3131
repository = "https://github.com/theseus-rs/ristretto"
3232
rust-version = "1.92.0"
33-
version = "0.27.0"
33+
version = "0.28.0"
3434

3535
[workspace.lints.rust]
3636
dead_code = "allow"

ristretto_classloader/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ flate2 = { workspace = true }
2020
indexmap = { workspace = true }
2121
parking_lot = { workspace = true }
2222
reqwest = { workspace = true, features = ["json", "query"] }
23-
ristretto_classfile = { path = "../ristretto_classfile", version = "0.27.0" }
24-
ristretto_gc = { path = "../ristretto_gc", version = "0.27.0" }
25-
ristretto_jimage = { path = "../ristretto_jimage", version = "0.27.0" }
23+
ristretto_classfile = { path = "../ristretto_classfile", version = "0.28.0" }
24+
ristretto_gc = { path = "../ristretto_gc", version = "0.28.0" }
25+
ristretto_jimage = { path = "../ristretto_jimage", version = "0.28.0" }
2626
serde = { workspace = true, features = ["derive"] }
2727
serde_plain = { workspace = true }
2828
tar = { workspace = true }

ristretto_cli/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ ahash = { workspace = true }
3030
anstyle = { workspace = true }
3131
clap = { workspace = true, features = ["derive"] }
3232
os_info = { workspace = true }
33-
ristretto_gc = { path = "../ristretto_gc", version = "0.27.0" }
34-
ristretto_vm = { path = "../ristretto_vm", version = "0.27.0" }
33+
ristretto_gc = { path = "../ristretto_gc", version = "0.28.0" }
34+
ristretto_vm = { path = "../ristretto_vm", version = "0.28.0" }
3535
tracing = { workspace = true }
3636
tracing-subscriber = { workspace = true, features = ["env-filter"] }
3737

ristretto_jit/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ workspace = true
1515

1616
[dependencies]
1717
ahash = { workspace = true }
18-
ristretto_classfile = { path = "../ristretto_classfile", version = "0.27.0" }
18+
ristretto_classfile = { path = "../ristretto_classfile", version = "0.28.0" }
1919
thiserror = { workspace = true }
2020
zerocopy = { workspace = true }
2121

ristretto_macros/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ workspace = true
1919
[dependencies]
2020
async-recursion = { workspace = true }
2121
quote = { workspace = true }
22-
ristretto_classfile = { path = "../ristretto_classfile", version = "0.27.0" }
22+
ristretto_classfile = { path = "../ristretto_classfile", version = "0.28.0" }
2323
syn = { workspace = true, features = ["full"] }

ristretto_vm/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ workspace = true
2121
[build-dependencies]
2222
ahash = { workspace = true }
2323
phf_codegen = { workspace = true }
24-
ristretto_classfile = { path = "../ristretto_classfile", version = "0.27.0" }
24+
ristretto_classfile = { path = "../ristretto_classfile", version = "0.28.0" }
2525
syn = { workspace = true }
2626
walkdir = { workspace = true }
2727

@@ -40,11 +40,11 @@ os_info = { workspace = true }
4040
parking_lot = { workspace = true }
4141
phf = { workspace = true }
4242
rayon = { workspace = true }
43-
ristretto_classfile = { path = "../ristretto_classfile", version = "0.27.0" }
44-
ristretto_classloader = { path = "../ristretto_classloader", version = "0.27.0" }
45-
ristretto_gc = { path = "../ristretto_gc", version = "0.27.0" }
46-
ristretto_jit = { path = "../ristretto_jit", version = "0.27.0" }
47-
ristretto_macros = { path = "../ristretto_macros", version = "0.27.0" }
43+
ristretto_classfile = { path = "../ristretto_classfile", version = "0.28.0" }
44+
ristretto_classloader = { path = "../ristretto_classloader", version = "0.28.0" }
45+
ristretto_gc = { path = "../ristretto_gc", version = "0.28.0" }
46+
ristretto_jit = { path = "../ristretto_jit", version = "0.28.0" }
47+
ristretto_macros = { path = "../ristretto_macros", version = "0.28.0" }
4848
stacker = { workspace = true }
4949
sysinfo = { workspace = true }
5050
sys-locale = { workspace = true }

0 commit comments

Comments
 (0)