← Back to all sparks
Z

zip

DEVOPS
Velocity2.5

Cross-platform zip file creation and extraction for R with no external tools

zip 3.0 added encryption, turning a plumbing package into a complete archive tool.

rarchivescompressionencryptionfile-io
Current state
zip creates and extracts archives from R without depending on external tools. Its 2.x line was incremental — a type column in zip_list(), symlink handling on Unix, hidden shared-library symbols. Version 3.0.0 changed the package's shape by adding password-protected archives and vectorized extraction.
Where it's heading
Development is moving from listing and extracting toward parity with what users expect of a general archive utility: encryption schemes including WinZIP AES-256, an encryption column so an archive can be inspected before extraction, and thread counts that respect the session's Ncpus setting. The 3.0.x releases since are consolidation on that new surface.
Prediction
Expect continued refinement of the encryption and threading paths, with remaining symlink and permission edge cases on Unix the most likely source of the next fixes.

Recent moves

  1. 8d ago

    zip 3.0.2 handles symlinks whose targets extract later

    unzip() no longer errors on Unix when a symlink's target is missing or appears later in the archive. An ordering edge case in the extraction path opened up by 2.3.3's symlink work.

    View source ↗
  2. 1mo ago

    zip 3.0.1 renames the progress option and respects Ncpus

    Consolidation on the 3.0 surface: the progress option is renamed zip_progress for consistency with a fallback to the old name, boolean environment variables are matched case-insensitively as documented, and unzip() thread counts now respect Ncpus. Configuration tidying that follows a big release.

    View source ↗
  3. 2mo ago

    zip 3.0.0 adds AES-256 password-protected archives

    ⚡ SPARK

    The release that redefined the package: encryption support across the entire API, an encryption column in zip_list(), and a vectorized unzip(). Everything shipped since has been consolidation on this surface.

    View source ↗
  4. 1y ago

    zip 2.3.3 creates symbolic links correctly on Unix

    zip_list() reports a file type column and unzip() correctly creates symbolic links on Unix. The symlink work here is what the later 3.0.2 fix refines, and it marks the start of taking filesystem fidelity seriously.

    View source ↗
  5. 1y ago

    zip 2.3.2 returns a tibble from zip_list()

    zip_list() returns a tbl and loads pillar when available for nicer printing of long data frames. Presentation only.

    View source ↗
  6. 2y ago

    zip 2.3.1 hides shared library symbols to avoid clashes

    The shared library hides its symbols where the platform supports it, avoiding name clashes with other libraries. Invisible unless you were hitting the collision.

    View source ↗