Releases: robo-code/robocode
Releases · robo-code/robocode
Robocode 1.9.5.4
Version 1.9.5.4 (30-Sep-2024)
Bugfix
- The built-in Eclipse Compiler for Java (ECJ) could not be found.
VER_1_9_5_3
Version 1.9.5.3 (11-Sep-2024)
Bugfix
- #66: Fixed an issue where Robocode would not start when executing the
robocode.sh
script for Linux and macOS due to
this error:
java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
- Thanks goes to @scientificworld for this fix. 😊
Improvements
- Upgraded built-in Eclipse Compiler for Java to version 3.39
1.9.5.2
Version 1.9.5.2 (24-Oct-2023)
Bugfix:
- Fixed
Throwable: java.lang.LinkageError: loader constraint violation: when resolving method
issue in theRobotClassLoader
.
1.9.5.1
Version 1.9.5.1 (30-Jul-2023)
Bugfix:
- Fixed
ClassCastException
withURLClassLoader
when accessingClassLoader.getSystemClassLoader()
on Java version newer than Java 8 and running with-DNOSECURITY=true
.
Improvements
- Updated all .bat, .sh, and .command files so the
_JAVA_OPTIONS
is now set automatically regardless of the Java version. - Updated dependencies.
1.9.5.0
Version 1.9.5.0
Please note that you should be aware of which version of Java you are using for running Robocode. Otherwise, Robocode might not start.
You can check this by running this command in a terminal: java -version
. If you are running on a Java version older than version 12, you need to uncomment or remove this line in the robocode.bat
or robocode.sh
file:
_JAVA_OPTIONS="-Djava.security.manager=allow"
If you are running on Java 12 or newer, then the above line is required, and should not be removed!
Bugfix:
- Bug-418: Excluded bots are removed from LiteRumble. Thanks to Xor for this fix! :)
Improvements
- Updated all .bat, .sh, .command files with detailed information about various settings. Now you only need to comment
out the line containing_JAVA_OPTIONS="-Djava.security.manager=allow"
if you run on Robocode on a Java version older
than version 12, and you can disable Direct3D on Windows, and also set the rasterizer used in Direct3D. Have a look at
robocode.bat
androbocode.sh
if you want to see the details. - Robocode does not touch any
sun.java2d
programmatically anymore as these give different results on different
hardware (obviously). So the user needs to set these explicitly as options when starting up Robocode. Go to
this page if you want to experiment with
these settings.
1.9.4.9
Version 1.9.4.9 (28-Jan-2023) Fixed "no security" and HiDPI
Bugfixes
NOSECURITY=true
could cause aClassNotFoundException
for the robots.- Rendering issue on Windows when setting
sun.java2d.ddoffscreen=false
. Hence, this setting has been removed. - If the
NOSECURITY
orEXPERIMENTAL
property has been set to true, a warning is now printed out to standard out. - Re-fix Bug-394 by actually supporting HiDPI. Thanks to Xor for this fix! :)
Robocode 1.9.4.8
Version 1.9.4.8 (29-Nov-2022) Reworked Disabling Security Manager
Bugfixes
- Rendering issues on Windows using accelerated hardware, by setting these Java properties:
sun.java2d.d3d=false
(turn off use of Direct3D)sun.java2d.ddoffscreen=false
(turn of Direct Draw off-screen)sun.java2d.noddraw=true
(no use of Direct Draw)sun.java2d.opengl=True
- Adding
-source 1.5
to the ECJ compiler options to prevent"...only available if source level is 1.5 or greater"
error when compiling with ECJ.
Improvements
- Security Manager: When setting the
NOSECURITY=true
(e.g. via the-DNOSECURITY=true
property in the java
command-line), then the internal security manager of Robocode is now totally disabled, and falling back on the default
security manager used in Java.- This fixes issues with the class loader not being able to find classes resulting in
ClassNotFoundExceptions
, and
other issues as well.
- This fixes issues with the class loader not being able to find classes resulting in
- Updated built-in Eclipse Compiler for Java (ECJ) to version 3.26 (June 2021), which is the last version of ECJ capable
to run on Java 8 (newer ECJ versions require Java 11 as a minimum).
Robocode 1.9.4.7
Version 1.9.4.7 (05-Aug-2022) System.getenv support
Changes
- #35
System.getenv
is now allowed and can now be called
without throwing a security exception. Hence, the robot will not be banned from battles when usingSystem.getenv
.
Robocode 1.9.4.6
Version 1.9.4.6 (15-Jun-2022) The Java 18 support release
Bugfix
- Java 18 fix: Robocode could not run on the newest Java 18 due to the terminally deprecated Security Manager.
- The Security Manager is now explicitly being allowed to run with the .bat, .sh, and .command files by adding setting this system property:
-Djava.security.manager=allow
.
- The Security Manager is now explicitly being allowed to run with the .bat, .sh, and .command files by adding setting this system property:
- Give bots without rank highest priority in the LiteRumble (RoboRumble). Thank you Xor for this fix! :)
Robocode 1.9.4.5
Version 1.9.4.5 (22-03-2022)
Bugfix
- Fixed java.io.IOException: Stream Closed when auto-recording is enabled.
- A mystic word
on
was written to the console.