Changelog

v1.5

Added

  • An error log that records any errors that occur during background tasks.

Changed

  • Updated the admin UI to support WordPress 6.2 and React 18
  • Improved page routing in the admin UI
  • Updated the Freemius SDK to v2.5.5
  • Some small improvements to hashtag and caption filtering

Fixed

  • An error when a gallery post has an image with no permalink
  • Non-square profile images did not maintain a 1:1 aspect ratio
  • One of the settings field for hashtag filtering was not the correct type of field

v1.4.4

Changed

  • The feed now uses a smoother fade-in animation when loading Instagram posts
  • Replaced the review banner with a feature survey prompt

Fixed

  • Feeds no longer appear to be stuck in a loading state when the feed cannot be loaded

v1.4.3

Changed

  • The "Upgrade" buttons in the UI have been replaced with "Free trial" buttons
  • Thumbnails use the file path returned by WordPress, potentially fixing conflicts with image optimization plugins

Fixed

  • The "Additional CSS class(es)" field for the block was susceptible to an XSS exploit
  • The incompatibility with "Say What? Pro" plugin was not entirely fixed in the previous version
  • The Elementor integration caused a deprecation error that prevented Elementor from working

v1.4.2

Fixed

  • Incompatibility with "Say What? Pro" plugin
  • The auto-integration with WP Rocket now excludes non-minified WordPress assets from optimizations

v1.4.1

Added

  • Black Friday and Cyber Monday discount offers

Fixed

  • Fixed the register_controls deprecation warning when using Elementor v3.1.0 or later.

v1.4

Added

  • New "Custom CSS" option for feeds
  • New "Wave" template
  • New "Squircle Grid" template
  • New "Portfolio" template
  • New "Zoom" template

Changed

  • The images and icons in the feed creation wizard are now more distinct from each other

Fixed

  • The Slider layout no longer causes erroneous page scrolling when "Auto scroll" is enabled

v1.3

Added

  • Added support for Instagram embeds to WordPress

v1.2

Changed

  • Using SVGs for better quality media type icons in feeds
  • Reels now show a link to Instagram when they are opened in the popup box
  • The "Popup link text" option in Promotions is always available, even when linking directly
  • The IGTV post type filter has been replaced with an option for Reels

Fixed

  • The admin UI would not show up when the URL of the page was incorrect
  • No longer using the Instagram shorthand URL for thumbnails due to CORS errors
  • Some promotion links were not working due to a JS error
  • Relative URLs are now properly allowed in promotions

v1.1.1

Fixed

  • An error during import caused by null video URLs

v1.1

Added

  • New Analytics page
  • New media management options to control how thumbnails are downloaded
  • New option to download Instagram videos locally
  • New options to add Google Analytics parameters to all promoted URLs in a feed

Changed

  • The Settings page has peen redesigned
  • You can navigate away from the feed creation wizard using the browser's "Back" function.
  • Informational notifications now auto-hide faster
  • The sections in the feed editor sidebar now have headers that stick to the top when scrolling
  • Feed buttons no longer have hover styles and will inherit their normal colors (only affects newly created feeds)
  • Downloading and updating thumbnails is now faster

Fixed

  • The "Load more" button was scrolling the page to the top
  • A double scroll-bar issue in the feed editor page
  • Some responsive feed options did not properly default to their "Desktop" value
  • The caption word limit was including one extra word
  • The shown selected post/page for a promotion was incorrect when navigating from within the promotions modal

v1.0.1

Added

  • Added HTTPS and OpenSSL recommendations in the account info modal

Changed

  • The SpotlightInstagram.init() JS function can now re-initializes feeds

Fixed

  • Video thumbnails remain in their loading state even after the thumbnail is loaded
  • The HTTPS and OpenSSL messages were being shown when they shouldn't, and not shown when they should have been

v1.0

Added

  • A feed creation wizard with use-case selection to cater the feed editing experience
  • A "Guides" page with links to useful articles and tutorials
  • New option to align the "Load more" and "Follow" buttons on the same row beneath the feed
  • Pages and posts with an embedded feed can be created directly from the "Embed" tab in the editor
  • A warning when the update schedule used to update the feeds does not exist
  • Feeds can now be exported to, and imported from, a file
  • New options to make the Slider layout scroll automatically
  • New option to use links in post captions as promotion links
  • Stories in the feed can now be paused by holding down the left mouse button or finger

Changed

  • Various visual improvements and fixes for the admin interface
  • Reduced the size and loading time for embedded feeds
  • Reduced the loading time for the admin app
  • Improved the feed editor's styles on mobile devices
  • Improved accessibility in the feed
  • Any "@" and "#" symbols in image alt texts are removed to aid those with screen readers
  • Focus styles in the feed only appear when focusing with a keyboard
  • Captions are shown in full when hovering over posts in the feed

