<?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.1.37</title>
				<description><![CDATA[fix(template): normalize theme name to avoid double slashes in asset URLs]]></description>
				<files><![CDATA[Total: 2 files (+0, ~2, -0)

www/src/app/
  M constants.php
www/src/app/lib/
  M Template.php]]></files>
				<pubDate>Thu, 17 Sep 2026 02:44:07 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.36</title>
				<description><![CDATA[feat(core): Gravatar avatar provider with HttpKernel infrastructure
- DI: EventDispatcher, HttpKernel, ArgumentResolver, Validator, Serializer
- ContainerFactory: RegisterListenersPass for event subscribers
- Features/Common: #[Acl], AclListener, HttpExceptionListener
- Features/Avatar: /gravatar endpoint with ETag caching
- SW: exclude /gravatar from image cache; profile hint when active]]></description>
				<files><![CDATA[Total: 30 files (+11, ~19, -0)

.vscode/
  M settings.json
www/
  M composer.json
www/public/
  M sw.js
www/public/style/gente/js/
  M preload-sw.js
www/public/style/gente/mods/profile/
  M user.tpl
www/src/admin/controllers/
  M core_updater.php
  M settings.php
www/src/admin/lib/
  M FpmClient.php
www/src/admin/lib/updater/migrate_mysql/
  A MigrateMySQL19135.php
www/src/admin/lib/updater/services/
  M Updater.php
www/src/app/
  M constants.php
www/src/app/config/
  M services.php
www/src/app/Container/
  M ContainerFactory.php
www/src/app/controllers/
  M profile.php
www/src/app/Features/Avatar/
  A AvatarController.php
  A Repository.php
www/src/app/Features/Avatar/Dto/
  A AvatarQuery.php
www/src/app/Features/Common/
  A services.php
www/src/app/Features/Common/Attribute/
  A Acl.php
www/src/app/Features/Common/Listener/
  A AclListener.php
  A HttpExceptionListener.php
www/src/app/Http/
  A ContainerControllerResolver.php
  M RequestHandler.php
www/src/app/lib/
  M AppCache.php
  M ErrorHandler.php
www/src/app/lib/session/
  M SessionManager.php
www/src/app/models/ErrorLog/
  M Repository.php
www/tests/
  M bootstrap.php
www/tests/Unit/ErrorHandler/
  A BacktraceTest.php
  A LogParsingTest.php]]></files>
				<pubDate>Thu, 17 Sep 2026 02:13:33 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.34</title>
				<description><![CDATA[fix(digiseller): verify SHA256 sign]]></description>
				<files><![CDATA[Total: 1 files (+0, ~1, -0)

www/src/app/
  M constants.php]]></files>
				<pubDate>Wed, 16 Sep 2026 11:06:11 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.33</title>
				<description><![CDATA[fix(install): cli cache cleaner]]></description>
				<files><![CDATA[Total: 2 files (+0, ~2, -0)

www/src/app/
  M constants.php
www/src/app/controllers/payments/
  M digiseller.php]]></files>
				<pubDate>Wed, 16 Sep 2026 10:42:50 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.32</title>
				<description><![CDATA[fix(error_log): unserialize]]></description>
				<files><![CDATA[Total: 2 files (+0, ~2, -0)

www/src/app/
  M constants.php
www/src/app/lib/
  M ErrorHandler.php]]></files>
				<pubDate>Tue, 15 Sep 2026 09:09:05 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.31</title>
				<description><![CDATA[fix(error_log): unserialize]]></description>
				<files><![CDATA[Total: 2 files (+0, ~2, -0)

www/src/app/
  M constants.php
www/src/app/models/ErrorLog/
  M Repository.php]]></files>
				<pubDate>Mon, 14 Sep 2026 18:30:52 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.30</title>
				<description><![CDATA[fix(error_log): unserialize]]></description>
				<files><![CDATA[Total: 2 files (+0, ~2, -0)

www/src/app/
  M constants.php
www/src/app/models/ErrorLog/
  M Repository.php]]></files>
				<pubDate>Mon, 14 Sep 2026 18:23:19 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.29</title>
				<description><![CDATA[fix(error_log): unserialize
fix(install): migration check]]></description>
				<files><![CDATA[Total: 4 files (+0, ~4, -0)

www/
  M composer.json
www/src/app/
  M constants.php
www/src/app/models/ErrorLog/
  M Repository.php
www/src/Install/Core/
  M InstallationConfig.php]]></files>
				<pubDate>Mon, 14 Sep 2026 18:09:43 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.28</title>
				<description><![CDATA[refactor(template): merge public+admin into single app\lib\Template with $isAdmin flag and Smarty composition
refactor(template): replace extends Smarty with private Smarty, add setRequest() and proxy methods (assign, fetch, display, registerPlugin, addExtension, getTemplateVars, setTemplateDir, setConfigDir, setCompileDir, setCacheDir)
refactor(template): merge helpers from both classes, dedupe array_merge, add formatfilesize and seconds_to_duration modifiers
refactor(template): unify render via renderPublic/renderAdmin, renderToString via renderToStringPublic/renderToStringAdmin, content via variadic args, and modal/canonical/pagination/auth_form/message_btn/createModal
refactor(template): unify static Theme, getAvatar, restContent; add JSON_THROW_ON_ERROR and JsonException try/catch; error field only when IN_ADM
fix(template): Theme returns relative path for public and absolute URL for admin; correct THEME via http_site+substr in assignInit and self::Theme in admin constructor
fix(template): template_variants as string in admin constructor and exploded in renderAdmin; add global $m; add default rss array; fetch accepts array $data as 2nd arg
refactor(cron): CronTemplate uses composition instead of inheritance, parent:: replaced with $this->template->, modal created via new Template(...)
chore(admin): delete admin Template class, add class_alias in Kernel for BC
fix(services): pass isAdmin=true to admin Template registration
fix(errorlog): wrap json_decode in try/catch JsonException
chore(smarty): clear templates_a and templates_c caches
feat(demodata): tier case generation with bias, EV pricing, currency auto-detection, max-price cap, schema-aware insert, placeholder resolver, seeder with localization
feat(cases): case translation keys and generated flag, regenerate tooltip, catalog report, installer import with home propagation, split filter by tier segments
fix(cases): noty overflow, online clamp
test(demodata): structural and integration tests]]></description>
				<files><![CDATA[Total: 193 files (+74, ~77, -42)

Most changed directories:
  28   www/src/Install/sql/server/
  28   www/src/admin/lib/DemoData/Seeders/
  21   www/src/app/controllers/
  12   www/src/admin/lib/DemoData/
  8   www/src/app/Features/Auth/
  8   www/src/admin/controllers/
  5   www/src/Install/Step/
  4   www/tests/Unit/Features/Auth/
  4   www/src/app/lib/
  4   www/src/app/Features/Auth/View/]]></files>
				<pubDate>Mon, 14 Sep 2026 16:29:22 +0300</pubDate>
			</item>
			<item>
				<title>v19.1.25</title>
				<description><![CDATA[fix(core): session trim url]]></description>
				<files><![CDATA[Total: 2 files (+0, ~2, -0)

www/src/app/
  M constants.php
www/src/app/lib/session/
  M SessionManager.php]]></files>
				<pubDate>Mon, 07 Sep 2026 22:21:07 +0300</pubDate>
			</item>
		</channel>
	</rss>