Skip to content

Releases: Electrostat-Lab/jSnapLoader

1.0.0-stable Release

08 Aug 04:22
f7cb347
Compare
Choose a tag to compare

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 not ClassLoader.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 to electrostatic4j.snaploader.
  • Migration of the ExtractionListener interface to FileExtractionListener 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 the gamma 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

07 Aug 21:47
Compare
Choose a tag to compare
Pre-release

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

07 Aug 20:43
Compare
Choose a tag to compare
Pre-release

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 not ClassLoader.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

06 Aug 20:46
Compare
Choose a tag to compare
Pre-release

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

06 Aug 11:13
Compare
Choose a tag to compare
1.0.0-zeta Pre-release
Pre-release

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

04 Aug 22:58
dd1adcb
Compare
Choose a tag to compare
Pre-release

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

04 Aug 13:37
91fbefc
Compare
Choose a tag to compare
1.0.0-epsilon Pre-release
Pre-release

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 to electrostatic4j.snaploader.
  • Migration of the ExtractionListener interface to FileExtractionListener 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

26 Jul 03:13
Compare
Choose a tag to compare
1.0.0-gamma-version Pre-release
Pre-release

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

26 Jul 20:03
Compare
Choose a tag to compare
1.0.0-delta-version Pre-release
Pre-release

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 the gamma 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

25 Jul 23:00
Compare
Choose a tag to compare
1.0.0-beta-version Pre-release
Pre-release

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"
}