Fixed

  • Video posts did not load their thumbnail on iOS
  • The album navigation arrows in the popup box were not focusable with keyboard navigation
  • All of the text on the page in the feed editor gets selected when using a color picker
  • The "Follow" button's text was not the same size in the header and footer of the feed
  • The padding for the "Follow" and "Load more" buttons did not adjust with text size
  • Moderation was ignored when set to "Only show the selected posts" and no posts were selected

v0.10.3

Fixed

  • An InvalidArgumentException error after reconnecting a personal account as a business account
  • Posts could no longer be imported if an error occurs during importing
  • Connected accounts were not being automatically selected in the feed editor

v0.10.2

Fixed

  • Security fix

v0.10.1

Fixed

  • The feed's styles were not being loaded for feeds embedded on the site

v0.10

Added

  • A new option to set the maximum number of imported Instagram posts per account
  • Images in the feed now use the caption as "alt" text

Changed

  • Videos in galleries are now paused when you navigate within the gallery
  • The feed now supports better keyboard navigation
  • Improved accessibility in the popup box - the focus is trapped and all controls can be selected with the keyboard
  • Reordered the sections in the Embed tab
  • Filters can now use the spotlight/instagram/... prefix

Fixed

  • Images that fail to load could cause an infinite request loop for the same image
  • Non-English characters in hashtags broke links in captions and automated promotions

Removed

  • The layouts.js and layouts.css files are no longer needed
  • The common-pro.js and common-pro.css files are no longer needed

v0.9.9

Fixed

  • Saved thumbnails are lost when the plugin updates Instagram posts

v0.9.8

Changed

  • Now requiring a minimum WordPress version of 5.7

Fixed

  • "Thumbnail not available" issue for wide feeds on larger screens
  • On some sites, the plugin's cron jobs were not being properly registered

v0.9.7

Changed

  • The WordPress widget has been renamed to make it clearer in Elementor which widget is which
  • Captions are now synced when posts are updated
  • Updated the icon for the Elementor widget

Fixed

  • Posts without thumbnails caused the feed to crash when those posts are clicked or the feed is very wide
  • Some posts would wrongly use the original Instagram CDN image, even if Spotlight had generated optimized thumbnails
  • The feed would wrongly show "Thumbnail not available" for posts that had thumbnails available
  • Some sites that had HTTPS correctly configured were still seeing the notice that recommends enabling HTTPS

v0.9.6

Changed

  • Account access tokens are now encrypted in the database
  • Viewing an account's access token now requires entering your password
  • Videos in the popup box now sit on top of a black background
  • Now recommending HTTPS and the "openssl" PHP extension
  • A hard limit of 200 posts is used when importing the "Most popular" posts from a hashtag

Fixed

  • Videos in the popup box were invisible when using certain themes
  • The popup box now shows an error if a video cannot load
  • Videos in albums did not have their URLs updated
  • Album posts would sometimes show "Thumbnail not available" even when a thumbnail is available.
  • Some hashtag posts could not be fetched because Spotlight was asking IG for too much information

v0.9.5

Fixed

  • Videos in gallery posts had broken URLs and could not be played from the popup box
  • Feeds only imported posts automatically from the first source

v0.9.4

Fixed

  • A feed can no longer have the same account selected multiple times (how did you guys even manage that?)
  • An infinite request loop if a thumbnail fails to load in the feed
  • A previous solution for the "Image not available" error in the popup box was not working correctly
  • JSON data in HTML attributes is now encased in single quotes to prevent escaping problems

v0.9.3

Changed

  • The minimum WordPress version requirement is now version 5.3
  • The popup box no longer shows images from Instagram's CDN by default
  • Photos in album posts now have their thumbnails downloaded and generated
  • Optimized some database queries for better performance
  • Avoiding an unnecessary image redirect when showing images in the popup box
  • Thumbnails in the feed now have explicit "width" and "height" attributes

Fixed

  • Fixed a JS error that caused the feed editor page to go blank
  • The "Feeds" column in the "Settings > Accounts" page did not show any feeds
  • The import completion notification was wrongly saying that more batches were being imported
  • The styling of the navbar in the admin app was broken on Chrome
  • Fixed an error that prevented the cache from being cleared
  • The post selection menu in the promotion options could not be clicked
  • Adding a filter causes the plugin to re-import posts unnecessarily

v0.9.2

Added

  • Added a filter to transform Instagram post responses from the REST API

