30 days free. No credit card. Full access from the moment you connect your site.

Start free trial

v0.0.10 — Feature 041 fix: Zip_Create include_hidden=false recursion

Bugfix release

Fixes a silent regression in the 0.0.9 zip-create ability: include_hidden=false was only skipping the top-level hidden directory entry itself. RecursiveIteratorIterator::SELF_FIRST does not stop descent when we continue on an entry, so files INSIDE a hidden directory (e.g. .git/objects/xxx) were still added because their basenames don't start with ..

The fix — inspired by the reference download-plugin — checks every segment of each entry's forward-slashed relative path. If any segment starts with ., the entry is excluded. Applied to both the archive assembly (append_dir_to_zip) and the pre-write size guard (estimate_tree_size).

Two small helpers were extracted to keep the iterator bodies tight: normalize_relative() and has_hidden_segment().

Migration

Regenerate any include_hidden=false archives that were produced on 0.0.9 against source trees that contained hidden directories — the 0.0.9 output silently included the full contents of every hidden directory beneath the source.

No breaking changes to REST endpoints, capability requirements, or database schema. Safe upgrade.

Pull requests

  • Fix: #73 — Zip_Create honours include_hidden=false recursively
  • Release: #74 — bump version + changelog

Keep reading