Skip to content

Latest commit

 

History

History
112 lines (98 loc) · 7.29 KB

changelog.md

File metadata and controls

112 lines (98 loc) · 7.29 KB

Unreleased 4.0.1

  1. Fixed null pointer exception when not specifying --jrePath on the command line or in the JSON configuration file.

Release 4.0.0

  1. Added an option to specify the JRE directory in the configuration file.
  2. Changed the default config file name from config.json to <app name>.json where app name is the value of the --executable field passed to packr-all.jar.
    If the executable name is myapp (or myapp.exe on Windows) then the default config file name will be myapp.json instead of config.json.
  3. Please update your Maven and Gradle build scripts to point to https://artifactory.nimblygames.com/artifactory/ng-public.
    • Gradle will soon require HTTPS and the -snapshot and -release repository URLs are for publishing, not downloading.

Release 3.0.3

  1. Fixed symbolic link issue for Linux and macOS JREs.
  2. Fixed pthread not being available on Linux.

Release 3.0.2

  1. Preemptively load all DLLs in the jre/bin directory on Windows.
    • This resolves an issue on Windows where the awt.dll cannot find the Microsoft runtime libraries (MSVCP140.dll).

Release 3.0.1

  1. Updated tests to use the latest versions of AdoptOpenJDK 8, 11, and 15.
  2. Changed DLL loading on Windows to search in the JRE bin and server directories.
    • This should make packr more robust to Windows runtime DLL changes.
  3. Fixed logging levels in ArchiveUtils
    • There was trace output logging at error level.

Release 3.0.0

  1. Refactored code to fit better into libGdx/packr parent repository.
  2. Fixed an issue where extracting an archive with duplicate entries would fail.
  3. The packr-all Jar is available from GitHub packages https://github.com/libgdx/packr/packages.
  4. The output directory specified by --output must be an empty directory, or a path that does not exist.
    • Packr will no longer delete the output directory and then populate it.
  5. Packr will ensure that jspawnhelper has execute permissions in the bundled JRE.
  6. Updated ArchiveUtils to support POSIX permissions and symbolic links.
    • This resolves an issue with repackaged JREs losing execute permissions.
  7. Alternative Maven repositories until oss.sonatype.org (Maven central) publishing is possible.

Release 2.7.0

  1. Fixed a Gradle script error where it was bundling the release builds with debug info on Linux and macOS.
    • For Linux this reduces the executable size from ~722K to ~95K.
  2. Compile with -no-pie on Linux to work around a Nautilus bug.
  3. Added compile flags /Os, /Gw, /Gy on Windows.
    • Combined with the new linker flags, this reduced the executable size.
  4. Added /opt:icf, /opt:ref linker flags on Windows.
    • Combined with the new compiler flags, this reduced the executable size.
  5. Updated Gradle wrapper to version 6.5.1.

Release 2.6.4

  1. Fixed an issue with uncaught exception handlers not being called for the main thread.
    • dispatchUncaughtException is called on the main thread if an exception is detected after calling the main method.

Release 2.6.3

  1. Support macOS versions down to 10.10 Yosemite
    • Added compiler flag -mmacosx-version-min=10.10

Release 2.6.2

  1. Resolves an issue for newer JVMs that rely on vcruntime140.dll (The Visual C++ 2017 Redistributable).
    • If loading the jvm.dll fails on Windows, then PackrLauncher searches for a vcruntime*.dll file in "jre/bin" and loads that library and attempts to load the jvm.dll again. This resolves an issue where the jvm.dll can't be loaded on Windows systems that don't have the Visual C++ 2017 Redistributable installed.

Release 2.6.0

  1. Added support for unicode directories on Windows.
    • This resolves issues where PackrLauncher is running from a directory with international characters in it.
  2. Fixed --console on Windows.
    • When running from a Windows Explorer shortcut, a new console is popped up and if --verbose was also specified then all debug output shows up in the console window.
  3. If the PackrLauncher parent process has a console, PackrLauncher attaches to it.
    • This allows debug output when PackrLauncher is launched from a command prompt window, without the need for passing --console.

Release 2.5.0

  1. Added useZgcIfSupportedOs flag making it easier to use the Z garbage collector when bundling Java 14+.
    • The launcher executable will detect if the running operating system supports the Z garbage collector and use it.
  2. Added Google Test C++ test framework to the PackrLauncher code.
  3. Updated Gradle wrapper to 6.4.1.
  4. Updated to C++14 as the minimum supported C++ version.

Release 2.4.2

  1. Added support for Java 11 and 14
    • Including jlink created JREs
    • Note: Packr cannot take a module and load it into the classpath of the created JVM, a Jar is still needed. It should be possible to create a jlink JRE from your custom module and have that work with packr but it's untested.

Release 2.3.0

  1. Converted packr to use Gradle
  2. Include DrOpt source for easier building
  3. Include sajson.h for easier building
  4. Support tar.gz files
  5. Support macOS signing and notarization of the executable
  6. Load the msvcr*.dll that the JRE ships with instead of always trying to load msvcr100.dll
  7. Removed linux32 platform
    • Linux x86 is no longer built because it's impossible to find a survey that shows anyone running x86 Linux.
  8. Remove macOS x86 (32-bit) support
    • macOS x86 is no longer built because it requires and older version of Xcode and Apple makes it difficult to install on newer versions of macOS
  9. Remove windows32 platform
    • Windows x86 is no longer built because the Adopt OpenJDK 8u242 and 8u252 have crash failures.

Release 2.1-SNAPSHOT

  • Compiles with Java 8 now. It's 2018, folks!
  • Refactored I/O to use NIO and try-with-resources where appropriate. Removed dependency on Apache commons I/O.
  • Print usage (--help) if no command line arguments are given.
  • Added more validation checks to configuration parameters.
  • Fixed crash when classpath is a directory. (#90)
  • Added "cachejre" option to cache results of JRE extract & minimize steps.
  • Added "removelibs" option to specify JAR files which are subject for removal of platform libraries. If this parameter isn't used, it defaults to a copy of "classpath", which is the old behaviour.
  • Added NvOptimusEnablement and AmdPowerXpressRequestHighPerformance symbols. (#114)

Release 2.0-SNAPSHOT and before

  • Please check the Git log, or search the libGDX forums.