{"id":391574,"date":"2026-10-30T19:27:01","date_gmt":"2026-10-30T19:27:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/media-bridge-for-bricks\/"},"modified":"2026-10-30T19:34:00","modified_gmt":"2026-10-30T19:34:00","slug":"uplink-media-manager","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/uplink-media-manager\/","author":18609598,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1.4","requires":"6.8","requires_php":"8.3","requires_plugins":null,"header_name":"Uplink Media Manager","header_author":"Stephen Walker","header_description":"Manage WordPress media with folders, compression, galleries and optional Bricks integration.","assets_banners_color":"35506c","last_updated":"2026-10-30 19:34:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":68,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"stphnwlkr","date":"2026-10-30 19:34:00","revision":3775937}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3775935,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3775935,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3775935,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3775935,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"uplinkpress\/bricks-collection-gallery":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"uplinkpress\/bricks-collection-gallery","version":"1.1.0","title":"Uplink Media Manager Gallery","category":"media","icon":"format-gallery","description":"Display a live gallery of images from a Uplink Media Manager folder.","keywords":["gallery","folder","bricks","media","slideshow"],"textdomain":"uplink-media-manager","attributes":{"collectionId":{"type":"number","default":0},"includeChildren":{"type":"boolean","default":false},"layout":{"type":"string","default":"grid"},"columns":{"type":"number","default":3},"sliderAutoplay":{"type":"boolean","default":false},"sliderInterval":{"type":"number","default":5000},"slidesPerView":{"type":"number","default":1},"carouselTablet":{"type":"number","default":2},"carouselMobile":{"type":"number","default":1},"navPosition":{"type":"string","default":"bottom"},"navAlignment":{"type":"string","default":"spread"},"navShape":{"type":"string","default":"rounded"},"navContent":{"type":"string","default":"text"},"sizeSlug":{"type":"string","default":"large"},"imageCrop":{"type":"boolean","default":true},"aspectRatio":{"type":"string","default":"1\/1"},"sortOrder":{"type":"string","default":""},"randomOrder":{"type":"boolean","default":false},"showTitle":{"type":"boolean","default":false},"showCaptions":{"type":"boolean","default":false},"useLightbox":{"type":"boolean","default":true},"lightboxMode":{"type":"string","default":"custom"},"lightboxShowTitle":{"type":"boolean","default":true},"lightboxShowCaption":{"type":"boolean","default":true},"lightboxThumbnails":{"type":"boolean","default":true},"lightboxFullscreen":{"type":"boolean","default":true},"lightboxZoom":{"type":"boolean","default":true},"lightboxSizeSlug":{"type":"string","default":"full"},"lightboxThumbnailPosition":{"type":"string","default":"horizontal"},"lightboxInfoPosition":{"type":"string","default":"bottom"},"lightboxBackgroundColor":{"type":"string","default":"#111315"},"lightboxPanelColor":{"type":"string","default":"#1d2125"},"lightboxTitleColor":{"type":"string","default":"#ffffff"},"lightboxCaptionColor":{"type":"string","default":"#d9dde1"},"lightboxFontFamily":{"type":"string","default":"inherit"},"lightboxTitleFontSize":{"type":"number","default":20},"lightboxCaptionFontSize":{"type":"number","default":15},"lightboxTitleFontWeight":{"type":"number","default":700},"lightboxCaptionFontWeight":{"type":"number","default":400},"titleColor":{"type":"string","default":"#ffffff"},"captionColor":{"type":"string","default":"#ffffff"},"textBackgroundColor":{"type":"string","default":"#000000"},"textBackgroundOpacity":{"type":"number","default":72},"titleFontSize":{"type":"number","default":16},"captionFontSize":{"type":"number","default":14},"textAlign":{"type":"string","default":"center"},"textPosition":{"type":"string","default":"bottom"},"limit":{"type":"number","default":24},"gap":{"type":"number","default":8},"lightboxShowExif":{"type":"boolean","default":true},"lightboxExifFields":{"type":"array","items":{"type":"string"},"default":["camera_model","lens","aperture_display","exposure_display","iso","focal_display"]},"sliderShowStatus":{"type":"boolean","default":true},"sliderStatusPosition":{"type":"string","default":"auto"},"sliderProgressColor":{"type":"string","default":""},"lightboxSlideshow":{"type":"boolean","default":true},"lightboxAutoplay":{"type":"boolean","default":false},"lightboxInterval":{"type":"number","default":5000},"lightboxLoop":{"type":"boolean","default":true},"sliderShowSlideshow":{"type":"boolean","default":false},"sliderShowProgress":{"type":"boolean","default":true},"navTextSize":{"type":"number","default":0},"navIconSize":{"type":"number","default":20},"sliderProgressStyle":{"type":"string","default":"bar"},"sliderShowPlay":{"type":"boolean","default":true},"sliderProgressPlacement":{"type":"string","default":"below"},"sliderCountAlignment":{"type":"string","default":"center"}},"supports":{"align":["wide","full"],"anchor":true,"html":false,"color":{"background":true,"text":true},"spacing":{"margin":true,"padding":true}},"editorScript":"uplink-mbb-gallery-block","style":"uplink-mbb-collection-gallery"}},"tagged_versions":["1.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[198723,9747,210,29161,233],"plugin_category":[50],"plugin_contributors":[271261],"plugin_business_model":[],"class_list":["post-391574","plugin","type-plugin","status-publish","hentry","plugin_tags-bricks","plugin_tags-folders","plugin_tags-gallery","plugin_tags-image-optimization","plugin_tags-media-library","plugin_category-media","plugin_contributors-stphnwlkr","plugin_committers-stphnwlkr"],"banners":{"banner":"https:\/\/ps.w.org\/uplink-media-manager\/assets\/banner-772x250.png?rev=3775935","banner_2x":"https:\/\/ps.w.org\/uplink-media-manager\/assets\/banner-1544x500.png?rev=3775935","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/uplink-media-manager\/assets\/icon-128x128.png?rev=3775935","icon_2x":"https:\/\/ps.w.org\/uplink-media-manager\/assets\/icon-256x256.png?rev=3775935","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Uplink Media Manager organizes your WordPress media library with folders, image optimization, and live folder galleries. It works with any WordPress theme. Bricks 2.4 or later is optional.<\/p>\n\n<ul>\n<li>Organize media in nested folders with bulk assignment and custom image order.<\/li>\n<li>Choose the enhanced media manager or the standard WordPress library with folder controls.<\/li>\n<li>Add Gallery and Slideshow displays in the WordPress block editor.<\/li>\n<li>Compare and optimize WebP, AVIF and JPEG XL locally, with backups and restoration.<\/li>\n<li>Edit and replace images, view EXIF metadata, manage alt text, and check media health.<\/li>\n<li>Import existing folders from HappyFiles, Wicked Folders and other supported media plugins.<\/li>\n<\/ul>\n\n<h4>Gallery and Slideshow in the block editor<\/h4>\n\n<p>Add <strong>Uplink Media Manager Gallery<\/strong> or <strong>Uplink Media Manager Slideshow<\/strong> from the block inserter. Slideshow is included as a Gallery block variation.<\/p>\n\n<p>Both use a live Uplink Media Manager folder, optionally including child folders, and support custom folder ordering. Display images in gallery layouts or responsive slideshows, with captions, a custom or native lightbox, fullscreen, zoom, thumbnail strips, slideshow playback and EXIF controls.<\/p>\n\n<p>For shortcode contexts, use <code>[uplink_mbb_gallery collection=\"folder-slug\"]<\/code>. Earlier beta shortcodes remain supported when their legacy name is available. Disable the blocks under Media Manager Settings if they are not needed. Saved content remains in WordPress while disabled.<\/p>\n\n<h4>Media library and folders<\/h4>\n\n<p>Choose the enhanced Uplink Media Manager library or the standard WordPress library with folder controls. Both use the same folder records. The optional Bricks integration uses those records too. Nest folders without a plugin-imposed depth limit.<\/p>\n\n<p>Includes bulk folder assignment, custom media order, uploads, attachment details, image editing, file replacement, EXIF metadata, alt text controls, appearance settings, and media health checks.<\/p>\n\n<p>The settings screen includes tabs, cards, appearance controls and floating save controls.<\/p>\n\n<h4>Image optimization and restoration<\/h4>\n\n<p>The Optimization tab provides local post-upload compression, format comparison, per-size statistics and restoration without Cimo Pro. Format support and reference-update coverage are described below. Existing Cimo optimization data remains visible, and Cimo remains an optional pre-upload integration.<\/p>\n\n<p>The Enhanced Manager's Optimization tab prepares one full-image preview per format. After you choose a result, only that format is encoded for every existing generated size and any unscaled original. Saved results show the actual combined bytes and per-size savings. Quality scales differ by codec. Images can also be recompressed in their current enabled format, including existing WebP files and images previously optimized by Cimo. An active Uplink Media Manager conversion must be restored before starting another conversion. Restoration recovers the exact state immediately before recompression.<\/p>\n\n<p>WebP\/AVIF conversion preserves attachment IDs, titles, captions, alt text, folders and order. Exact known URLs are updated in WordPress content\/excerpts, post metadata, term metadata and stored options, including safe serialized arrays and escaped JSON. Attachment GUIDs and unrelated values are preserved. Arbitrary PHP objects, custom database tables, disk files, remote sites and third-party caches are not rewritten. Original files remain available for those links. Clear any page-builder, site or CDN caches after reference updates.<\/p>\n\n<p>JPEG XL keeps the original attachment and its URLs as fallbacks. WordPress attachment images, post content and Bricks output can receive JPEG XL picture sources and responsive srcsets. Existing picture markup, CSS backgrounds, external links and cached HTML keep their original delivery. Disabling the plugin leaves original-format images usable.<\/p>\n\n<p>Saved results include format, quality, completion time, original\/converted totals and per-file savings. Restore originals reverses the local reference updates without discarding other content edits and restores the attachment metadata. It restores the state immediately before this conversion, including any earlier Cimo optimization. Original EXIF\/GPS remains readable under the existing privacy settings. Restore before replacing or converting an attachment again. Missing or changed originals and stale comparison jobs stop the operation.<\/p>\n\n<p>Administrator, media-upload and attachment-edit permissions plus a nonce are required. Processing is restricted to the current site. Each file must be local; conversion is limited to 100 physical files per attachment and 40 megapixels per file. Animated sources are left unchanged. Web Workers and WebAssembly must be allowed by the browser\/site policy. JPEG XL previews use the bundled decoder when native browser support is absent. Encoding uses 8-bit canvas pixels; HDR\/color-profile-preserving workflows are outside this version.<\/p>\n\n<p>Original and converted files remain available after restoration for existing links. They are tracked for deletion when the attachment is permanently deleted. Temporary server uploads expire after two hours through WordPress cron. No ongoing synchronization runs. Optional pre-upload Cimo integration remains independent of these post-upload actions.<\/p>\n\n<h4>Automatic AVIF image sizes and media health<\/h4>\n\n<p>When the host cannot resize AVIF images, the browser automatically generates missing sizes during uploads. This works in the WordPress library and Enhanced Manager, including registered custom crops. Original AVIF files and their embedded EXIF stay unchanged; browser-generated copies omit EXIF. Keep the upload page open until processing finishes. Failed size generation can be retried without uploading the image again. Existing images can be repaired under Health &gt; Missing image sizes. Local repair supports still AVIF originals up to 40 megapixels and 32 MB.<\/p>\n\n<h4>Optional Bricks and CIMO integration<\/h4>\n\n<p>Works with any WordPress theme. Bricks 2.4 or later is optional and adds shared folders in the Bricks media manager and EXIF dynamic tags.<\/p>\n\n<p>CIMO pre-upload optimization and Keep originals controls are available when CIMO Image Optimizer is active. Bricks dynamic data includes a Uplink Media Manager EXIF group for camera, lens, aperture, shutter speed, ISO, dates, dimensions, and other image fields. GPS tags are opt-in.<\/p>\n\n<p>EtchWP users should use Uplink Media Bridge for Etch.<\/p>\n\n<h4>Folder imports<\/h4>\n\n<p>Import supports HappyFiles, Wicked Folders, Folders by Premio, Enhanced Media Library and WP Media Folder by JoomUnited. Copies include stored folder hierarchy, empty folders and optional attachment assignments. Stored records are detected even when the source plugin is inactive. Post and page folders and virtual dynamic folders are excluded. Source data is preserved unless optional cleanup is selected. Media files stay unchanged.<\/p>\n\n<p>Imported folders use shared Uplink Media Manager permissions. Source access rules, ownership, colors, custom media ordering, galleries and shortcodes are not copied. No ongoing synchronization runs. Repeated imports reuse existing mappings. Pause and resume with the same administrator account; the job retains its source and original options.<\/p>\n\n<h4>Legacy folder cleanup<\/h4>\n\n<p>Imports preserve source data by default. An unchecked import option can deactivate the selected site-active source and clear verified legacy media-folder data after a successful import with media assignments. On multisite, network activation stays enabled and cleanup affects only the current site.<\/p>\n\n<p>Cleanup removes imported source folder terms, folder metadata and source assignments. It preserves files, attachments, Uplink Media Manager folders, plugin files, settings, licenses, and other content-type folders. Source galleries or shortcodes using cleared folders can stop working. A separate cleanup action is available after a fresh verified import for inactive or removed sources. Explicit consent, administrator permissions and a nonce are required. Cleanup stops when source records or imported assignments no longer match.<\/p>\n\n<h4>Permissions<\/h4>\n\n<p>Settings and folder imports require administrator capabilities. Shared folder management requires manage_categories. Assigning media requires upload_files and edit permission for each attachment. Inspector, EXIF and gallery output respects private and password-protected parent posts. This does not restrict direct access to WordPress upload URLs.<\/p>\n\n<h4>Documentation<\/h4>\n\n<p>Installation, usage, permissions, import and privacy instructions are included in this readme. The media manager works with any WordPress theme; Bricks integration is optional.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>EXIF is read from locally stored WordPress media. GPS metadata is hidden by default. Enabling GPS displays locations in the media inspector and makes location tags available through the optional Bricks integration; adding those tags to public content can publish a photo's location. Map service requests occur only as described above. There is no plugin telemetry or external license-check service. Optional CIMO integration uses the separately installed CIMO plugin, whose own settings and policies apply. Deactivation and deletion retain folders, assignments, settings and metadata in WordPress.<\/p>\n\n<h4>External services<\/h4>\n\n<p>Maps are optional. Both \"Include GPS coordinates and altitude\" and \"Enable external location maps\" must be enabled by an administrator under Media &gt; Media Manager Settings &gt; EXIF. GPS fields are disabled by default on new installations. External maps are disabled by default on new installations and upgrades until explicitly enabled. GPS fields and dynamic tags work without external maps.<\/p>\n\n<p>When an authorized media user opens an EXIF inspector containing valid GPS coordinates and the map becomes visible, the browser requests satellite tiles from Esri. Selecting OpenStreetMap requests street tiles from the OpenStreetMap Foundation. Panning and zooming request further tiles from the selected provider. Hidden maps, images without GPS, and disabled map settings make no map-tile requests. Leaflet JavaScript, CSS, images and readable source are included locally in this plugin; they are not fetched from a CDN or the Bricks theme.<\/p>\n\n<p>Tile requests disclose the viewer's IP address, browser\/request information and site origin to the selected provider. Tile addresses identify the viewed geographic area and zoom level, which can reveal the photo's approximate location. The plugin requests an origin-only cross-site referrer. Photo files, titles, captions, EXIF records, account details and WordPress credentials are not uploaded by this integration. Requests are made directly from the browser over HTTPS and follow the browser's normal cache behavior. The plugin does not prefetch tiles for offline use or run background map requests. Provider policies apply to their handling and retention of request data. This plugin does not provide a service-availability guarantee.<\/p>\n\n<h4>Esri World Imagery<\/h4>\n\n<p>Provides the default satellite imagery from services.arcgisonline.com when the map is displayed. Source attribution remains visible on the map. Use of imagery is subject to Esri's terms and the service's access and usage conditions.<\/p>\n\n<ul>\n<li>Service: https:\/\/services.arcgisonline.com\/ArcGIS\/rest\/services\/World_Imagery\/MapServer<\/li>\n<li>Terms: https:\/\/www.esri.com\/en-us\/legal\/terms\/web-site-service<\/li>\n<li>Privacy: https:\/\/www.esri.com\/en-us\/privacy\/privacy-statements\/privacy-statement<\/li>\n<li>Products and services privacy supplement: https:\/\/www.esri.com\/en-us\/privacy\/privacy-statements\/privacy-supplement<\/li>\n<\/ul>\n\n<h4>OpenStreetMap<\/h4>\n\n<p>Provides the optional street layer from tile.openstreetmap.org after the user selects it. Attribution links to OpenStreetMap contributors and copyright information. The public tile service is subject to its usage policy and capacity limits; it is not an unlimited or offline tile service.<\/p>\n\n<p>The \"Open in OpenStreetMap\" link opens www.openstreetmap.org only when clicked. Its URL includes the photo's GPS latitude and longitude, rounded to six decimal places. Opening that link discloses those coordinates and the browser's normal request information to OpenStreetMap.<\/p>\n\n<ul>\n<li>Service: https:\/\/www.openstreetmap.org\/<\/li>\n<li>Tile usage policy: https:\/\/operations.osmfoundation.org\/policies\/tiles\/<\/li>\n<li>Copyright and license: https:\/\/www.openstreetmap.org\/copyright<\/li>\n<li>Privacy: https:\/\/osmfoundation.org\/wiki\/Privacy_Policy<\/li>\n<li>Terms: https:\/\/osmfoundation.org\/wiki\/Terms_of_Use<\/li>\n<\/ul>\n\n<h4>Source code and builds<\/h4>\n\n<p>The plugin ZIP includes the editable PHP, JavaScript and CSS source for all first-party code. In particular, assets\/gallery-lightbox.js is the original handwritten source, not a generated or minified bundle. Edit it directly; no npm, webpack, transpiler or other build step is required. First-party assets are served directly as shipped.<\/p>\n\n<p>Public development repository: https:\/\/github.com\/stphnwlkr\/media-bridge-for-bricks<\/p>\n\n<p>To create an installable package from the included source, place media-bridge-for-bricks.php, readme.txt, LICENSE and the includes, assets and blocks directories inside a media-bridge-for-bricks folder and ZIP that folder. Development tests and reports are not required at runtime.<\/p>\n\n<p>Third-party compiled assets retain their upstream source, build and license references below and in their bundled SOURCES.md files. Browser Image Compression includes its readable original sources in its source map. Leaflet also includes leaflet-src.js.<\/p>\n\n<h4>Third-party libraries<\/h4>\n\n<p>jSquash WebP 1.5.0, AVIF 2.1.1 and JPEG XL 1.3.0 encoders are bundled locally in assets\/vendor\/jsquash, with the JPEG XL decoder for previews. They use Apache-2.0 wrappers and BSD codec licenses. Complete licenses and source\/build links are included in that directory's SOURCES.md. The .wasm files are required runtime codecs for local WebP, AVIF and JPEG XL encoding and JPEG XL preview decoding. They are loaded by image-encode-worker.js and the jSquash JavaScript wrappers, not server executables. License and patent notices are retained as .txt files. Single-thread WebAssembly codecs run in a local background worker. No external encoding service, CDN, Cimo Pro license or cross-origin isolation headers are required.<\/p>\n\n<p>Browser Image Compression 2.0.2 is included in assets\/vendor\/browser-image-compression under the MIT license. It includes UPNG.js and UZIP.js, also under MIT licenses. Complete licenses and a source map containing readable sources are included in that folder. Upstream source and build instructions: https:\/\/github.com\/Donaldcwl\/browser-image-compression<\/p>\n\n<p>The PNG compressor runs inside Uplink Media Manager's local worker with its own nested-worker mode disabled. It does not load a CDN or send images to an external service. Post-upload actions save through Uplink Media Manager's authenticated API and do not require Cimo Pro.<\/p>\n\n<p>Leaflet 1.9.4 is included in assets\/vendor\/leaflet under the GPL-compatible BSD 2-Clause license. Copyright 2010-2023 Volodymyr Agafonkin and 2010-2011 CloudMade. The complete license is in assets\/vendor\/leaflet\/LICENSE; unmodified readable source is in leaflet-src.js, alongside the distributed JavaScript, source maps, CSS and images. No build step is needed to use these distributed files.<\/p>\n\n<ul>\n<li>Project: https:\/\/leafletjs.com\/<\/li>\n<li>Source: https:\/\/github.com\/Leaflet\/Leaflet\/tree\/v1.9.4<\/li>\n<li>Official release package: https:\/\/registry.npmjs.org\/leaflet\/-\/leaflet-1.9.4.tgz<\/li>\n<\/ul>\n\n<h4>Third-party licenses<\/h4>\n\n<p>Lucide outline icons are included under ISC\/MIT licenses. Source revision and full license notices are included in assets\/vendor\/lucide\/. Web Awesome 3.14.0 Free is bundled locally with its license and source notices.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload and activate Uplink Media Manager on a standard WordPress installation. Any theme is supported.<\/li>\n<li>Open Media &gt; Uplink Media Manager settings to select Enhanced view or WordPress view.<\/li>\n<li>Optionally activate Bricks 2.4 or later. Its media manager can use the same folders, and its dynamic-data picker gains EXIF tags.<\/li>\n<li>Switching themes preserves folders, assignments, settings, galleries and conversion backups.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20bricks%3F\"><h3>Do I need Bricks?<\/h3><\/dt>\n<dd><p>No. The media manager, folders, imports, compression, restoration, file replacement, EXIF inspector, optional maps and gallery blocks work in standard WordPress. Bricks 2.4 or later adds integration with its media manager and dynamic-data picker.<\/p><\/dd>\n<dt id=\"does%20deleting%20a%20folder%20delete%20its%20files%3F\"><h3>Does deleting a folder delete its files?<\/h3><\/dt>\n<dd><p>No. Media files stay in WordPress.<\/p><\/dd>\n<dt id=\"does%20it%20synchronize%20happyfiles%20folders%3F\"><h3>Does it synchronize HappyFiles folders?<\/h3><\/dt>\n<dd><p>No ongoing synchronization runs. Import copies supported source folders and optional media assignments. Choose Uplink Media Manager under Folder behavior to use the imported folders in Bricks; otherwise Bricks' automatic selection can use HappyFiles.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20deactivate%20or%20delete%20the%20plugin%3F\"><h3>What happens when I deactivate or delete the plugin?<\/h3><\/dt>\n<dd><p>The plugin preserves its folders, assignments, settings, and metadata.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Automatically generates missing AVIF image sizes in the browser when the host lacks AVIF editing support, with custom crop support, progress and retry without duplicate uploads.<\/li>\n<li><p>Adds missing-size repair for existing images in Media Health. Preserves original AVIF files and EXIF, and validates attachment permissions and generated files.<\/p><\/li>\n<li><p>Fixes dialog and lightbox keyboard focus, background isolation, inspector keyboard scrolling, and accessibility labels. Uses Media Manager Settings for settings links.<\/p><\/li>\n<li><p>Restores Show EXIF in inspector in Enhanced display options and adds an administrator-controlled default on the EXIF settings tab.<\/p><\/li>\n<li>Adds Keep originals to native WordPress upload dialogs and the Add Media screen, allowing Cimo to be bypassed for metadata preservation.<\/li>\n<li>Refreshes native WordPress folder views and counts after uploads, deletions and folder assignment changes. Allows same-format recompression of existing and Cimo-optimized WebP images.<\/li>\n<li><p>Renames the plugin Uplink Media Manager and enables its WordPress features with any theme. Bricks integration is optional. Existing folder records, settings, shortcodes and block identifiers are retained.<\/p><\/li>\n<li><p>Fixes activation without Bricks, guards all required provider interfaces, uses the WordPress file uploader for conversion staging and bounds serialized reference traversal.<\/p><\/li>\n<li><p>Documents bundled editable source and limits notification assets to supported media and editor screens.<\/p><\/li>\n<li><p>Ports the Enhanced Manager interface and fixes from Etch 2.7.0, with local Web Awesome controls, consistent spacing, joined button groups, unified search and corrected input styling.<\/p><\/li>\n<li>Adds a dedicated Compression settings tab and administrator image-size exclusions honored by All sizes, with per-image overrides in Selected sizes.<\/li>\n<li>Adds drag-to-move folder assignment while retaining unrelated folder memberships and multiple-assignment actions.<\/li>\n<li>Refines inspector scrolling, compact format previews, large-preview quality controls, outside-click dismissal, close buttons and keyboard focus outlines.<\/li>\n<li>Adds local open-source Lucide outline icons, a compact selection toolbar with an information popup, and persistent error feedback.<\/li>\n<li><p>Adds Google Maps and Apple Maps links to photo-location maps and loads maps when opening Enhanced from the WordPress-default workflow.<\/p><\/li>\n<li><p>Adds All sizes, Main image only and Selected sizes with custom-size coverage, reversible partial conversion, and locally bundled Web Awesome controls.<\/p><\/li>\n<li><p>Adds preview-first image comparisons with per-format quality sliders and larger before-and-after previews.<\/p><\/li>\n<li>Adds quality adjustment, savings and Apply compression inside the larger preview.<\/li>\n<li>Adds a compression switch and WebP, AVIF, JPEG XL and JPG format settings. WebP and AVIF default on.<\/li>\n<li>Adds independent role permissions for compression and restoration. Both default to administrators; upload and image-edit permissions remain required.<\/li>\n<li>Adds JPEG XL fallback information beside the format heading and improves padding, keyboard controls and color contrast.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Prepare the tested beta.15 feature set for the initial WordPress.org release.<\/li>\n<li>Use a numeric release version, matching package metadata and the prefixed gallery shortcode.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.15<\/h4>\n\n<ul>\n<li>Show a prominent progress overlay during image comparison, encoding, saving and restoration.<\/li>\n<li>Keep processing status readable in light and dark appearances and prevent interaction until the operation finishes.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.14<\/h4>\n\n<ul>\n<li>Add local WebP, AVIF and JPEG XL comparison and conversion across all stored image sizes, without Cimo Pro.<\/li>\n<li>Move compression, comparison, saved statistics and restoration into the Optimization tab.<\/li>\n<li>Update WordPress content, Bricks data and serialized settings for WebP\/AVIF; retain original files for external links and restoration.<\/li>\n<li>Serve JPEG XL as optional picture sources with original-format fallbacks.<\/li>\n<li>Preserve EXIF through retained originals and save quality, completion time and per-size savings.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.13<\/h4>\n\n<ul>\n<li>Fix post-upload PNG optimization with a locally bundled PNG compressor, matching the compressor used by Cimo Pro.<\/li>\n<li>Keep image formats and dimensions unchanged and retain Cimo backups. Report per-file errors and treat equal-size results as unchanged.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.12<\/h4>\n\n<ul>\n<li>Count folder assignments independently of attachment parent publication status.<\/li>\n<li>Automatically refresh existing folder counters on an administrator visit after updating.<\/li>\n<li>Show checked and already-present assignments in import progress and completion.<\/li>\n<li>Clarify how to resume saved progress after an interrupted request.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.11<\/h4>\n\n<ul>\n<li>Show a simple empty state when no source has folders available; hide import and cleanup controls.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.10<\/h4>\n\n<ul>\n<li>Do not restore a completed import selection when the source has no folders left.<\/li>\n<li>Keep pending post-import actions tied to their original source.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.9<\/h4>\n\n<ul>\n<li>Distinguish active, inactive and removed source plugins from retained folder data.<\/li>\n<li>Add optional verified legacy folder cleanup after import and a separate cleanup action.<\/li>\n<li>Deactivate site-active sources when authorized while preserving network activation.<\/li>\n<li>Bind cleanup to the current site, completed imports, explicit consent and preserved assignments.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.8<\/h4>\n\n<ul>\n<li>Add Wicked Folders, Folders by Premio, Enhanced Media Library and WP Media Folder imports alongside HappyFiles.<\/li>\n<li>Add source detection and media-assignment counts, including retained records from inactive plugins.<\/li>\n<li>Preserve source-specific mappings, media-only scope and original options when resuming.<\/li>\n<li>Preserve new Wicked Folders sibling positions and omit synthetic WP Media Folder roots.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.7<\/h4>\n\n<ul>\n<li>Add a resumable, administrator-only HappyFiles folder and media-assignment import.<\/li>\n<li>Add a Bricks folder-provider preference and documentation links.<\/li>\n<li>Match Enhanced Manager settings styling and help text to the original bridge.<\/li>\n<li>Harden media permissions and protected image metadata.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.6<\/h4>\n\n<ul>\n<li>Add Cimo Pro post-upload optimization for the full image and remaining generated image sizes in the enhanced inspector.<\/li>\n<li>Keep Cimo backups, original formats and dimensions, and refresh optimization details after processing.<\/li>\n<li>Read original EXIF from Cimo backups when available.<\/li>\n<li>Add Gutenberg gallery and slideshow blocks using shared Uplink Media Manager folders.<\/li>\n<li>Hide Optimize on images with existing Cimo optimization data.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.5<\/h4>\n\n<ul>\n<li>Bundle Leaflet 1.9.4, its readable source, images and BSD license inside the plugin.<\/li>\n<li>Add a separate external-map opt-in and service\/privacy disclosures.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.4<\/h4>\n\n<ul>\n<li>Add a GPS location map to both EXIF inspectors using Bricks' Leaflet library.<\/li>\n<li>Add satellite imagery, an OpenStreetMap layer, and a photo-location marker.<\/li>\n<li>Load maps only when GPS is enabled and valid coordinates are present.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.3<\/h4>\n\n<ul>\n<li>Show the EXIF inspector tab automatically when metadata is present.<\/li>\n<li>Read Nikon lens tags and embedded EXIF when WordPress metadata contains empty defaults.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.2<\/h4>\n\n<ul>\n<li>Match the original bridge admin UI.<\/li>\n<li>Add optional CIMO integration and optimization details.<\/li>\n<li>Add EXIF fields to the Bricks dynamic-data picker.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.1<\/h4>\n\n<ul>\n<li>Initial Bricks-only release with enhanced and WordPress media views.<\/li>\n<li>Shared folders through the Bricks 2.4 media-folder provider API.<\/li>\n<li>Independent settings and folder storage with unrestricted nesting.<\/li>\n<\/ul>","raw_excerpt":"Organize WordPress media with folders, compression, galleries and optional Bricks integration.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/391574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=391574"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/stphnwlkr"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=391574"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=391574"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=391574"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=391574"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=391574"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=391574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}