Releases: dscalzi/ZipExtractor
Release 2.3.1 - Spigot 1.16, Sponge 7.2.0, Disabled Pack200 on JDK 14+
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.
Commits
- b62590b
- Target Spigot 1.16
- Target Sponge-API 7.2.0
- Disable Pack200 Operations on JDK 14+ (see https://openjdk.java.net/jeps/367).
Release 2.3.0 - TAR Support
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
Release 2.2.0 - Pipe Operations, GZip Support
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
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
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.
- If you continue to hit tab in an attempt to have it switch to
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
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.*
- Harmless permissions are no longer provided by
Release 1.2.3 - Fixed Junrar Vulnerability, Dependency Upgrades
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
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
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
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 isMyOutput.txt.xz
, the plugin will compress to.xz
format. - More information on the new file types has been added to the wiki
- Now, during compressions, the format used will depend on the destination directory. If your destination is
- 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
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.