# Changelog

## 1.0.3 — 2026-08-22

- Hardened demo-page template enforcement so canonical United Pets pages repair their dedicated `_wp_page_template` assignment on every load/save instead of relying on a one-time migration flag.
- Marked imported demo pages explicitly so their canonical template identity survives theme updates and editor saves.
- Expanded **Import Demo** reset semantics to clear stored content across WordPress/custom post types, including content left by currently inactive plugins (excluding WordPress cache/request/theme-state internals), comments, terms, media and navigation before rebuilding the demo.
- Moved permalink/rewrite flushing directly into theme activation: United Pets post types are registered and rewrite rules are rebuilt before activation completes, with no later frontend request required.
- Hardened Owl carousel equal-height behavior by equalizing both `.owl-item` and visible card shells, re-running after images, fonts, Owl lifecycle events, DOM mutations, resize and observed content-size changes.

## 1.0.2 — 2026-08-22

- Changed **Appearance → Import Demo** to a deterministic destructive reset: existing Pages, Posts, Pets, Services, Events, Team members, newsletter signups, Media Library items, comments and navigation menus are permanently removed before the bundled demo is recreated.
- Removed the optional replace checkbox so “Import Demo” has one unambiguous meaning: reset the site content and install the complete demo, including dedicated page templates.
- Added a one-time 1.0.2 migration that repairs dedicated template assignments on pages imported by earlier United Pets releases when they still show **Default template**.
- Added activation-time rewrite-rule flushing after post type registration; demo import continues to flush rewrites after content/routes are rebuilt.
- Added runtime Owl card equalization after initialization/load/resize so repeated service/adoption/blog/team card shells remain equal even when carousel geometry or content length changes.

## 1.0.1 — 2026-08-22

- Replaced REST-dependent Gutenberg `ServerSideRender` previews with local editor-native source previews so editor blocks do not fail when block-renderer responses are intercepted or rewritten.
- Expanded Source Section editing from curated fields to deterministic controls for meaningful preserved text, links, images and alt text, while keeping primary controls easy to reach.
- Added dedicated page templates and canonical Gutenberg page-layout patterns for Homepage, About, Gallery, Careers, Adoption Stories, Elements, Contact and Blog; imported pages are assigned those templates.
- Added an editor layout panel that can load/reload the canonical block composition and auto-populates empty pages when a United Pets template is selected.
- Moved demo import to **Appearance → Import Demo** and added a post-activation admin notice with a direct import action.
- Added equal-height carousel-card invariants for service, adoption, blog and team cards.
- Added Elements demo accessibility corrections for progressbar naming, component contrast and text-link distinction without changing the source component structure.

## 1.0.0 — 2026-08-21

- Converted the supplied United Pets static template into a hybrid Gutenberg WordPress theme.
- Added structured source-section, source-query and contact blocks with server-rendered source DOM.
- Added native Posts plus Pets, Services, Events and Team content models and pet taxonomy/meta.
- Added source-preserving archive and singular renderers for dynamic record types and blog content.
- Added idempotent one-click demo import, editable primary navigation, Customizer contact/footer settings and local media import.
- Replaced legacy PHP mail transport with nonce-protected WordPress handlers.
- Preserved source Leaflet/OpenStreetMap, Bootstrap, carousel, gallery, counter and LayerSlider behaviors through narrow WordPress initialization seams.
- Added source-to-WordPress fidelity, responsive, accessibility, runtime, package and fresh-install verification.
