This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new d31a1045bc Revert to snapshot version
d31a1045bc is described below

commit d31a1045bc0915353a38da65f2777eb11759bfb0
Author: James Bognar <[email protected]>
AuthorDate: Tue Dec 30 11:08:59 2025 -0500

    Revert to snapshot version
---
 juneau-bean/juneau-bean-atom/pom.xml               |   2 +-
 juneau-bean/juneau-bean-common/pom.xml             |   2 +-
 juneau-bean/juneau-bean-html5/pom.xml              |   2 +-
 juneau-bean/juneau-bean-jsonschema/pom.xml         |   2 +-
 juneau-bean/juneau-bean-openapi-v3/pom.xml         |   2 +-
 juneau-bean/juneau-bean-swagger-v2/pom.xml         |   2 +-
 juneau-bean/pom.xml                                |   2 +-
 juneau-core/juneau-assertions/pom.xml              |   2 +-
 juneau-core/juneau-bct/pom.xml                     |   2 +-
 juneau-core/juneau-commons/pom.xml                 |   2 +-
 juneau-core/juneau-config/pom.xml                  |   2 +-
 juneau-core/juneau-marshall/pom.xml                |   2 +-
 juneau-core/pom.xml                                |   2 +-
 juneau-distrib/pom.xml                             |   2 +-
 juneau-examples/juneau-examples-core/pom.xml       |   2 +-
 .../juneau-examples-rest-jetty-ftest/pom.xml       |   2 +-
 juneau-examples/juneau-examples-rest-jetty/pom.xml |   2 +-
 .../juneau-examples-rest-springboot/pom.xml        |   2 +-
 juneau-examples/juneau-examples-rest/pom.xml       |   2 +-
 juneau-examples/pom.xml                            |   2 +-
 .../juneau-microservice-core/pom.xml               |   2 +-
 .../juneau-microservice-jetty/pom.xml              |   2 +-
 .../juneau-my-jetty-microservice/pom.xml           |   4 +-
 .../juneau-my-springboot-microservice/pom.xml      |   4 +-
 juneau-microservice/pom.xml                        |   2 +-
 juneau-rest/juneau-rest-client/pom.xml             |   2 +-
 juneau-rest/juneau-rest-common/pom.xml             |   2 +-
 juneau-rest/juneau-rest-mock/pom.xml               |   2 +-
 juneau-rest/juneau-rest-server-springboot/pom.xml  |   2 +-
 juneau-rest/juneau-rest-server/pom.xml             |   2 +-
 juneau-rest/pom.xml                                |   2 +-
 juneau-sc/juneau-sc-client/pom.xml                 |   2 +-
 juneau-sc/juneau-sc-server/pom.xml                 |   2 +-
 juneau-sc/pom.xml                                  |   2 +-
 juneau-shaded/juneau-shaded-all/pom.xml            |   2 +-
 juneau-shaded/juneau-shaded-core/pom.xml           |   2 +-
 juneau-shaded/juneau-shaded-rest-client/pom.xml    |   2 +-
 .../juneau-shaded-rest-server-springboot/pom.xml   |   2 +-
 juneau-shaded/juneau-shaded-rest-server/pom.xml    |   2 +-
 juneau-shaded/pom.xml                              |   2 +-
 juneau-utest/pom.xml                               |   2 +-
 pom.xml                                            |   2 +-
 scripts/release.py                                 | 288 +++++++++++++++++++--
 43 files changed, 316 insertions(+), 60 deletions(-)

