Skip to content

Commit 7b5f052

Browse files
ristretto-v0.24.0
1 parent 5c5b3de commit 7b5f052

File tree

8 files changed

+131
-23
lines changed

8 files changed

+131
-23
lines changed

CHANGELOG.md

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

88
## [Unreleased]
99

10+
## `ristretto_cli` - [0.24.0](https://github.com/theseus-rs/ristretto/compare/v0.23.0...v0.24.0) - 2025-07-22
11+
12+
### Added
13+
- add background jit compiler
14+
- improve class loader reflection; initial class loader and module support
15+
- implement java/lang/reflect/Array
16+
- implement java/lang/String.intern()Ljava/lang/String;
17+
- add initial string pool
18+
19+
### Fixed
20+
- update cli to allow -cp argument for classpath
21+
- do not deep clone java.lang.Class objects
22+
- unbox primitives for constructor reflection
23+
- correct class loading hierarchy logic
24+
- correct java/lang/Class.getRawAnnotations()[B and java/lang/Class.getRawTypeAnnotations()[B to return zero length in byte array when there are no annotations
25+
- correct private method invocation
26+
- reduce gc memory utilization
27+
- add Unsafe support for getting/setting Class static fields
28+
- update java/lang/invoke/MethodHandleNatives.staticFieldOffset(Ljava/lang/invoke/MemberName;)J to get the correct class name
29+
- update java/lang/Class.forName0 to throw ClassNotFoundException for primitive types
30+
- correct multinewarray instruction
31+
- correct jdk.internal.misc.Unsafe put methods
32+
- correct inherited static method invocation
33+
- correct java/lang/System.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
34+
35+
### Other
36+
- introduce -X cli arguments and move --int to -Xint
37+
- stub java/lang/invoke/DelegatingMethodHandle$Holder.reinvoke_L([Ljava/lang/Object;)Ljava/lang/Object;
38+
- stub java/lang/invoke/DelegatingMethodHandle$Holder.delegate([Ljava/lang/Object;)Ljava/lang/Object;
39+
- stub java/lang/invoke/Invokers$Holder.invoker([Ljava/lang/Object;)Ljava/lang/Object;
40+
- stub java/lang/invoke/DirectMethodHandle$Holder.getReference([Ljava/lang/Object;)Ljava/lang/Object;
41+
- consolidate array class creation
42+
- upgrade default java version to 21.0.8.9.1
43+
- move primitive and array class creation into class loader
44+
- remove use of custom garbage collector box
45+
- update jit and main readme
46+
- add timing to compatibility tests
47+
- Merge pull request #482 from theseus-rs/impl-string-intern
48+
- add method and string integration tests
49+
50+
## `ristretto_vm` - [0.24.0](https://github.com/theseus-rs/ristretto/compare/ristretto_vm-v0.23.0...ristretto_vm-v0.24.0) - 2025-07-22
51+
52+
### Added
53+
- add background jit compiler
54+
- implement java/lang/reflect/Array
55+
- implement java/lang/String.intern()Ljava/lang/String;
56+
- add initial string pool
57+
- improve class loader reflection; initial class loader and module support
58+
59+
### Fixed
60+
- add Unsafe support for getting/setting Class static fields
61+
- update java/lang/invoke/MethodHandleNatives.staticFieldOffset(Ljava/lang/invoke/MemberName;)J to get the correct class name
62+
- unbox primitives for constructor reflection
63+
- update java/lang/Class.forName0 to throw ClassNotFoundException for primitive types
64+
- correct java/lang/Class.getRawAnnotations()[B and java/lang/Class.getRawTypeAnnotations()[B to return zero length in byte array when there are no annotations
65+
- correct multinewarray instruction
66+
- correct jdk.internal.misc.Unsafe put methods
67+
- correct private method invocation
68+
- correct inherited static method invocation
69+
- correct java/lang/System.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
70+
71+
### Other
72+
- stub java/lang/invoke/DelegatingMethodHandle$Holder.reinvoke_L([Ljava/lang/Object;)Ljava/lang/Object;
73+
- stub java/lang/invoke/DelegatingMethodHandle$Holder.delegate([Ljava/lang/Object;)Ljava/lang/Object;
74+
- stub java/lang/invoke/Invokers$Holder.invoker([Ljava/lang/Object;)Ljava/lang/Object;
75+
- stub java/lang/invoke/DirectMethodHandle$Holder.getReference([Ljava/lang/Object;)Ljava/lang/Object;
76+
- consolidate array class creation
77+
- upgrade default java version to 21.0.8.9.1
78+
- move primitive and array class creation into class loader
79+
- add timing to compatibility tests
80+
- Merge pull request #482 from theseus-rs/impl-string-intern
81+
- add method and string integration tests
82+
83+
## `ristretto_jit` - [0.24.0](https://github.com/theseus-rs/ristretto/compare/ristretto_jit-v0.23.0...ristretto_jit-v0.24.0) - 2025-07-22
84+
85+
### Other
86+
- update jit and main readme
87+
88+
## `ristretto_classloader` - [0.24.0](https://github.com/theseus-rs/ristretto/compare/ristretto_classloader-v0.23.0...ristretto_classloader-v0.24.0) - 2025-07-22
89+
90+
### Added
91+
- improve class loader reflection; initial class loader and module support
92+
93+
### Fixed
94+
- do not deep clone java.lang.Class objects
95+
- unbox primitives for constructor reflection
96+
- correct class loading hierarchy logic
97+
- correct java/lang/Class.getRawAnnotations()[B and java/lang/Class.getRawTypeAnnotations()[B to return zero length in byte array when there are no annotations
98+
- correct private method invocation
99+
100+
### Other
101+
- stub java/lang/invoke/DelegatingMethodHandle$Holder.reinvoke_L([Ljava/lang/Object;)Ljava/lang/Object;
102+
- stub java/lang/invoke/DelegatingMethodHandle$Holder.delegate([Ljava/lang/Object;)Ljava/lang/Object;
103+
- stub java/lang/invoke/Invokers$Holder.invoker([Ljava/lang/Object;)Ljava/lang/Object;
104+
- stub java/lang/invoke/DirectMethodHandle$Holder.getReference([Ljava/lang/Object;)Ljava/lang/Object;
105+
- consolidate array class creation
106+
- upgrade default java version to 21.0.8.9.1
107+
- move primitive and array class creation into class loader
108+
109+
## `ristretto_gc` - [0.24.0](https://github.com/theseus-rs/ristretto/compare/ristretto_gc-v0.23.0...ristretto_gc-v0.24.0) - 2025-07-22
110+
111+
### Fixed
112+
- correct private method invocation
113+
- reduce gc memory utilization
114+
115+
### Other
116+
- remove use of custom garbage collector box
117+
10118
## `ristretto_cli` - [0.23.0](https://github.com/theseus-rs/ristretto/compare/v0.22.0...v0.23.0) - 2025-07-13
11119

12120
### Added

Cargo.lock

Lines changed: 11 additions & 11 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
@@ -28,7 +28,7 @@ keywords = ["java", "jvm"]
2828
license = "Apache-2.0 OR MIT"
2929
repository = "https://github.com/theseus-rs/ristretto"
3030
rust-version = "1.88.0"
31-
version = "0.23.0"
31+
version = "0.24.0"
3232

3333
[workspace.dependencies]
3434
anstyle = "1.0.11"

ristretto_classloader/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ version.workspace = true
1414
flate2 = { workspace = true }
1515
indexmap = { workspace = true }
1616
reqwest = { workspace = true, features = ["json"] }
17-
ristretto_classfile = { path = "../ristretto_classfile", version = "0.23.0" }
18-
ristretto_gc = { path = "../ristretto_gc", version = "0.23.0" }
17+
ristretto_classfile = { path = "../ristretto_classfile", version = "0.24.0" }
18+
ristretto_gc = { path = "../ristretto_gc", version = "0.24.0" }
1919
serde = { workspace = true, features = ["derive"] }
2020
serde_plain = { workspace = true }
2121
tar = { workspace = true }

ristretto_cli/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ path = "src/main.rs"
2626
anstyle = { workspace = true }
2727
clap = { workspace = true, features = ["derive"] }
2828
os_info = { workspace = true }
29-
ristretto_vm = { path = "../ristretto_vm", version = "0.23.0" }
29+
ristretto_vm = { path = "../ristretto_vm", version = "0.24.0" }
3030
tracing = { workspace = true }
3131
tracing-subscriber = { workspace = true, features = ["env-filter"] }
3232

ristretto_jit/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ rust-version.workspace = true
1111
version.workspace = true
1212

1313
[dependencies]
14-
ristretto_classfile = { path = "../ristretto_classfile", version = "0.23.0" }
14+
ristretto_classfile = { path = "../ristretto_classfile", version = "0.24.0" }
1515
thiserror = { workspace = true }
1616

1717
[target.'cfg(target_family = "wasm")'.dependencies]

ristretto_macros/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@ proc-macro = true
1616
[dependencies]
1717
proc-macro2 = { workspace = true }
1818
quote = { workspace = true }
19-
ristretto_classfile = { path = "../ristretto_classfile", version = "0.23.0" }
19+
ristretto_classfile = { path = "../ristretto_classfile", version = "0.24.0" }
2020
syn = { workspace = true, features = ["full"] }

ristretto_vm/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ path = "src/lib.rs"
1818
# Add this section for build dependencies
1919
[build-dependencies]
2020
phf_codegen = { workspace = true }
21-
ristretto_classfile = { path = "../ristretto_classfile", version = "0.23.0" }
21+
ristretto_classfile = { path = "../ristretto_classfile", version = "0.24.0" }
2222
syn = { workspace = true }
2323
walkdir = { workspace = true }
2424

@@ -34,11 +34,11 @@ filetime = { workspace = true }
3434
indexmap = { workspace = true }
3535
os_info = { workspace = true }
3636
phf = { workspace = true }
37-
ristretto_classfile = { path = "../ristretto_classfile", version = "0.23.0" }
38-
ristretto_classloader = { path = "../ristretto_classloader", version = "0.23.0" }
39-
ristretto_gc = { path = "../ristretto_gc", version = "0.23.0" }
40-
ristretto_jit = { path = "../ristretto_jit", version = "0.23.0" }
41-
ristretto_macros = { path = "../ristretto_macros", version = "0.23.0" }
37+
ristretto_classfile = { path = "../ristretto_classfile", version = "0.24.0" }
38+
ristretto_classloader = { path = "../ristretto_classloader", version = "0.24.0" }
39+
ristretto_gc = { path = "../ristretto_gc", version = "0.24.0" }
40+
ristretto_jit = { path = "../ristretto_jit", version = "0.24.0" }
41+
ristretto_macros = { path = "../ristretto_macros", version = "0.24.0" }
4242
stacker = { workspace = true }
4343
sysinfo = { workspace = true }
4444
sys-locale = { workspace = true }

0 commit comments

Comments
 (0)