=== AuroraStack Photo Galleries Lite ===
Contributors: aurorastack
Tags: gallery, photo gallery, images, masonry, slideshow
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.1.25
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Fast, accessible photo galleries with responsive layouts, motion effects, imports, and WordPress Media Library support.

== Description ==

Aurora Stack Gallery creates responsive galleries from WordPress Media Library images or image URLs you explicitly supply. It loads assets only when a gallery is present and uses responsive image sources, native lazy loading, deferred off-screen URLs, and dependency-free JavaScript.

Lite features:

* Responsive grid, masonry, and slideshow layouts.
* Fade, slide, and zoom transitions, plus a no-motion option.
* Accessible keyboard-operated image viewer.
* WordPress Media Library selection with responsive image sizes.
* Optional cached Media folder sources with randomized, lazy-loaded batches.
* HTTPS image URL, CSV, and JSON manifest imports.
* Configurable colours, decorative gallery frames, spacing, sizing, image ratio, captions, and typography.
* Per-gallery layout overrides and shortcode attributes.
* Reduced-motion support and no visitor tracking.

The separately distributed Pro edition adds carousel, justified, mosaic, filmstrip, and centre accordion layouts; flip, blur, Ken Burns, and rotate motion; XLSX manifests; and explicitly initiated remote JSON imports compatible with WordPress REST media and exported Facebook or Instagram Graph API data.

No social-network request occurs on visitors' browsers unless you choose to display an image hosted on that network. You are responsible for permission to use remote images and for the availability and privacy behaviour of the remote host.

== Installation ==

1. Upload the plugin ZIP in Plugins > Add New > Upload Plugin, then activate it.
2. Open AuroraStack Photo Galleries > Add New and select images from the Media Library.
3. Publish the gallery and copy its `[aurora_gallery id="123"]` shortcode into a post or page.
4. Adjust global defaults in AuroraStack Photo Galleries > Settings.

== Frequently Asked Questions ==

= Does Lite require a licence key? =

No. Every feature listed for Lite works without a key, account, or remote service.

= Does the plugin copy Facebook or Instagram photos? =

No. It can import direct image URLs from a manifest you provide. Pro can fetch a JSON feed only when an administrator submits the Import form. The plugin does not scrape pages, bypass access controls, or store social access tokens.

= How is performance handled? =

Local Media Library images use WordPress-generated `srcset` and `sizes`. The first image receives high fetch priority, later images use native lazy loading, and plugin assets load only on pages containing the shortcode. Large folder galleries keep only a bounded visible/nearby image window resident; distant images release `src` and `srcset` and restore them from browser cache or the server when revisited.

= Is the viewer accessible? =

Controls are native buttons with labels, the viewer supports Escape and arrow keys, focus returns to the triggering image, status text uses a live region, and animations stop when the visitor requests reduced motion.

== Screenshots ==

1. Gallery editor with Media Library selection and drag ordering.
2. Responsive grid with overlay captions.
3. Masonry gallery with natural image ratios.
4. Slideshow and keyboard-accessible viewer.
5. Global visual and performance settings.

== Changelog ==

= 1.1.25 =
* Renamed the WordPress admin menu to AuroraStack Photo Galleries for clearer product branding.
* Refreshed the Lite, Pro, Pro Test, Web Lite, Web Pro, and Web Test distribution packages and product documentation.

= 1.1.24 =
* Removed AcmePhoto's full featured-image overlay when an Aurora Stack gallery replaces the featured image.
* Restored the gallery's configured background colour by preventing the theme's translucent grey layer from covering it.
* Removed the theme date, calendar icon, and other featured-image metadata contained in that overlay without changing ordinary posts.
* Prevented mobile galleries from showing the decorative frame before the first photograph by revealing both together after the first image loads, with a safe timed fallback.

= 1.1.23 =
* Enqueued gallery assets at the query-ready WordPress lifecycle stage so featured-gallery replacements are styled before the page head is printed.
* Applied the selected gallery background colour to the entire featured-image replacement area, including reserved ornamental-frame space.
* Strengthened featured-gallery background styling against theme featured-image rules while retaining per-gallery colours and frames.
* Hid common theme date badges inside the featured-media area when that featured image is replaced by a gallery.

= 1.1.22 =
* Added a per-post “Replace featured image with gallery” selector for themes and Elementor Free sites.
* Loaded gallery assets before the page head is printed when a shortcode, Elementor shortcode widget, or featured-gallery replacement is present.
* Reserved space around featured-gallery frames so curved ornamental corners remain visible inside theme featured-image containers.