diff --git a/juneau-bean/juneau-bean-atom/pom.xml 
b/juneau-bean/juneau-bean-atom/pom.xml
index a366729e9b..6ca93a0b53 100644
--- a/juneau-bean/juneau-bean-atom/pom.xml
+++ b/juneau-bean/juneau-bean-atom/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-bean</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-bean-atom</artifactId>
diff --git a/juneau-bean/juneau-bean-common/pom.xml 
b/juneau-bean/juneau-bean-common/pom.xml
index f41c2dca63..035e606b08 100644
--- a/juneau-bean/juneau-bean-common/pom.xml
+++ b/juneau-bean/juneau-bean-common/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-bean</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-bean-common</artifactId>
diff --git a/juneau-bean/juneau-bean-html5/pom.xml 
b/juneau-bean/juneau-bean-html5/pom.xml
index 8920d06a60..911ef034cd 100644
--- a/juneau-bean/juneau-bean-html5/pom.xml
+++ b/juneau-bean/juneau-bean-html5/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-bean</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-bean-html5</artifactId>
diff --git a/juneau-bean/juneau-bean-jsonschema/pom.xml 
b/juneau-bean/juneau-bean-jsonschema/pom.xml
index 797d55b619..3cd28dc390 100644
--- a/juneau-bean/juneau-bean-jsonschema/pom.xml
+++ b/juneau-bean/juneau-bean-jsonschema/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-bean</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-bean-jsonschema</artifactId>
diff --git a/juneau-bean/juneau-bean-openapi-v3/pom.xml 
b/juneau-bean/juneau-bean-openapi-v3/pom.xml
index 27a039fa41..6a6ef80d59 100644
--- a/juneau-bean/juneau-bean-openapi-v3/pom.xml
+++ b/juneau-bean/juneau-bean-openapi-v3/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-bean</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-bean-openapi-v3</artifactId>
diff --git a/juneau-bean/juneau-bean-swagger-v2/pom.xml 
b/juneau-bean/juneau-bean-swagger-v2/pom.xml
index a089634f50..5ee01f4fec 100644
--- a/juneau-bean/juneau-bean-swagger-v2/pom.xml
+++ b/juneau-bean/juneau-bean-swagger-v2/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-bean</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-bean-swagger-v2</artifactId>
diff --git a/juneau-bean/pom.xml b/juneau-bean/pom.xml
index 9ec9ad5b37..b772d42ab8 100644
--- a/juneau-bean/pom.xml
+++ b/juneau-bean/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-bean</artifactId>
diff --git a/juneau-core/juneau-assertions/pom.xml 
b/juneau-core/juneau-assertions/pom.xml
index 2c77c438db..85540716cd 100644
--- a/juneau-core/juneau-assertions/pom.xml
+++ b/juneau-core/juneau-assertions/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-core</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-assertions</artifactId>
diff --git a/juneau-core/juneau-bct/pom.xml b/juneau-core/juneau-bct/pom.xml
index 21a7090d3a..9dbd865c27 100644
--- a/juneau-core/juneau-bct/pom.xml
+++ b/juneau-core/juneau-bct/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-core</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-bct</artifactId>
diff --git a/juneau-core/juneau-commons/pom.xml 
b/juneau-core/juneau-commons/pom.xml
index dd7b5198c3..212978dde7 100644
--- a/juneau-core/juneau-commons/pom.xml
+++ b/juneau-core/juneau-commons/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-core</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-commons</artifactId>
diff --git a/juneau-core/juneau-config/pom.xml 
b/juneau-core/juneau-config/pom.xml
index b7f4c77c52..c86986b272 100644
--- a/juneau-core/juneau-config/pom.xml
+++ b/juneau-core/juneau-config/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-core</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-config</artifactId>
diff --git a/juneau-core/juneau-marshall/pom.xml 
b/juneau-core/juneau-marshall/pom.xml
index 5b77618e14..8627b8cfbd 100644
--- a/juneau-core/juneau-marshall/pom.xml
+++ b/juneau-core/juneau-marshall/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-core</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-marshall</artifactId>
diff --git a/juneau-core/pom.xml b/juneau-core/pom.xml
index 863d46fcf4..209cd0f611 100644
--- a/juneau-core/pom.xml
+++ b/juneau-core/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-core</artifactId>
diff --git a/juneau-distrib/pom.xml b/juneau-distrib/pom.xml
index 425a99d1a1..af8a77c49c 100644
--- a/juneau-distrib/pom.xml
+++ b/juneau-distrib/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-distrib</artifactId>
diff --git a/juneau-examples/juneau-examples-core/pom.xml 
b/juneau-examples/juneau-examples-core/pom.xml
index a7708f6cf2..50e22ca13f 100644
--- a/juneau-examples/juneau-examples-core/pom.xml
+++ b/juneau-examples/juneau-examples-core/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <artifactId>juneau-examples</artifactId>
                <groupId>org.apache.juneau</groupId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-examples-core</artifactId>
