New features:
A developer hook, jig_images_before_postprocessing which lets you hook into the images to be displayed, before JIG applies its postprocessing. For example, this allows including on-the-fly filtering keywords on the images (as they are gathered for the UI during this postprocessing).
Improved:
WPML: better compatibility with translated settings by using wpml_translate_single_string instead of old icl_translate
Bugfixes:
Supporting portrait videos in video player, previously they didn’t fit
Better PHP8+ compatibility, fixed warning and notices of “Undefined array key” and “Deprecated: Optional parameter”
New features:
Improved:
- New setting – Limit height to viewport. It prevents rows from appearing taller than the device/browser viewport (usable height of the screen), avoiding the need for scrolling to wholly explore a thumbnail. This was the default behavior since v2.8 (for over seven years), but there was no way to turn it off. Certain use cases benefit from unlocking tall rows, such as showing illustrations, mobile screenshots, lightboxless galleries, and portraits that don’t need to be seen in their entirety. Sometimes filling all available width is more important than fitting an image that is only slightly taller.
- A global function jigHookItems (items){}, when defined (for example in the Custom JS of JIG settings), allows you to influence the all items (images) list of your grids, prior to creation. It arose from a customer request to manipulate image URLs on the client side. In that particular case, we used it to change extensions to WebP when the browser supports it, to load pre-generated WebP thumbnails instead of TimThumb. The server-side equivalent could not be used due to caching plugins.
Bugfixes:
- Font size slightly increased in the Grid/Shortcode Editor.
Updated:
- The detection for RML (Real Media Library) failed when it wasn’t installed and polluted the shortcode with attributes related to that.
- When conditional script loading was turned off (to be unconditional), Grid live preview failed to work.
- Checking for non-existent (or deleted) RML ID works again without showing a PHP warning.
- RML’s “Overview of top level objects” functionality is restored.
- Pre-PHP7.1 compatibility: removed “public const” from source.
- PhotoSwipe: pswp—undefined-theme class removed when opened with anything other than the light theme.
- Documentation
WebP/AVIF, RML flatten hierarchy and multi-select, Facebook improvements, numerous fixes including YouTube.
New features:
Improved:
- Next-gen image formats: Option to use WebP where available. AVIF (AV1 Image File Format) is also added but is subject to very peculiar server requirements (PHP 8.1+ and GD needs to be enabled—with-avif).
- Flatten Real Media Library hierarchy, a much-requested feature! Show everything under selected point(s) in the RML tree. This virtually re-organizes your RML tree at display time, to offer more flexibility. Compatible with “straight to lightbox,” works fine with randomizing and limiting (to show a random selection from just a part of your media library), and supports Photo Engine (WP/LR Sync) with RML.
- Contents: expand everything to a single big gallery. This goes hand in hand with (and boosts the usefulness of) the Filter by option called “WP RML Galleries or Folders (of pictures in the grid)” as you could use your RML tree (Gallery or Folder names) as filters.
- Galleries: look for and stop at galleries for an on-the-fly collection. This can make navigation easier as it drills down to offer a single level, no matter how deep you organized the tree. Also allows “collectionizing” single or just a handful of galleries (regardless of their siblings). Supports folders too, even if they have direct content AND subfolders – everything becomes an individual gallery. Give a name to this on-the-fly collection (or other multi-select content) with the “Breadcrumb home text.”
- Real Media Library multi-select. Switch from dropdown-tree to a checklist-tree so you can mix and match any combination of RML content (synergizes with, and is at the core of the new flattening options).
- Facebook Albums now respect JIG’s global “Order by” setting for (creation) date ascending/descending, title ascending/descending. The “Latest” feature uses date descending to reliably catch the last album. Since the new Pages Experience messed with the default album order (and you can’t drag and drop albums on FB unlike their contents) this seemed reasonable. Updating an album doesn’t change their order. Previously, during grid creation, users would not see their latest album in JIG’s album picker in a readily apparent location (topmost).
Bugfixes:
- WebP support extended to remote hosts’ webp-in-jpg way of serving images (which is based on the accept header). Now WebP thumbnails will be created when the content-type response header says image/webp even if the extension appears to be jpg.
- Facebook Videos source is restored and now it uses embedding. Facebook supplies the player via an iframe and that fits both prettyPhoto and Magnific Popup. Only embeddable videos are visible from now on. It’s no longer possible to download the videos since the raw URL to the video file expires and the API doesn’t seem to have it (why it was broken).
- Facebook and Flickr source selection (Album covers) no longer use TimThumb as appropriate-sized images are suppled from their CDNs. Previously, users who disabled TimThumb because it didn’t work for them, didn’t see any such image in the settings.
- YouTube Playlists can now show date information (how long ago was a video uploaded).
- Shortcode parsing in the editor improved so it can now retain some HTML and values with either single or double quotes. For example, it was not possible to add an image tag to “Lightbox link text” in Recent posts, now it is viable.
- Gutenberg preview height is more adaptive.
- Rows (with help text) wrap in the editor.
- Misleading “What content to show” texts (in light of new RML features).
Updated:
- YouTube Channels load again, and the “nice time” description works now.
- Yoast SEO plugin’s XML sitemap didn’t include images where you used the JIG Gutenberg block to insert a Grid.
- Editing an existing gallery with many images could show some grey thumbnails in the WP media dialog, resulting in those images being accidentally removed from a grid.
- Remote WebP images weren’t accepted as valid mime type.
- When measuring external image dimensions, a PHP Warning: Undefined variable $update_result could occur.
- On scaled, high DPI monitors the selection borders for buttons and Facebook/Flickr albums looked broken (in the editor), they received a minor redesign.
- In come cases such as with NextGEN, double forward slashes would appear before the file name, visible in the HTML source. Previously the unencoded image URL wasn’t treated for rogue double slashes.
- Some “dimensionless” SVGs could go missing from the grid when using anything but the “Same as lightbox” thumbnail base.
- Unclickable grid selector dropdown in Gutenberg.
- Intermittent undefined JS in the editor
- Facebook API to v15
- Elementor 3.5+ widget registration