= 1.1.21 =
* Changed Centre Accordion on mobile widths to display one full-width image with no side images.
* Retained sliding next/previous navigation and automatic playback for the single-image mobile view.
* Added a responsive CSS fallback so side images remain hidden while gallery JavaScript starts.

= 1.1.20 =
* Fixed missing gallery styling and layout inside Elementor shortcode previews by loading assets during Elementor's preview phase.
* Added early asset loading for Elementor editor iframe URLs where shortcode-time enqueueing occurs after the document assets have printed.
* Added server-rendered initial slider and Centre Accordion state so layouts remain presentable while JavaScript starts.

= 1.1.19 =
* Added complete per-gallery layout, sizing, colour, typography, caption, slideshow, lightbox, prefetch, and appearance controls.
* Added per-gallery colour pickers with explicit override toggles so colours can cleanly inherit global defaults.
* Fixed per-gallery Centre Accordion and other layout overrides by resolving the final layout before enforcing transition compatibility.
* Added per-gallery design presets and ensured explicit gallery fields take priority over the selected preset.
* Reorganised the gallery editor into clearer responsive setting cards.

= 1.1.18 =
* Hid the cached placeholder batch until reload randomisation completes.
* Revealed only the selected random image, while retaining a timed fallback to the original batch on request failure.

= 1.1.17 =
* Routed random responses by gallery ID to the current live element instead of the element that initiated the request.
* Allowed randomisation to complete after a full-page cache replaces or rehydrates gallery markup.

= 1.1.16 =
* Replaced the cloneable randomisation DOM flag with per-element WeakSet state.
* Ensured gallery elements replaced by cached-page optimisers start their own random image request.

= 1.1.15 =
* Replaced disposable JSONP function names with one permanent callback and per-request routing tokens.
* Prevented cached-page lifecycle activity from deleting the callback before a random image response executes.

= 1.1.14 =
* Bypassed indefinitely stalled Fetch requests on cached pages by using the same-origin JSONP route immediately for reload randomization.
* Added a four-second request timeout before the JSONP fallback used by later lazy gallery batches.

= 1.1.13 =
* Purged supported full-page caches once after a plugin version change so cached pages cannot keep loading an older gallery script.
* Guaranteed that reload randomization excludes the image already rendered by cached page HTML.

= 1.1.12 =
* Added a same-origin REST JSONP fallback when page optimisation intercepts Fetch or XMLHttpRequest batch updates.
* Marked pages containing random-start folder galleries as non-cacheable to prevent a page cache from freezing the first image.
* Retained unique request tokens, no-store REST responses, and bounded lazy image batches.

= 1.1.11 =
* Fixed random-on-reload fallback behaviour observed on cached production pages.
* Moved random start selection into the uncached REST response and returned the selected offset to later lazy batches.
* Added unique request cache-busting, no-store response headers, and a request fallback for browsers without Fetch API support.

= 1.1.10 =
* Added a per-gallery option to choose a fresh random starting image on every page load.
* Preserved cached lightweight folder indexes while rotating lazy REST batches from the selected start.
* Made reload randomization work independently of full-page HTML caches without loading the complete folder.

= 1.1.9 =
* Added a global image-saving deterrent with a per-gallery override.
* Blocked image right-click and dragging in gallery and lightbox views while leaving the rest of the page unaffected.
* Added the same configurable deterrent to standalone web editions and documented browser-level limitations.

= 1.1.8 =
* Increased global and per-gallery autoplay delays from 60 seconds to a maximum of one hour (3,600,000 milliseconds).
* Applied the one-hour autoplay limit consistently to WordPress and standalone web editions.

= 1.1.7 =
* Added complete runtime teardown for autoplay intervals, animation timers, resize listeners, observers, pending folder requests, and decoded images when galleries are removed.
* Added automatic cleanup and reinitialisation for galleries replaced by page builders or dynamic navigation.
* Bounded generated-frame preview caches and prevented cancelled web manifests from mounting after destruction.

= 1.1.6 =
* Reduced large-folder browser memory use with a bounded resident-image window for slideshow, carousel, filmstrip, and centre accordion layouts.
* Released distant grid and masonry image resources after they leave the viewport and restored them when visitors scroll back.
* Applied the same memory policy to the standalone web editions while retaining cached folder indexes and lazy REST batches.

