Scheduled Posts Showcase — Full changelog

For each release, see the entries below. The latest version is always at the top.
The current release notes also live in readme.txt under "== Changelog ==".

= 1.3.0 =
* New: content filters by taxonomy. Show only the scheduled posts of the categories, tags or any other public taxonomy you pick, with an include or exclude mode, from the settings page, the widget, the block, the shortcode and the REST API.
* New: author filter, to build sections per columnist on multi-author sites.
* New: several post types at once. The post type selector is now multiple, so posts, events or any other public post type can share the same list.
* New: "All content types" option, which also covers post types registered later, so a plugin installed tomorrow starts being listed without touching the settings again.
* New: shortcode attributes `categories`, `tags`, `tax_<taxonomy>`, `authors` and `tax_mode`, and `post_type` now accepts a comma-separated list. Terms and authors can be written as IDs or as slugs, and any of them accepts "all" to skip that filter.
* New: REST parameters `categories`, `tags`, `taxonomy`, `terms`, `authors` and `tax_mode`, and `post_type` now accepts a comma-separated list or "all".
* New: `spscase_filter_taxonomies`, `spscase_term_taxonomies`, `spscase_terms_limit`, `spscase_authors_limit` and `spscase_author_options` filters.
* Improved: the settings page is now Appearance > Scheduled Posts. It was labelled "Future Posts", which did not match the plugin name anywhere else. The page slug is unchanged, so existing bookmarks and links keep working.
* Improved: "Show categories" now lists the terms of the taxonomies of each post type, so custom post types show their own terms instead of nothing.
* Improved: the `spscase_post_types` filter now applies to every surface (settings, widget, block, shortcode and REST), not just to the settings dropdown.
* Improved: the cache is also refreshed when the terms of a scheduled post change outside a post save (bulk edit, WP-CLI, REST) and when a scheduled post is permanently deleted.
* Improved: the promo sidebar of the settings page now shows AyudaWP services only.
* Fix: the shortcode ignored the global settings and always started from the factory defaults. A bare `[scheduled-posts-showcase]` now inherits what is configured in Appearance > Scheduled Posts, like the widget and the block already did, including the accent color.
* Fix: cache invalidation had no effect on sites with a persistent object cache (Redis, Memcached), where transients never reach wp_options, so a newly scheduled post could take up to an hour to show up. The cache key is versioned now, which works with any backend.
* Fix: the `relative` value documented for the `spscase_date_format` filter broke the output. It now renders "in 3 days" and keeps the absolute date in the title attribute of the time element.
* Fix: dates were built from the local date string, which shifted the displayed time by the site UTC offset when the format included hours.
* Fix: password-protected scheduled posts no longer expose their title and excerpt.
* Fix: removed an orphan editor script left behind by 1.1.0, the AJAX localization of the admin script that had no handler, and the Thickbox loading, unused since the promo sidebar dropped the plugin install modals.
* Fix: uninstalling no longer flushes the whole site object cache, and it cleans up its own cache version option and activation transient.

= 1.2.0 =
* New: heading tag options for paragraph, span and div in addition to H2-H6.
* New: "Custom CSS class" field on the settings page. Adds extra classes to every instance container (widget, block, shortcode).
* New: "Extra CSS class" field on the widget, the block inspector and as `custom_class` shortcode attribute. Per-instance classes are appended to the global ones, never replace them.
* New: "Full width (responsive)" image size that stretches the thumbnail to the container width, useful for sidebar hero-style cards.
* New: `spscase_heading_tags` and `spscase_image_sizes` filters to extend those lists from code.
* Improved: settings page moved to Appearance > Future Posts instead of Tools, since the plugin is mostly about visual display. The page slug is unchanged so existing bookmarks pointing to `?page=scheduled-posts-showcase` still work.
* Improved: image size selector now lists every size registered on the site (themes and plugins included) instead of just thumbnail and medium.
* Improved: clearer help text on the CSS class fields. They add the class name to the container; the CSS itself still has to live in your theme or in Customize > Additional CSS.
* Improved: promo catalog on the settings sidebar updated with the latest AyudaWP plugins, including the rest of the Native SEO Suite, and small visual fixes aligned with the AyudaWP banner guide.
* Fix: the block preview no longer fails in the block-based widgets editor. The editor script now declares `wp-server-side-render` as an explicit dependency via a companion `.asset.php` file, which the widgets editor was not pulling in transitively (resulting in a React #130 error).

= 1.1.0 =
* Improved: block registration migrated to block.json metadata for full compatibility with the iframed block editor in WordPress 6.9 and 7.0.
* Improved: block API version upgraded from 2 to 3.

= 1.0.1 =
* Improved: tested up to WordPress 7.0.

= 1.0.0 =
* New: initial release with shortcode, classic widget, Gutenberg block (with ServerSideRender preview) and public REST API endpoint.
* New: global settings page with cascade model so each instance can override the defaults.
* New: visibility control for who can see scheduled posts (everyone, logged-in users only, editors and administrators).
* New: transient caching with automatic invalidation when a post is scheduled, published or deleted.
* New: extensive hook system (filters and actions) for developers to customize query args, post data, output HTML, REST response, date format, excerpt length, cache duration and allowed footer HTML.
