=== Cartdini – Checkout Field Editor for WooCommerce ===
Tags: woocommerce, checkout, checkout fields, checkout editor, checkout manager
Requires at least: 6.7
Requires PHP: 8.0
Stable tag: 0.1.0-rc.11
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Configure custom checkout fields in Classic Checkout and Checkout Blocks.

== Description ==
Cartdini Free supports text, select and checkbox fields in Classic and Blocks, plus textarea, email and telephone in Classic; order, contact and address locations; required fields; reordering; duplication; and six optional Classic core-field overrides. The WordPress editor includes checkout detection, a structural preview, actionable configuration feedback and a test-checkout readiness summary.

Uses WooCommerce order CRUD and the native additional-fields API. No telemetry or external service calls. Up to 100 custom fields per configuration.

Release candidate. Validate your theme, shipping, taxes and gateways on staging. WooCommerce 9.9+ is required. Essential core address fields are not removable. Core edits and placeholders apply to Classic only. Existing data is retained on deactivation or deletion.

Cartdini Pro is a separate GPL add-on. It adds three guided workflow recipes, up to five all/any field-answer, product or final-total rules, a condition tester, Classic number/date/radio types, text limits and reviewed configuration transfers. Free includes contextual Preview Pro controls; its checkout field capabilities are unchanged. Pro product/cart rules in Blocks require WooCommerce 10.1+.

== Installation ==
1. Install and activate WooCommerce 9.9 or newer.
2. Upload this ZIP through Plugins > Add New > Upload Plugin.
3. Activate Cartdini.
4. Open WooCommerce > Cartdini, configure and save fields.
5. Test complete checkout flows before production.

== Frequently Asked Questions ==
= Does activation change my checkout? =
No sample fields are enabled. Changes take effect only after you save your configuration.
= Does it support Checkout Blocks? =
Text, select and checkbox custom fields use the native API. Core field edits remain Classic only.
= Does uninstall delete order data? =
No. Store data is retained; WooCommerce privacy controls manage personal-data removal.

== Changelog ==

= 0.1.0-rc.11 =
Clear hidden checkout answers from the authenticated returning shopper's persistent profile as well as the session and new order; retain historical orders.
24 September 2026. Add shared editor support for guided Pro workflows, product/final-total rules and reviewed transfers. Add contextual Preview Pro controls. Free checkout field capabilities remain unchanged. Pair with Pro RC8; see the release guide for compatibility boundaries and completed verification.

= 0.1.0-rc.10 =
* Move Classic textarea, email and telephone fields into Free.
* Add separate answer-display controls for admin orders, customer orders, admin emails and customer emails without deleting stored answers.
* Preserve paused Pro definitions when saving unrelated Free edits after Pro deactivation.
* Apply text length limits only to text-based fields; fix valid date and number rejection.
* Add Classic radio condition sources with Pro RC7.
* Restrict Blocks condition sources to select/checkbox for consistent native validation. Conditional contact fields require WooCommerce 10.1+. Unsupported definitions remain saved and are explained in the editor.


= 0.1.0-rc.9 =
* Add Pro match-all / match-any groups of up to five field-to-field rules in Classic and Checkout Blocks. Existing single rules remain supported.
* Add an interactive condition tester, dependency feedback and import comparison before loading a draft.
* Clarify checkout detection, supported controls, required answers and order/email storage.
* Apply group visibility consistently during validation and order/customer snapshot handling; hidden answers cannot block checkout or enter the new order snapshot.
* Use Cartdini Pro 0.1.0-rc.6 for the optional in-dashboard updater. Six extra Pro types remain Classic-only.


= 0.1.0-rc.8 =
* Preserve WooCommerce requirement and placeholder defaults when editing only a Classic core-field label. Explicit existing overrides remain unchanged.
* Restore keyboard focus to the edited core field and improve narrow-screen editor controls.
* Compatible with Cartdini Pro 0.1.0-rc.5.

= 0.1.0-rc.7 =
* Keep the most recently selected import when files finish loading out of order.
* Align multilingual and emoji answer length checks with native browser limits without requiring mbstring.


= 0.1.0-rc.6 =
15 September 2026. Preserve valid rules when reordering or editing sources, update references when renaming new fields, bound duplicate capacity and labels, preserve keyboard focus, and recover from timed-out editor requests. Compatible with Pro RC5.
= 0.1.0-rc.5 =
14 September 2026. Align editor UTF-8 byte validation with PHP and add template replacement/deletion controls with revision checks. Use alongside Pro RC5.

= 0.1.0-rc.4 =
13 September 2026. Prevent Classic field-name collisions, preserve UTF-8 text, allow decimal number inputs, normalize text conditions and detect failed saves. Use atomic, owner-checked settings locks.

= 0.1.0-rc.3 =
13 September 2026. Fix conditional Checkout Blocks schemas on WooCommerce 9.9 and later, including missing checkbox and text values. Remove legacy Classic address copies during saving, export and erase historical copies, and clear stale answers and display snapshots when retrying checkout. Update Free even when using Pro.
= 0.1.0-rc.2 =
13 September 2026. Validate imported and restored drafts before rendering, escape preview identifiers, preserve the current draft when validation fails, and prevent edits during a pending save. Update Free even when Pro is installed because both editions use this editor. Pro license connection remains optional and explicitly authorized.
= 0.1.0-rc.1 =
Launch review candidate with corruption recovery, stricter input validation and security regression coverage. Not submitted to WordPress.org. Brand and domain remain provisional.
