<?xml version="1.0" encoding="utf-8"?>
	<rss version="2.0">
		<channel> 
			<title>Version history CMS Donate Engine</title> 
			<link>https://cde.by/en/news/</link> 
			<description>Here you can see the history of changes in CMS Donate Engine.</description>
			<item>
				<title>v19.2.87</title>
				<description><![CDATA[feat(search): action buttons in admin command palette
Palette previously indexed only form fields (input/select/textarea).
Action buttons (User CSS, Add product, Delete orphans) were invisible
because FieldExtractor ignored /.
Changes:
- FieldExtractor: parse data-palette-* attributes !92 action/actionUrl/actionId
- search-palette.js: cross-page handling for openModal/click via sessionStorage
  (paletteAfterNav); consume after pjax:complete / pageshow / 100ms fallback
- search-palette.js: matchUrl fallback (matches by path/anchor if label differs)
- search-palette.js: grouping by pageUrl (not pageTitle)  14 same title, different pages
- admin.js: dispatch pjax:complete / pjax:end after #content swap
  (palette no longer double-reloads on same-page navigation)
- admin store list navi + template.php: add data-palette-* to action buttons]]></description>
				<files><![CDATA[Total: 6 files (+0, ~6, -0)

www/public/style/lte3/js/
  M admin.js
  M search-palette.js
www/src/admin/controllers/
  M template.php
www/src/admin/Features/Search/Application/
  M FieldExtractor.php
www/src/admin/Features/Search/Http/
  M SearchIndexController.php
www/src/app/
  M constants.php]]></files>
				<pubDate>Mon, 02 Nov 2026 18:47:28 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.86</title>
				<description><![CDATA[fix(admin): handler leaks, tooltip reload, redirect guard]]></description>
				<files><![CDATA[Total: 2 files (+0, ~2, -0)

www/public/style/lte3/js/
  M admin.js
www/src/app/
  M constants.php]]></files>
				<pubDate>Mon, 02 Nov 2026 13:29:39 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.85</title>
				<description><![CDATA[feat(ui): instant pjax cache with morph revalidation
Restore instant cache paint, add morph-based revalidation that updates
only changed nodes without flicker, keep script execution on URL change.
- instant cache via getCachedData, no setTimeout
- requestDone guard prevents cache overwriting fresh response
- morphSafe/morphNodeSafe/syncAttrsSafe update changed nodes only,
  never remove attributes, skip SCRIPT/STYLE
- animateContent: .html() on URL change, morphSafe on same-URL,
  fallback to .html() on error
- image preservation keyed by src + isEqualNode
- local _mod/_spl/_page in getAjaxContent
- off().on() namespaces in form_submit_ajax, initShopBuySlider,
  noty click, tooltip destroy
- vkladka via .on focus/blur
- pmPending/offerPending guards in offerId
- showModal reqToken prevents stale response overwrite
- responseCheckedData null guard, errorParser Array.isArray
- hitle regex guarded for non-string data
- currentUrlEarly returns false not true
- drop ajaxPrefilter, window.stop, execCommand, timerId,
  progressTimer, isAnimate, preCacheImagesFromHTML
- innerHTML replaced by $().html() to keep script execution
- drop console.log in showNoty]]></description>
				<files><![CDATA[Total: 3 files (+1, ~2, -0)

docs/contracts/
  A PJAX.md
www/public/style/gente/js/
  M shop.js
www/src/app/
  M constants.php]]></files>
				<pubDate>Mon, 02 Nov 2026 13:01:34 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.84</title>
				<description><![CDATA[fix(pjax): delay cached render 200ms and reuse existing  nodes]]></description>
				<files><![CDATA[Total: 2 files (+0, ~2, -0)

www/public/style/gente/js/
  M shop.js
www/src/app/
  M constants.php]]></files>
				<pubDate>Mon, 02 Nov 2026 06:19:47 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.83</title>
				<description><![CDATA[fix(db): add MySQL 8.4 compatibility for migrations, admin queries and tests]]></description>
				<files><![CDATA[Total: 6 files (+0, ~6, -0)

www/src/admin/models/
  M ComebackModel.php
www/src/app/
  M constants.php
www/src/app/controllers/
  M im.php
  M votes.php
www/src/app/lib/InstantMessages/
  M MessangerService.php
www/tests/Fixtures/
  M inventory_schema.sql]]></files>
				<pubDate>Sun, 01 Nov 2026 22:45:20 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.82</title>
				<description><![CDATA[fix(db): add MySQL 8 compatibility for migrations and admin queries]]></description>
				<files><![CDATA[Total: 9 files (+0, ~9, -0)

www/src/admin/controllers/
  M money.php
  M realmoney.php
  M transactions.php
www/src/admin/lib/updater/migrate_mysql/
  M ContractMigration.php
  M MigrateMySQL1630.php
  M MigrateMySQL1680.php
  M MigrateMySQL1694.php
  M MigrateMySQL19064.php
www/src/app/
  M constants.php]]></files>
				<pubDate>Sun, 01 Nov 2026 22:04:29 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.81</title>
				<description><![CDATA[fix(install): MySQL migration]]></description>
				<files><![CDATA[Total: 3 files (+0, ~3, -0)

www/src/admin/lib/updater/migrate_mysql/
  M MigrateMySQL1680.php
www/src/app/
  M constants.php
www/src/app/controllers/
  M steam.php]]></files>
				<pubDate>Sun, 01 Nov 2026 20:28:28 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.80</title>
				<description><![CDATA[feat(admin): introduce admin\Features layer with Store as pilot
fix(steam): preserve return context on OpenID callback
fix(store): drop redundant check in updateField activ normalization
- AdminPageController, ContainerFactory admin route loader, psr-4 admin\Features
- Store: controller/views/BulkAction/Filter moved from app\Features\Store
- Inline edit: patch endpoint, updateField, inline-edit.js
- Filters: disabled stock, cascading server->group, inline in header
- Admin store link in public catalog (out, no PJAX)
- AssetBundle: documentRoot fallback for cross-theme paths
- Acl::checkRestriction: use permissions['owner'] instead of $GLOBALS
- form_submit_ajax/admin: serialize [form=...] fields, Noty instead of #content
- admin_modal_edit_product: BS4, NBT/affixes split to bundle only
- MigrateMySQL19278: store translations]]></description>
				<files><![CDATA[Total: 64 files (+19, ~38, -7)

Most changed directories:
  8   www/src/admin/controllers/
  4   www/src/app/Features/Search/Application/
  4   www/src/admin/Features/Search/Application/
  3   www/tests/Unit/Features/Search/
  3   www/src/app/Features/Store/Catalog/
  3   www/src/admin/Features/Store/Http/View/
  3   www/public/style/gente/mods/store/
  2   www/src/app/lib/
  2   www/src/admin/lib/updater/menu/backup/
  2   www/public/style/lte3/js/]]></files>
				<pubDate>Sun, 01 Nov 2026 16:51:42 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.77</title>
				<description><![CDATA[feat(search): auto focus for navigate keyboard]]></description>
				<files><![CDATA[Total: 2 files (+0, ~2, -0)

www/public/style/lte3/js/
  M admin.js
www/src/app/
  M constants.php]]></files>
				<pubDate>Tue, 27 Oct 2026 14:33:47 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.76</title>
				<description><![CDATA[feat(search): global command palette for admin
- SearchIndexController + SearchIndexBuilder (legacy adapter)
- FieldExtractor: label/tooltip/placeholder, skip debug-noise/hidden/data-change
- MenuExtractor: paths + title + section
- CurrentUser::impersonateById (CLI-only)
- Frontend: Ctrl+/, fuzzy, highlight, localStorage, ACL-D4C8CBDCD2D0
- Nav-entries for SKIP_PATHS pages]]></description>
				<files><![CDATA[Total: 30 files (+14, ~16, -0)

docs/contracts/
  A Admin-Search-palette.md
.vscode/
  M settings.json
www/bin/
  M console
www/public/style/gente/mods/member/
  M member_edit.tpl
www/public/style/lte3/
  M admin_layout.tpl
www/public/style/lte3/css/
  M adminlte.min.css
  A search-palette.css
www/public/style/lte3/js/
  M admin.js
  A search-palette.js
www/public/style/lte3/views/comeback_settings/
  M navi.tpl
www/src/admin/controllers/
  M logs.php
  M system.php
www/src/admin/lib/updater/menu/backup/
  M AdminMenuRu.php
www/src/admin/lib/updater/migrate_mysql/
  A MigrateMySQL19275.php
www/src/app/
  M constants.php
www/src/app/controllers/
  M articles.php
www/src/app/Features/Search/Application/
  A FieldExtractor.php
  A HtmlLoader.php
  A MenuExtractor.php
  A SearchIndexBuilder.php
www/src/app/Features/Search/Dto/
  A FieldDto.php
www/src/app/Features/Search/Http/
  A SearchIndexController.php
www/src/app/Features/Search/Infrastructure/
  A PageRenderer.php
www/src/app/lib/session/
  M CurrentUser.php
www/src/Install/sql/
  M language_en.sql
  M language_ru.sql
www/tests/Unit/Features/Search/
  A FieldExtractorTest.php
  A MenuExtractorTest.php
  A SearchIndexControllerTest.php
www/tests/Unit/Session/
  M CurrentUserTest.php]]></files>
				<pubDate>Tue, 27 Oct 2026 14:15:38 +0300</pubDate>
			</item>
		</channel>
	</rss>