===============================================================================
SAXON EMAIL MARKETING CENTER CHANGELOG
===============================================================================

===============================================================================
VERSION 1.0.6.1
=============

Status: Packaging hotfix

Summary: Version 1.0.6.1 corrects the WordPress.org release package structure
after an unintended nested trunk directory was included in version 1.0.6.

Changes:

* Removed the accidentally bundled nested trunk directory from the WordPress.org
  release package.
* No functional plugin behaviour has changed.

===============================================================================
VERSION 1.0.6
=============

Status: Admin UX improvement release

Summary: Version 1.0.6 focuses on admin UX and presentation, introducing
consistent plugin branding, clearer contact sendability indicators, smoother
notice handling and a more polished action-button design.

Changes:

* Added colour-coded sendability indicators to the Contacts table, showing
  whether a contact is sendable, requires consent, or is not sendable.
* Unified contact sendability checks so the Contacts screen and campaign
  recipient eligibility use the same underlying rules.
* Added consistent SEMC branding to plugin admin pages, with the Saxon logo
  and current version displayed alongside each main page heading and responsive
  spacing to keep page content clear.
* Improved admin notice handling and placement across SEMC, eliminating layout
  shifts and providing consistent, context-appropriate notice positioning.
* Added a consistent SEMC-styled action button design across key admin screens,
  improving visual hierarchy and giving prominent actions a more polished,
  branded appearance.

===============================================================================
VERSION 1.0.5
=============

Status: Release

Summary: WordPress.org discovery, branding and support-resource refresh focused
on improving plugin presentation, positioning and ongoing documentation.

Changes:

* Refreshed Saxon Email Marketing Center branding and updated bundled logo
  assets for light and dark display contexts.
* Updated the plugin website URI to the new Saxon Email Marketing Center
  section on saxonwebsites.co.uk.
* Simplified the Help & Support page by removing the embedded FAQs and
  Tutorials tabs.
* Added direct Help & Support links to the centrally maintained support,
  Frequently Asked Questions and Video Tutorials pages on Saxon Websites.
* Removed redundant FAQ and tutorial rendering code and associated tutorial
  JavaScript from the plugin admin.
* Retained and validated the built-in diagnostic Contact Support form.
* Reworked the WordPress.org readme with a new discovery-focused short
  description, expanded product description and revised search tags.
* Added a direct Pro Add-On information link and replaced duplicated support
  content in the readme with links to the central online resources.
* Refreshed WordPress.org plugin branding, directory artwork and selected
  screenshots to match the updated Saxon Email Marketing Center identity.

===============================================================================
VERSION 1.0.4
=============

Status: Maintenance and usability release

Summary: Version 1.0.4 focuses on admin reliability and usability, improving
request handling across core management screens while refining CSV imports,
Branding, colour controls, manual consent entry and Help & Support validation. 

Changes:

* Fixed Newsletter Form updates returning a blank admin page on some server/theme
  configurations by moving form request handling earlier in the WordPress admin
  lifecycle.
* Improved Contacts admin request handling by moving save, bulk-action,
  suppression and list-management processing earlier in the WordPress admin
  lifecycle to prevent redirect-related blank pages on some configurations.
* Improved Lists admin request handling by moving list save, delete and Preference
  Center visibility processing earlier in the WordPress admin lifecycle to prevent
  redirect-related blank pages on some configurations.
* Improved Templates admin request handling by moving template save, delete and
  Template Library import processing earlier in the WordPress admin lifecycle to
  prevent redirect-related blank pages on some configurations.
* Improved Campaigns admin request handling by moving campaign save, scheduling,
  sending, retry, clone and delete processing earlier in the WordPress admin
  lifecycle to prevent redirect-related blank pages on some configurations.
* Improved Sources admin request handling by moving CSV upload, Website contact
  import and related source actions earlier in the WordPress admin lifecycle to
  prevent redirect-related blank pages on some configurations.
* Improved Help & Support admin request handling by moving support-form
  processing earlier in the WordPress admin lifecycle to prevent redirect-related
  blank pages on some configurations.
* Improved CSV import row handling so completely empty rows are ignored instead
  of being counted as rejected contacts.
* Changed CSV import cleanup so administrators can remove the original uploaded
  CSV file without deleting the associated import history or contact audit
  records.
* Clarified the Sources interface by renaming Import History to CSV Upload
  History and updating related Overview wording to distinguish CSV upload records
  from other contact sources.
* Added synchronized hexadecimal colour entry alongside colour pickers in the
  Template Builder and Branding Studio, making it quicker to paste or enter exact
  colour values while retaining the existing native pickers and live preview
  behaviour.
* Improved Branding footer handling by preserving line breaks in the company
  address and ensuring the configured footer text colour is applied consistently
  in Branding previews, campaign previews and sent emails, including
  subscription links.
* Improved manual contact consent entry by adding preset consent-evidence
  descriptions, retaining a manual-entry option, and requiring custom consent
  evidence only when consent is checked and a manually entered description is
  selected.
* Improved Help & Support form validation by detecting invalid email addresses
  more clearly and preserving entered form values when validation fails.

===============================================================================
VERSION 1.0.3
=============

Status: Maintenance and compatibility release

