Themes/components on the default latest channel get auto-disabled, and theme authors must use unintuitive workarounds.
Ran into this here: Featured Topics - #76 by cogdog It’s quite unintuitive that all minimum versions need to use a format like xxx.x.999 below the current version they should actually match.
Platform
Self-hosted Discourse on the latest branch
Discourse version: 2026.8.0-latest.1
Affects: theme/theme-component authoring (about.json metadata) and theme compatibility checks
Description
Actual Result:
A theme with "minimum_discourse_version": "2026.8.0" in its about.json is considered incompatible and auto-disabled when the site runs the -latest build 2026.8.0-latest.1. The only way to keep the theme enabled is to set a lower version such as "minimum_discourse_version": "2026.7.999".
A similar issue happens when importing a theme that sets minimum_discourse_version to a -latest-style value (e.g. 2025.12.0-latest), which is rejected as invalid — see existing report: 主题配置文件中minimum_discourse_version不支持日期化版本格式
Expected Result:
Since 2026.8.0-latest.1 is a -latest build of the 2026.8.0 release line, it should satisfy a minimum requirement of 2026.8.0. Latest builds are newer than the corresponding released version, not older.
But a -latest version is a version before the release of that version. That’s what the compatibility entries have been based on for years.
The way you handled that with <2026.7.999 seems unintuitive, but why didn’t you specify <2026.8.0-latest?
If I need a specific commit that was added within the 2026.8 development, I can be sure everyone using the 2026.8 release has it, but I cannot be sure everyone on 2026.8-latest has it. Maybe their last update happened before the specific commit was added. So if 2026.8 would include 2026.8-latest by default, stuff might break. I feel like it is better that the admin has to wait a few weeks before being able to use/update a theme than the risk of stuff being broken because the required commit was missing.
We should fix that. Theme authors should be able to do:
minimumDiscourseVersion: "2026.8.0-latest"
Although as @moin mentinoed, that can be risky since -latest refers to a whole ton of different commits. So in a perfect world, we should wait until the next release before depending on a new core feature from a theme/plugin.