Releases: Electrostat-Lab/jSnapLoader
Releases · Electrostat-Lab/jSnapLoader
1.0.0-stable Release
What's Changed So Far...?
1.0.0-zeta-3...1.0.0-zeta...1.0.0-stable PR #30 by @pavly-gerges:
- Removed the Anti-pattern of throwing the superimposed business exceptions on top of the other thrown Java Platform Exceptions.
- Simplified the exception throwing techniques on FileLocators and FileExtractors using a Validator API.
- Removed the major regression of nullary file locator stream providers for the classpath routines; as a result of using
Class#getResourceAsStream(...)
and notClassLoader.getSystemLoader().getResourcesAsStream(...)
. - Removed the hassle of using the
ZipCompressionType
Anti-patterns (non-thread safe - bindable between exclusive objects). - Optimized the file locator routines in a functional table with clear patterns enabling locating other files (images or assets) using the classpath routines.
- FileLocator#initialize(...): merged the validation strategy into the exceptions handling block.
- For the external compression routines file locators: dispatched
close()
on the ZipFile resources itself (which closes all the associated enteries' streams) and not a single file entry of it. - Introduced
DirectoryPath
for external path extraction to avoid nullary arguments. - Memory logging optimizations for external file streams initializers.
Caution
Breaking changes:
- Changes to the
LibraryInfo
constructors signature have been attained, check the test examples to know how to use.
1.0.0-epsilon release notes:
- Testing 1.0.0-epsilon version using snap-jolt by @stephengold.
- Epsilon-patch: introduced a sanity-check of the stream provider handler for other File locator routines by @pavly-gerges in #29
- Scaling-plan: A scaling plan applied to scale the API for professional use-cases by @pavly-gerges in #20
- snap-jolt by @stephengold: testing jolt-jni with jSnapLoader on Linux-x86, Linux-arm, Windows-x86, MacOS-x86, and MacOS-arm in #20 and issue #21.
- snaploader-examples: introduced an example using java.nio.file APIs by @pavly-gerges in #22
- TestBasicFeatures2.java: platform-dependent extraction paths by @pavly-gerges in #23
- README.md: first order logic analysis using predicate calculus by @pavly-gerges in #24
- Optimizations against memory leaks and file locator failure by @pavly-gerges in #25
- Final optimizations: Logging API - StreamProviders API - Memory Logging by @pavly-gerges in #27
- Migrated to electrostatic4j as a part of the binding API by @pavly-gerges in #28
Caution
Breaking changes:
- Migration of the root package from
electrostatic.snaploader
toelectrostatic4j.snaploader
. - Migration of the
ExtractionListener
interface toFileExtractionListener
interface.
1.0.0-delta release notes:
- Warning: this is a testing release on the PR branch for scaling the API for professional use-cases.
- The
delta
version adds the following on thegamma
version:- FileLocalizingListener interface to bind user APIs to the FileLocator API lifecycle.
- Validation of the FileLocator streams at the FileLocator levels with the suppression with business exceptions to avoid cryptic formats.
- NativeDynamicLibrary.(...): allows for full directory path designation by overwriting the basename from
LibraryInfo
. - NativeDynamicLibrary#initPlatformLibrary(LibraryInfo): removed the prefixed value
lib
for Windows runtime as a part of the standardization of Windows DLL files.
1.0.0-gamma release notes:
- This is a testing release on the PR branch for scaling the API for professional use-cases.
- The gamma version adds the following:
- Compilation for earlier Java versions down-to Java-8.
- LibraryInfo enhancements.
- Fixed
PlatformPredicate.MACOS_X86_64
faulty propositions.
1.0.0-beta release notes:
- This is a testing release on the PR branch for scaling the API for professional use-cases.
1.0.0-alpha release notes:
- platform-dependent API: added platform-dependent
PropertiesProvider
by @pavly-gerges in #12
Full Changelog: 1.0.0-alpha...1.0.0-stable
In order to utilize in your project, add the API to your dependencies and make sure mavenCentral() is defined:
repositories {
mavenCentral()
}
dependencies {
implementation "io.github.electrostat-lab:snaploader:1.0.0-stable"
}
Patch-3 for 1.0.0-zeta Version
What's Changed:
Zeta-patch 3 on PR #30:
- Removed the Anti-pattern of throwing the superimposed business exceptions on top of the other thrown Java Platform Exceptions.
- Simplified the exception throwing techniques on FileLocators and FileExtractors using a Validator API.
In order to utilize in your project, add the API to your dependencies and make sure mavenCentral() is defined:
repositories {
mavenCentral()
}
dependencies {
implementation "io.github.electrostat-lab:snaploader:1.0.0-zeta-3"
}
Patch 2 for 1.0.0-zeta Version
What's Changed:
Zeta-patch 2 on PR #30:
- Removes the major regression of nullary file locator stream providers for the classpath routines; as a result of using
Class#getResourceAsStream(...)
and notClassLoader.getSystemLoader().getResourcesAsStream(...)
.
In order to utilize in your project, add the API to your dependencies and make sure mavenCentral() is defined:
repositories {
mavenCentral()
}
dependencies {
implementation "io.github.electrostat-lab:snaploader:1.0.0-zeta-2"
}
Patch for 1.0.0-zeta version
What's Changed:
Zeta-patch on PR #30:
- Removes the hassle of using the
ZipCompressionType
Anti-patterns (non-thread safe - bindable between exclusive objects). - Optimized the file locator routines in a functional table with clear patterns enabling locating other files (images or assets) using the classpath routines.
- FileLocator#initialize(...): merged the validation strategy into the exceptions handling block.
In order to utilize in your project, add the API to your dependencies and make sure mavenCentral() is defined:
repositories {
mavenCentral()
}
dependencies {
implementation "io.github.electrostat-lab:snaploader:1.0.0-zeta-1"
}
1.0.0-zeta
What's Changed
- Zeta-patch for the stable release: PR #30.
In order to utilize in your project, add the API to your dependencies and make sure mavenCentral() is defined:
repositories {
mavenCentral()
}
dependencies {
implementation "io.github.electrostat-lab:snaploader:1.0.0-zeta"
}
Patch for 1.0.0-epsilon Version
What's Changed
- Testing 1.0.0-epsilon version using snap-jolt by @stephengold.
- Epsilon-patch: introduced a sanity-check of the stream provider handler for other File locator routines by @Scrappers-glitch in #29
- Closed for breaking changes.
Full Changelog: 1.0.0-epsilon...1.0.0-epsilon-1
In order to utilize in your project, add the API to your dependencies and make sure mavenCentral() is defined:
repositories {
mavenCentral()
}
dependencies {
implementation "io.github.electrostat-lab:snaploader:1.0.0-epsilon-1"
}
1.0.0-epsilon
This is the last pre-release for 1.0.0 Version of the jSnapLoader:
What's Changed So far from the precedent versions:
- Scaling-plan: A scaling plan applied to scale the API for professional use-cases by @Scrappers-glitch in #20
- snap-jolt by @stephengold: testing jolt-jni with jSnapLoader on Linux-x86, Linux-arm, Windows-x86, MacOS-x86, and MacOS-arm in #20 and issue #21.
- snaploader-examples: introduced an example using java.nio.file APIs by @Scrappers-glitch in #22
- TestBasicFeatures2.java: platform-dependent extraction paths by @Scrappers-glitch in #23
- README.md: first order logic analysis using predicate calculus by @Scrappers-glitch in #24
- Optimizations against memory leaks and file locator failure by @Scrappers-glitch in #25
- Final optimizations: Logging API - StreamProviders API - Memory Logging by @Scrappers-glitch in #27
- Migrated to electrostatic4j as a part of the binding API by @Scrappers-glitch in #28
Breaking changes:
- Migration of the root package from
electrostatic.snaploader
toelectrostatic4j.snaploader
. - Migration of the
ExtractionListener
interface toFileExtractionListener
interface.
In order to utilize in your project, add the API to your dependencies and make sure mavenCentral() is defined:
repositories {
mavenCentral()
}
dependencies {
implementation "io.github.electrostat-lab:snaploader:1.0.0-epsilon"
}
1.0.0-gamma-version
What's Changed
- This is a testing release on the PR branch for scaling the API for professional use-cases.
- The gamma version adds the following:
- Compilation for earlier Java versions down-to Java-8.
- LibraryInfo enhancements.
- Fixed
PlatformPredicate.MACOS_X86_64
faulty propositions.
In order to utilize in your project, add the API to your dependencies and make sure mavenCentral() is defined:
repositories {
mavenCentral()
}
dependencies {
implementation "io.github.electrostat-lab:snaploader:1.0.0-gamma"
}
1.0.0-delta-version
What's Changed
- Warning: this is a testing release on the PR branch for scaling the API for professional use-cases.
- The
delta
version adds the following on thegamma
version:- FileLocalizingListener interface to bind user APIs to the FileLocator API lifecycle.
- Validation of the FileLocator streams at the FileLocator levels with the suppression with business exceptions to avoid cryptic formats.
- NativeDynamicLibrary.(...): allows for full directory path designation by overwriting the basename from
LibraryInfo
. - NativeDynamicLibrary#initPlatformLibrary(LibraryInfo): removed the prefixed value
lib
for Windows runtime as a part of the standardization of Windows DLL files.
In order to utilize in your project, add the API to your dependencies and make sure mavenCentral() is defined:
repositories {
mavenCentral()
}
dependencies {
implementation "io.github.electrostat-lab:snaploader:1.0.0-delta"
}
1.0.0-beta-version
What's Changed
- This is a testing release on the PR branch for scaling the API for professional use-cases.
In order to utilize in your project, add the API to your dependencies and make sure mavenCentral() is defined:
repositories {
mavenCentral()
}
dependencies {
implementation "io.github.electrostat-lab:snaploader:1.0.0-beta"
}