I’m pleased to announce the immediate availability of NextGEN Gallery Optimizer v2.1, which is the first major update of Optimizer’s v2.0 codebase, originally released on December 11th, 2014.
This update represents three months of development (beginning immediately after the launch of Optimizer v2.0), with an initial focus on providing compatibility for the NextGEN Plus (v1.1.3) and NextGEN Pro (v2.1.4) premium add-ons, and extending backwards-compatibility down to WordPress v3.7.
This was quickly followed by the need to provide support for major changes to both NextGEN Gallery (v2.0.71 to v2.0.77), and NextCellent Gallery (v1.9.25 to v220.127.116.11), whilst several other improvements (such as an extensive rewording of plugin descriptions and documentation) were also included during development, to address some confusion and misinterpretation experienced by a few users.
NEW in Version 2.1 (at a glance):
1. Now fully compatible with the major update of NextGEN Gallery v2.0.71 (up to v2.0.77).
2. Now fully compatible with the major update of NextCellent Gallery v1.9.25 (up to v18.104.22.168).
3. Now fully compatible down to WordPress v3.7.
4. Tested fully compatible with WordPress v4.1 and v4.1.1.
5. Now fully compatible with the NextGEN Plus (v1.1.3) and NextGEN Pro (v2.1.4) premium add-ons.
6. Improved plugin descriptions and documentation throughout.
For the full list of improvements and additions, please view the changelog below.
Optimizer v2.1 Basic and Pro should be available to download directly via the plugins page in your WordPress admin within 24 hours. Or to force a check, simply click the updates icon in your WordPress toolbar, or visit http://www.yoursite.com/wp-admin/update-core.php.
Alternatively, Optimizer Pro users can download the update immediately from their personal accounts at http://www.nextgengalleryoptimizer.com/account/, while users of the Basic version can download the update from WordPress.org.
I hope Optimizer v2.1’s added compatibility provides extra flexibility with your speed optimization efforts.
All the best,
A note on future compatibility:
Due to the increasing frequency of updates of both NextGEN Gallery and NextCellent Gallery, and their likeliness to cause compatibility issues, Optimizer’s stated compatibility with these codebases can no longer be open-ended moving forward.
As of v2.1, we’ll be explicitly stating which gallery versions Optimizer has actually been tested compatible with, just like with the “Tested up to” WordPress version requirement at the plugin repository.
With all these recent major changes causing incompatibilities across multiple codebases, I feel we need to provide users with solid guidance on exactly which versions are guaranteed to work together (even if it’s only referred to as a roll-back guide after updating).
With that in mind, Optimizer v2.1 currently supports (and is tested compatible with) NextGEN Gallery (v2.0.0 to v2.0.77), NextGEN Legacy (v1.6.2 to v1.9.13) and NextCellent Gallery (v1.9.14 to v22.214.171.124).
Full changelog | v2.1 – 2015-3-09
Basic and Pro:
NextGEN Gallery v2.0.71+:
* NEW: Now fully compatible with the major update of NextGEN Gallery v2.0.71+ (up to v2.0.77).
* NEW: Optimizer’s Enhanced Fancybox Lightbox is now additionally integrated with the “C_Lightbox_Library_Manager” class, for front-end, in-memory lightbox registration in NextGEN v2.0.71+.
* NEW: Added conditional removal of several script dependencies (when using Optimizer’s “Advanced options”), that were introduced in NextGEN v2.0.71+. This enables us to continue to provide granular control of the scripts that load on posts and pages with NextGEN Gallery content in NextGEN v2.0.71+.
* NEW: The exact version of NextGEN Gallery in current use is now taken directly from NextGEN’s main plugin file header, as we can’t count on Photocrati to not remove/rename the “NGG_PLUGIN_VERSION” constant (which had already replaced Legacy’s “$ngg->version” in NextGEN v2.0+), nor provide any graceful deprecation or backwards compatibility to prevent errors after doing so (re: the NextGEN v2.0.71+ update. See below…).
* FIXED: “Fatal error: Class ‘C_Lightbox_Installer’ not found” after Photocrati completely removed the “C_Lightbox_Installer” class in NextGEN v2.0.71 (without any graceful deprecation, or backwards compatibility in place).
* FIXED: “Fatal error: Call to undefined method C_Lightbox_Installer::uninstall_lightbox()” after Photocrati reintroduced the “C_Lightbox_Installer” class in NextGEN v2.0.74+, but without the original “uninstall_lightbox()” method.
* FIXED: “Fatal error: Class ‘C_NextGen_Settings’ not found” when activating other plugins. This is caused by new methods introduced by Photocrati in NextGEN v2.0.71+ intended to hide (instead of fix) PHP warnings when using their NextGEN Plus/Pro plugins or their theme. They are called “is_activating()” and “is_not_activating()”, and are added to the “C_NextGEN_Bootstrap” class in “nggallery.php”. This appears to prevent NextGEN from initializing on the activation of other plugins, and as a result, NextGEN doesn’t load its includes…causing all third-party calls to its “C_NextGen_Settings” class in the NextGEN 2.0 API to fail.
NextCellent Gallery v1.9.25+
* NEW: Now fully compatible with the major update of NextCellent Gallery v1.9.25 (up to v126.96.36.199).
* NEW: Optimizer now deregisters the new sitewide stylesheet “framework-min.css” added in NextCellent Gallery 1.9.25+, and only loads it on posts and pages with NextCellent Gallery content. Re: https://wordpress.org/support/topic/latest-nextcellent-gallery-1925-loading-frameworkcss-file-on-every-page
* NEW: Optimizer now deregisters the new slideshow script “owl.carousel.min.js” added in NextCellent Gallery 1.9.25+, and only loads it as required on posts and pages with slideshows (e.g. posts/pages with the [slideshow id=x] shortcode, or on [Show as slideshow] link sub-pages).
WordPress v3.7 to v4.1.1:
* NEW: Optimizer is now fully compatible down to WordPress v3.7.
* NEW: Optimizer is tested fully compatible with WordPress v4.1 and v4.1.1.
* NEW: Added a “Thanks for updating” admin notification with a link to Optimizer’s settings page, which displays after a user performs either a 1-click or manual update of Optimizer. This message is automatically removed once the settings page is visited, and is important so that users are aware of the major changes and extra options available in Optimizer’s v2.0 codebase and beyond.
* IMPROVED: Changed a small section of our Dynamic Fancybox Settings Interface initialization, for compatibility with the old-style admin in WordPress v3.7.
* IMPROVED: Increased the help text font size in our Dynamic Fancybox Settings Interface, for the old-style admin in WordPress v3.7 (as the font rendering is less clear).
* IMPROVED: Optimizer now references home_url() instead of site_url(), to support WordPress installations both stored in their own subdirectory (e.g. http://example.com/wordpress/), and that are configured to serve pages from the website root (e.g. http://example.com/).
NextGEN Plus and NextGEN Pro:
* NEW: Now fully compatible with the NextGEN Plus (v1.1.3) and NextGEN Pro (v2.1.4) premium add-ons. Re: https://wordpress.org/support/topic/interferes-with-nextgen-pro-lightbox-controls
* NEW: Added checks for the “post_type” query-string parameter when removing NextGEN’s scripts and stylesheets from all over the WordPress admin. This is required in order to detect some menu items under NextGEN Pro’s Ecommerce tab.
* NEW: Optimizer now detects if the NextGEN Pro lightbox is currently being displayed. The lightbox loads a separate page inside an iframe, and script and stylesheet removal on that page breaks its icon images.
Plugin description and documentation:
* IMPROVED: Replaced all instances of “pages without galleries” and “gallery pages” with “posts and pages with (or without) NextGEN Gallery content”. Whilst longer, this should be far less open to misinterpretation, as it tackles two possible elements of confusion at once…
1. Of the word “gallery/Gallery” being taken too literally. E.g. pages displaying a “gallery” display type vs pages displaying an “album” display type, even though they’re both displaying NextGEN “Gallery” content.
2. Ensuring we’re clear there is no differentiation between WordPress Posts and WordPress Pages.
* IMPROVED: Replaced all instances of “NextGEN Legacy” with “NextGEN Legacy (v1.6.2 to v1.9.13)” to be clear we still fully support the original NextGEN codebase. The Legacy nomenclature was introduced by Photocrati (NextGEN’s new developers), and was required in the documentation as of Optimizer v2.0, in order to differentiate between the original and v2.0 NextGEN codebases.
* IMPROVED: Made some minor improvements to the text and layout on Optimizer’s settings pages, to enable users to better differentiate between the features included in the Basic and Pro versions.
Additional changelog for Optimizer Pro:
* NEW: NextGEN Gallery Deactivator now automatically flags the “nextgen-galleria-gallery” page in NextGEN Plus as an Allowed Page. This is used by the Pro slideshow in NextGEN Plus and NextGEN Pro, and is embedded in posts and pages inside an iframe.
* NEW: NextGEN Gallery Deactivator now automatically flags the “nextgen-pro-lightbox-gallery” page and the “nextgen-pro-lightbox-load-images” page in NextGEN Plus and NextGEN Pro as Allowed Pages. These are embedded into gallery/slideshow posts and pages (when using the Pro lightbox), seemingly one iframe inside another.
* NEW: NextGEN Gallery Deactivator now checks and allows the new AJAX path introduced in NextGEN v2.0.71+, which is required for comments and cart functionality in the NextGEN Pro lightbox, and save functionality in the Attach to Post interface. Now: http://www.example.com/?photocrati_ajax=1.
* NEW: Added transient caching in the 1-click plugin updater to improve performance.
* IMPROVED: A few minor coding improvements in NextGEN Gallery Deactivator.
* SECURED: NextGEN Gallery Deactivator’s directory now includes an index.php file (like all other directories in Optimizer) to prevent bots from scanning the directory tree.