- 1.5.9
- 1.5.8
- Fix
DefaultUpdateHandler
NPE when printing before starting downloads. #142
- Fix
- 1.5.7
- Close zip resource before calling
doneDownloads()
. #120
- Close zip resource before calling
- 1.5.6
- 1.5.5
- Fix dynamic properties not working with archive installations. #110
- 1.5.4
- Fix archive not properly resolving UNIX paths. #109
- 1.5.3
- 1.5.2
- Bug fixes in
DefaultBootstrap
. #105
- Bug fixes in
- 1.5.1
- New update model
Configuration.Update(ArchiveUpdateOptions)
, using anArchive
to store update files, it can then be 'installed' (callingArchive::install
). #76 - Deprecated previous update models, but still available for smooth migration
- Improved update return value
UpdateResult
. #87 - Not passing
default.launcher.main.class
will run the command-line arguments as a script. #88 ignoreBootConflict
no longer required if there are no user modules on the boot module layer.DefaultBootstrap::updateFirst
now performs update in parallel while launching the business app. #104- Support Elliptic Curve cipher. #89
- New update model
- 1.4.5
- Added
DynamicClassLoader
and the new Classloading Model. #75 - New design reporting download progress in
DefaultUpdateHandler
. - Added
SingleInstanceManager::tryExecute
to handle second instance instead of automatic shutdown. #85 - Added
FileMapper::getChecksum
andFileMapper::getSignature
user.home
anduser.dir
will only be automatically replaced when matched to the beginning of a path. #73- Improved file accessibility check when copying new files to its final location. #76
- Added
- 1.4.4
- Fixed fatal bug if an exception was thrown in
UpdateHander.doneDownloads()
orUpdateHanlder.succeeded()
. - Changed warning suppression system property key from
suppress.warning
toupdate4j.suppress.warning
. - Restricted passing the same command to
DefaultBootstrap
twice.
- Fixed fatal bug if an exception was thrown in
- 1.4.3
- Don't throw exception on jar download that
static requires
missing system module — @ChristianCiach
- Don't throw exception on jar download that
- 1.4.2
- Increased download byte buffer to 8kb — suggested by @ChristianCiach
- 1.4.1
- Allow 2 files with same path in config if both target different operating systems.
- Added
UpdateHandler.shouldCheckForUpdate()
. Returningfalse
will skip that file from being updated. - Pass arguments and system properties from the config when using the
DefaultLauncher
. DefaultLauncher
is now aware of JavaFX and will startjavafx.application.Application
even if missing a main method in class defined indefault.launcher.main.class
.- Reduced system dependencies to
java.xml
and added warnings if system module is not properly resolved. - When validating configuration and checking if 2 files resolve to same path; it will now allow if the files target different operating systems.
- 1.4.0
- Added dependency injection framework to communicate between the bootstrap and service provider.
- Consequently, removed provider consumers at update and launch, and passing args at launch.
- Removed many confusing
getXxxProperty()
methods inConfiguration
class. - You can now add properties to a config dynamically at runtime.
- Locate explicit service providers even if not properly registered as required by
ServiceLoader
. - Made many service methods
default
. - Added
osFromFilename()
method inFileMetadata
builder. - Properly set encoding to Unicode when reading remote config in
DefaultBootstrap
. - Bug fix when local config file was missing in
DefaultBootstrap::launchFirst
. - Changed how
--delegate
argument inBootstrap
works. - Fixed bug in
deleteOldFiles()
where it would try to compare files even if it belongs to different OS. Configuration.getTimestamp()
now returnsnull
if not present in the XML instead of time of object creation.
- 1.3.3
- Properly escape special chars in output XML. Allow control chars in properties.
- Renamed
UpdateHandler::connect
toUpdateHandler::openDownloadStream
- Added more
Configuration.Builder::signer
overloads. - Default bootstrap now deletes old files if
--syncLocal
was used.
- 1.3.2 — Tested on Linux by @ChristianCiach
- Control how files are downloaded with
UpdateHandler::connect
. - Delete old files with
Configuration::deleteOldFiles
.
- Control how files are downloaded with
- 1.3.1
DefaultBootstrap
sync local now creates directories to write local config.DefaultBootstrap
remote signature failure would not fall back to local.
- 1.3.0
- Rewrite of
DefaultBootstrap
. - You can now sign the configuration itself to ensure integrity of non-file elements, as paths and properties.
FileMetadata.getSignature()
now returns aString
instead ofbyte[]
to avoid modification.- Java 11 compatibility: Removed JavaFX modules.
- Fixed single instance bug on Linux.
- Connection/read timeouts at 10 seconds.
- Safer file overriding by properly handling file locks.
ConfigMapper
andFileMapper
lists are nowfinal
, to prevent accidentalNPE
.FileMetadata::streamDirectory
now automatically presetspath
attribute to actual filename relative to the streaming directory, instead of absolute source path.
- Rewrite of
- 1.2.2
- Removed
DefaultUpdateHandler
percentage output to avoid problems with Eclipse console. - Added
DefaultBootstrap
with a straightforward CLI, andDefaultLauncher
. - Added
Configuration.sync()
methods. - Additional file validation on update and renaming
UpdateManager.verifyingFileSignature()
tovalidatingFile()
to include all of them. - To avoid version inconsistencies, all downloads are now atomic; if one download fails all previous are rolled back. Updated
UpdateHandler.doneDownloadFile()
to add awareness of this. - Fixed bug when downloading automatic module with no
Automatic-Module-Name
inMETA-INF/MANIFEST.MF
.
- Removed
- 1.2.1
- Retracted, didn't correctly set main class in module descriptor.
- 1.2.0
- Bug fixes.
- Major redo of Configuration builder API.
- Reduced dependencies to zero.
- Renamed
Library
toFileMetadata
and<library>
XML element to<file>
. - Warnings if files were incorrectly added to the boot classpath.
- Reject download if module name or package name conflicts with a module on the boot modulepath and additional
ignoreBootConflict
attribute to<file>
to override it. - Directly pass instances of service providers instead of locating providers.
- Removed deprecated methods.
- 1.1.3-beta
Library.Reference.Builder
no longer automatically setsmodulepath
to true.- Warn on
Configuration::launch
if there is no library that has set eitherclasspath
ormodulepath
to true.
- 1.1.2-beta
- Added
LaunchContext.getClassLoader()
method.
- Added
- 1.1.0-beta
- Added full support of loading jars into the classpath.
- Added "add exports/opens/reads" support.
- Renamed
ImplicationType
toPlaceholderMatchType
.
- 1.0.0-beta.1
- Deprecated verification via a
Certificate
, usePublicKey
instead. Will be removed completely once it graduates beta.
- Deprecated verification via a
- 1.0.0-beta
- Initial release.
This repository has been archived by the owner on Mar 18, 2024. It is now read-only.