<?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.1.80</title>
				<description><![CDATA[fix(updater): store archive and backups under storage/]]></description>
				<files><![CDATA[Total: 2 files (+0, ~2, -0)

www/src/admin/lib/updater/migrate_mysql/
  M MigrateMySQL19177.php
www/src/app/
  M constants.php]]></files>
				<pubDate>Sun, 04 Oct 2026 18:40:11 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.79</title>
				<description><![CDATA[refactor(updater): store archive and backups under storage/]]></description>
				<files><![CDATA[Total: 17 files (+1, ~16, -0)

www/public/style/lte3/views/core_updater/
  M updater_setup.tpl
www/src/admin/controllers/
  M core_updater.php
www/src/admin/lib/updater/
  M UpdateServiceFactory.php
www/src/admin/lib/updater/migrate_mysql/
  A MigrateMySQL19177.php
www/src/admin/lib/updater/services/
  M BackupManager.php
  M CompareUpdate.php
  M FileScanner.php
  M IgnoredPathsConfig.php
  M UpdateApplier.php
  M Updater.php
www/src/app/
  M constants.php
www/src/app/Features/Store/Purchase/Give/
  M InventoryGive.php
www/src/app/lib/inventory/protocols/
  M oxide.php
www/tests/Integration/Updater/
  M BackupManagerIntegrationTest.php
  M CompareUpdateIntegrationTest.php
www/tests/Unit/Updater/
  M BackupManagerTest.php
  M UpdaterTest.php]]></files>
				<pubDate>Sun, 04 Oct 2026 18:20:15 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.76</title>
				<description><![CDATA[fix(store): resolve count from source item, DRY affix parsing
fix(store): per-item switch prices, count as amount not multiplier]]></description>
				<files><![CDATA[Total: 6 files (+0, ~6, -0)

www/public/style/gente/mods/store/
  M admin_modal_edit_product.js
www/src/app/
  M constants.php
www/src/app/controllers/
  M store.php
www/src/app/Features/Store/Purchase/
  M PurchaseResolver.php
www/src/app/Features/Store/Purchase/Command/
  M CommandInspector.php
www/src/app/lib/inventory/protocols/
  M oxide.php]]></files>
				<pubDate>Sun, 04 Oct 2026 06:01:48 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.75</title>
				<description><![CDATA[feat(store): bundle hydration, set count multiplier, affix fallback]]></description>
				<files><![CDATA[Total: 14 files (+0, ~14, -0)

www/public/style/gente/css/
  M custom.css
www/public/style/gente/mods/store/
  M admin_modal_edit_product.js
  M modal_bundle.tpl
www/src/admin/controllers/
  M core_updater.php
www/src/admin/lib/updater/migrate_mysql/
  M MigrateMySQL19164.php
  M MigrateMySQL19171.php
www/src/app/
  M constants.php
www/src/app/controllers/
  M shop.php
  M store.php
www/src/app/Features/Store/Purchase/
  M BundleItems.php
  M PurchaseResolver.php
www/src/app/Features/Store/Purchase/Command/
  M AffixMiddleware.php
  M CommandInspector.php
www/tests/Unit/Updater/
  M PermissionManagerTest.php]]></files>
				<pubDate>Sun, 04 Oct 2026 04:43:04 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.74</title>
				<description><![CDATA[fix(updater): add user-defined ignore list]]></description>
				<files><![CDATA[Total: 2 files (+0, ~2, -0)

www/src/admin/lib/updater/migrate_mysql/
  M MigrateMySQL19171.php
www/src/app/
  M constants.php]]></files>
				<pubDate>Sun, 04 Oct 2026 02:22:50 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.73</title>
				<description><![CDATA[fix(updater): add user-defined ignore list]]></description>
				<files><![CDATA[Total: 3 files (+0, ~3, -0)

www/public/style/lte3/views/core_updater/
  M updater_ignored_paths.tpl
www/src/admin/lib/updater/migrate_mysql/
  M MigrateMySQL19171.php
www/src/app/
  M constants.php]]></files>
				<pubDate>Sun, 04 Oct 2026 02:19:42 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.72</title>
				<description><![CDATA[feat(updater): user-configurable ignore list
Adds an admin modal to edit update_ignored_paths. IgnoredPathsConfig
merges the parsed patterns (comments and blanks skipped, regex escaped)
into both build and site lists, so configured files are neither
overwritten nor deleted on update.]]></description>
				<files><![CDATA[Total: 8 files (+2, ~6, -0)

www/public/style/lte3/views/core_updater/
  A updater_ignored_paths.tpl
  M updater_navi.tpl
  M updater_setup.tpl
www/src/admin/controllers/
  M core_updater.php
www/src/admin/lib/updater/migrate_mysql/
  A MigrateMySQL19171.php
www/src/admin/lib/updater/services/
  M IgnoredPathsConfig.php
www/src/app/
  M constants.php
www/tests/Integration/Updater/
  M CompareUpdateIntegrationTest.php]]></files>
				<pubDate>Sun, 04 Oct 2026 01:54:32 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.69</title>
				<description><![CDATA[refactor(store): hydrate helper, DECIMAL money, footer unification
- BundleItems::hydrate()  14 single helper for item enrichment from base products
- store.php: use hydrate in package/add/itemID, drop duplicated loops
- store.php: fix double-fetch (single while on cursor, no silent skip)
- store.php: hydrate now works for set, switch, roulette uniformly
- modal_bundle.tpl: badge visibility depends only on amount (uses_count drives multiply, not visibility)
- modal_footer_price.tpl: unified recalc for product/set, hide count when no %count% item
- shop.js: guard responseCheckedData against empty formID (roulette crash)
- migration 19168: ALTER money/realmoney to DECIMAL(11,2)  14 fix float drift]]></description>
				<files><![CDATA[Total: 7 files (+1, ~6, -0)

www/public/style/gente/js/
  M shop.js
www/public/style/gente/mods/store/
  M modal_bundle.tpl
  M modal_footer_price.tpl
www/src/admin/lib/updater/migrate_mysql/
  A MigrateMySQL19168.php
www/src/app/
  M constants.php
www/src/app/controllers/
  M store.php
www/src/app/Features/Store/Purchase/
  M BundleItems.php]]></files>
				<pubDate>Sat, 03 Oct 2026 09:01:09 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.63</title>
				<description><![CDATA[refactor(store): validate resolver fields, fix bundle lookup SQL
- resolveRoulette/resolveSwitch: explicit ERROR_GIVE_STORE on missing give/cmd
- Drop ?? '' fallbacks for required fields
- Restore JOIN store_groups  14 fixes unknown column 'g.server']]></description>
				<files><![CDATA[Total: 3 files (+0, ~3, -0)

www/src/app/
  M constants.php
www/src/app/controllers/
  M store.php
www/src/app/Features/Store/Purchase/
  M PurchaseResolver.php]]></files>
				<pubDate>Fri, 02 Oct 2026 15:43:41 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.61</title>
				<description><![CDATA[fix(store): case items, drop admin cache, unify give pipeline]]></description>
				<files><![CDATA[Total: 20 files (+0, ~19, -1)

www/public/style/gente/mods/store/
  M admin_modal_edit_product.css
  M admin_modal_edit_product.js
  M admin_modal_edit_product.tpl
www/public/style/lte3/views/rcon/
  M list.tpl
www/src/admin/controllers/
  M rcon.php
www/src/admin/lib/DemoData/
  M CaseBuilder.php
  M DatabaseCaseItemSource.php
  M GameSeederManager.php
  M SeederCaseItemSource.php
www/src/app/
  M FrontRunner.php
  M constants.php
www/src/app/controllers/
  M store.php
www/src/app/Features/Store/Purchase/
  M PurchaseFactory.php
  M PurchaseItemUseCase.php
www/src/app/Features/Store/Purchase/Command/
  D PlaceholderMiddleware.php
www/src/app/Features/Store/Purchase/Give/
  M DiscordGive.php
  M GiveContext.php
  M InventoryGive.php
  M RconGive.php
www/src/app/lib/rcon/
  M PlaceholderResolver.php]]></files>
				<pubDate>Fri, 02 Oct 2026 04:33:58 +0300</pubDate>
			</item>
		</channel>
	</rss>