Changed

  • More user-friendly error message when connecting with an invalid access token
  • More user-friendly error message when using a hashtag that does not exist

Fixed

  • Duplicate posts were being imported, causing memory exhaustion errors
  • Fixed a database insertion error
  • Fixed a fatal error when a response status code is invalid
  • Fixed an argument type error that is triggered during the clean up cron job
  • Fixed blank admin UI for mobile devices on WordPress 5.8

v0.9.1

Fixed

  • Fixed an error on the "Widgets" page for WordPress version 5.8
  • Fixed a PHP notice when clearing the cache if the thumbnails folder does not exist
  • The original image would not be deleted after optimization if an error occurs

v0.9

Added

  • Accessibility and SEO attributes to buttons and links in the feed

Changed

  • Replaced the built-in import engine with an upgraded version
  • Posts that have not changed on Instagram will not be updated unnecessarily
  • Large numbers of Instagram posts are now imported in batches
  • Minor database query optimizations
  • The PRO version no longer restricts updates for the free version

Fixed

  • Timeout errors when importing large numbers of Instagram posts
  • Timeout errors when clearing the cache for large numbers of Instagram posts
  • A PHP notice about an undefined 'shortcode' index
  • A conflict with pages that have the word "spotlight" in their permalink
  • Expired images in the popup now fallback to a local image
  • A styling incompatibility with LearnDash Advanced Quizzes
  • Vertical center alignment for album images and videos
  • The feeds shows the wrong number of posts when tablets and phones show more than on desktop
  • The feed layout did not change in the Elementor widget editor
  • The settings for the Elementor widget would reset when the feed editor saves the feed
  • Posts imported for multiple sources can now be shown in feeds for both sources

v0.8.2

Changed

  • Replaced Guzzle with an in-house solution, resolving many plugin conflicts
  • The feed is now centered in its container or block when its width is not set to "Auto"

Fixed

  • The header "Account to show" option did not work
  • A conflict with BuddyBoss caused a fatal error due to a typed shortcode parameter
  • Centered headers were not properly center-aligned
  • Disabling all promotions in a feed did not disable automated or global promotions

v0.8.1

Fixed

  • The Guzzle conflict detection has been disabled due to false-positives

v0.8

Added

  • New feed templates to get started with a preset design
  • Feeds can now be exported and imported
  • Integration with WP Rocket and Litespeed Cache plugins
  • You can now start designing feeds before connecting an account
  • The REST API now includes an "Expires" header for proper browser caching
  • A link to customer support in the navigation bar when on the Feeds page
  • New dev tools page to help diagnose problems (currently hidden)

Changed

  • Reduced total size of JS and CSS loaded on the site by 28%
  • Removed use of dashicons in the feed
  • Moved the preview device selector into the preview viewport
  • Icons have been added to the action menus for feeds and accounts for better clarity
  • Delete options in the action menus for feeds and accounts are now red to indicate danger
  • Promotion options now open in a modal
  • The promotion type can now be set on a per-post basis

Fixed

  • Fixed a conflict with the WooCommerce Paypal Payments extension
  • Album images of posts not owned by your account no longer request the thumbnail, which caused an API error
  • Various usability and accessibility fixes in the feed editor
  • The PRO features did not activate under certain conditions

v0.7

Added

  • Support for IGTV videos
  • New link to the "Feeds" page in the Plugins page
  • New link to documentation and FAQs in the Plugins page
  • New options for hover colors and border radius for the "Follow" and "Load more" buttons
  • New option to toggle whether the "Load more" button causes the page to scroll down
  • Optimization can now be run manually from the "Configuration" settings page
  • URLs in captions are now turned into links
  • The "Type of posts" option now allows distinguishing between normal and IGTV videos
  • The link at the bottom of the popup box's sidebar can now be styled as a button

Changed

  • Reduced the total size of JS and CSS loaded on the site by 70%
  • Improved updating of data during imports
  • Removing use of PATCH and DELETE HTTP methods

Fixed

  • Feeds had no header if another feed on the same page showed a header for the same account
  • Some tagged posts could not be imported due to use of invalid request fields

v0.6.1

Changed

  • Now compatible with PHP8

Fixed

  • An error, caused by curly braces offset access syntax, which is not supported in PHP8.

v0.6

Added

  • New slider layout
  • New option to duplicate feeds

Fixed

  • The feed did not load on sites that send CORS preflight requests
  • Fixed hashtags without spaces between them becoming a single link
  • Undefined index errors during an import or update
  • Expired stories are now longer shown in the feed
  • The clean-up optimization deletes expired stories

