# Changelog

## 1.0.26 — 2026-08-24

- Admin request handling now sanitizes and allowlists each field before it crosses into application services
- Privileged mutations require both `manage_options` and a matching nonce; unknown actions fail closed
- Proposal item deletion verifies the item belongs to the proposal being edited
- Schema version remains 1; existing proposal data is preserved

## 1.0.25 — 2026-08-23

- Premium Pro capabilities require a valid paid Freemius license in addition to the premium package files
- Installing the premium ZIP without activating a license keeps Free capabilities only
- The WordPress.org FREE package still ships no Pro implementation or PDF engine
- Schema version remains 1; existing proposal data is preserved

## 1.0.24 — 2026-08-23

- WordPress.org FREE package no longer ships locked Pro implementations (PDF, email, tracking, templates, versioning, workflow, archive)
- Freemius is used only for opt-in, account, and upgrade to the external Pro package
- Runtime logo/mail files use uploads/webwall-proposal-builder/ instead of the plugin directory
- Nonce values are sanitized before wp_verify_nonce()
- Dompdf updated to 3.1.6 for the Pro package
- Schema version remains 1; existing proposal data is preserved

## 1.0.23 — 2026-08-16

- Freemius after_uninstall now owns the plugin uninstall lifecycle
- uninstall.php was removed; V1 still preserves all proposal and business data
- No changes to proposal functionality

## 1.0.22 — 2026-08-16

- Added WordPress-standard readme.txt for Freemius Deployment metadata
- No functional changes

## 1.0.21 — 2026-08-16

- Fresh activation can open the setup wizard after Freemius empties the Προσφορές submenu
- wwpb-setup is always registered as a hidden admin page so WordPress can authorize it
- The activation redirect still goes to admin.php?page=wwpb-setup

## 1.0.20 — 2026-08-16

- Freemius SDK is included for license, account, and update infrastructure
- Fresh activation still opens the existing company setup wizard
- The Προσφορές admin menu is unchanged
- No Free/Pro feature split is introduced; existing functionality stays available

## 1.0.19 — 2026-08-16

- Fresh installations start with an empty service catalog — no Webwall default services or features
- The Services screen shows a compact empty state with Νέα υπηρεσία when no services exist
- Service category is user-defined text, not a Webwall allowlist
- Creating a proposal with no active services shows an actionable Greek message and a link to add a service
- Proposal templates are not auto-seeded on a fresh install
- Existing service catalogs are never re-seeded, including a catalog a user emptied by hand

## 1.0.18 — 2026-08-16

- Fresh installs no longer seed Webwall or the WordPress site title as the agency company name
- The packaged Webwall product logo is no longer used as the company/settings/PDF logo fallback
- First-run setup is a 3-step agency wizard: company identity, optional logo, proposal defaults
- Company name is required to complete setup; logo remains optional
- Existing configured installations are not forced through the wizard and keep their stored identity

## 1.0.17 — 2026-08-16

- Optional agency email copy from Settings → Εταιρεία → Email (separate send, not SMTP Cc)
- Email open tracking records when the tracking image is requested
- First tracked open can notify the current Settings company email
- Proposal list shows latest-send status and refreshes it automatically in admin
- First-run installation wizard for company, logo, cover theme, payments, and email
- Skipped setup shows a plugin-only reminder until completed
- Wizard can note whether a known SMTP plugin is active; it does not install SMTP

## 1.0.16 — 2026-08-16

- Optional agency email copy from Settings → Εταιρεία → Email
- Agency copy is a separate wp_mail send and does not use SMTP Cc
- Email open tracking records when the tracking image is requested
- First tracked open can notify the current Settings company email
- Proposal list shows latest-send status: Δεν έχει ανοιχτεί / Άνοιξε {datetime}

## 1.0.15 — 2026-08-16

- Company identity is frozen at proposal creation
- Lock no longer refreshes company identity from live Settings
- Creation-time company name, contact, bank, address, and logo snapshot remain authoritative for versions, preview, PDF, and email attachment
- No historical proposal renumbering or snapshot rewrite

## 1.0.14 — 2026-08-16

- White-label proposal-number prefix from the configured agency/company name
- Global sequence preserved across agency-name changes
- Neutral PROPOSAL fallback for empty or invalid names
- Historical proposal numbers remain immutable
- Canonical PDF filename is now `{proposal_number}-v{version}.pdf`
- Dynamic signature agency name from the document snapshot
- Removal of client-facing hardcoded Webwall identity fallbacks
- Fresh installs use the WordPress site title for initial company identity where available
- Existing stored company settings remain untouched

## 1.0.13 — 2026-08-15

