= 0.8.5 =
* Activate silently on Multisite, leave existing search unchanged and explain the single-site requirement.

= 0.8.4 =
* Add optional, source-linked Persian singular/plural matching for explicit half-space suffixes, including short words.

= 0.8.3 =
* Retry contended updates without restarting the prepared index; preserve native search after query errors.
* Support legacy UTF-8 columns and explain corrected searches above standard WooCommerce results.

= 0.8.2 =
* Bundle Persian/Arabic fallback translations, loaded by WordPress with directory packs taking priority.

= 0.8.1 =
* Use full Yaftino prefixes, preserving settings, synonyms, statistics and prepared data on upgrade.
* Remove the explicit text-domain loader.

= 0.8.0 =
* Optional bounded last-word completion from published titles.

= 0.7.0 =
* Add independent English matching and optional, bounded title-code prefix search.
* Preserve numeric/unit precision and multilingual isolation. Prepare search once after upgrading.

= 0.6.4 =
* Fix multiword synonyms to preserve ordinary word matching and title ranking.

= 0.6.3 =
* Add guarded missing-letter matching for three-letter words.

= 0.6.2 =
* Require the corrected word in each fuzzy result title. Ordinary search is unchanged.

= 0.6.1 =
* Make Test search diagnostics compact, with aligned labels and bidirectional values. Search behavior is unchanged.

= 0.6.0 =
* Add optional, bounded one-word close matches after zero results, with title vocabulary, diagnostics and safe ambiguity handling.

= 0.5.10 =
* Show test diagnostics and detected search engines.
* Correct keyboard phrases with separate numbers; preserve attached model codes. No new preparation is needed from 0.5.9.

= 0.5.9 =
* Use query half-spaces to match spaced content; no query-derived spellings are saved to the index.
* Group statistics filters inside a bordered panel. Updating from 0.5.8 needs no new preparation.

= 0.5.8 =
* Learn bounded spacing variants from half-spaces in indexed content, with language isolation and optional exceptions.
* Explain automatic spelling rules beside the synonym editor. Preserve short words and theme AJAX timing.


= 0.5.7 =
* Record live-search requests in a separate report; preserve existing counts and the prepared index during the statistics upgrade.
* Translate the author name in Persian and Arabic plugin metadata.


Yaftino development history

These versions describe development before the first public directory release.

= 0.5.6 =
* Apply synonyms and SQL relevance to bounded public AJAX searches using standard WordPress or WooCommerce dispatch. Keep stock sorting and exclude live typing from statistics.

= 0.5.5 =
* Prevent preparation restarting when custom content statuses are registered differently across dashboard, site and scheduled requests. Native visibility and permissions remain in control.

= 0.5.4 =
* Add a Settings link to Yaftino on the WordPress Plugins screen.

= 0.5.3 =
* Preparation skips content types and statuses that cannot enter the search index. Existing checkpoints resume with an updated progress estimate.
* Synonym groups support 2 to 10 phrases. Existing search expansion safeguards remain in place.

= 0.5.2 =
* Lower the declared minimum PHP version to 8.0 after real WordPress compatibility testing.
* Keep the search engine, stored data and extension contracts unchanged; no compatibility library is added.

= 0.5.1 =
* Align the plugin folder, entry file and translation domain with the WordPress.org slug yaftino.
* Clarify the directory description, examples, setup and optional data collection.
* Move previous development history to changelog.txt.

= 0.5.0 =
* Use the broader yaftino directory, main file and translation domain.
* Remove calls to optional mbstring functions without adding a dependency.
* Include complete Persian and Arabic interface catalogs and translated plugin metadata.
* Format feedback email for the interface writing direction, with safely escaped HTML.
* Clarify preparation, supported languages and optional feedback in this readme.

= 0.4.14 =
* Reorder synonym guidance, frame the example and reuse inline language help.
* Show the saved group count beside the list heading and align table selection checkboxes.

= 0.4.13 =
* Compact desktop controls and form spacing while inheriting native WordPress panel and theme colors.
* Refine the Persian feedback thank-you.

= 0.4.12 =
* Translate the feedback email subject and metadata labels and omit internal reason codes from the message.

= 0.4.11 =
* Show the optional reply email in the feedback message body as well as its Reply-To header.

= 0.4.10 =
* Make the optional feedback introduction shorter and add a friendly thank-you to the mail handoff message.

