New features in Ark 16.12

Ark, the file archiver and compressor developed by KDE, has seen a lot of development for the upcoming 16.12 release. This blog post provides a summary of the most important changes.
 

Advanced archive editing

Thanks to the excellent GSoC work done by Vladyslav Batyrenko (mvlabat) this summer, it’s now possible to perform advanced editing operations for an archive. This means that files/folders can be moved and copied within an archive. This functionality is available either from the context menu or with the well-known keyboard shortcuts (CTRL+C, CTRL+X, CTRL+V).

Additionally, files/folders can now be added to any subfolder of an archive. In the past files could only be added to the root of an archive. This is done by selecting a subfolder and then activating the “Add Files…” item from either the “Archive” menu or the context menu.

Finally, files/folders can be renamed. This can be done by selecting the entry and pressing F2 or selecting Rename from the context or “File” menu.

blog-1612-advanced-edit

See mvlabat’s blog post for more info on these features.

 

Choose compression method

Ark now allows setting compression method for supported archives. This is possible for Zip and 7z archives. For instance, LZMA compression may be selected for Zip archives to improve compression ratio (requires 7z to be installed). Note that Zip archives using newer compression methods may not be supported by older unarchivers (e.g. the unzip utiliy), but should be supported by modern software such as WinZip, WinRar and 7-Zip for Windows. The compression method can be set in the Compression section when creating a new archive.
blog-1612-comp-method

AES-encryption for Zip archives

Strong AES-encryption is now used by default for Zip archives when 7z is installed. Three AES key lengths are available (128, 192 and 256 bit). The classic Zip encryption method (ZipCrypto), which is now known to be vulnerable but is more widely supported, can also be selected. Again, note that e.g. unzip doesn’t support extracting archives with AES-encryption.

blog-1612-enc-method

Support for AR archives

We added support for opening AR archives. This old Unix format is now mostly used for static libraries (*.a) on Linux systems. So static libraries can now be opened by Ark to view the contained object files.
blog-1612-ar-archive

 

Performance improvements

Opening large archives should be much faster with Ark 16.12. Previously, the model containing all the archive entries wasn’t created until the archive was completely loaded from disk. Now we start creating the model right away. This resulted in a greatly reduced time to open large archives.

 

Progress information

Ark now shows progress in percentage for more operations (e.g. open, extract, add) than previously. This means it’s possible to know approximately how long an operation will take. Additionally, progress is now always shown in Plasma’s system tray where operations can also be aborted. When progress in percentage is available it is also shown in the task manager item (thanks to KBroulik’s work).

blog-1612-progress

 

Bugfixes and under-the-hood changes

A ton of bugs were fixed and the code architecture further modernized.

Testing and feedback

The  16.12 beta is now out, while the release candidate should be out on December 1st and the final release on December 15th. Please test the new features and provide feedback either as comments on this blog post or as bugs on KDE’s bugzilla.
 

What’s next?

For Ark 17.04 we hope to add a graphical interface for configuring the plugins Ark uses to handle different archive formats. Also, we are investigating whether we can use libzip to handle zip archives.
If there are features you are missing in Ark, please let us know.

Acknowledgements

Thanks to Elvis Angelaccio and Vladyslav Batyrenko (mvlabat) for their development work on Ark.

13 thoughts on “New features in Ark 16.12

  1. Just a quick comment: Placing ZipCrypto at the end, after the increasing key lengths of AES, might suggest that ZipCrypto is the strongest algorithm. Might consider sorting the list by security, instead of alphabetically.

    Liked by 1 person

  2. This is fantastic news! It has been a long awaited feature to rename files/folders and to add files to a directory in Ark. Many thanks for your efforts to add this functionality!

    Liked by 1 person

    • Thanks 🙂 We wanted to implement this functionality for a long time, but it necessitated a deep refactoring of the code. It’s now finally complete thanks to GSoC.

      Like

    • Well, 7z is a very versatile utility. It can create a lot of formats including 7z, zip, tar, gzip, bz2, xz and supports extracting even more (e.g. rar archives). In Ark we use it for 7z and zip archives, but fall back to the old zip/unzip utilities if 7z is not found in path. The zip/unzip utilities are more widely installed, but are unmaintained (last release in 2009!) and lack a lot of features (e.g. AES encryption and LZMA compression).
      However, it’s preferable to use a library instead of parsing output from CLI-programs, since the latter can be very error-prone and whenever the output structure changes the parsing can break. This is why Ark uses libarchive to handle all tar-based archives and other supported types such as iso and rpm.
      Hope this answers your question…

      Like

  3. It might be a good idea to add a note to ZipCrypto that it is known to be vulnerable, so the normal user knows that this does not fully protect their data.

    Liked by 1 person

  4. Regarding the first ilustration, I’d add a preview of the selected file in that info panel at the right, like in Dolphin (the rendering of the thumbnail would probably need to depend to the file’s size, like the thumbnails in Dolphin when browsing network folders). Many times we have some archive (for instance when someone sends us the photos of the last party) with a lot of photos of which we probably just want a few. Would be very handy to be able to see their preview and jut extract the ones we want instead probably dozens of photos.

    Liked by 1 person

  5. Can you add support for ARJ archives, please? There’re arj(more useful) and unarj utilites for this. Currently if you want to interract with them in GUI you need to use Krusader.

    Liked by 1 person

    • We’re looking at using the unarchiver plugin to support ARJ archives. This would be read-only support i.e. open and extract. However, there is currently a bug in unarchiver when extracting ARJ archives. We reported it upstream and hopefully it can be fixed soon so we can enable ARJ support for Ark 17.04.

      Liked by 1 person

Leave a comment