Skip to content

Releases: dscalzi/ZipExtractor

Release 2.3.1 - Spigot 1.16, Sponge 7.2.0, Disabled Pack200 on JDK 14+

27 Jun 00:45
b62590b
Compare
Choose a tag to compare

Release v2.3.1

This release targets Spigot 1.16 and Sponge-API 7.2.0. Pack200 has been removed from JDK 14. As such, the feature is disabled if JDK 14+ is detected. Note that ZipExtractor is still compatible with all versions of Spigot 1.8-1.16.

image

Commits

Release 2.3.0 - TAR Support

26 Feb 01:09
7b95caf
Compare
Choose a tag to compare

Release 2.3.0

This release adds support for TAR files. As a reminder, these behave very similarly to ZIPs. The project now targets 1.15.2 (1.8+ still supported), and bStats has been updated.

Commits

v2.2.0...v2.3.0

Release 2.2.0 - Pipe Operations, GZip Support

08 May 19:36
9025186
Compare
Choose a tag to compare

Release 2.2.0

This update adds support for piping multiple extractions or compressions with a single command. GZip (.gz) is now supported. The arguments -absolute and -override have been changed to use two dashes. They are now --absolute and --override.

Piped Operations

Pipe Demo

In the past, extracting and compressing files had to be done with a single command per file type. Example:

Source File: dir/Test.jar.pack.xz
Destinatiion Folder: dir/output.

If we wanted to extract this file to Test.jar, we would first need to extract it from xz, update the source, and finally extract it from pack.

This can now be done with a single command. With the same source and destinations set, simply run
/ze extract --until jar. The operations will be piped together and done in a single command.

How to Use

Extractions

/ze extract will extract only one format, as it has in the past.
/ze extract --all will extract until it reaches a format it cannot handle.
/ze extract --until <type> will extract until it reaches or a format it cannot handle.

Compressions

Compressions will always be automatically piped. The extention difference between the source and dest will be used to identify the desired types. Ex.

Source: dir/Test.jar
Dest: dir/Test.jar.pack.xz

Run /ze compress and Test.jar.pack.xz will be generated.


New Features

Changes

  • 6bac652 Changed -absolute and -override to use two dashes. They are now --absolute and --override.

Release 2.1.0 - Added Tab Completion for File Paths

06 Dec 16:35
1703b3a
Compare
Choose a tag to compare

Release 2.1.0

This update adds tab completions for file paths with the setsrc and setdest commands. This functions similarly to tab completion in bash, start typing the file and press tab to traverse the file tree. A new configuration option has been added to allow disabling tab completions. Please update your configs.

Console vs In-Game

Tab completions work perfectly if the path you are tabbing does not include spaces. If the path does include a space, you will need to break the tabbing operation (by adding an extra character) and then resume it (remove the character and tab again).

On Bukkit, spaces are not a problem in the console.

On Sponge, spaces are escaped in the console. You need to remove the escape characters.

Ex.
You are trying to get to ./plugins/MyPlugin/target.zip. There is another folder called My Folder in the plugins directory. You take the following steps.

  • Type /ze setsrc ./pl and then hit tab.
  • The value /ze setsrc ./plugins/ is autofilled.
  • Continue; /ze setsrc ./plugins/My and hit tab.
  • The value /ze setsrc ./plugins/My Folder is autofilled.
    • If you continue to hit tab in an attempt to have it switch to MyPlugin, the autocompletion will fail. This will confuse minecraft, because a space means that we are now in another argument. It will only update whatever is after the space. For example, the value /ze setsrc ./plugins/My ./plugins/MyPlugins would be autofilled. This is clearly not correct.
    • You would need to manually change it to /ze setsrc ./plugins/MyP and then hit tab to get the desired result.
    • Note If your target file was at ./plugins/My Folder/target.zip, you could simply type a / and hit tab. This would work.

Sponge

Additionally on Sponge, a space is added after you finish a single tab completion. Simply remove the space and tab again to keep going.

Configuration Value