= 1.1.5 =
* Reset theme-supplied gallery container borders so a zero border setting is respected.
* Added per-gallery photo border, corner, shadow, and complete decorative-frame overrides.
* Reorganised the gallery editor into responsive Layout, Slideshow, and Borders sections.

= 1.1.4 =
* Added a per-gallery autoplay delay so each slideshow can control how long an image remains visible.

= 1.1.3 =
* Added global and per-gallery navigation visibility so slideshows can display images without controls.
* Added per-gallery image-fit overrides with a no-crop mode that centres and scales the complete photograph.
* Added global and per-gallery transition speed controls and improved the perspective 3D flip motion.

= 1.1.2 =
* Added every ancestor Media folder to the source selector, even when images exist only in deeper subfolders.
* Clarified that selecting a parent folder includes images from all of its descendants.

= 1.1.1 =
* Added a Media Library root source that includes image attachments from every upload subfolder.
* Kept root-source loading randomized, cached, and restricted to visible lazy batches.

= 1.1.0 =
* Added an optional per-gallery source for native Media upload folders and attachment-folder taxonomies.
* Added randomized cached indexes and lazy REST batches so large folders resolve only the images needed on screen.
* Preserved manually selected photos and imports when the folder source is disabled.

= 1.0.10 =
* Allowed ornamental frames to paint outside fixed-height slideshow, carousel, filmstrip, and centre-accordion containers.
* Moved overflow clipping to the internal image viewport so photos remain contained without cropping the outer frame.

= 1.0.9 =
* Moved ornamental frame artwork outward from the gallery background edge so inward curls remain clear on all four sides.
* Retained a transparent structural border beneath the artwork for stable sizing at every configured frame width.

= 1.0.8 =
* Corrected frame slice values to use percentages, preventing gallery backgrounds from cutting through inward ornamentation.
* Made colour selection apply at full strength while retaining 3D highlights and shadows.
* Migrated existing Curled Elegance colour settings from the earlier partial-strength value.

= 1.0.7 =
* Prevented gallery backgrounds from painting beneath transparent ornamental frames.
* Aligned the frame tint mask with the original artwork to avoid doubled or clipped decoration.
* Changed frame recolouring to preserve the artwork's highlights, shadows, bevels, and three-dimensional texture.
* Contained the settings preview and reserved its configured frame width so it cannot overlap controls.

= 1.0.6 =
* Added an adjustable gallery height with automatic-height mode and fitted one-row layouts.
* Added the Curled Elegance preset and lightweight curled-corner ornamental frame artwork.
* Added configurable frame tint colour and strength, including live preview and saved-preset support.

= 1.0.5 =
* Corrected Centre Accordion geometry capture so every transition begins from the complete previous arrangement.
* Smoothly interpolated both position and full image size over a reliable 900 ms CSS transition that can restart from its current position.

= 1.0.4 =
* Replaced competing Centre Accordion effects with one smooth sliding rotation that also eases the centre-size change.
* Restyled Filmstrip as palette-aware film stock with sprocket holes and accent-coloured photograph frames.
* Updated Filmstrip sizing to account for its decorative film padding while retaining the configured number of visible photographs.

= 1.0.3 =
* Fixed Filmstrip so it displays a clipped single row of equal-width photographs and navigates through the row instead of acting like a slideshow.
* Added the Pro Centre Accordion layout with one large centred photograph and an equal number of smaller photographs on either side.
* Added layout-specific transition filtering and compatibility guidance in global and per-gallery settings.

= 1.0.2 =
* Added 13 lightweight ornamental border images, including Gothic Iron, Crimson Gothic, Cathedral Stone, and Gold Frame.
* Added Gothic Cathedral and preset-specific gallery frames, custom border-image URLs, slice and width controls, and a live frame preview.
* Added named custom appearance presets that retain colours, typography, shadows, and decorative frame settings.

= 1.0.1 =
* Fixed global layout, transition, preset, and background settings being masked by legacy per-gallery snapshots.
* Added explicit “Use global default” controls for gallery-level layout overrides.
* Added accessible tabbed settings sections with palette previews and cleaner responsive styling.
* Made transitions visible for grid, masonry, justified, and mosaic layouts as well as slide layouts.

= 1.0.0 =
* Initial release with three Lite layouts, four motion choices, responsive media rendering, lightbox navigation, CSV/JSON imports, and extensive design settings.