= 0.4.9 =
* Use the Yaftino support mailbox for optional feedback.
* Display administrative counts and dates consistently for Persian and Arabic locales, including AJAX search results.
* Reuse native WordPress tabs and controls with fewer custom style overrides.

= 0.4.8 =
* Add selected and complete synonym-group deletion with revision checks and atomic saves.
* Add accessible page-scoped Select all controls to synonym and statistics tables.
* Simplify feedback reasons and the optional reply address label.

= 0.4.7 =
* Make synonym rows compact, show stable row numbers and the total number of defined groups.
* Move group limits next to the editor instructions and reduce help buttons to 18 pixels.
* Add optional administrator feedback sent by site email, with explicit consent and a fixed visible recipient.
* Keep activation, deactivation and uninstall uninterrupted; no feedback or telemetry is sent automatically.

= 0.4.6 =
* Expand the versioned dictionary to 37 common units, keeping exact quantities and case-sensitive symbols.
* Use smaller help buttons with a question mark that follows the interface writing direction.
* Rewrite the English and Persian help, shorten statistics setting help and correct Persian word spacing.
* Select synonym languages from the actual site context and translation-plugin codes; explain overlapping groups.
* Make the unused language selector inactive on multilingual sites while preserving its saved value.

= 0.4.5 =
* Put each setting's help behind an accessible question button and explain preparation requirements above the options.
* Show estimated preparation progress from checked items, with one initial count and 100% only after completion.
* Show whether statistics recording is on, explain empty reports and clarify that signed-in site searches are included.

= 0.4.4 =
* Support two-letter keyboard corrections with the same zero-result condition and one-retry limit.
* Repair double-encoded search input values in the core Search block without changing the form layout or query text.
* Name the default states of all five settings and clarify which changes require search data preparation.

= 0.4.3 =
* Count converted Persian letters when checking the minimum keyboard-correction length, including letters typed with punctuation keys.
* Recognize Shift+H for alef with madda while retaining model, digit and short-input guards.

= 0.4.2 =
* Recognize the Persian peh/backslash and zheh/Shift+C keys during zero-result keyboard correction.
* Apply bounded administrator-defined synonyms after keyboard correction while retaining scope, pagination and the one-retry limit.

= 0.4.1 =
* Replace ambiguous preparation controls with clear states, a main action and a separate repair section.
* Run bounded preparation steps after one click, with pause/resume and inline progress.
* Explain first-time setup, automatic updates, readiness and when starting over is needed in source strings and Persian.


= 0.4.0 =
* Add two independent, default-off checkboxes for dashboard and Arabic matching.
* Add a consistent conservative Arabic profile across indexing, query grammar, synonyms and statistics.
* Cover all six built-in searchable statuses for optional dashboard matching without changing access or filters.
* Adapt the ordinary WooCommerce Products list while preserving numeric IDs, SKU/variation lookup and native fallback.
* Rebuild safely after option changes; exclude dashboard searches from visitor statistics.

= 0.3.1 =
* Use inline AJAX for settings, index actions, synonym editing, imports, exports, report filters and plugin navigation.
* Preserve typed values and show specific validation errors inside forms.
* Combine spellings that normalize identically within one synonym group; reject ambiguous cross-group reuse.
* Move the synonym editor above the list and include a working multiline example.
* Delete individual synonym groups in one click without an extra confirmation checkbox.


= 0.3.0 =
* Add a dedicated Yaftino menu with separate settings, index, synonyms, test, statistics and help pages.
* Add an inline, paginated AJAX test with capability checks, nonce validation and no statistics recording.
* Add searchable, paginated synonym editing with atomic protection against concurrent changes.
* Add phrase and zero-result filters to the statistics report.
* Add responsive, administrator-only styles and guidance; simplify Persian labels and branding.
* Arabic normalization and ordinary dashboard list search remain outside this release's support.


= 0.2.0 =
* Add isolated Polylang and WPML language adapters with assignment synchronization and concurrent-source guards.
* Add versioned, validated schema migrations and automatic recovery without reactivation.
* Separate unit data, query planning and index persistence for controlled future extension.
* Reconcile the index automatically when the validated unit dictionary changes.
* Preserve non-Persian spelling in helper text and statistics.
* Update author information and tested WordPress versions.

= 0.1.0 =
* Initial development build with bounded matching, incremental indexing and optional aggregate statistics.