Summary: Maintenance release updating WordPress 7.1 compatibility, Pro Add-On
and support links, and Cloudflare Turnstile disclosure information.

Changes:

* Edited 'upgrade to Pro' links. Pro Add-On now available from author's own website.
* Updated links for product support. Now supported from author's own website.
* Updated WordPress compatibility information after testing with WordPress 7.1.
* Amended Cloudflare's Turnstile disclosure details in readme.txt.

===============================================================================
VERSION 1.0.2
=============

Status: Starter tutorial library release

Summary: Version 1.0.2 adds starter tutorial content inside the Help & Support
area and improves upgrade routine handling for existing installations.

Changes:

* Added a Tutorials library in Help & Support with twelve starter walkthroughs,
  hosted screen recordings, poster images, written steps, helpful notes and
  direct admin-page shortcuts.
* Improved upgrade routine handling so required upload directories can be
  safely checked during plugin version updates.

===============================================================================
VERSION 1.0.1
=============

Status: Maintenance and usability release

Summary: Version 1.0.1 focuses on first-install experience and admin table
usability. It adds editable starter lists for new installs and improves the
Contacts, Templates and Campaigns admin tables with more scalable pagination,
sorting, and responsive table handling.

Changes:

* Added compact, Contacts-style pagination to the Campaigns table and
  restyled Templates pagination to use the same scalable admin table pattern.
* Added sortable headings and horizontal-scroll wrappers to the Templates and
  Campaigns tables so wider table data remains easier to browse.
* Added a horizontal-scroll wrapper and tighter responsive spacing to the
  Contacts table so wide contact data remains usable on smaller screens.
* Added subtle toolbar styling to the Contacts filter and bulk action controls
  so table actions feel more clearly separated without changing workflow.
* Fixed list filtering so selecting an empty contact list returns no contacts
  instead of accidentally showing contact ID 1.
* Added sortable headings to the Contacts table, preserving active filters and
  compact pagination while sorting contact data.
* Refactored the Contacts table pagination so large contact sets use compact,
  responsive controls instead of rendering every page number at once.
* Added editable starter contact lists on brand-new installs so the Audience
  area feels more useful and ready to work with from first launch.

===============================================================================
VERSION 1.0.0
=============

Status: First production release

Notes: Version 1.0.0 marks the first public production release of
Saxon Email Marketing Center.


===============================================================================
PRE-PRODUCTION DEVELOPMENT
==========================

Status: Unreleased development history prior to first public release

Summary: Saxon Email Marketing Center completed its core build, pre-release testing,
builder refactor, template system stabilization, and Pro badge
integration work during pre-production.

Highlights:

* Contact management and audience segmentation implemented
* List management with protected system lists implemented
* Newsletter signup forms implemented
* Visual email template builder implemented
* Template library implemented
* Campaign creation, scheduling and dispatch implemented
* CSV contact import implemented
* Website contact import implemented
* Branding Studio implemented
* Contact activity history and audit tracking implemented
* Open, click and unsubscribe tracking implemented
* Cloudflare Turnstile support implemented
* Data retention and uninstall controls implemented

Builder and block system work:

* Template builder refactor completed
* Core block architecture updated to support extension by the Pro add-on
* Non-image block html tokenization completed so edited builder content
  now matches campaign preview and sent output
* Block Library preview rendering updated so tokenized blocks display
  resolved preview content correctly
* Legacy library_html handling removed from the active block workflow
* Slot-based image contract introduced for badge-enabled image blocks
* Supported image blocks updated with data-semc-image-slot markers in
  html and builder_html
* Hero image block updated with special-case image corner handling for
  badge compatibility
* Multi-image builder controls updated to support grouped tabs using
  imageN_* field detection
* Stable behavior confirmed across Block Library, Template Library,
  Builder UI and Campaign Preview
* Plain logo/header image blocks intentionally left outside badge support

Pro add-on integration work:

* Badge rendering moved cleanly into the Pro add-on
* Badge-enabled image processing aligned to slot-based block metadata
* Badge asset save and cleanup flow stabilized
* Badge rendering scoped to the builder preview container only
* Multi-image badge control flows validated

Quality and readiness work:

* Security audit completed
* Sanitisation audit completed
* Escaping audit completed
* Internationalisation audit completed
* Database schema review completed
* Activation and upgrade testing completed
* Uninstall and data retention testing completed
* End-to-end campaign delivery verified

Additional fixes completed during pre-production:

* Fixed Pro Email Preference Center list subscription handling so
  contacts are now fully added to lists when prior membership does
  not already exist
* Added audit logging for membership creation and subscription events
* Settings interface redesigned
* Campaign tracking improvements completed
* Click tracking improvements completed
* Translation coverage expanded
* WordPress repository readiness review completed

Notes: This section records unreleased work completed before the first public
production release of Saxon Email Marketing Center.


===============================================================================
ASSET ATTRIBUTION
=================

SEMC logo

* Original project asset created by the plugin author.

Placeholder images

* Generated using placehold.co.

Library images

* Generated by the plugin author using ChatGPT image generation.

Source code

* Original project code.

Third-party PHP dependencies (Composer): None
Third-party JavaScript libraries: None
Third-party CSS frameworks: None
Bundled fonts: None
Bundled icon packs: None
Bundled stock photography: None
Bundled SaaS SDKs: None