- Expanded premium cover themes from 3 to 6
- Added Black / Forest / Burgundy
- Existing Navy / Warm Grey / Sand unchanged
- 2×3 editor theme grid
- Live miniature preview supports all six themes
- Settings default supports all six themes
- Locked snapshot/version theme immutability preserved
- PDF and email use the exact locked theme

## 1.0.12 — 2026-08-15

- Live miniature cover preview in the proposal editor
- Immediate Navy / Warm Grey / Sand preview switching without reload
- Preview uses proposal/client metadata and the agency logo where available
- Responsive admin preview beside the theme selector
- Existing CoverTheme palettes remain the canonical source
- PDF, snapshot, and email behavior unchanged

## 1.0.11 — 2026-08-15

- Three controlled cover themes: Navy, Warm Grey, Sand
- Per-proposal cover theme selection in the editor
- Configurable default cover theme in Settings
- Cover theme is snapshotted per locked version
- Historical versions keep their original theme
- Missing or invalid theme falls back to Navy
- Preview and PDF use the same snapshotted theme

## 1.0.10 — 2026-08-15

- Proposal emails now use the configured agency/company name as the sender display name
- White-label sender identity from Settings → Επωνυμία
- Sender-name override scoped only to the proposal email send
- Transport From Email remains controlled by WordPress / SMTP
- No SMTP or data-model changes

## 1.0.9 — 2026-08-15

- Admin email sending for locked proposals
- Recipient prefill from client email
- Editable recipient / subject / body
- Optional save-to-client email after successful send
- Exact locked PDF attachment
- wp_mail compatibility
- Safe temp-PDF cleanup
- Successful-send logging
- Safe status transition after successful send

## 1.0.8 — 2026-08-15

- Fixed Service Παροχές popover runtime bug
- Hover / click / keyboard interaction now works
- Stable pointer transition with close delay
- Improved admin asset cache versioning
- No business / data model changes

## 1.0.7 — 2026-08-15

- Service list: «Χαρακτηριστικά» → «Παροχές»
- Hover/click popover με τις πραγματικές παροχές
- Accessible popover controls
- Inline Ενεργή / Ανενεργή υπηρεσία
- Ανενεργές υπηρεσίες δεν εμφανίζονται σε νέες προσφορές
- Ασφαλής διαγραφή υπηρεσίας από τον κατάλογο
- Ιστορικές/κλειδωμένες προσφορές και PDF παραμένουν snapshot-driven και ανεπηρέαστα

## 1.0.6 — 2026-08-15

- Status select + «Ενημέρωση» στην ίδια οριζόντια γραμμή
- Rejection reason συνεχίζει να εμφανίζεται από κάτω όταν απαιτείται
- Responsive admin behavior
- No functional/status workflow changes

## 1.0.5 — 2026-08-15

- Configurable company logo / white-label branding
- Snapshot-safe logo rendering for Preview and PDF
- Δεκτή / Απόρριψη status labels
- Inline proposal status update from the proposals list
- Server-side status filter
- Trash / Restore / Permanent Delete
- Trash-aware dashboard counts
- Client-delete guard for trashed proposals
- Preserved numbering, snapshots, versions, PDF and commercial math

## 1.0.4 — 2026-08-14

- Final Section 05 cleanup
- Section 06 removed from the client document
- Dynamic offer terms moved under Offer Terms
- Printable Webwall/client signature block
- Preserved snapshot immutability and commercial calculations

## 1.0.3 — 2026-08-14

- Sequential WEBWALL proposal numbering
- Client-facing version removed from PDF
- Page-only PDF footer
- Accent-free uppercase Greek headings
- Final Webwall cover redesign
- Refined 5-page proposal layout
- Dynamic company-default and per-proposal offer terms
- Dynamic one-off payment heading
- ΣΥΝΟΛΙΚΟ ΠΟΣΟ presentation
- Preserved snapshot immutability and commercial calculations

## 1.0.2 — 2026-08-14

- Simplified service-selection proposal flow
- Final Webwall-branded proposal presentation
- Improved PDF pagination and composition
- Removed duplicate presentation copy
- Removed the internal running WEBWALL header from client-facing PDF pages
- Final closing logo presentation without slogan
- Updated Google Ads reporting feature wording
- Preserved locked proposal snapshots
- Preserved commercial calculations and versioning

## 1.0.1 — 2026-08-14

- Greek admin and proposal workflow
- Simplified template-first proposal creation
- Visual template selection, including empty proposal
- Greek client-facing service descriptions and included features
- Editable title, description, and features per proposal snapshot
- Improved Greek preview/PDF presentation
- Preserved snapshot immutability and commercial calculations

## 1.0.0 — 2026-08-14

- First staging release
- Commercial editor, version snapshots, HTML preview, and locked PDF export
