Skip to content

Commit b7ed192

Browse files
jderegclaude
andcommitted
Documentation: Update json-io documentation for version 4.61.0
- Marked version 4.61.0 as released in changelog (removed "Unreleased" label) - Added 4.62.0 (Unreleased) section for future changes - Updated README.md to mention useUnsafe feature added in 4.61.0 - Ensured java-util dependency is at 4.1.0 in pom.xml - All version references are consistent at 4.61.0 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 76109d2 commit b7ed192

File tree

3 files changed

+15
-13
lines changed

3 files changed

+15
-13
lines changed

README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@ Key Features:
1212
- Fully compatible with both JPMS and OSGi environments
1313
- Lightweight (`json-io.jar` is ~300K, `java-util` is ~600K)
1414
- Compatible with JDK 1.8 through JDK 24
15-
- As of version 4.60.0 the library is built with the `-parameters`
15+
- As of version 4.61.0 the library is built with the `-parameters`
1616
compiler flag. Parameter names are now retained for tasks such as
1717
constructor discovery.
18+
- Optional unsafe mode (4.61.0+) for deserializing package-private classes, inner classes,
19+
and classes without accessible constructors (opt-in for security)
1820
- Extensive configuration options via `ReadOptionsBuilder` and `WriteOptionsBuilder`
1921
- Optionally parse JSON with unknown class references into a Map-of-Maps representation
2022
- Featured on [json.org](http://json.org)
@@ -35,15 +37,15 @@ ___
3537
To include in your project:
3638
##### Gradle
3739
```groovy
38-
implementation 'com.cedarsoftware:json-io:4.60.0'
40+
implementation 'com.cedarsoftware:json-io:4.61.0'
3941
```
4042

4143
##### Maven
4244
```xml
4345
<dependency>
4446
<groupId>com.cedarsoftware</groupId>
4547
<artifactId>json-io</artifactId>
46-
<version>4.60.0</version>
48+
<version>4.61.0</version>
4749
</dependency>
4850
```
4951

@@ -56,18 +58,18 @@ ___
5658
>#### [Revision History](/changelog.md)
5759
5860
## Releases
59-
>### 4.60.0 (current)
60-
>- [ ] **Version**: [4.60.0](https://www.javadoc.io/doc/com.cedarsoftware/json-io/4.60.0/index.html)
61+
>### 4.61.0 (current)
62+
>- [ ] **Version**: [4.61.0](https://www.javadoc.io/doc/com.cedarsoftware/json-io/4.61.0/index.html)
6163
>- [ ] **Bundling**: Both JPMS (Java Platform Module System) and OSGi (Open Service Gateway initiative)
6264
>- [ ] **Maintained**: Fully
6365
>- [ ] **Java Package**: com.cedarsoftware.io
6466
>- [ ] **Java**: JDK1.8+ (Class file 52 format, includes module-info.class - multi-release JAR)
6567
>- [ ] **API**
66-
> - Static methods on [JsonIo](https://www.javadoc.io/doc/com.cedarsoftware/json-io/4.60.0/com/cedarsoftware/io/JsonIo.html): [toJson()](https://www.javadoc.io/static/com.cedarsoftware/json-io/4.60.0/com/cedarsoftware/io/JsonIo.html#toJson(java.lang.Object,com.cedarsoftware.io.WriteOptions)), [toJava()](https://www.javadoc.io/doc/com.cedarsoftware/json-io/latest/com/cedarsoftware/io/JsonIo.html#toJava(com.cedarsoftware.io.JsonObject,com.cedarsoftware.io.ReadOptions)), [formatJson()](https://www.javadoc.io/static/com.cedarsoftware/json-io/4.60.0/com/cedarsoftware/io/JsonIo.html#formatJson(java.lang.String)), [deepCopy()](https://www.javadoc.io/static/com.cedarsoftware/json-io/4.60.0/com/cedarsoftware/io/JsonIo.html#deepCopy(java.lang.Object,com.cedarsoftware.io.ReadOptions,com.cedarsoftware.io.WriteOptions))
68+
> - Static methods on [JsonIo](https://www.javadoc.io/doc/com.cedarsoftware/json-io/4.61.0/com/cedarsoftware/io/JsonIo.html): [toJson()](https://www.javadoc.io/static/com.cedarsoftware/json-io/4.61.0/com/cedarsoftware/io/JsonIo.html#toJson(java.lang.Object,com.cedarsoftware.io.WriteOptions)), [toJava()](https://www.javadoc.io/doc/com.cedarsoftware/json-io/latest/com/cedarsoftware/io/JsonIo.html#toJava(com.cedarsoftware.io.JsonObject,com.cedarsoftware.io.ReadOptions)), [formatJson()](https://www.javadoc.io/static/com.cedarsoftware/json-io/4.61.0/com/cedarsoftware/io/JsonIo.html#formatJson(java.lang.String)), [deepCopy()](https://www.javadoc.io/static/com.cedarsoftware/json-io/4.61.0/com/cedarsoftware/io/JsonIo.html#deepCopy(java.lang.Object,com.cedarsoftware.io.ReadOptions,com.cedarsoftware.io.WriteOptions))
6769
> - Use [ReadOptionsBuilder](/user-guide-readOptions.md) and [WriteOptionsBuilder](/user-guide-writeOptions.md) to configure `JsonIo`
68-
> - Use [JsonReader.ClassFactory](https://www.javadoc.io/static/com.cedarsoftware/json-io/4.60.0/com/cedarsoftware/io/JsonReader.ClassFactory.html) for difficult classes (hard to instantiate & fill)
69-
> - Use [JsonWriter.JsonClassWriter](https://www.javadoc.io/static/com.cedarsoftware/json-io/4.60.0/com/cedarsoftware/io/JsonWriter.JsonClassWriter.html) to customize the output JSON for a particular class
70-
>- [ ] Updates will be 4.61.0, 4.62.0, ...
70+
> - Use [JsonReader.ClassFactory](https://www.javadoc.io/static/com.cedarsoftware/json-io/4.61.0/com/cedarsoftware/io/JsonReader.ClassFactory.html) for difficult classes (hard to instantiate & fill)
71+
> - Use [JsonWriter.JsonClassWriter](https://www.javadoc.io/static/com.cedarsoftware/json-io/4.61.0/com/cedarsoftware/io/JsonWriter.JsonClassWriter.html) to customize the output JSON for a particular class
72+
>- [ ] Updates will be 4.62.0, 4.63.0, ...
7173
>### 4.14.x (supported)
7274
>- [ ] **Version**: [4.14.3](https://www.javadoc.io/doc/com.cedarsoftware/json-io/4.14.3/index.html)
7375
>- [ ] **Bundling**: Both JPMS (Java Platform Module System) and OSGi (Open Service Gateway initiative)
@@ -109,5 +111,3 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
109111
See the License for the specific language governing permissions and
110112
limitations under the License.
111113
```
112-
113-
by John DeRegnaucourt and Kenny Partlow

changelog.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
### Revision History
2-
#### 4.61.0 (Unreleased)
2+
#### 4.62.0 (Unreleased)
3+
4+
#### 4.61.0
35
* **FEATURE**: Added `useUnsafe` option to `ReadOptions` to control unsafe object instantiation. When enabled, json-io can deserialize package-private classes, inner classes, and classes without accessible constructors. This feature is opt-in for security reasons and uses thread-local settings to prevent interference between concurrent deserializations.
46
* **TEST**: Fixed `DistanceBetweenClassesTest.testPrimitives` to accommodate changes in java-util 4.0.1's `ClassUtilities.computeInheritanceDistance()` method. The method now correctly recognizes primitive widening conversions (e.g., byte to int returns distance 2, short to int returns distance 1).
57
* **FIX**: PR #426 - Windows compatibility fixes for json-io:

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss.SSSZ</maven.build.timestamp.format>
2727
<!-- remove source encoding warnings from maven output -->
2828
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
29-
<version.java-util>4.0.1</version.java-util>
29+
<version.java-util>4.1.0</version.java-util>
3030
<!-- testing only -->
3131
<version.junit-jupiter-api>5.13.4</version.junit-jupiter-api>
3232
<version.junit-jupiter-params>5.13.4</version.junit-jupiter-params>

0 commit comments

Comments
 (0)