JWrapper Release History
JWrapper Version: 00069404210
Release Date: 12 August 2019
Release Date: 12 August 2019
- Support for Java 9+
- OpenJDK support
- Newer OS compatibility fixes
JWrapper Version: 00063552354
Release Date: 11 November 2018
Release Date: 11 November 2018
- This beta version offers support for Java 9+
- JWCrypt is also supported on these platforms with a change to how resources within JARs are processed.
- Resources within JARs are no longer encrypted by default by JWCrypt but can be selected * matching by modifying the protected attribute in the JWrapper XML.
- For example adding protected='yes;*.png;*.txt' would instruct JWCrypt to encrypt all resources within the jar matching *.png or *.txt.
- When accessing these resources it is necessary now to use the JWCrypt.load... methods rather than loading the resources using Class.getResource/getResourceAsStream.
JWrapper Version: 00058863323
Release Date: 11 April 2018
Release Date: 11 April 2018
- 11 April Update: Fixed an issue with DMGs not building on Linux
- Feature: Ability to dynamically specify JVM parameters on a fork (JWSystem.embedJvmArgs)
- Feature: Self opening DMGs if build is run on macOS or Linux (requires either mkisofs or genisoimage on Linux)
- Fix to JVM packing that was causing some problems with JVM EC ciphers
Release Notes Version 00058434360
(22 March 2018)
(22 March 2018)
- Feature: Ability to dynamically specify JVM parameters on a fork (JWSystem.embedJvmArgs)
- Feature: Self opening DMGs if build is run on macOS or Linux (requires either mkisofs or genisoimage on Linux)
- Fix to JVM packing that was causing some problems with JVM EC ciphers
Release Notes Version 00055970190
(28 November 2017)
(28 November 2017)
- Feature: JWSamplingProfiler allows easy CPU profiling of specific areas of code with programmatic access to determine start and stop points, always available to your app even in production via the JW Utility APIs.
- Feature: Dev builds (-devbuild for jwrapper command line or via the Dev Build button in the app) builds with lower compression and without timestamping app signatures for a faster build during development.
- Feature: Jar packing switch made available via the JWrapper App
- Fixes an issue with "FAT full" error while building macOS apps
- Fixes an issue where custom XML could be imported into the main config multiple times
- Fixes an issue where launching on macOS High Sierra could fail
- Fixes an issue where updating with a new JRE on macOS could fail
- Various other minor fixes and improvements
Release Notes Version 00053012245
(14 July 2017)
(14 July 2017)
- Feature: JWSamplingProfiler allows easy CPU profiling of specific areas of code with programmatic access to determine start and stop points, always available to your app even in production via the JW Utility APIs.
- Feature: Dev builds (-devbuild for jwrapper command line or via the Dev Build button in the app) builds with lower compression and without timestamping app signatures for a faster build during development.
- Feature: Jar packing switch made available via the JWrapper App
- Fixes an issue with "FAT full" error while building macOS apps
- Fixes an issue where custom XML could be imported into the main config multiple times
- Various other minor fixes and improvements
Release Notes Version 00049034758
(11 Jan 2017)
(11 Jan 2017)
- Feature: Aux archives and OS archives via aux="archiveName" attribute (JW manual XML configuration only)
- Feature: -altBundle <suffix> and -altUrl <url> switches for Beta or Developer builds (changes installation folder and target update URL)
- Feature: Added ability to download individual JREs and chanted the default behaviour to build only for the current OS
- Feature: ARM support
- Feature: Streamed archive extraction for faster installs
- Feature: Classpath adding is more flexible in the JW App including traversal of directories to add jars
- Feature: Additions to the JWService API to forcibly terminate a service
- Feature: JWService supports reinstalls for easy upgrades to services
- Feature: JWService supports optional post-install classname for easy elevated install operations asking user to elevate only once.
- Feature: Ability to substitute date and time into VM args, for example to create timestamped logs
- Ability to reset STDIN/STDOUT so no logging to JW vapp log
- Fix to throw an error if an included file is not found (e.g. a missing jar)
- Fixed a ZipException when trying to check versions of empty jars
- Project folder selection is more flexible
- Fixed an issue with saving the Win64 JRE folder
- More useful errors when the build fails due to an invalid bundle or app name
- Fixed a bug related to adding JVM options in the JWrapper App
- NPE fix in ProxyAuthenticationDialog
- Other bugfixes and improvements
Release Notes Version 00044250826
(27 May 2016, 6 May 2016, 5 June 2016)
(27 May 2016, 6 May 2016, 5 June 2016)
- Adds to existing JWrapper APIs including the ability to launch virtual apps with modified classpaths
- Improves launching on OSX El Capitan in some cases and resolves a possible signing issue
- Other bugfixes and improvements
- (Rerelease of previous 00043633902 due to a build error with the JWrapper App)
Release Notes Version 00041299173
(20 January 2016)
(20 January 2016)
- Fixes a number of issues along with substantial improvements to the JWrapper App.
Release Notes Version 00039794057
(10 November 2015, 15 August 2015, 25 July 2015)
This release fixes a number of issues and adds a two new network utility APIs.
(10 November 2015, 15 August 2015, 25 July 2015)
This release fixes a number of issues and adds a two new network utility APIs.
- Update: 10 November 2015
- JWrapper App correctly extracts latest Oracle JVMs
- Resolves an issue where a JVM major version upgrade could have issues related to pack200
- Fixes an issue where the most recent Ubuntu version could request libssl0.9.8
- Various other minor fixes
- Update: 15 August 2015 - minor fixes
- New JWNet API allows forcing of a system-wide HTTP agent, where previously Java would require this to be set specifically for each query to avoid 'Java' being appended
- New JWSockets API allows tracking and debugging of all socket activity within a JVM including options to print out all socket activity to stdout, track and fetch lists of live and closed sockets, and listen for socket creations and terminations.
- Empty UpdateURL tags are now interpreted as no UpdateURL specified
- Skip<OS> tags are now accepts 'false' and does not skip the specified OS
- JRE update handling improvements, notably in some cases where an older JVM was being upgraded to a newer JVM and the class versions were significantly newer unpacking could fail. This now triggers a download of the newer JVM and use of its unpacking.
Release Notes Version 00034993142/00036138363
(24 March 2015/25 May 2015)
This release fixes a number of issues and adds a new testing API.
(24 March 2015/25 May 2015)
This release fixes a number of issues and adds a new testing API.
- (25 May update) Fixes an issue where an app could fail to start on MacOS
- Logs are now circular within a particular application run as well as rotated. The first half of the log is retained to show startup info and the last half of the log is circular, keeping the log at max 50MB.
- Fixes an issue whereby HTTPS update URLs on Windows might fail
- Updated windows launcher
- Fixes an issue which could occasionally occur with updating CACerts
- Fixes an issue with Linux daemon management
Release Notes Version 00033253833
(12 Jan 2015)
This release fixes a number of issues and adds a new testing API.
(12 Jan 2015)
This release fixes a number of issues and adds a new testing API.
- New testing and automation API (blog post to follow)
- Improved proxy detection, in some cases JWrapper would detect no proxy where one should have been detected
- Automatic updating JVM CACerts file to ensure SSL roots are up to date
- Various other bugfixes
Release Notes Version 00030438844
(3 September 2014)
This release adds support for OSX Yosemite signing, a number of fixes and a new atomic file saving API.
(3 September 2014)
This release adds support for OSX Yosemite signing, a number of fixes and a new atomic file saving API.
- OS Yosemite signing support.
- New JWAtomicFileOutputStream single-file journaled save API.
- Fixes an issue where on initial setupon some HTTP proxy servers in some cases the app could attempt a failed direct download and this would terminate the (good) proxy-based download of the app.
- Fixes an issue where an imported system JRE might be used to attempt to unpack app classes however if this JRE was of a lower version the unpack would fail.
- Fixes an issue with embedding multiple JW app download scripts into the same web page.
- Includes JW app version numbers as part of the MacOS Info.plist file.
Release Notes Version 00029226060
(9 July 2014)
This release makes some important changes to the MacOS native (macos64) launcher. The new launcher uses an OSX-standard JRE app (containing a 'Contents' folder) rather than the underlying JRE extracted from it (containing the usual 'lib' and 'bin' folder etc) so you should download the MacOS JRE to use with this build.
Added in minor release 00029226060:
Added in major release 00028973924:
(9 July 2014)
This release makes some important changes to the MacOS native (macos64) launcher. The new launcher uses an OSX-standard JRE app (containing a 'Contents' folder) rather than the underlying JRE extracted from it (containing the usual 'lib' and 'bin' folder etc) so you should download the MacOS JRE to use with this build.
Added in minor release 00029226060:
- Minor config fix for JWCrypt
Added in major release 00028973924:
- Added app update signatures (RSA-4096, SHA3+SHA256 hash)
- The launch shortcut on Windows 64 pointed to the wrong executable.
- Fixes a number issues including some issues with the Windows 64 bit wrapper
- An issue where Pack200 exceptions may not be matched propertly to corresponding files
- Additional logging about Pack200 status for files
- Fixes an issue preventing square icons from being used as application icons on OS X 10.6 or earlier.
- Fixes an issue preventing the running of a 32bit OS X application after the 64bit version (or vice versa).
- Fixes an issue causing the application name to be displayed incorrectly on OS X 10.6.
- An issue with the launchers
- An issue with the mac launcher
- Including a folder and specifying that it should be added on the classpath now adds individual files to the classpath rather than the folder path
- JWrapper produces output about individual files added to facilitate diagnosing errors around specific problematic files
- Attempts to rectify an issue with DMGs built on Windows
- Turns off App Naps by default for all JW apps launching under MacOS. Allows a setting to turn these back on.
- Set initial values for dynamic launch properties in the JWrapper XML
- Bug in the OSX wrapper where some JRE containers would not work properly
- A rare bug where proxy detection in the wrapper could fail and loop continuously
- Adds a JWCrypt API to load encrypted files
- An issue resulting in the splash screen being cropped in the uninstaller
- A problem decompressing OSX archives
- An unpack200 issue when compiling with JRE 1.7.0_45 or later on Windows.
- An issue where OS X applications prompt for the installation of a 1.6 JRE if one does not exist on the system.
- An issue preventing OS X applications from being Kept in the Dock.
- Adds a <KeyPassword> tag to the Windows and Applet signing tag to allow specification of both a keystore password and a key password
Release Notes Version 00028973924
(27 June 2014)
This release makes some important changes to the MacOS native (macos64) launcher. The new launcher uses an OSX-standard JRE app (containing a 'Contents' folder) rather than the underlying JRE extracted from it (containing the usual 'lib' and 'bin' folder etc).
(27 June 2014)
This release makes some important changes to the MacOS native (macos64) launcher. The new launcher uses an OSX-standard JRE app (containing a 'Contents' folder) rather than the underlying JRE extracted from it (containing the usual 'lib' and 'bin' folder etc).
- Added app update signatures (RSA-4096, SHA3+SHA256 hash)
- The launch shortcut on Windows 64 pointed to the wrong executable.
- Fixes a number issues including some issues with the Windows 64 bit wrapper
- An issue where Pack200 exceptions may not be matched propertly to corresponding files
- Additional logging about Pack200 status for files
- Fixes an issue preventing square icons from being used as application icons on OS X 10.6 or earlier.
- Fixes an issue preventing the running of a 32bit OS X application after the 64bit version (or vice versa).
- Fixes an issue causing the application name to be displayed incorrectly on OS X 10.6.
- An issue with the launchers
- An issue with the mac launcher
- Including a folder and specifying that it should be added on the classpath now adds individual files to the classpath rather than the folder path
- JWrapper produces output about individual files added to facilitate diagnosing errors around specific problematic files
- Attempts to rectify an issue with DMGs built on Windows
- Turns off App Naps by default for all JW apps launching under MacOS. Allows a setting to turn these back on.
- Set initial values for dynamic launch properties in the JWrapper XML
- Bug in the OSX wrapper where some JRE containers would not work properly
- A rare bug where proxy detection in the wrapper could fail and loop continuously
- Adds a JWCrypt API to load encrypted files
- An issue resulting in the splash screen being cropped in the uninstaller
- A problem decompressing OSX archives
- An unpack200 issue when compiling with JRE 1.7.0_45 or later on Windows.
- An issue where OS X applications prompt for the installation of a 1.6 JRE if one does not exist on the system.
- An issue preventing OS X applications from being Kept in the Dock.
- Adds a <KeyPassword> tag to the Windows and Applet signing tag to allow specification of both a keystore password and a key password
Release Notes Version 00023310637
(8 October 2013)
- JWService API allows simple installation of a background service or daemon on Linux, Windows and MacOS (commercial feature)
- JWCrypt encrypts JARs and other resouces marked with protected="yes" to prevent decompilation (commercial feature)
- JWrapper can now bundle a JRE on 64-bit MacOS 10.7.4 and above
- JARs can now be merged with the addition of a merged="yes" attribute to prevent issues with large classpaths (avoids IOException (CreateProcess 206) errors during forks)
- Better support for installation under user folders where the user has special characters in their username
- Linux All User installs now elevate on run so the can get permission to install
- Command line online wrapper
- Set dynamic launch properties via the command line generically (JW_key=value or /JW_key=value or -JW_key=value)
- JWSockIPC for interprocess communication between parent + child virtual apps including AES-256 encryption using SIC(CTR) and SHA-256
- Uninstaller fixes - if the uninstaller was unable to complete due to the app running the master folder could be left in an inconsistent state
- Windows 2000 support
- Windows icons were being produced in low res, are now produced in the full range up to 256x256 given a large enough PNG to work with
- Introduces changes to parameterisation API
- Altered method of classloading for transmutes, meaning that where <MustFork> was necessary to avoid class loading issues in the app, it may no longer be
(8 October 2013)
- JWService API allows simple installation of a background service or daemon on Linux, Windows and MacOS (commercial feature)
- JWCrypt encrypts JARs and other resouces marked with protected="yes" to prevent decompilation (commercial feature)
- JWrapper can now bundle a JRE on 64-bit MacOS 10.7.4 and above
- JARs can now be merged with the addition of a merged="yes" attribute to prevent issues with large classpaths (avoids IOException (CreateProcess 206) errors during forks)
- Better support for installation under user folders where the user has special characters in their username
- Linux All User installs now elevate on run so the can get permission to install
- Command line online wrapper
- Set dynamic launch properties via the command line generically (JW_key=value or /JW_key=value or -JW_key=value)
- JWSockIPC for interprocess communication between parent + child virtual apps including AES-256 encryption using SIC(CTR) and SHA-256
- Uninstaller fixes - if the uninstaller was unable to complete due to the app running the master folder could be left in an inconsistent state
- Windows 2000 support
- Windows icons were being produced in low res, are now produced in the full range up to 256x256 given a large enough PNG to work with
- Introduces changes to parameterisation API
- Altered method of classloading for transmutes, meaning that where <MustFork> was necessary to avoid class loading issues in the app, it may no longer be
Release Notes Version 00020654351
(7 June 2013)
- Fixed an issue whereby JWrapper itself required a 1.7 JRE to run due to class version problems
(7 June 2013)
- Fixed an issue whereby JWrapper itself required a 1.7 JRE to run due to class version problems
Release Notes Version 00020308134
(22 May 2013)
- Improved app startup time
- Fixed a bug where apps with no update URL may encounter delays when starting of up to 15 seconds. This has been fixed, with no update URL JWrapper's operations now take less than one second.
(22 May 2013)
- Improved app startup time
- Fixed a bug where apps with no update URL may encounter delays when starting of up to 15 seconds. This has been fixed, with no update URL JWrapper's operations now take less than one second.
Release Notes Version 00020182244
(16 May 2013)
- Improved proxy detection and automatic setup for all apps
- Minor bug fixes
(16 May 2013)
- Improved proxy detection and automatic setup for all apps
- Minor bug fixes
Release Notes Version 00019105028
(27 Mar 2013)
- More useful errors for problems with the input XML file and other common failure reasons when building
- Support for OSX 10.5 (Intel Only)
- Translation into English, Spanish, French, German, Italian, Dutch, Swedish and Portugese (all JWrapper installer messages). Translated apps can use these languages now and JWrapper will support installing them in their native language.
- Better support for Red Hat / Fedora and KDE
- Linux user installs now elevate on run so they can get permissions to install
- Support for detecting recent OS versions (e.g. Windows 8) and type (e.g. Windows Server) even on older VMs like Java 1.5
- Additions to JWLinuxOS to check for available commands
- JWrapper now generates a command line Java wrapper (online only)
- Fixed a minor applet launcher problem
(27 Mar 2013)
- More useful errors for problems with the input XML file and other common failure reasons when building
- Support for OSX 10.5 (Intel Only)
- Translation into English, Spanish, French, German, Italian, Dutch, Swedish and Portugese (all JWrapper installer messages). Translated apps can use these languages now and JWrapper will support installing them in their native language.
- Better support for Red Hat / Fedora and KDE
- Linux user installs now elevate on run so they can get permissions to install
- Support for detecting recent OS versions (e.g. Windows 8) and type (e.g. Windows Server) even on older VMs like Java 1.5
- Additions to JWLinuxOS to check for available commands
- JWrapper now generates a command line Java wrapper (online only)
- Fixed a minor applet launcher problem
Release Notes Version 00018512673
(28 Feb 2013)
- Fixed an issue whereby the install could fail on non-english Windows XP systems due to start menu being language specific
- Added JWMacOS APIs to request user attention, set app name and dock badge
-Fixed bugs in silent installation
(28 Feb 2013)
- Fixed an issue whereby the install could fail on non-english Windows XP systems due to start menu being language specific
- Added JWMacOS APIs to request user attention, set app name and dock badge
-Fixed bugs in silent installation
Release Notes Version 00018473665
(26 Feb 2013)
- Fixed an issue whereby the install could fail on non-english Windows XP systems due to start menu being language specific
- Further minor bug fixes
(26 Feb 2013)
- Fixed an issue whereby the install could fail on non-english Windows XP systems due to start menu being language specific
- Further minor bug fixes
Release Notes Version 00018340706
(20 Feb 2013)
- Minor bug fixes
(20 Feb 2013)
- Minor bug fixes
Release Notes Version 0018299657
(18 Feb 2013)
- Minor bug fixes
(18 Feb 2013)
- Minor bug fixes
Release Notes Version 00018091999
(9 Feb 2013)
-Various minor bugfixes
(9 Feb 2013)
-Various minor bugfixes
Release Notes Version 00018063091
(7 Feb 2013)
-Fixes an issue whereby the online exe may sometimes fail to launch
-Improves the layout of the OSX DMG
(7 Feb 2013)
-Fixes an issue whereby the online exe may sometimes fail to launch
-Improves the layout of the OSX DMG
Release Notes - Version 00018027509
(6 Feb 2013)
-Removes online executables when building without update URL
-Now builds embed html and JavaScript when building without update URL
(6 Feb 2013)
-Removes online executables when building without update URL
-Now builds embed html and JavaScript when building without update URL
Release Notes - Version 00018006235
(5 Feb 2013)
Fixes an issue with installed app shortcuts on Windows and Linux.
(5 Feb 2013)
Fixes an issue with installed app shortcuts on Windows and Linux.