diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 1dbdc52..bda42a0 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -26,3 +26,6 @@ jobs:
- name: Test
run: mvn -B test
+
+ - name: Javadoc
+ run: mvn -B javadoc:javadoc
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6c7cc80..f9d9d21 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
# Changelog
+## [1.10.1] - 2026-JUN-23
+
+### Fixed
+
+- **Maven Central publish**: Javadoc generation failed on model comments containing `>`, `>=`, or `->` from OpenAPI descriptions (e.g. margin threshold comparisons, call priority ordering). Disabled doclint HTML checks in `maven-javadoc-plugin` so generated comments stay human-readable while Javadoc still builds for release.
+- **CI**: PR workflow runs `mvn javadoc:javadoc` so Javadoc failures are caught before release.
+
## [1.10.0] - 2026-JUN-17
### Added
diff --git a/pom.xml b/pom.xml
index 7c73f85..4692aee 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
Sample Java SDK for the Coinbase Prime REST APIs
com.coinbase.prime
https://github.com/coinbase/prime-sdk-java
- 1.10.0
+ 1.10.1
Apache License, Version 2.0
@@ -96,6 +96,9 @@
org.apache.maven.plugins
maven-javadoc-plugin
3.7.0
+
+ none
+
attach-javadocs
diff --git a/tools/model-generator/pom.xml b/tools/model-generator/pom.xml
index d0630c3..ad96db7 100644
--- a/tools/model-generator/pom.xml
+++ b/tools/model-generator/pom.xml
@@ -75,6 +75,13 @@
slf4j-simple
2.0.9
+
+
+ org.junit.jupiter
+ junit-jupiter
+ 5.10.0
+ test
+
@@ -88,6 +95,11 @@
11
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.0.0-M5
+
org.apache.maven.plugins
maven-shade-plugin
diff --git a/tools/model-generator/src/test/java/com/coinbase/tools/modelgenerator/PostProcessorJavadocTest.java b/tools/model-generator/src/test/java/com/coinbase/tools/modelgenerator/PostProcessorJavadocTest.java
new file mode 100644
index 0000000..f49d4b2
--- /dev/null
+++ b/tools/model-generator/src/test/java/com/coinbase/tools/modelgenerator/PostProcessorJavadocTest.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2026-present Coinbase Global, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.coinbase.tools.modelgenerator;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import org.junit.jupiter.api.Test;
+
+class PostProcessorJavadocTest {
+
+ @Test
+ void decodeHtmlEntities_decodesCommonEntities() {
+ assertEquals(
+ "aged > urgent > standard > debit",
+ PostProcessor.decodeHtmlEntities("aged > urgent > standard > debit"));
+ assertEquals(
+ "EQ / MR >= threshold_value",
+ PostProcessor.decodeHtmlEntities("EQ / MR >= threshold_value"));
+ assertEquals(
+ "(tier_a, tier_b) -> rate",
+ PostProcessor.decodeHtmlEntities("(tier_a, tier_b) -> rate"));
+ assertEquals(
+ "margin excess is > 0",
+ PostProcessor.decodeHtmlEntities("margin excess is > 0"));
+ }
+
+ @Test
+ void decodeHtmlEntities_leavesPlainTextUnchanged() {
+ assertEquals(
+ "aged > urgent > standard > debit",
+ PostProcessor.decodeHtmlEntities("aged > urgent > standard > debit"));
+ assertEquals(
+ "EQ / MR >= threshold_value",
+ PostProcessor.decodeHtmlEntities("EQ / MR >= threshold_value"));
+ }
+
+ @Test
+ void decodeHtmlEntities_decodesAcrossFullFileContent() {
+ String input =
+ "public class Foo {\n"
+ + " /**\n"
+ + " * aged > urgent > standard > debit.\n"
+ + " */\n"
+ + " private String bar;\n"
+ + "}\n";
+
+ String expected =
+ "public class Foo {\n"
+ + " /**\n"
+ + " * aged > urgent > standard > debit.\n"
+ + " */\n"
+ + " private String bar;\n"
+ + "}\n";
+
+ assertEquals(expected, PostProcessor.decodeHtmlEntities(input));
+ }
+}