diff --git a/juneau-examples/juneau-examples-rest-jetty-ftest/pom.xml 
b/juneau-examples/juneau-examples-rest-jetty-ftest/pom.xml
index 8e9a2ea5be..a15e48d87f 100644
--- a/juneau-examples/juneau-examples-rest-jetty-ftest/pom.xml
+++ b/juneau-examples/juneau-examples-rest-jetty-ftest/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-examples</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-examples-rest-jetty-ftest</artifactId>
diff --git a/juneau-examples/juneau-examples-rest-jetty/pom.xml 
b/juneau-examples/juneau-examples-rest-jetty/pom.xml
index 87c0f3eafb..3952efcb5a 100644
--- a/juneau-examples/juneau-examples-rest-jetty/pom.xml
+++ b/juneau-examples/juneau-examples-rest-jetty/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-examples</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-examples-rest-jetty</artifactId>
diff --git a/juneau-examples/juneau-examples-rest-springboot/pom.xml 
b/juneau-examples/juneau-examples-rest-springboot/pom.xml
index 596946533e..72309373d2 100644
--- a/juneau-examples/juneau-examples-rest-springboot/pom.xml
+++ b/juneau-examples/juneau-examples-rest-springboot/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-examples</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-examples-rest-springboot</artifactId>
diff --git a/juneau-examples/juneau-examples-rest/pom.xml 
b/juneau-examples/juneau-examples-rest/pom.xml
index 3ceddfd8ab..acb0612667 100644
--- a/juneau-examples/juneau-examples-rest/pom.xml
+++ b/juneau-examples/juneau-examples-rest/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-examples</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-examples-rest</artifactId>
diff --git a/juneau-examples/pom.xml b/juneau-examples/pom.xml
index efaa573ed0..8ea0bb6708 100644
--- a/juneau-examples/pom.xml
+++ b/juneau-examples/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-examples</artifactId>
diff --git a/juneau-microservice/juneau-microservice-core/pom.xml 
b/juneau-microservice/juneau-microservice-core/pom.xml
index 27dd55370c..5c0fd44e05 100644
--- a/juneau-microservice/juneau-microservice-core/pom.xml
+++ b/juneau-microservice/juneau-microservice-core/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-microservice</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-microservice-core</artifactId>
diff --git a/juneau-microservice/juneau-microservice-jetty/pom.xml 
b/juneau-microservice/juneau-microservice-jetty/pom.xml
index e79bcba8fc..b27f246e25 100644
--- a/juneau-microservice/juneau-microservice-jetty/pom.xml
+++ b/juneau-microservice/juneau-microservice-jetty/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-microservice</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-microservice-jetty</artifactId>
diff --git a/juneau-microservice/juneau-my-jetty-microservice/pom.xml 
b/juneau-microservice/juneau-my-jetty-microservice/pom.xml
index 72d2c881a1..d9769baa02 100644
--- a/juneau-microservice/juneau-my-jetty-microservice/pom.xml
+++ b/juneau-microservice/juneau-my-jetty-microservice/pom.xml
@@ -30,7 +30,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-microservice</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-my-jetty-microservice</artifactId>
@@ -38,7 +38,7 @@
        <description>Apache Juneau Jetty Microservice Template</description>
 
        <properties>
-               <juneau.version>9.2.1-SNAPSHOT</juneau.version>
+               <juneau.version>9.2.0-SNAPSHOT</juneau.version>
                
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>
 
diff --git a/juneau-microservice/juneau-my-springboot-microservice/pom.xml 
b/juneau-microservice/juneau-my-springboot-microservice/pom.xml
index b195a544ca..c901d6d307 100644
--- a/juneau-microservice/juneau-my-springboot-microservice/pom.xml
+++ b/juneau-microservice/juneau-my-springboot-microservice/pom.xml
@@ -30,7 +30,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-microservice</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-my-springboot-microservice</artifactId>
@@ -38,7 +38,7 @@
        <description>Apache Juneau Spring Boot Microservice 
Template</description>
 
        <properties>
