Codehaus Cargo : News

RSS


An RSS feed is available.

News


Dear Codehaus Cargo enthusiasts

As most of us are getting ready to say goodbye to 2020, we are happy to announce our last Codehaus Cargo release for 2020, version 1.8.3. This new version comes with many improvements and some bug fixes:

  • General

    • [CARGO-1535] - AbstractInstalledLocalContainer#addMemoryArguments is inconsistent with the boolean server parameter from AbstractInstalledLocalContainer#createJvmLauncher

  • Containers - Jetty

    • [CARGO-1536] - Add support for Jetty 10.x.
      Jetty 10 has changed the “inner workings” of certain portions of Jetty, we hence have a new version of the Jetty Remote Deployer WAR only for Jetty 10.

    • [CARGO-1537] - Add support for Jetty 11.x.
      Jetty 11 marks the switch from to Jakarta EE, which implies that the primary package for all implemented APIs has changed from javax. to jakarta., we hence have a new version of the Jetty Remote Deployer WAR for Jetty 11 (onwards).

  • Containers - GlassFish

  • Containers - Tomcat

    • [CARGO-1534] - Tomcat 8.x and onwards embedded local containers show a No global web.xml found error when starting

  • Containers - WildFly

  • Extensions - Maven 2 / Maven 3 plugin

    • [CARGO-1533] - Maven plug in ignores/erases proxy settings specified as system properties on the command line

To try out this latest version:

And, of course, with this we also wish you a great start to the new year - Stay safe!

Dear Codehaus Cargo enthusiasts

Shortly after our 1.8.0 and 1.8.1 releases, please welcome Codehaus Cargo 1.8.2. This new version comes with many changes under the hood:

  • We updated our code standards to Java 8 (actually, some were long due since Java 7), including:

    • Conversion to the easier to read constructs such as switch over Strings, the beautiful try-with-resources, the simplified for-each loops and compact multi-catch statements.

    • Switching to the better behaving Collection.addAll (instead of manual population of Lists / Sets) and String.join (instead of manually created for loops with booleans checking if it the first element).

    • Please note that we didn't go crazy with Lambda expressions: they bring very little benefit in the case of a very procedural process like Codehaus Cargo's (except perhaps for the XML-related parts where we do a lot of filtering), and in case something goes wrong the stack trace is very difficult to read...

  • While we did these updates, we also revised the Codehaus Cargo CI and enabled Java 6-based container tests. That implied further changes under the hood, for example changes in the version compatibility for the Cargo Samples Test Data modules. These obviously do not have much "visible" impact, yet enabled us to catch some long hidden bugs! See below...

  • Containers - Resin:

    • [CARGO-1530] We fixed the bug where the Resin 3.x container didn't work: ResinRun was being compiled to work with Java 7 onwards (since October 2018), yet due to incompatibilities between com.caucho.log.EnvironmentLogger and the behaviour described in JDK-8015098, Resin 3.x doesn't run on Java 7 and above! We hence also build the Codehaus Cargo Resin container with Java 6 as the minimum version, while Java 8 remains the standard for all others.

Lesson learnt from this release? Well, if something is not tested, one should assume it is broken...

To try out this latest version:

Enjoy!

Dear Codehaus Cargo enthusiasts

As announced on our mailing list a couple days back, Apache Ant versions Codehaus Cargo heavily relies on have some security issues, potentially leaking sensitive information or even allow an attacker to inject modified source files into the Codehaus Cargo container configuration generation process.

To ease the upgrade of the Apache Ant version used, we are happy to announce Codehaus Cargo 1.8.1, which has one improvement: [CARGO-1528] - Upgrade to Apache Ant 1.9.15.

To switch to this latest version:

Please also do pass this message to any projects you know of, and ensure they upgrade their Codehaus Cargo, and if require Apache Ant, dependencies.

Enjoy!

Dear Codehaus Cargo enthusiasts

We are happy to announce another jump in Codehaus Cargo’s history, version 1.8.0.

As with other such jumps, this comes with the change in the minimum Java version for Codehaus Cargo: our minimum requirement is now Java 8 (of course, you can still set the JAVA_HOME of the container executions to “any” Java version). Differently from other times, though, the motivations for this change are different:

  • Contrarily to previous times, Java 7 itself is not “fully EOL” yet: Java 7’s extended support will actually last until July 2022, on the other hand the last public release of Java 7 lacks the support for the TLS 1.2 protocol - which is used by most HTTPS-based Web servers (and hence many Maven2/Maven3 repositories) today - while the “only” way to have such “modern” versions of Java 7 is to have an Oracle Extended Support subscription. That hence made Java 7 very difficult to justify for a free of charge, open source project.

  • In addition, some parts of Codehaus Cargo which have been backwards compatible to the level where it would be considered “ancient” finally ended up failing us: yes, I’m talking about our various WARs, used for testing and for the Cargo Ping Component, which so far had been using the DTD-based servlet 2.3 definitions. TomEE 9.x has been the first container to drop the support for such ancient servlet versions, we hence have “upgraded” these to servlet 2.4 (which dates back to 2003!), which in turn implies Codehaus Cargo’s support for the “antique” Jetty 4.x and Resin 2.x containers is now gone.

As you know, though, there are many other “old” Java containers that do not work with Java 8. For all these, our Continous Integration system takes advantage of Codehaus Cargo’s flexible JAVA_HOME definition abilities, and hence runs these containers with Java 7 even though the core build itself (including the tests we execute) are on Java 8. For more details, have a look at how we run our Java samples and the non JDK 8 containers section of our CI configuration.

Here come the full details of what’s new with Codehaus Cargo 1.8.0:

  • Core

    • [CARGO-1520] - Upgrade various dependencies to the latest versions compatible with Java 8

    • [CARGO-1526] - Change the minimum servlet requirement to version 2.4

  • Containers - Jetty

    • [CARGO-1527] - Remove Jetty 4.x (as it doesn't support servlet 2.4)

  • Containers - Resin

    • [CARGO-1527] - Remove Resin 2.x (as it doesn't support servlet 2.4)

  • Containers - TomEE

To try it out:

Enjoy!

Dear Codehaus Cargo enthusiasts

The ones who follow our Web site closely most likely noticed two “silent” releases, I decided perhaps it is worthwhile to do a quick blog post and news on our mailing list so we do keep a level of transparency.

  • Improvement with Codehaus Cargo 1.7.15 in the Tomcat containers:

    • [CARGO-1522] - Support customizing the tomcat connector protocol with more classes

  • Improvement with Codehaus Cargo 1.7.16 in the Glassfish and Payara containers:

    • [CARGO-1524] - Add support for EAR name to Glassfish 3.x onwards and Payara

To try out this latest version:

Enjoy!