1.1.37
# Bundles plg_installer_mediaaudittool 0.1.1, fixing package updates failing with "Failed to extract file". Root cause: the plugin appended dlid=... directly onto the ARS-resolved download URL, and when that URL already contained a literal &amp; (an HTML-entity-encoded ampersand surviving one round of XML entity decoding), the result was ...&amp;dlid=..., parsed by servers as a parameter literally named "amp;dlid" rather than "dlid". The Download Key was never sent, ARS's auth check failed, and it returned an error page instead of the package, which Joomla then failed to extract. Now decodes HTML entities and trims dangling separators before appending the Download ID.
~ com_mediaaudittool, plg_mat_content, and plg_system_mediaaudittool are unchanged from 1.1.36 and re-included as-is.

1.1.36
~ Bundles com_mediaaudittool 1.2.30, which relocates Optimize Now's resize logic and the Asset Intelligence capability check out of the shared component and into the plg_mat_aie plugin itself, replacing a raw SQL/boolean "is AIE active" flag with a genuine Joomla plugin-event contract. Sites on MAT alone see no functional change -- Optimize Now and Asset Intelligence Reports still require Asset Intelligence Engine (sold separately), now enforced by code that genuinely doesn't exist without the plugin installed, rather than a flag that could be flipped.
~ plg_mat_content, plg_installer_mediaaudittool, and plg_system_mediaaudittool are unchanged and re-included as-is.

1.1.35
~ No functional changes. Version-only bump to validate the full live-update loop end to end: ARS release, SEF-alias update stream, Download Key check, and download-time key injection (plg_installer_mediaaudittool), triggered via Joomla's own System > Update > Extensions "Update" button rather than a manual local upload -- the first real exercise of the authenticated download path built in 1.1.27-1.1.34.

1.1.34
+ Bundles com_mediaaudittool 1.2.29, which fixes ScannerHelper::syncDownloadIdToUpdateSites() never actually writing the Download ID into #__update_sites.extra_query. Two stacked bugs, both hidden by the method's catch-all exception handler: (1) it selected/filtered on #__update_sites.id, a column that doesn't exist -- the real primary key is update_site_id -- so the query threw on every run; (2) the location LIKE match still targeted the old raw ARS URL, stale since the SEF-alias update stream shipped in 1.1.32. Both fixed; the match is now %incolor.dev/updates/%, which also covers future MAP/AIE update streams.

1.1.33
# Fixed the Download Key field never appearing in Joomla's Update Sites list/detail view, despite the dlid tag being present and correct. Root cause: Joomla always derives this package's #__extensions.element as "pkg_mat" (PackageAdapter::getElement() hardcodes a pkg_ prefix onto <packagename>), but the manifest file that gets copied into administrator/manifests/packages/ keeps whatever filename it had inside the zip -- which was "mat.xml", not "pkg_mat.xml". The Download Key lookup (InstallerHelper::getInstallationXML(), used by com_installer's Update Sites view) only ever looks for a file matching the element name, so it silently found nothing and never got as far as reading <dlid>. Renamed the manifest file itself to pkg_mat.xml (its <packagename> content stays "mat", since that value separately controls the manifests/packages/mat/ subfolder used to stage bundled sub-extension zips). Everything else -- install, update detection, name/description resolution -- was unaffected because those paths resolve via <packagename> or the extension row directly, not the manifest filename.

1.1.32
~ Switched the update stream URL to the SEF-friendly alias https://incolor.dev/updates/mat.xml, backed by a server-side 301 redirect rule. An internal-only rewrite was tried first but doesn't work here -- Joomla's own core router needs the actual REQUEST_URI to be the real query-string URL to resolve the route, so it 404s on a silently rewritten path even when Apache hands PHP the correct GET parameters underneath. A visible 301 redirect avoids that entirely.

1.1.31
+ Added the missing dlid tag to the package manifest (<dlid prefix="dlid=" suffix=""/>). Without it, Joomla's Update Sites list had no way of knowing this extension supports a Download Key at all -- no badge/input was shown, and Joomla's own core mechanism for injecting the key into update-check/download requests likely wasn't engaging.
# Fixed com_mediaaudittool's script.php reporting 1.2.27 in its install-message version property while the manifest itself said 1.2.28.

1.1.30
+ Bundles com_mediaaudittool 1.2.28: fixes Optimize Now (Asset Intelligence Report) so a failed write of the resized replacement can no longer leave the live path empty. The original is now archived to Trash as a copy before the optimized replacement is written, rather than moved out first.
~ Removed now-dead moveFileToTrash() and cleaned up duplicate/orphaned Download ID language strings left over from an earlier draft.

1.1.29
# Fixed the package's own Name/Description showing as the raw PKG_MAT / PKG_MAT_DESC language constants in the Extensions Manager list instead of resolved text. Added the missing language files.

1.1.28
+ Added plg_system_mediaaudittool 0.1.4 to the package. Without it, the Download ID self-healing sync (#__update_sites.extra_query) never runs at MAT tier, so update checks against incolor.dev could silently stop being authenticated even though downloads still worked.

1.1.27
+ Added a Download ID field to com_mediaaudittool's Options page (Updates tab), so licensed update checks and downloads from incolor.dev can be authenticated.
+ Added a new plg_installer_mediaaudittool plugin: appends the Download ID directly to package-download requests, working around a Joomla core quirk where the extra_query parameter is applied to the update-check request but not reliably reapplied at download time.
~ com_mediaaudittool now self-heals #__update_sites.extra_query for our own extensions' update sites on every admin page load, throttled to real work only when the Download ID changes or an hour has passed.
~ Added copyright and license headers to all source files.

1.1.26
~ Initial MAT package release, bundling com_mediaaudittool 1.2.26 and plg_mat_content 1.2.8.
~ Update stream wired to Akeeba Release System (MAT category, stream id=1).