-               <juneau.version>9.2.1-SNAPSHOT</juneau.version>
+               <juneau.version>9.2.0-SNAPSHOT</juneau.version>
                
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>
 
diff --git a/juneau-microservice/pom.xml b/juneau-microservice/pom.xml
index 2aad9e95e8..a4292e9189 100644
--- a/juneau-microservice/pom.xml
+++ b/juneau-microservice/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-microservice</artifactId>
diff --git a/juneau-rest/juneau-rest-client/pom.xml 
b/juneau-rest/juneau-rest-client/pom.xml
index a064713c39..364d27128f 100644
--- a/juneau-rest/juneau-rest-client/pom.xml
+++ b/juneau-rest/juneau-rest-client/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-rest</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-rest-client</artifactId>
diff --git a/juneau-rest/juneau-rest-common/pom.xml 
b/juneau-rest/juneau-rest-common/pom.xml
index 326fb2a8d0..351244e3ca 100644
--- a/juneau-rest/juneau-rest-common/pom.xml
+++ b/juneau-rest/juneau-rest-common/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-rest</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-rest-common</artifactId>
diff --git a/juneau-rest/juneau-rest-mock/pom.xml 
b/juneau-rest/juneau-rest-mock/pom.xml
index b22ec281a9..f0e6f41237 100644
--- a/juneau-rest/juneau-rest-mock/pom.xml
+++ b/juneau-rest/juneau-rest-mock/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-rest</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-rest-mock</artifactId>
diff --git a/juneau-rest/juneau-rest-server-springboot/pom.xml 
b/juneau-rest/juneau-rest-server-springboot/pom.xml
index f4ccfd7e22..fc580f8877 100644
--- a/juneau-rest/juneau-rest-server-springboot/pom.xml
+++ b/juneau-rest/juneau-rest-server-springboot/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-rest</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-rest-server-springboot</artifactId>
diff --git a/juneau-rest/juneau-rest-server/pom.xml 
b/juneau-rest/juneau-rest-server/pom.xml
index 1b26bdd24c..ad8575c52f 100644
--- a/juneau-rest/juneau-rest-server/pom.xml
+++ b/juneau-rest/juneau-rest-server/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-rest</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-rest-server</artifactId>
diff --git a/juneau-rest/pom.xml b/juneau-rest/pom.xml
index 2b32f74650..f698eed75a 100644
--- a/juneau-rest/pom.xml
+++ b/juneau-rest/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-rest</artifactId>
diff --git a/juneau-sc/juneau-sc-client/pom.xml 
b/juneau-sc/juneau-sc-client/pom.xml
index 1baa6b4655..107becabfc 100644
--- a/juneau-sc/juneau-sc-client/pom.xml
+++ b/juneau-sc/juneau-sc-client/pom.xml
@@ -26,7 +26,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-sc</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <build>
diff --git a/juneau-sc/juneau-sc-server/pom.xml 
b/juneau-sc/juneau-sc-server/pom.xml
index 6cc9d95c12..e7d198ca1a 100644
--- a/juneau-sc/juneau-sc-server/pom.xml
+++ b/juneau-sc/juneau-sc-server/pom.xml
@@ -26,7 +26,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-sc</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <dependencies>
diff --git a/juneau-sc/pom.xml b/juneau-sc/pom.xml
index 3d64e504c1..c88acc922b 100644
--- a/juneau-sc/pom.xml
+++ b/juneau-sc/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-sc</artifactId>
diff --git a/juneau-shaded/juneau-shaded-all/pom.xml 
b/juneau-shaded/juneau-shaded-all/pom.xml
index a52095c561..b39ba53a2b 100644
--- a/juneau-shaded/juneau-shaded-all/pom.xml
+++ b/juneau-shaded/juneau-shaded-all/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-shaded</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-shaded-all</artifactId>
diff --git a/juneau-shaded/juneau-shaded-core/pom.xml 
b/juneau-shaded/juneau-shaded-core/pom.xml
index c0a587f0a0..11bc4876a7 100644
--- a/juneau-shaded/juneau-shaded-core/pom.xml
+++ b/juneau-shaded/juneau-shaded-core/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-shaded</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-shaded-core</artifactId>
diff --git a/juneau-shaded/juneau-shaded-rest-client/pom.xml 
b/juneau-shaded/juneau-shaded-rest-client/pom.xml
index c5d644b725..76cdc3bf6a 100644
--- a/juneau-shaded/juneau-shaded-rest-client/pom.xml
+++ b/juneau-shaded/juneau-shaded-rest-client/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-shaded</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-shaded-rest-client</artifactId>
diff --git a/juneau-shaded/juneau-shaded-rest-server-springboot/pom.xml 
b/juneau-shaded/juneau-shaded-rest-server-springboot/pom.xml
index e434a791ea..b8f66b8621 100644
--- a/juneau-shaded/juneau-shaded-rest-server-springboot/pom.xml
+++ b/juneau-shaded/juneau-shaded-rest-server-springboot/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-shaded</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-shaded-rest-server-springboot</artifactId>
diff --git a/juneau-shaded/juneau-shaded-rest-server/pom.xml 
b/juneau-shaded/juneau-shaded-rest-server/pom.xml
index bfdf6c5950..4fcf57c1ed 100644
--- a/juneau-shaded/juneau-shaded-rest-server/pom.xml
+++ b/juneau-shaded/juneau-shaded-rest-server/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau-shaded</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-shaded-rest-server</artifactId>
diff --git a/juneau-shaded/pom.xml b/juneau-shaded/pom.xml
index f32f72b2b8..20ec01f34e 100644
--- a/juneau-shaded/pom.xml
+++ b/juneau-shaded/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-shaded</artifactId>
diff --git a/juneau-utest/pom.xml b/juneau-utest/pom.xml
index 21f22d74f5..09859c53bf 100644
--- a/juneau-utest/pom.xml
+++ b/juneau-utest/pom.xml
@@ -22,7 +22,7 @@
        <parent>
                <groupId>org.apache.juneau</groupId>
                <artifactId>juneau</artifactId>
