Version 1.9.4.7 (05-Aug-2022) System.getenv support
Changes
- #35
System.getenvis now allowed and can now be called without throwing a security exception. Hence, the robot will not be banned from battles when usingSystem.getenv.
Newer versions of Java is making things harder for the codebase of Robocode.
With Java 18 (JEP 411), the Security Manager is disabled by default, but can be allowed by the user from the command line.
Hence, with this version of Robocode, the -Djava.security.manager=allow system property has been added to the script for making it possible to run Robocode on Java 18. Note that this is just a work-around, as the Security Manager will be permanently removed from Java at some point in the future when newer major versions of Java are released.
This is a big concern for Robocode, which uses the Security Manager to control access to various resources between robots running on the same JVM. And currently, no good substitute exists for replacing the Security Manager (or find a good way to remove it) from Robocode without breaking things.
-Djava.security.manager=allow.on was written to the console.choco install robocodename + (index). This is change was made to fix various issues in e.g. team bots and make the internal logic simpler.This release comes with lots of improvements. First and foremost, the old Maven build setup has been replaced with a Gradle build setup, and we moved to use IntelliJ IDEA for developing Robocode. The Robocode artefacts can also be uploaded to Sonatype's Maven Repository using Gradle.
In addition, a bug fix has been made for ramming, but a lot of other improvements were made for easy testability.
And a RoboRumble client has also been published as Docker image as well.
All credits go to Pavel Savara that has made a big effort into this release. :)
Please note that with this release the .Net plugin has been removed from Robocode. It was based on .Net Framework 3.5 and the required toolchain for building the plugin and the documentation for it had got some serious issues as well.