Skip to content

Releases: intothisshadow/Archivio

Archivio v1.1.0 - Release Notes

Choose a tag to compare

@intothisshadow intothisshadow released this 11 Jul 11:37

Archivio 1.1.0

Folder-mirrored navigation

Archivio now mirrors your icons/ directory structure exactly, at any depth — no more hard 2-level limit.

  • Browse level by level. Each folder page shows its immediate child folders as clickable cards, plus any images placed directly inside it. Images from deeper folders no longer get pulled up onto a parent page — you only see them once you browse into that folder.
  • Unlimited depth. Navigation is no longer capped at category → subcategory. Go as deep as your folder structure needs: TV_Shows → Futurama → Season_1 → ...
  • New URL scheme. The old two-parameter ?category=X&subcategory=Y links are replaced by a repeatable path[] array (?path[]=TV_Shows&path[]=Futurama), so any folder depth is addressable. Old links still work — legacy ?category=/?subcategory= URLs resolve automatically via a fallback.
  • Extended breadcrumbs. Breadcrumb trails now extend to match however deep you've browsed (e.g. Home > Star Trek Voyager > Season 4 > 4x21 The Omega Directive).
  • Flatten mode preserved. If you prefer the old all-in-one-page behavior, set enable_subcategories => false — every image beneath a top-level category is still scanned and shown together, regardless of nesting depth.

Under the hood

  • GalleryService::getImages() gained recursive scanning support (used internally by flatten mode), with symlink-cycle protection and excluded-directory pruning.
  • PathService::resolveWithin() now resolves and security-checks an entire folder path in a single call.
  • View::folderList() (renamed from subcategoryList()) renders child-folder cards at any level, not just directly beneath a category.

Compatibility

Fully backward compatible — no config changes required to upgrade. Existing bookmarks and external links using the old ?category=/?subcategory= scheme continue to work unchanged.


Full changelog: see docs/CHANGELOG.md

Archivio v1.0.1 - Release Notes

Choose a tag to compare

@intothisshadow intothisshadow released this 25 Jun 10:17

Archivio v1.0.1

Archivio 1.0.1 is a security-focused maintenance release that strengthens file validation throughout the gallery. This update improves protection against maliciously named uploads, ensures image listings and counts remain consistent, and adds additional MIME-type verification when scanning gallery content.

Highlights

Improved Filename Security

Archivio now rejects files containing dangerous executable extensions anywhere in the filename, helping prevent bypass techniques such as shell.php.jpg or image.phtml.png. Detection is case-insensitive and covers a broad range of web-executable file types.

Stronger Image Validation

Gallery scans now perform MIME-type validation before images are displayed, ensuring that only genuine image files are included in gallery listings.

Consistent Gallery Behaviour

Image counting, image validation, and image discovery now use the same security checks, preventing discrepancies between what Archivio counts and what it serves.

Reliability Improvements

Additional safeguards have been added around file type detection to handle edge cases more cleanly and defensively.

Upgrade Notes

This is a drop-in update with no configuration changes, database changes, or migration steps required. Existing installations can upgrade directly to 1.0.1.

Full Changelog

See CHANGELOG.md for the complete list of technical changes included in this release.

Archivio v1.0.0 - Release Notes

Choose a tag to compare

@intothisshadow intothisshadow released this 23 Jun 04:48

Archivio

Archivio is a lightweight, file-based PHP gallery for displaying images — icons, avatars, stamps, and buttons at 100 × 100 px, or larger images such as wallpapers, photos, and artwork with optional thumbnail support. No database, no installation wizard, no JavaScript framework.

Features

Thumbnail Support

  • User-supplied thumbnails with mirrored directory structures
  • Automatic thumbnail generation using GD or Imagick
  • Cached thumbnails with automatic regeneration when source images change
  • Configurable thumbnail dimensions, quality, and output formats

PhotoSwipe Lightbox

Optional PhotoSwipe v5 integration featuring:

  • Keyboard navigation
  • Touch and swipe gestures
  • Pinch-to-zoom support
  • Image counter
  • Filename-based captions
  • Open Original and Download buttons
  • Self-hosted or CDN deployment options

Integration Mode

Embed Archivio into an existing website using external header and footer include files.

Features include:

  • Configurable heading levels
  • Custom page title integration
  • Flexible styling through your existing site design

Custom Home Page Description

Display custom HTML content beneath the gallery title using the site_description configuration option.

Core Gallery Features

  • Category and subcategory browsing
  • Configurable sorting and pagination
  • Responsive image grid layout
  • Lazy loading support
  • Dark mode support
  • Support for AVIF, WebP, JPEG, PNG, and GIF images
  • Accessible, keyboard-friendly interface
  • Secure path handling and URL sanitization

Licensing and Documentation

  • GPL-3.0-only licensed
  • Complete installation and configuration documentation
  • Troubleshooting guide included
  • Developer information and project resources documented

Thank you for trying Archivio 1.0.0. Feedback, bug reports, and contributions are welcome.