-               <version>9.2.1-SNAPSHOT</version>
+               <version>9.2.0-SNAPSHOT</version>
        </parent>
 
        <artifactId>juneau-utest</artifactId>
diff --git a/pom.xml b/pom.xml
index 7db1c77fc6..30d66111a7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
 
        <groupId>org.apache.juneau</groupId>
        <artifactId>juneau</artifactId>
-       <version>9.2.1-SNAPSHOT</version>
+       <version>9.2.0-SNAPSHOT</version>
        <packaging>pom</packaging>
        <name>Apache Juneau</name>
        <description>Apache Juneau</description>
diff --git a/scripts/release.py b/scripts/release.py
index ea332c791d..7c56eb5390 100755
--- a/scripts/release.py
+++ b/scripts/release.py
@@ -324,6 +324,7 @@ class ReleaseScript:
         
         # Save history for next time
         history_values = {
+            'X_VERSION': version,
             'X_RELEASE_CANDIDATE': release_candidate,
             'X_STAGING': staging,
             'X_USERNAME': username,
@@ -826,10 +827,6 @@ class ReleaseScript:
             '-A', '*-source-release*', repo_url
         ], cwd=release_source_dir)
         
-        # Clean up any extra .sha512 files that might have been downloaded
-        for extra_sha512 in release_source_dir.glob('*.sha512'):
-            extra_sha512.unlink()
-        
         # Rename source zip file
         source_zip = release_source_dir / 
f"juneau-{version}-source-release.zip"
         if source_zip.exists():
@@ -845,12 +842,10 @@ class ReleaseScript:
             if asc_file.exists():
                 asc_file.rename(release_source_dir / 
f"apache-juneau-{version}-src.zip.asc")
             
-            # Generate SHA512
-            sha512_file = release_source_dir / 
f"apache-juneau-{version}-src.zip.sha512"
-            with open(sha512_file, 'w') as f:
-                subprocess.run([
-                    'gpg', '--print-md', 'SHA512', str(target_zip)
-                ], cwd=release_source_dir, stdout=f, check=True)
+            # Process .sha512 file (copy as-is, same as .asc)
+            sha512_file = release_source_dir / 
f"juneau-{version}-source-release.zip.sha512"
+            if sha512_file.exists():
+                sha512_file.rename(release_source_dir / 
f"apache-juneau-{version}-src.zip.sha512")
             
             # Remove old hash files
             for old_hash in release_source_dir.glob('*.sha1'):
