=== Spotlight Social Feeds - Block, Shortcode, and Widget ===

Contributors: RebelCode, spotlightsocialfeeds, markzahra, Mekku, jeangalea, gabygalea, omidakhavan
Plugin URI: https://spotlightwp.com
Tags: Instagram, Instagram feed, Instagram embed, Instagram widget, Instagram block
Requires at least: 5.7
Requires PHP: 7.1
Tested up to: 6.9
Stable tag: 1.7.4
License: GPLv3

Instagram feeds made easy. Responsive, customizable, accessible, and SEO-friendly out of the box. Includes Instagram blocks & oEmbed support.

== Description ==

**Embed [Instagram](https://www.instagram.com/) feeds anywhere on your website.** Choose a beautifully designed template, connect your Instagram account, and customize unlimited galleries to display across your website.

[**Instagram Feed Demos**](https://spotlightwp.com/demo/?utm_source=readme&utm_medium=readme_desc&utm_campaign=readme_desc_topdemos) | [Instagram Slider Gallery](https://spotlightwp.com/instagram-slider/?utm_source=readme&utm_medium=readme_desc&utm_campaign=readme_desc_topslider)

== Follow 3 simple steps... ==

1. Select an Instagram feed design*
2. [Connect](https://docs.spotlightwp.com/category/517-connecting-accounts) an Instagram account
3. Display your Instagram feed on your website

Create and embed multiple Instagram feeds using posts from as many Instagram accounts as you want.

*Or create your own, it's fully customizable.

== Free Features ==

Get everything you need to display an Instagram feed for free. Every gallery blends in perfectly with your website, adapting to fit in perfectly with your theme's design and fonts.

- Connect **unlimited Instagram accounts**
- Display **unlimited Instagram feeds** across your website
- Combine multiple Instagram accounts in a single feed
- Supports photos, videos, reels, and gallery posts
- Embed singular Instagram posts with our **Instagram oEmbed support**
- **Free pre-designed templates** (or design your own)
- 20+ design customization options
- Set the **number of columns and posts** for each feed
- **Order your Instagram posts** by date, popularity, or at random
- **Customize the design per device** (responsive by default)
- Add a **popup lightbox** to show larger photos, reels, and videos
- **Custom feed header** with your account's avatar and bio
- Customize and translate the **“Follow” and "Load more" buttons**
- Embed your Instagram feed using a block, shortcode, or widget

**Agencies and developers**: Ask clients to use the Spotlight [Access Token Generator](https://spotlightwp.com/access-token-generator/) instead of asking them for their private Instagram account login details. It's safer and faster.

== Why People Are Loving Spotlight  ==

In just over two years, Spotlight has been downloaded over 400,000 times and is currently in use on 50,000+ websites around the world. These are the main reasons people keep coming back to it.

**#1 Keep your website updated, automatically**
Gone are the days of manually updating your website's gallery with new photos, videos, and reels every week. You have access to Instagram on the go, so simply post to the app and Spotlight will automatically update your website for you.

**#2 Show people what you're up to**
Instagram is a great platform for building relationships with your followers. Share that same experience with your website visitors and show off your followers' love for what you do.

**#3 Create new connections**
Increase social engagement and grow your Instagram following with a "Follow on Instagram" button directly within your website's Instagram feed.

== "Finally, a social plugin that simply works" - Georgia G. ==

There are many Instagram plugins for WordPress, but we wanted to create something that simply worked. No fluff and no annoying ads, just what you really need.

**#1 Professionally designed templates**
Our designers took care of every detail to make your your Instagram galleries are ready to go from the moment you connect an Instagram account.

**#2 Fully customizable and responsive**
All designs are fully responsive right out of the box. You can also create your own custom designs, creating different looks for every device type.

**#3 Added SEO value for your website**
Your Instagram posts have SEO value in themselves. Spotlight's feeds are embedded directly on your website and crawled by search engines. The dynamic content and ALT tags (taken from the Instagram post captions) help boost your SEO. Spotlight also includes its own clever caching and image optimization to help with website performance.

**#4 Accessible right out of the box**
Spotlight is accessible for users as well as website visitors. The entire interface as well as embedded Instagram feeds can be navigated using your keyboard and all images include ALT tags.

== Fast and Helpful Support ==

We provide support for both the free and premium versions of Spotlight.

We are constantly working on new innovative features to make your Instagram content work harder for your business. Whenever you have a question or want to request a new feature , we're just a quick message away.

- [Documentation](https://docs.spotlightwp.com/)
- [Free support (forum)](https://wordpress.org/support/plugin/spotlight-social-photo-feeds/)
- [Premium & pre-sales support (email)](https://spotlightwp.com/support/?utm_source=readme&utm_medium=readme_desc&utm_campaign=readme_desc_support)

== Spotlight's Premium Upgrades ==

[Spotlight offers premium plans](https://spotlightwp.com/pricing/?utm_source=readme&utm_medium=readme_desc&utm_campaign=readme_desc_upgrade) with additional customization options and features for those looking to get more value from their Instagram content.

**[Spotlight Essentials](https://spotlightwp.com/pricing/?utm_source=readme&utm_medium=readme_desc&utm_campaign=readme_desc_essentials)**
- Everything in Free plus...
- Unlock all templates and layouts
- Unlock all customisation options
- Show Instagram stories (just like in the app)
- Elementor integration (a dedicated Spotlight widget)

**[Spotlight PRO](https://spotlightwp.com/pricing/?utm_source=readme&utm_medium=readme_desc&utm_campaign=readme_desc_pro)**
- Everything in Free and Essentials plus...
- Display public [**Instagram hashtag feeds**](https://spotlightwp.com/instagram-hashtag-feeds/?utm_source=readme&utm_medium=readme_desc&utm_campaign=readme_desc_upgradehashtag)
- Display [**tagged Instagram posts**](https://spotlightwp.com/tagged-post-feeds/?utm_source=readme&utm_medium=readme_desc&utm_campaign=readme_desc_upgradetagged)
- Create combined feeds with multiple source types (account, hashtag, tagged)
- Filter your Instagram feed by keywords or phrases in captions
- Filter your Instagram feed by hashtags
- Moderate your feed by hand-selecting the posts to show or hide
- [**Instagram link in bio**](https://spotlightwp.com/link-in-bio/?utm_source=readme&utm_medium=readme_desc&utm_campaign=readme_desc_upgradelinkinbio) pages to drive traffic from Instagram to your website (think Linktree or Lnk.bio)
- [**Shoppable Instagram feeds**](https://spotlightwp.com/shoppable-instagram-feed-wordpress/?utm_source=readme&utm_medium=readme_desc&utm_campaign=readme_desc_upgradeshoppable) to increase eCommerce sales through your social media content
- WooCommerce integration (link posts to products)

**[Spotlight Agency](https://spotlightwp.com/pricing/?utm_source=readme&utm_medium=readme_desc&utm_campaign=readme_desc_all_access)**
- Everything in Free, Essentials, and PRO plus...
- Instagram account **insights**
- Instagram post insights
- Feed engagement **analytics**
- Feed promotion analytics
- Google analytics integration
- **Media management** to control image and video quality and storage


[**Premium Instagram Demos**](https://spotlightwp.com/demo/?utm_source=readme&utm_medium=readme_desc&utm_campaign=readme_desc_upgradedemo)

== User Reviews and Testimonials ==

Spotlight helps tens of thousands of website owners display Instagram feeds. Here are a few testimonials from our 100+ reviews.

Taken directly from the WordPress Plugin Repository...

**Finally, a social plugin that simply works**
"This plugin is easy to install and I had no issues linking to my client’s Instagram feed. [...] It is my new go-to. I am so happy I can finally say my hunt is over for the perfect social feeds plugin." - [@georgiag](https://wordpress.org/support/topic/finally-a-social-plugin-that-simply-works/)

**My new go-to for Instagram feeds**
"This plugin has a slick back-end to get you connected, whilst the front end works perfectly on the page – it’s snappy and fits with your theme. The key feature for me was the image lightbox popup, so your site visitor remains on the page and doesn’t jump over to Instagram to get distracted! I’m pleased to report that this feature works perfectly in the free version. Oh, and support replies and fixes within several hours!" - [@photomaldives](https://wordpress.org/support/topic/my-new-go-to-for-instagram-feeds-5%e2%ad%90/)

**Perfect and easy to use**
"Was looking for an IG gallery plugin and this one did not disappoint. The free version offers a good amount of features and the premium one is solid as well, providing more customization. Support is top-notch and quick to respond." - [@littleeasy](https://wordpress.org/support/topic/perfect-and-easy-to-use-22/)

**Great plugin, easy to customize**
"I have been using this plugin for a few months, and I’m really happy with it. I like that it’s easy to customize and looks really great both on a computer screen and on a mobile phone’s screen." - [@misselenat](https://wordpress.org/support/topic/great-plugin-easy-to-customize-7/)

== Recommended by the experts ==

The following are media highlights of Spotlight Instagram Feeds across various well-respected publications.

- Hubspot: [Top 3 Free Instagram Plugins for WordPress](https://blog.hubspot.com/website/top-free-instagram-plugins-wordpress-site)
- Elementor: [Best Instagram Plugins for WordPress](https://elementor.com/blog/best-instagram-plugins-wordpress/)
- Kinsta: [WordPress Instagram Plugins](https://kinsta.com/blog/wordpress-instagram-plugin/)
- BobWP: [How to Improve WooCommerce Sales Using Instagram](https://bobwp.com/how-to-improve-woocommerce-sales-using-your-instagram-feed/)
- Avada: [Use Instagram Feeds to Boost Traffic and Conversions](https://theme-fusion.com/how-to-use-instagram-feeds-to-boost-traffic-and-conversions/)
- Elegant Themes: [7 Great Instagram Plugins for Sharing Your Feed](https://www.elegantthemes.com/blog/wordpress/instagram-plugins-for-sharing-your-feed)
- aThemes: [Best WordPress Instagram Plugins 2020](https://athemes.com/collections/best-wordpress-instagram-plugins/)
- WPExplorer: [How to Add Instagram Photos to WordPress](https://www.wpexplorer.com/add-instagram-wordpress/)
- WP Mayor: [How to Import Instagram Photos to WordPress](https://wpmayor.com/import-instagram-photos-wordpress/)


**Disclaimer**

Spotlight Instagram Feeds, also known as Spotlight Social Media Feeds or SpotlightWP, is a RebelCode product officially verified by Facebook to make use of the official Instagram(tm) API. It is not affiliated with or endorsed by Instagram and/or Facebook.

== Installation ==

= Installation Method 1 =

1. Go to the Plugins page in your WordPress site's dashboard.
2. Click on the "Add New" button.
3. Search for “Spotlight Social Media Feeds”.
4. Click on the "Install" button next to it, then hit "Activate".
5. Go to the “Instagram Feeds” menu item to get started.

= Installation Method 2 =

1. Click on the "Download" button above.
2. Upload the zip file to your site from the Plugins page in your WordPress site's dashboard.
3. Activate the plugin.
4. Go to the “Instagram Feeds” menu item to get started.

= Step 1. Choose a template or design your own =

Choose one of our fully responsive and beautifully design Instagram feed templates or design your own. The templates are also fully customizable so you can change every detail to make it match your website perfectly.

= Step 2. Connect Your Instagram Account =

Follow the instructions to connect your, or your clients' Instagram account. You may connect multiple Instagram accounts and manage them all from the Accounts settings page. More information on how to connect Instagram accounts in Spotlight is provided in our documentation [here](https://docs.spotlightwp.com/category/517-connecting-accounts).

= Step 3. Embed Your Instagram Feed =

Spotlight provides three methods to embed your Instagram feed anywhere on your website.

- [Block](https://docs.spotlightwp.com/article/581-block) - "Spotlight Instagram Feed"
- [Widget](https://docs.spotlightwp.com/article/580-widget) - "Spotlight Instagram Feed"
- [Shortcode](https://docs.spotlightwp.com/article/579-shortcode) - [instagram feed="456"]

== Frequently Asked Questions ==

= How can I only display posts that use any Instagram hashtag? =

With [Spotlight PRO](https://spotlightwp.com/pricing/?utm_source=readme&utm_medium=readme_faq&utm_campaign=readme_faq_hashtag) you can use either of the two options.

First, you can choose to display posts that include a specific hashtag from all across Instagram. ([Learn more](https://docs.spotlightwp.com/article/622-how-to-display-hashtag-feeds)).

Second, you can use Hashtag filtering to show or hide posts from your connected Instagram account that use a specific hashtag. [Learn more.](https://spotlightwp.com/features/?utm_source=readme&utm_medium=readme_faq&utm_campaign=readme_faq_hashtagfeed)

- - -

= Can I display posts from multiple Instagram accounts in one gallery? =

Yes. With Spotlight, you can create feeds that feature photos, videos, and reels from multiple Instagram accounts within the same feed. Simply connect the Instagram user accounts you want to display posts from and select them in the "Connect" step of the feed editor in Spotlight.

- - -

= How many Instagram accounts can I connect? =

Spotlight has no limit on the number of Instagram accounts you may connect. So long as you have legitimate access to those accounts, you can connect them directly through Spotlight or by using an Instagram access token (for developers).

- - -

= Where can I find my Instagram Access Token and User ID? =

Option 1: Use Spotlight's [Access Token Generator](https://spotlightwp.com/access-token-generator/).

Option 2: If your Instagram account is already connected in Spotlight, go to Instagram Feeds > Settings. From the first page, Accounts, click on the Instagram username or the "info" option under Actions. Enter your admin account's password to view the access token details.

- - -

= How many feeds can I set up and display? =

Spotlight sets no limit on the number of feeds you can set up. Design one for your footer, another for the sidebar, and one to fill an entire page - let your imagination run free. You can even show multiple feeds on the same page!

- - -

= Can I display multiple Instagram feeds on the same page or site? =

Yes. With Spotlight you can embed multiple Instagram feeds on a single page, a single post, in widget areas, and across your entire website. There are no limits and each feed can be unique or re-used in multiple places.

- - -

= Can I show full-size photos and play Instagram videos directly on my website? =

Yes, Spotlight's free version includes a lightbox (popup) that will display your photos and playable videos in their full size over your entire website. Keep site visitors exactly where you want them - on your website!

If you want to enhance the popup, [Spotlight PRO adds a sidebar](https://spotlightwp.com/pricing/?utm_source=readme&utm_medium=readme_faq&utm_campaign=readme_faq_fullsizeandvideos) to display your Instagram captions, comments, published date, and more.

- - -

= Can I hand-pick specific posts to hide or show in my Instagram feed? =

Yes, we understand that you may have certain posts that you don't want to show on your website. By using the Moderation option in Spotlight Pro you can hand-pick the photos, videos, and reels that you either want to show or hide on your website. [Learn more.](https://spotlightwp.com/features/?utm_source=readme&utm_medium=readme_faq&utm_campaign=readme_faq_moderation)

- - -

= Will Spotlight's Instagram feeds work well with my theme? =

Yes, aside from the customisation options provided by Spotlight itself, the plugin is also set up to use your theme's fonts to completely match your brand's look and feel on your website.


== Screenshots ==

1. Embed Instagram feeds anywhere on your website with Spotlight (free).
2. Create multiple Instagram galleries in seconds with Spotlight’s powerful feed editor.
3. Spotlight includes a free popup lightbox to display your Instagram photos, videos, and reels.
4. All Spotlight Instagram feeds are automatically accessible and help boost your website’s SEO.
5. Every Instagram feed is fully responsive by default and can also be customized per device.
6. [Premium] Display your tagged Instagram posts and Instagram hashtag feeds.
7. [Premium] Create shoppable Instagram Feeds and Instagram bio link pages in seconds. Link Instagram posts to articles, products, recipes, and much more.

== Changelog ==

= 1.7.5 (2026-03-10) =

**Changed**
- Updated Analytics date handling to use WordPress date/time functions for improved timezone consistency.
- Improved null validation before calling `version_compare()` to prevent PHP 8.x deprecated warnings.
- Modernized internal function signatures for better PHP 8.3 compatibility.

**Fixed**
- Fixed long-standing PHP 8.x deprecated warning caused by `version_compare()` being called with a null value.
- Fixed multiple PHP 8.3 deprecated warnings and notices across Free and Premium versions.

= 1.7.4 (2025-11-11) =

**Added**
- Added a 4:5 image ratio option to the Grid layout.
- Added 3:4 and 4:5 image ratio options to the Highlight and Slider layouts.

**Fixed**
- Fixed misaligned arrows in Slider layouts.

= 1.7.3 (2025-09-02) =

**Changed**
- Spotlight now supports Meta’s oEmbed API v22.0.
- This ensures continued compatibility after Meta’s removal of certain oEmbed fields and the deprecation of the Facebook Page Post oEmbed endpoint (effective October 1, 2025).

= 1.7.2 (2025-02-11) =

**Added**
- Added a Tall Grid template with a 3:4 ratio and a new Ratio option in Appearance Settings.

**Changed**
- Removed local error log and redirected errors to the WordPress debug log.

= 1.7.1 (2025-01-27) =

**Changed**
- Updated PHP deprecations related to filtering.
- Updated Freemius SDK to the latest version.

= 1.7.0 (2024-12-10) =

**Added**
- Implemented Instagram Business Basic API to replace the deprecated Personal API for enhanced functionality and compliance with platform requirements.

= 1.6.16 (2024-11-04) =

**Fixed**
- Release issues.

= 1.6.15 (2024-11-01) =

**Added**
- Notices for changes to Meta API for personal and business accounts.

= 1.6.13 (2024-06-03) =

**Changed**
- Renamed the "All Access" plan to "Agency".
- Updated the pricing page to use the new beta Freemius pricing app.

= 1.6.12 (2024-05-13) =

**Changed**
- Changed upgrade button text.

= 1.6.11 (2024-02-12) =

**Fixed**
- CSRF vulnerability when connecting accounts.
- The plugin now allows either the imagick or gd extension to be used for image processing, not just the gd extension.

= 1.6.10 (2024-02-01) =

**Fixed**
- Fixed the heading for the "Performance" settings section.

= 1.6.9 (2024-02-01) =

**Changed**
- Replaced all mentions of the "Performance" plan with "All access".

= 1.6.8 (2024-01-10) =

**Changed**
- The photo/video URLs for imported posts are now forcefully updated on every fetch.

**Fixed**
- A common conflict with other plugins that use a newer version of the `psr/simple-cache` package.

= 1.6.7 (2023-11-17) =

**Added**
- Links for the Black Friday 2023 offer.
- A new filter that disables searching for feed instances.

**Changed**
- Optimized the queries that search for feed instances.

**Fixed**
- Removed use of deprecated `onkeypress` DOM event.

= 1.6.6 (2023-10-23) =

**Changed**
- The feed now prioritizes thumbnails that are locally downloaded.

= 1.6.5 (2023-09-12) =


= 1.6.4 (2023-09-12) =

**Changed**
- Updated Freemius SDK to v2.5.12.

**Fixed**
- The error log contents were overflowing and not staying within the screen.
- Some links in the feed did not have the necessary SEO rel attributes.
- Removed a deprecated field from some Instagram API requests.

= 1.6.3 (2023-08-14) =

**Fixed**
- IG posts with emojis or certain characters could not be imported.

= 1.6.2 (2023-08-08) =

**Changed**
- Improved logging when importing posts from Instagram.
- Improved logging when downloading remote files.

**Fixed**
- String interpolation is now compatible with PHP 8 without warnings.

= 1.6.1 (2023-07-06) =

**Changed**
- Updated Freemius SDK to the latest version

**Fixed**
- Fixed a missing import for RuntimeException that triggered an error during a feed update.

= 1.6 (2023-06-22) =

**Added**
- Reels playback is now enabled in the popup box, if the API provides the video URL.

= 1.5.3 (2023-06-12) =

**Changed**
- Optimized some JavaScript code to be slightly smaller.

**Fixed**
- Like and comment counts were not imported for Business accounts after the v1.5.2 update.

= 1.5.2 (2023-05-29) =

**Changed**
- The use cases and templates in the feed creation wizard can now be double-clicked for faster wizard completion.
- Improved styling in news notifications.

**Fixed**
- Personal accounts could not fetch posts after a recent unannounced change to Instagram's APIs.
- News notifications were not being displayed in the admin UI.

= 1.5.1 (2023-05-22) =

**Changed**
- The cron job that updates feeds is now compatible with Action Scheduler.

**Fixed**
- Temporary file deletion fails safely without triggering warnings.
- The "Dev Tools" are no longer unnecessarily shown in the menu.

= 1.5 (2023-03-28) =

**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

**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

= 1.4.4 (2023-02-09) =

**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

= 1.4.3 (2023-01-18) =

**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

= 1.4.2 (2023-01-11) =

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

= 1.4.1 (2022-11-22) =

**Added**
- Black Friday and Cyber Monday discount offers

= 1.4 (2022-11-14) =

**Added**
- New "Custom CSS" option for feeds
- New "Wave" template
- New "Squircle Grid" template

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

= 1.3 (2022-08-29) =

**Added**
- Added support for Instagram embeds to WordPress

= 1.2 (2022-08-09) =

**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

**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

= 1.1.1 (2022-07-14) =

**Fixed**
- An error during import caused by null video URLs

= 1.1 (2022-07-07) =

**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

= 1.0.1 (2022-04-26) =

**Added**
- Added HTTPS and OpenSSL recommendations in the account info modal

**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

= 1.0 (2022-04-19) =

**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

**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

**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

= 0.10.3 (2022-03-08) =

**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

= 0.10.2 (2022-03-02) =

**Fixed**
- Security fix

= 0.10.1 (2022-02-22) =

**Fixed**
- The feed's styles were not being loaded for feeds embedded on the site

= 0.10 (2022-02-21) =

**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

**Removed**
- The `layouts.js` and `layouts.css` files are no longer needed

= 0.9.9 (2022-01-27) =

**Fixed**
- Saved thumbnails are lost when the plugin updates Instagram posts

= 0.9.8 (2021-11-17) =

**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

= 0.9.7 (2021-10-20) =

**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

**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

= 0.9.6 (2021-10-06) =

**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

**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.

= 0.9.5 (2021-08-16) =

**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

= 0.9.4 (2021-08-12) =

**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

= 0.9.3 (2021-08-09) =

**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

= 0.9.2 (2021-07-29) =

**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

**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

= 0.9.1 (2021-07-23) =

**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

= 0.9 (2021-07-20) =

**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

**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

= 0.8.2 (2021-06-30) =

**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

= 0.8.1 (2021-06-09) =

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

= 0.8 (2021-06-08) =

**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

**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

= 0.7 (2021-04-08) =

**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

**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

= 0.6.1 (2021-03-04) =

**Changed**
- Now compatible with PHP8

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

= 0.6 (2021-03-03) =

**Added**
- 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

= 0.5.4 (2021-02-11) =

**Changed**
- Now detecting a conflict with the official "Facebook for WordPress" plugin

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

= 0.5.3 (2021-02-04) =

**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

**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

= 0.5.2 (2020-12-17) =

**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

**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

= 0.5.1 (2020-12-01) =

**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

= 0.5 (2020-11-17) =

**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

**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

= 0.4.2 (2020-10-30) =

**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

**Fixed**
- Downloading thumbnails for videos would occasionally cause a fatal error
- Custom post types used by the plugin were not properly registered

= 0.4.1 (2020-10-27) =

**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

= 0.4 (2020-10-26) =

**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

**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

= 0.3.2 (2020-09-30) =

**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

= 0.3.1 (2020-09-16) =

**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.

= 0.3 (2020-09-16) =

**Added**
- Added a block for the WordPress Gutenberg block editor
- Account information is now updated during media imports

**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

= 0.2.4 (2020-08-21) =

**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

= 0.2.3 (2020-08-14) =

**Changed**
- Videos use an Instagram-style video player
- The popup box is now responsive
- Now showing smaller thumbnails in smaller feeds

**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

= 0.2.2 (2020-07-30) =

**Added**
- Hover info now scales with the size of the media tiles in the layout

**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

**Fixed**
- Media in the popup box would incorrectly have black bars
- Cancelling after clicking the Cancel button disabled the Cancel and Save buttons

= 0.2.1 (2020-07-13) =

**Fixed**
- "Too many IDs" error when a Business account has more than 50 posts

= 0.2 (2020-07-09) =

**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

= 0.1 (2020-06-23) =

Initial version of Spotlight Instagram Feeds.

