Repository navigation
developer_docs: document minimum_freeshard_version - #19
Merged
Merged
Conversation
0.41.2 contains the code but its image was never published (a flaky CI test blocked the build; fixed in FreeshardBase/freeshard#263), so 0.41.3 is the first version a shard can run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Apps can declare the freeshard version they need since shard_core 0.41.3 (FreeshardBase/freeshard#246). The Secrets section now points at it, since secret() is the first template feature that needs it. Store-side hiding of too-new apps is marked as upcoming: the Sundial gate (sundial#34) is merged but not in any release, and web-terminal does not implement it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Documents
minimum_freeshard_versioninapp_meta.json(FreeshardBase/freeshard#246) and ties it to thesecret()helper, which is the first template feature that needs it. This PR also carries the 0.41.2 → 0.41.3 version fix that missed #18.Changes
app_meta_json.md: the field is added to the full example as annotation 13, and a new## Minimum Freeshard Versionsection explains:">=0.41.3"is valid and"0.41.3"is not;docker_compose_template.md: an info box at the top of Secrets says "Requires freeshard 0.41.3", explains that a template usingsecret()cannot be rendered on older shards, and links to the new section. It replaces the version line at the bottom of the section.digest.md: the same facts in digest form.secret()is now documented as usable from 0.41.3. 0.41.2 contains the code, but its image was never published (the ghcr.io manifest is a 404), so no shard can run it.Store hiding is documented as upcoming
The store-side half of #246 is not released:
sundial:0.1.2.So on every shard today, the store still shows an app that the shard is too old for. The new section marks that part with the repo's "Upcoming Feature" warning.
What this means for Dawarich/Umami: declaring
>=0.41.3doesn't keep those apps off older shards yet. Shards on 0.41.1 or older ignore the field. A shard new enough to enforce it already satisfies>=0.41.3. On an old shard the install fails when the template renders, becausesecretis undefined. Real protection needs a Sundial release containing #34, pinned in a core version, and that core version rolled out.How the behaviour was verified
VersionSpecifier/SpecifierSetinshard_core/data_model/app_meta.py(identical at 0.41.3 andmain);freeshard_version_is_compatibleinapp_tools.py.web/internal/app_error.py.AppMetadoesn't forbid extra keys.UndefinedError: 'secret' is undefined.core-versions/v36–v38/docker-compose.yml.mkdocs build --strictpasses locally.Spotted, not addressed here
app_meta_json.mdsays the current format versionvis1.2, but shard_core'sCURRENT_VERSIONis1.3. This is about the documented format version, so it matters for anyone copying the example..claude/skills/add-app/reference/freeshard-digest.mdstill says nominimum_freeshard_versionfield exists. That is the copy the add-app skill reads, so it will tell agents the wrong thing until someone refreshes it.🤖 Generated with Claude Code