<?xml version="1.0" encoding="utf-8"?>
	<rss version="2.0">
		<channel> 
			<title>История коммерческой редакции CMS Donate Engine</title> 
			<link>https://cde.by/ru/news/</link> 
			<description>Здесь Вы можете ознакомиться с историей изменений в CMS Donate Engine.</description>
			<item>
				<title>v19.2.72</title>
				<description><![CDATA[fix(payments): TomeGe getNewPayUri  14 no debug dump in redirect URL]]></description>
				<files><![CDATA[Total: 4 files (+0, ~4, -0)

docs/todo/
  M domain-guard-known-issues.md
www/src/app/
  M constants.php
www/src/app/lib/payments/TomeGe/
  M Requests.php
www/tests/Unit/Inventory/
  M GiveQueueProtocolTest.php]]></files>
				<pubDate>Fri, 23 Oct 2026 15:15:21 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.71</title>
				<description><![CDATA[fix(cookie): set cookie name]]></description>
				<files><![CDATA[Total: 3 files (+0, ~3, -0)

www/public/install/
  M index.php
www/src/app/
  M constants.php
www/src/Install/
  M Installer.php]]></files>
				<pubDate>Fri, 23 Oct 2026 14:54:40 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.70</title>
				<description><![CDATA[feat(container): register ResettableServicePass for long-running readiness
refactor(log): drop SITE_PAGE legacy constant
refactor(state): drop function-level statics
refactor(payments): TomeGe\Requests instance properties
refactor(payments): PalychApi instance properties
refactor(template): Table instance state + static onPage reset
refactor(inventory): instance protocols + Store Port + legacy controllers
fix(protocols): three pre-existing type bugs surfaced by tests
fix(controllers): remove redundant is_array checks]]></description>
				<files><![CDATA[Total: 39 files (+9, ~29, -1)

docs/todo/
  M domain-guard-known-issues.md
www/src/admin/
  M AdminRunner.php
www/src/admin/controllers/
  M logs.php
www/src/admin/lib/Template/
  M Table.php
www/src/app/
  M FrontRunner.php
  M Kernel.php
  M constants.php
  M helpers.php
www/src/app/Container/
  M ContainerFactory.php
www/src/app/controllers/
  M lisf.php
  M lisfmarket.php
  M oxide.php
  M oxidemarket.php
  M payments.php
www/src/app/Features/Store/Purchase/Ports/
  M GameInventory.php
www/src/app/helpers/
  M SteamForm.php
www/src/app/lib/
  M ErrorHandler.php
  M Template.php
www/src/app/lib/config/
  M CFG.php
www/src/app/lib/database/
  M Database.php
www/src/app/lib/error/
  M ErrorLogFile.php
www/src/app/lib/inventory/
  A InventoryProtocol.php
  A ProtocolFactory.php
  D Service.php
www/src/app/lib/inventory/protocols/
  M GiveQueue.php
  M MySQL.php
  M lisf_wargm_mod.php
www/src/app/lib/payments/palych/
  M PalychApi.php
www/src/app/lib/payments/TomeGe/
  M Requests.php
www/src/app/lib/skin/
  M Render.php
www/tests/Fixtures/
  A inventory_schema.sql
www/tests/Helpers/
  A InventorySchemaTrait.php
www/tests/Unit/Inventory/
  A GiveQueueProtocolTest.php
  A LisfProtocolTest.php
  A LisfWargmModProtocolTest.php
  A MysqlProtocolTest.php
  A OxideProtocolTest.php]]></files>
				<pubDate>Fri, 23 Oct 2026 14:47:59 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.69</title>
				<description><![CDATA[feat(http): redirect unknown host to primary via DomainRedirectSubscriber
- DomainResolver (pure): resolve/isSuspiciousHost/redirectUrl, subpath-safe
- Redirector: create() !92 Response (AJAX !92 JsonResponse), send() !92 legacy adapter
- DomainRedirectSubscriber: priority 512, isMainRequest() invariant,
  strtolower host, http_site validation
- status: 308 canonical (permanent), 307 unknown (temporary, method-preserved)
- wiring: services.php (tag), RequestHandler::runLegacy (dispatch),
  Request::redirect !92 @see Redirector::send
- 7 unit tests, 0 mocks
Known issues: domain-guard-known-issues.md
Worker mode blocked by B1-B4 (CFG singleton, ResettableServicePass, bootstrap-once)]]></description>
				<files><![CDATA[Total: 12 files (+6, ~6, -0)

docker/angie/
  M angie.conf
docs/todo/
  M Multi-Tenant-SaaS.md
  A domain-guard-known-issues.md
www/src/app/
  M constants.php
www/src/app/config/
  M services.php
www/src/app/Http/
  A DomainRedirectSubscriber.php
  A DomainResolver.php
  A Redirector.php
  M RequestHandler.php
www/src/app/lib/
  M Request.php
www/tests/Unit/Http/
  A DomainResolverTest.php
  A RedirectorTest.php]]></files>
				<pubDate>Thu, 22 Oct 2026 07:59:19 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.68</title>
				<description><![CDATA[fix(updater): fail-closed restore without manifest
Restore now aborts with manifest-missing when the backup has no manifest
and --force is not given, instead of silently leaving orphan files that
break the DI container (same failure mode as incident 19.2.66).
- BackupManager: add manifest-missing and version-mismatch rules; skip
  manifest lookup when versionTo is null (BC preserved); pass warnings
  through the legacy --force path
- core_updater: drop redundant !== '' ternaries (PHPStan); treat
  manifest-missing as proceedable in the catch block alongside
  from-version
- Tests: add testAbortsWhenManifestMissing and
  testForceAllowsLegacyRestoreWhenManifestMissing]]></description>
				<files><![CDATA[Total: 5 files (+0, ~5, -0)

www/src/admin/controllers/
  M core_updater.php
www/src/admin/lib/console/
  M UpdaterRestoreCommand.php
www/src/admin/lib/updater/services/
  M BackupManager.php
www/src/app/
  M constants.php
www/tests/Functional/Updater/
  M UpdaterRestoreManifestTest.php]]></files>
				<pubDate>Tue, 20 Oct 2026 19:56:50 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.67</title>
				<description><![CDATA[feat(updater): safe restore via manifest]]></description>
				<files><![CDATA[Total: 24 files (+12, ~12, -0)

docs/contracts/
  A Cache.md
  A Updater.md
docs/todo/
  A Multi-Tenant-SaaS.md
  A updater_restore_manifest.md
www/public/style/gente/mods/store/
  M form_donate.tpl
www/src/admin/controllers/
  M core_updater.php
www/src/admin/lib/console/
  A UpdaterRestoreCommand.php
www/src/admin/lib/updater/
  M UpdateServiceFactory.php
www/src/admin/lib/updater/migrate_mysql/
  M DBMigration.php
www/src/admin/lib/updater/services/
  M BackupManager.php
  M BackupManagerInterface.php
  M CompareUpdate.php
  A ManifestChecksum.php
  A ManifestValidationException.php
  A ManifestValidator.php
  A ManifestWriter.php
www/src/app/
  M constants.php
www/src/app/Features/Profile/
  M UcpController.php
www/src/Install/sql/
  M inserttable_en.sql
  M inserttable_ru.sql
www/src/Install/Step/
  M DemoContent.php
www/tests/Functional/Updater/
  A UpdaterRestoreManifestTest.php
www/tests/Unit/Updater/
  A ManifestValidatorTest.php
  A ManifestWriterTest.php]]></files>
				<pubDate>Tue, 20 Oct 2026 19:21:15 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.66</title>
				<description><![CDATA[fix(ui): steam form size]]></description>
				<files><![CDATA[Total: 2 files (+0, ~2, -0)

www/src/app/
  M constants.php
www/src/app/helpers/
  M SteamForm.php]]></files>
				<pubDate>Tue, 20 Oct 2026 11:59:05 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.65</title>
				<description><![CDATA[fix(smarty): unify storage paths and clear all 8 cache dirs]]></description>
				<files><![CDATA[Total: 18 files (+1, ~15, -2)

www/public/style/gente/css/
  M cde-modules.css
www/public/style/gente/mods/store/
  M form_donate.tpl
www/public/style/images/
  D sits_small.png
www/src/admin/lib/
  M CmsCache.php
www/src/admin/lib/updater/services/
  M CacheCleaner.php
www/src/app/
  M constants.php
www/src/app/config/
  M services.php
www/src/app/controllers/
  M lisf.php
  M lisfmarket.php
  M oxide.php
  M oxidemarket.php
www/src/app/Features/Common/Smarty/
  A SmartyStorage.php
www/src/app/lib/
  M Cache.php
  D CacheCleaner.php
  M Template.php
www/src/app/lib/database/middleware/
  M LoggingMiddleware.php
www/src/Install/Core/
www/src/Install/Step/
  M Permission.php]]></files>
				<pubDate>Tue, 20 Oct 2026 11:42:25 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.64</title>
				<description><![CDATA[fix(cron): move IM mail filters into SQL to fix batch starvation]]></description>
				<files><![CDATA[Total: 9 files (+3, ~6, -0)

docs/todo/
  M errorhandler-context-instead-of-wrap.md
www/public/style/lte3/views/comeback_settings/
  A modal.tpl
  A navi.tpl
  A setup.tpl
www/public/style/lte3/views/forms/
  M pagination.tpl
www/src/admin/controllers/
  M comeback_settings.php
www/src/admin/lib/cron/
  M MessagesNotifierUseCase.php
www/src/app/
  M constants.php
www/src/app/lib/InstantMessages/
  M MessangerService.php]]></files>
				<pubDate>Tue, 20 Oct 2026 07:25:49 +0300</pubDate>
			</item>
			<item>
				<title>v19.2.63</title>
				<description><![CDATA[fix(news): save form]]></description>
				<files><![CDATA[Total: 3 files (+0, ~3, -0)

www/public/style/gente/js/
  M admin.js
www/public/style/gente/mods/news/
  M edit.tpl
www/src/app/
  M constants.php]]></files>
				<pubDate>Tue, 20 Oct 2026 01:03:50 +0300</pubDate>
			</item>
		</channel>
	</rss>