=== Pars Kit changelog ===

Older releases. The WordPress.org listing shows the current version in readme.txt.

= 2.0.9 =
* Remove the Asan Pardakht gateway from the plugin, admin screen, and directory listing
* Plugin Check: unslash + sanitize_key/absint on Shamsi request routing (WPCS ValidatedSanitizedInput); wrap read-only nonce ignores around the actual $_GET/$_REQUEST lines
* Blocker: drop pre-2.0.2 unprefixed `site_external_blocker_*` filters; use `parskit-blocker-whitelist`, `parskit-blocker-is-allowed`, and `parskit-blocker-local-avatar` only (Plugin Directory unique-prefix rule)
* SMTP test email: keep HTML tags out of the translatable string (official i18n security placeholders)
* Sadad / Bank Melli: read camelCase JSON (resCode, amount, token) the same way the callback already does — missing PascalCase keys no longer leave a successful verify on-hold
* Bank POST callbacks and Shamsi request keys: ignore non-scalar input (PHP 8 TypeError on sanitize_key / the string "Array")
* Bundle official Vazirmatn v33.003 variable woff2 so the admin font actually loads (OFL already shipped)
* Admin Jalali date popups: escape localized labels before innerHTML (same as the activity log)
* Admin settings: escape SMTP password-field attributes, Tools inactive-row class names, the activity status badge, and toggle data-* attributes (Plugin Check EscapeOutput)
* Blocker: blocked remote images keep a local blank src and stay hidden (no browser broken-image icon)
* Blocker: stop core emoji CDN fetches in wp-admin (WP 7.1 footer printer); do not empty emoji_svg_url (that falls back to jsDelivr and stalls the page)
* Admin activity: description and retention stay visible; the log table appears when the module is on
* Directory tags (max 5): jalali, shamsi, woocommerce, webp, performance

= 2.0.8 =
* Blocker: blocked remote images keep a local blank src and stay hidden (no browser broken-image icon)
* Blocker: stop core emoji CDN fetches in wp-admin (WP 7.1 footer printer); do not empty emoji_svg_url (that falls back to jsDelivr and stalls the page)
* Admin activity: description and retention stay visible; the log table appears when the module is on
* Directory tags (max 5): jalali, shamsi, woocommerce, webp, performance

= 2.0.7 =
* Admin menu PK icon uses WordPress core SVG handling (20px + svg-painter); removed extra admin-menu.css that could hide the icon until the item was current
* Blocker: keep WordPress admin-menu SVG data URIs (add_menu_page); do not replace with url("")
* Plugin header Description: WordPress + WooCommerce Jalali, Analytics, WebP, orders date filter, speed, outbound blocker, activity log, and one-click Iranian gateways
* Iranian IPG pack: Mellat, Saman, Iran Kish, Sadad/Melli, Pardakht Novin, Pasargad (each off by default)

= 2.0.6 =
* Display name in Plugins list and directory: پارس کیت (slug remains pars-kit)
* WordPress admin menu uses the bundled PK logo; the plugin settings sidebar stays text-only
* Directory review: Analytics Jalali calendar CSS via wp_enqueue_style (no runtime style tags)
* Edit Order: native date field no longer uses off-screen offsets; leftover jQuery UI datepicker is parked
* Blocker: sanitize rest_route with WordPress helpers; keep core/WooCommerce admin layout CSS as files
* Tools: optional Persian-script checkout first/last name (off by default; classic + Checkout Block; accepts legacy-keyboard ي/ك)
* Compatibility header: WC tested up to 11.1
* Iran Kish IPG REST V11 gateway (off by default; credentials in WooCommerce → Payments)
* Bank Melli / Sadad IPG REST gateway (off by default; credentials in WooCommerce → Payments)
* Pardakht Novin Arian IPG REST gateway (off by default; credentials in WooCommerce → Payments)
* Pasargad Electronic Payment IPG REST gateway (off by default; credentials in WooCommerce → Payments)
* WooCommerce-only Tools/gateway toggles stay locked when WooCommerce is inactive (including after AJAX save)
* Directory review: no site-wide WebP/font admin nags (inline notices on the plugin screen only)
* Deactivate/Delete stay standard WordPress links
* Directory review: plugin header Description kept under 140 characters
* Directory review: bundled Vazirmatn OFL and PSP logos documented in the header and readme
* Sanitize remaining REST route / REQUEST_URI reads the same way as the blocker
* Directory review: "Tested up to" lives only in readme.txt (Plugin Check 1.8)
* Directory review: English Description (Plugin Check 1.8); search-focused copy for Jalali dates and named Iranian gateways
* Email tab: test send sits above SMTP debug

= 2.0.5 =
* Directory review: CSS/JS only via wp_enqueue / wp_add_inline_* (no raw style/script markup)
* Paths via plugin_dir_path/url, plugins_url, wp_upload_dir, theme-root helpers; wp-includes/wp-admin from ABSPATH

= 2.0.4 =
* Directory review: list every Mellat/Saman Shaparak URL; add terms of use and privacy policy links
* Blocker: resolve local CSS via site_url() / home_url() / content/plugins/uploads maps (no ABSPATH path join)

= 2.0.3 =
* Directory review: document Mellat / Saman / SMTP under External services (Shaparak hosts + official PSP sites)
* Receipt pages: bank auto-submit uses `wp_enqueue_script` / `wp_add_inline_script` (no raw `<script>` tags)
* Blocker: pair `ob_start` with `shutdown` `ob_end_flush`; rewritten CSS printed via `wp_register_style` / `wp_add_inline_style`

= 2.0.2 =
* Plugin Check: Latin Plugin Name **Pars Kit** (admin UI stays Persian); AJAX nonce verified in-scope; Mellat SOAP timeout via stream context (no `ini_set`)
* Code identity: `parskit` / `PARSKIT_*` internally; wordpress.org slug `pars-kit`
* Activity log: safer table name `{prefix}parskit_activity_log`, cron cleared on deactivate, product trash/delete logging, logout/user/search fixes
* Hardening: SMTP password save, IP from `REMOTE_ADDR`, ABSPATH guards, uninstall cleanup, Blocks registration, blocker scope radios
* Packaging: flattened nested folder so ZIP root contains `pars-kit.php`

= 2.0.1 =
* Directory identity and Plugin Check cleanup for wordpress.org submission
* Activity log SQL prepare pattern fixed for Plugin Check

= 2.0.0 =
* WordPress.org release packaging; Persian admin UI throughout; contributor `parskit`

= 1.9.0 =
* Admin activity log (default off) and Saman (SEP) gateway

= 1.8.x =
* Dashboard optimization, orders Jalali date filter, email/SMTP tab, WebP/UI polish

= 1.7.x =
* Multi-tab admin (Dashboard / Speed / Gateways / Tools / Email) with AJAX auto-save

= 1.6.x =
* Behpardakht Mellat gateway integration

= 1.5.x =
* External traffic blocker (domain whitelist)

= 1.4.0 =
* Local Vazirmatn admin font (no CDN)

= 1.3.x =
* WebP on upload (Imagick / WP image editor)

= 1.2.x – 1.0.0 =
* Shamsi core via `wp_date`; WooCommerce Analytics and orders date UI