v0.5.4

Changed

  • Now detecting a conflict with the official "Facebook for WordPress" plugin

Fixed

  • Fixed "Argument 1 passed" error when viewing/previewing a feed

v0.5.3

Added

  • Added the ability to clear cache for a single feed only
  • Added more tooltips in the editor and improved the wording of existing tooltips
  • Added a notification if an error occurs while saving the settings

Changed

  • The actions in the feeds list are now in a menu
  • The feed usages in the feeds list now link to the post on the site, not the edit page
  • The sources in the feeds list now link to the account info or hashtag page on Instagram
  • The default click behavior on mobile devices is now set to open the popup box
  • The admin interface uses the WP Admin color scheme as much as possible
  • Better error messages when account connection fails
  • The copied info from our access token generator can now be directly pasted into the access token field
  • Unavailable images and videos now show a message in the popup box, instead of broken content
  • The popup box's size in the preview now matches the device being previewed
  • The popup box takes on a vertical layout on mobile devices
  • Images and videos correctly fill up the popup box when the sidebar is enabled
  • The default hashtag type is now "most popular", since that often gives better results

Fixed

  • Image and video URLs were not being renewed, causing broken content when they expire
  • Thumbnails are now served using HTTPS is the site is using SSL
  • The popup box is no longer too large for mobile devices
  • Text in the popup box was too large
  • The popup box now prevents the page from scrolling, which used to result in 2 scrollbars
  • Extending the execution time during imports to prevent long imports from terminating early
  • Fixed incompatibility with plugins that introduced circular references in post type objects
  • Fixed an SQL error that occurs when using MySQL version 8.0 or later
  • All connected accounts were being included in a feed's context, even if unused in that feed
  • Scrollbars would show up in the editor preview, even when there was nothing to scroll
  • The popup box no longer freezes in white when the image or video cannot be loaded
  • New comments were not imported when the plugin fetches updates from Instagram

v0.5.2

Added

  • The plugin now checks for required PHP extensions and will show a message if one is missing

Changed

  • The "Cookie nonce is invalid" error has been changed to highlight that you are not logged in
  • Tweaked the scaling of the hover date so that it doesn't overlap with the Instagram icon
  • Like and comment counts are now updated on subsequent imports

Fixed

  • Fixed an "Invalid argument type" error that occurs during import
  • When the feed loads a post with a video in an album, the feed app would crash
  • On 32-bit systems, feeds would only show 1 post
  • The logo in the block editor is too large when using certain themes
  • The onboarding process triggered a feed load twice after connecting the account, resulting in an error
  • When navigating away from the editor, the "unsaved changes" prompt did not show up
  • Stories would take up the count for normal posts in the feed, resulting in less posts being shown
  • Auto promotion hashtags were not detected if the hashtags in the caption where not space-separated

v0.5.1

Changed

  • Optimized the rendering for the grid layout, resulting in smoother loading animations

Fixed

  • All posts in the feed would flash when more posts are loaded using the "Load more" button
  • When PHP strict_types is enabled, a type error occurred while fetching posts from Instagram
  • Updates for the free version were only available when the PRO version is deactivated
  • Story posts were not importing due to an error
  • The masonry layout's loading animation would wrongly hide already loaded posts

v0.5

Added

  • New option in the feeds list to update the Instagram posts for a feed
  • The "Show/hide PRO Features" selection is remembered in the browser

Changed

  • Video thumbnails are generated for non-tagged and non-hashtag posts
  • Added a notification when connecting an account using an access token fails
  • Duplicate posts, even if fetched for different sources, will no longer be shown in feeds
  • When a feed is not set to open posts in the popup box, the "Popup box" section is now disabled instead of being hidden

Fixed

  • Incompatibility with Kadence plugins caused modal popups to not appear
  • Incompatibility with LiteSpeed cache when loading JS when DOM is ready
  • Corrupted feed options would cause an error that prevented editing and saving feeds
  • Modals no longer cover up toast notifications in the admin app
  • Warnings would show up when activating the plugin on a new site
  • Cron jobs would not be recreated after their schedule is changed in the settings
  • Feed usage in the block editor was not detected and shown in the feeds list
  • Duplicate crons would be created when run manually using WP Crontrol
  • Activating the PRO version without the FREE version shows a "You're not allowed" page
  • The tagged accounts option did not update when connecting an account in the New/Edit Feed page
  • The preview wrongly showed the message to relax filters/moderation while the feed is still loading

v0.4.2

Changed

  • Various tiny performance optimizations
  • The default optimization age limit is now 7 days, down from 30 days
  • Increased the quality of generated thumbnails with minimal disk space impact
  • Now checking if FREE version is v0.4 or later instead of strictly matching the PRO version