Some servers may not want this tab completion feature for security reasons. A configuration value has been added to disable it. Simply change general_settings.tab_complete_files to false in the configuration.

Other changes

You no longer need to encapsulate file paths with quotes if they contain spaces. The setsrc and setdest commands will now concatenate all subsequent arguments.

Ex. /ze setsrc ./My Cool Directory/WithAlot/of spaces.txt


New Features

  • b32eea0 Added tab completions for file paths in /ze setsrc and /ze setdest.

Changes

  • b32eea0 /ze setsrc and /ze setdest now accept file paths containing spaces without using quotes. The commands will no longer accept arguments with quotes.

Dependency Upgrades

  • 1703b3a com.github.junrar:junrar:3.1.0

Release 2.0.0 - Sponge Support, Major Refactor

25 Nov 02:00
a399f91
Compare
Choose a tag to compare

Release 2.0.0

This update adds support for Sponge API 7.1. The project has been modularized into three subprojects, ZipExtractor-Bukkit, ZipExtractor-Sponge, and ZipExtractor-Core. All Bukkit functionality has been ported to Sponge. If anything is missing or broken, please file an issue.

The permissions have been slightly changed. On sponge, omit any wildcards for the same functionality.

  • Added zipextractor.* -> Full access to ZipExtractor
  • Added zipextractor.harmless.* -> Access to harmless commands.
    • Harmless permissions are no longer provided by zipextractor.admin.*

Full changeset can be viewed here.

Release 1.2.3 - Fixed Junrar Vulnerability, Dependency Upgrades

17 Oct 02:27
d4cb6ed
Compare
Choose a tag to compare

Release 1.2.3

This update includes an update for Junrar to resolve a vulnerability affecting versions < 1.0.1.

Changes

  • d4cb6ed Upgraded dependencies.
    • com.github.junrar:junrar:3.0.0
    • org.tukaani:xz:1.8

Release 1.2.2 - Full Support for 1.13

18 Jul 23:11
c8644ab
Compare
Choose a tag to compare

Release 1.2.2

This update disables Spigot's compatibility layer. Earlier versions of ZipExtractor will work on 1.13, however this update disables any additional overhead.

Changes

  • c8644ab Disabled Spigot's compatibility layer to remove any additional overhead on 1.13.

Release 1.2.1 - Performance increases and Code Optimization

15 Jul 20:27
caa2340
Compare
Choose a tag to compare

Release 1.2.1

This release contains a general code cleanup and several optimizations to task performance.

Optimizations

  • 6807c64 caa2340 Optimized Jar Provider. Extractions from Jar providers now use the JarInputStream strategy, performance is notably faster.
  • 0cbd1fd Code now uses 4 spaces instead of tabs.
  • Other minor fixes.

ZipExtractor has been tested on Minecraft 1.13 and is fully compatible.

Release 1.2.0 - Added Support for More Archives

09 Mar 04:05
Compare
Choose a tag to compare

Release 1.2.0

Changelog:

  • Switched to a provider system for compressions as well.
    • Now, during compressions, the format used will depend on the destination directory. If your destination is MyOutput.txt.zip, the plugin will compress to .zip format. If your destination is MyOutput.txt.xz, the plugin will compress to .xz format.
    • More information on the new file types has been added to the wiki
  • Added support for compressions to PACK and XZ formats.
  • Added support for extractions from PACK and XZ formats.

If you find any bugs, please report them.

Release 1.0.0

08 Mar 21:11
Compare
Choose a tag to compare

Release 1.0.0

Changelog:

  • Added provider system to allow for easier support of more file extensions.
  • Added a Tabcompleter to make usage of subcommands easier.
  • Added system to scan for conflicts during extraction/compression.
  • Added configuration option to halt processes if the scan shows one or more files will be overriden.
  • If that configuration option is enabled, a user will need an extra permission to perform the override (zipextractor.admin.override.extract/compress).
  • Added -override parameter to force extractions/compressions to take place (this requires permission if the config option is enabled).
  • New command to check the status of the executor service -> /ze status.

More information on these features had been added to the wiki.