@@ -875,12 +870,10 @@ class ReleaseScript:
             if bin_asc.exists():
                 bin_asc.rename(release_binaries_dir / 
f"apache-juneau-{version}-bin.zip.asc")
             
-            # Generate SHA512
-            sha512_file = release_binaries_dir / 
f"apache-juneau-{version}-bin.zip.sha512"
-            with open(sha512_file, 'w') as f:
-                subprocess.run([
-                    'gpg', '--print-md', 'SHA512', str(target_bin)
-                ], cwd=release_binaries_dir, stdout=f, check=True)
+            # Process .sha512 file (copy as-is, same as .asc)
+            bin_sha512 = release_binaries_dir / 
f"juneau-distrib-{version}-bin.zip.sha512"
+            if bin_sha512.exists():
+                bin_sha512.rename(release_binaries_dir / 
f"apache-juneau-{version}-bin.zip.sha512")
             
             # Remove old hash files
             for old_hash in release_binaries_dir.glob('*.sha1'):
@@ -1098,6 +1091,137 @@ Anyone can participate in testing and voting, not just 
committers, please feel f
             print(f"  {i:2d}. {step}")
         print()
     
+    def revert_release(self):
+        """Revert a release by deleting the tag, reverting Maven versions, and 
cleaning up SVN files."""
+        self.message("Reverting release")
+        self.start_timer()
+        
+        # Get version and release from state or environment
+        version = self.state.get('X_VERSION') or os.environ.get('X_VERSION')
+        release = self.state.get('X_RELEASE') or os.environ.get('X_RELEASE')
+        
+        if not version or not release:
+            self.fail("X_VERSION and X_RELEASE must be set. Cannot determine 
what to revert.")
+        
+        print(f"Version: {version}")
+        print(f"Release: {release}")
+        
+        # Confirm with user
+        if not self.yprompt(f"Are you sure you want to revert release 
{release}? This will delete the git tag and clean up SVN files."):
+            print("Revert cancelled.")
+            return
+        
+        staging = Path(os.environ.get('X_STAGING', 
'~/tmp/dist-release-juneau')).expanduser()
+        git_dir = staging / 'git' / 'juneau'
+        
+        # Step 1: Delete the git tag
+        print("\nStep 1: Deleting git tag...")
+        tag_name = release  # e.g., "juneau-9.2.0-RC2"
+        if git_dir.exists() and (git_dir / '.git').exists():
+            try:
+                # Check if tag exists locally
+                result = subprocess.run(
+                    ['git', 'tag', '-l', tag_name],
+                    cwd=git_dir,
+                    capture_output=True,
+                    text=True,
+                    check=False
+                )
+                if result.stdout.strip():
+                    print(f"  Found local tag: {tag_name}")
+                    self.run_command(['git', 'tag', '-d', tag_name], 
cwd=git_dir, check=False)
+                
+                # Delete remote tag
+                print(f"  Deleting remote tag: {tag_name}")
+                self.run_command(['git', 'push', 'origin', f':{tag_name}'], 
cwd=git_dir, check=False)
+                print("  ✓ Git tag deleted")
+            except Exception as e:
+                print(f"  Warning: Could not delete git tag: {e}")
+        else:
+            print(f"  Warning: Git directory not found at {git_dir}, skipping 
tag deletion")
+        
+        # Step 2: Revert Maven versions
+        print("\nStep 2: Reverting Maven versions...")
+        development_version = f"{version}-SNAPSHOT"
+        if git_dir.exists() and (git_dir / 'pom.xml').exists():
+            try:
+                print(f"  Reverting to development version: 
{development_version}")
+                self.run_command([
+                    'mvn', 'release:update-versions',
+                    '-DautoVersionSubmodules=true',
+                    f'-DdevelopmentVersion={development_version}'
+                ], cwd=git_dir)
+                print("  ✓ Maven versions reverted")
+            except Exception as e:
+                print(f"  Warning: Could not revert Maven versions: {e}")
+        else:
+            print(f"  Warning: Git directory or pom.xml not found at 
{git_dir}, skipping Maven version revert")
+        
+        # Step 3: Clean up SVN files
+        print("\nStep 3: Cleaning up SVN files...")
+        dist_dir = staging / 'dist'
+        if dist_dir.exists() and (dist_dir / '.svn').exists():
+            try:
+                # Update SVN first
+                self.run_command(['svn', 'update'], cwd=dist_dir, check=False)
+                
+                # Find and remove RC directories
+                binaries_dir = dist_dir / 'binaries'
+                source_dir = dist_dir / 'source'
+                
+                removed_any = False
+                
+                # Remove from binaries
+                if binaries_dir.exists():
+                    for item in binaries_dir.iterdir():
+                        if item.is_dir() and 'RC' in item.name:
+                            print(f"  Removing: binaries/{item.name}")
+                            self.run_command(['svn', 'rm', 
str(item.relative_to(dist_dir))], cwd=dist_dir, check=False)
+                            removed_any = True
+                
+                # Remove from source
+                if source_dir.exists():
+                    for item in source_dir.iterdir():
+                        if item.is_dir() and 'RC' in item.name:
+                            print(f"  Removing: source/{item.name}")
+                            self.run_command(['svn', 'rm', 
str(item.relative_to(dist_dir))], cwd=dist_dir, check=False)
+                            removed_any = True
+                
+                if removed_any:
+                    # Check status
+                    result = subprocess.run(
+                        ['svn', 'status'],
+                        cwd=dist_dir,
+                        capture_output=True,
+                        text=True,
+                        check=False
+                    )
+                    if result.stdout and 'D' in result.stdout:
+                        print("\n  SVN changes ready to commit:")
+                        print(result.stdout)
+                        if self.yprompt("Commit SVN deletions?"):
+                            self.run_command(['svn', 'commit', '-m', f'Remove 
{release} release candidate'], cwd=dist_dir)
+                            print("  ✓ SVN files cleaned up and committed")
+                        else:
+                            print("  SVN deletions staged but not committed")
+                    else:
+                        print("  No SVN changes to commit")
+                else:
+                    print("  No RC directories found in SVN")
+            except Exception as e:
+                print(f"  Warning: Could not clean up SVN files: {e}")
+        else:
+            print(f"  Warning: SVN directory not found at {dist_dir}, skipping 
SVN cleanup")
+        
+        self.end_timer()
+        print("\n" + "=" * 79)
+        print("✅ Release revert complete!")
+        print("=" * 79)
+        print(f"\nNote: You may need to manually:")
+        print(f"  - Reset your local git repository if needed")
+        print(f"  - Verify Maven versions were reverted correctly")
+        print(f"  - Check SVN repository for any remaining files")
+    
     def run(self):
         """Run the release script."""
         # Prompt for PGP passphrase early (before any time-consuming 
operations)
@@ -1174,6 +1298,11 @@ def main():
         action='store_true',
         help='Resume from the last checkpoint (if available)'
     )
+    parser.add_argument(
+        '--revert',
+        action='store_true',
+        help='Revert a release by deleting the git tag, reverting Maven 
versions, and cleaning up SVN files'
+    )
     
     args = parser.parse_args()
     
@@ -1184,6 +1313,133 @@ def main():
         script.list_steps()
         return
     
+    # If reverting, handle it separately
+    if args.revert:
+        # Try to determine RC and load state
+        rc = None
+        state_data = {}
+        
+        # Try to extract from X_RELEASE environment variable
+        x_release = os.environ.get('X_RELEASE')
+        if x_release:
+            rc_match = re.search(r'RC(\d+)', x_release)
+            if rc_match:
+                rc = int(rc_match.group(1))
+                print(f"📌 Detected RC number from X_RELEASE: {rc}")
+        
+        # Try to extract from state file
+        state_file = STATE_FILE
+        if state_file.exists():
+            try:
+                with open(state_file, 'r') as f:
+                    state_data = json.load(f)
+                x_release = state_data.get('X_RELEASE')
+                if x_release and rc is None:
+                    rc_match = re.search(r'RC(\d+)', x_release)
+                    if rc_match:
+                        rc = int(rc_match.group(1))
+                        print(f"📌 Detected RC number from state file: {rc}")
+                
+                # Set environment variables from state to avoid prompts
+                if state_data.get('X_VERSION'):
+                    os.environ['X_VERSION'] = state_data['X_VERSION']
+                if state_data.get('X_RELEASE'):
+                    os.environ['X_RELEASE'] = state_data['X_RELEASE']
+                if state_data.get('X_STAGING'):
+                    os.environ['X_STAGING'] = state_data['X_STAGING']
+            except Exception as e:
+                print(f"Warning: Could not load state file: {e}")
+        
+        # Get version - from state, environment, or pom.xml
+        version = state_data.get('X_VERSION') or os.environ.get('X_VERSION')
+        release = None
+        
+        if not version:
+            # Try to get version from pom.xml
+            script_dir = Path(__file__).parent
+            juneau_root = script_dir.parent
+            pom_path = juneau_root / 'pom.xml'
+            if pom_path.exists():
+                try:
+                    result = subprocess.run(
+                        ["mvn", "help:evaluate", 
"-Dexpression=project.version", "-q", "-DforceStdout"],
+                        cwd=pom_path.parent,
+                        capture_output=True,
+                        text=True,
+                        check=True
+                    )
+                    version = result.stdout.strip()
+                    if version.endswith('-SNAPSHOT'):
+                        version = version[:-9]
+                    print(f"📌 Detected version from pom.xml: {version}")
+                except Exception:
+                    pass
+        
+        # If we have version but no RC, try to get RC from history file
+        if version and rc is None:
+            script_dir = Path(__file__).parent
+            history_file = script_dir / f'release-history-{version}.json'
+            if history_file.exists():
+                try:
+                    with open(history_file, 'r') as f:
+                        history = json.load(f)
+                    release_candidate = history.get('X_RELEASE_CANDIDATE', '')
+                    if release_candidate:
+                        rc_match = re.search(r'RC(\d+)', release_candidate)
+                        if rc_match:
+                            rc = int(rc_match.group(1))
+                            print(f"📌 Detected RC number from history file: 
{rc}")
+                except Exception as e:
+                    print(f"Warning: Could not load history file: {e}")
+        
+        # If we still don't have RC, prompt for it
+        if version and rc is None:
+            while True:
+                rc_input = input("Release candidate number: ").strip()
+                if rc_input:
+                    try:
+                        rc = int(rc_input)
+                        break
+                    except ValueError:
+                        print("Please enter a valid number.")
+                else:
+                    print("Release candidate number is required.")
+        
+        # Construct X_RELEASE if we have version and RC
+        if version and rc:
+            release = f"juneau-{version}-RC{rc}"
+            os.environ['X_RELEASE'] = release
+            print(f"📌 Constructed release: {release}")
+        
+        # Set version in environment if we have it
+        if version:
+            os.environ['X_VERSION'] = version
+        
+        # Create script without loading env (we'll set what we need manually)
+        script = ReleaseScript(rc=rc, start_step=None, skip_steps=[], 
resume=False, load_env=False)
+        
+        # Ensure state and environment have the necessary info
+        if version:
+            script.state.set('X_VERSION', version)
+            os.environ['X_VERSION'] = version
+        if release:
+            script.state.set('X_RELEASE', release)
+            os.environ['X_RELEASE'] = release
+        elif state_data.get('X_RELEASE'):
+            # Use release from state if we couldn't construct it
+            release = state_data.get('X_RELEASE')
+            script.state.set('X_RELEASE', release)
+            os.environ['X_RELEASE'] = release
+        if state_data.get('X_STAGING'):
+            script.state.set('X_STAGING', state_data['X_STAGING'])
+            os.environ['X_STAGING'] = state_data['X_STAGING']
+        elif not os.environ.get('X_STAGING'):
+            # Set default staging if not set
+            os.environ['X_STAGING'] = '~/tmp/dist-release-juneau'
+        
+        script.revert_release()
+        return
+    
     # Try to determine RC from context if resuming (will prompt if not found)
     rc = None
     if args.resume or args.start_step:


Reply via email to