Fixed

  • Downloading thumbnails for videos would occasionally cause a fatal error
  • Custom post types used by the plugin were not properly registered
  • Updates for PRO would not show up if FREE was upgraded before PRO

v0.4.1

Changed

  • Now using a beacon in the bottom-right of the screen for important plugin-related alerts
  • Using paused videos as thumbnails, until a better solution can be found for video thumbnails

Fixed

  • Thumbnails are now saved locally, after Instagram made an unannounced change to their API
  • Thumbnails are resized and automatically and optimally scaled for the screen

v0.4

Added

  • Global promotions: Apply promotions globally for all feeds
  • Automated promotions: Automatically promote posts based on hashtags
  • Elementor widget to natively embed Instagram feeds in Elementor

Changed

  • Greatly improved the loading time for feeds on the site
  • All pages are now much more responsive and usable on mobile devices
  • Filtering fields will auto-add their typed value when they lose focus
  • Improved the message shown in the shortcode when a feed does not exist
  • Added redundant WordPress styles to ensure a consistent look and feel
  • The PRO version now requires the free version to be installed and activated

Fixed

  • Addressed the "Cache key is invalid" entries in the debug log
  • Fixed thumbnails not loading due to Instagram deprecating their thumbnails API
  • Fixed an error that sometimes prevented feeds from being saved
  • Fixed PRO layouts not loading in the WordPress block editor

v0.3.2

Changed

  • The plugin now clarifies whether errors come from Instagram's API or the plugin itself
  • Overall performance of the editor has been greatly improved

Fixed

  • The text size option was showing wrong values for tablets and phones
  • Videos did not load and would remain as grey tiles
  • The preview did not always reflect changes made to the feed's options
  • Promotion settings would occasionally not get saved properly
  • The last column in the Masonry layout would become larger than the other columns
  • Showing the likes and comments icons no longer crops images

v0.3.1

Fixed

  • The page would not load or crash if an account has no access token expiry date
  • The top navigation bar would did not update to indicate the current tab.
  • Saving a feed after applying a promotion caused a previous change to be lost

v0.3

Added

  • Added a block for the WordPress Gutenberg block editor
  • Account information is now updated during media imports
  • New "Promote" feature for promoting content from Instagram feeds

Changed

  • Now using the WordPress-bundled React, reducing JS file sizes
  • Improved the responsiveness of the navbar

Fixed

  • Fixed an error that caused feeds to break when not logged in
  • Fixed PRO features not being enabled in Safari
  • Fixed an error caused by media not being a valid array from the Instagram Graph API
  • Fixed an error while fetching comments caused by empty media IDs

v0.2.4

Fixed

  • Some fields in the Design tab would incorrectly remain disabled
  • The app no longer gets stuck on the flashing logo during loading
  • Feeds did not work when other plugins encounter errors or raise warnings

v0.2.3

Changed

  • Videos use an Instagram-style video player
  • The popup box is now responsive
  • Now showing smaller thumbnails in smaller feeds
  • The popup box sidebar moves under the media on mobile devices
  • Fixed interval timing for videos in stories
  • Fixed the admin app crashing when visiting the moderation tab
  • Hashtag posts with unavailable media are omitted from feeds
  • The stories popup now has a semi-transparent background, instead of opaque

Fixed

  • Front-end CSS is now correctly minimized for increased page load speeds
  • Fixed app not loading correctly after an update, due to browser caching

v0.2.2

Added

  • Hover info now scales with the size of the media tiles in the layout
  • Added confirmation when resetting moderation

Changed

  • Added reset styles to media in the popup box to improve compatibility with themes
  • Improved how media in the popup box gets scaled to better match Instagram's own scaling
  • Improved the design of the lightbox sidebar
  • The PRO version enables the popup box sidebar by default
  • The PRO version enables all header info options by default

Fixed

  • Media in the popup box would incorrectly have black bars
  • Cancelling after clicking the Cancel button disabled the Cancel and Save buttons
  • Fixed the Masonry layout having double horizontal spacing between tiles
  • Hashtag filtering was ignoring hashtags at the beginning of a caption
  • The PRO version was loading admin-side JS and CSS on the public-side

v0.2.1

Fixed

  • "Too many IDs" error when a Business account has more than 50 posts

v0.2

Added

  • Freemius integration
  • Admin notifications
  • New "Tools" section in the settings and an option to clear the API cache
  • The live preview shows a message when user options result in no posts being shown in a feed

v0.1

Initial version of Spotlight Instagram Feeds.