Skip to content

Releases: robo-code/robocode

Robocode 1.9.5.4

30 Sep 17:55
Compare
Choose a tag to compare

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

11 Sep 20:37
Compare
Choose a tag to compare

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

Improvements

  • Upgraded built-in Eclipse Compiler for Java to version 3.39

1.9.5.2

24 Oct 19:59
Compare
Choose a tag to compare

Version 1.9.5.2 (24-Oct-2023)

Bugfix:

  • Fixed Throwable: java.lang.LinkageError: loader constraint violation: when resolving method issue in the RobotClassLoader.

1.9.5.1

30 Jul 12:14
Compare
Choose a tag to compare

Version 1.9.5.1 (30-Jul-2023)

Bugfix:

  • Fixed ClassCastException with URLClassLoader when accessing ClassLoader.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

26 Feb 10:31
Compare
Choose a tag to compare

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 and robocode.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

28 Jan 11:15
Compare
Choose a tag to compare

Version 1.9.4.9 (28-Jan-2023) Fixed "no security" and HiDPI

Bugfixes

  • NOSECURITY=true could cause a ClassNotFoundException for the robots.
  • Rendering issue on Windows when setting sun.java2d.ddoffscreen=false. Hence, this setting has been removed.
  • If the NOSECURITY or EXPERIMENTAL 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

29 Nov 19:35
Compare
Choose a tag to compare

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.
  • 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

06 Aug 10:26
Compare
Choose a tag to compare

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 using System.getenv.

Robocode 1.9.4.6

15 Jun 21:27
Compare
Choose a tag to compare

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.
  • Give bots without rank highest priority in the LiteRumble (RoboRumble). Thank you Xor for this fix! :)

Robocode 1.9.4.5

23 Mar 06:37
Compare
Choose a tag to compare

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.