Skip to content

Adds an upgrading page for a host from 0.4 - #47

Merged
johnnyt merged 1 commit into
mainfrom
sd-01x-upgrading-page-0-4-to-0-5
Oct 8, 2026
Merged

johnnyt merged 1 commit into
mainfrom
sd-01x-upgrading-page-0-4-to-0-5

Conversation

@johnnyt

@johnnyt johnnyt commented Oct 8, 2026

Copy link
Copy Markdown
Member

What

A new how-to, docs/upgrading.md, "Upgrading a host from 0.4 to 0.5", in the family's host-page shape (one ## per step, NONE where a host changes nothing, what the release added left in the CHANGELOG):

  • 0.4 to 0.5: Must change NONE. May start: validate a document against the shipped draft-07 schema of the version-1 document through StatifierDatamodel.Schema.path/0 and json/0 (advisory; Index.index/1 answers as before). Worth knowing: the rule 0.5.0's StatifierDatamodel.Types documentation states for a relation wrapped around satisfies/3.
  • 0.5.0 to 0.5.1: NONE; a documentation release.

mix.exs: the page is an extra in a new Upgrading group (after Explanation, the order the docs comment fixes), and it joins the package files because the README links it by a relative path (the Doc links stage refuses a README relative link to a file outside the package files). README.md: one line in the documentation map's "Do" list.

No CHANGELOG entry and no fragment: changelog.d/README.md leaves documentation out. No version bump.

Direction check

Every claim on the page was checked against the CHANGELOG and the code at the tags. git diff v0.4.0 v0.5.0 -- lib priv touches two lib files and adds the schema file: lib/statifier_datamodel/schema.ex (new, path/0 and json/0, the moduledoc's "Advisory, never admission" section), lib/statifier_datamodel/types.ex (moduledoc only: the section "A consumer's own relation above this one"), and priv/schemas/datamodel-document.schema.json (new, $schema draft-07, title "Datamodel document, version 1"); lib/statifier_datamodel/index.ex is untouched, which is what "answers exactly as before" rests on (CHANGELOG ## [0.5.0] 2026-09-26). git diff v0.5.0 v0.5.1 -- lib priv is empty (CHANGELOG ## [0.5.1] 2026-10-05: "The code is unchanged from 0.5.0"). The elixir: "~> 1.18" requirement is the same at v0.4.0 and v0.5.1. The sibling requirement claim was read from each tag's mix.exs: every statifier_blocks tag from v0.35.0 through v0.42.1, and statifier_ui v0.10.1 and v0.10.2, require {:statifier_datamodel, "~> 0.4"}. The upgrade host in statifier_examples crossed this step in PR 190 (0.4.0 to 0.5.1, suite green at each commit) and its "What a host changes" section is NONE, with no item a host must change; the page agrees. The diff removes no line outside the mix.exs lines the edit replaces: the last entry of the extras list and of groups_for_extras, each of which gains a comma, and the package files comment and list.

Test plan

  • Full mix quality green on the committed tree: format, compile, credo, dialyzer, deps, docs (no warnings), doc links, tests with coverage.
  • Built docs show upgrading.html under an Upgrading sidebar group, and the README's link resolves to it.
  • mix hex.build --unpack puts docs/upgrading.md in the package.

A how-to under docs/upgrading.md in the family's host-page shape: a
host moving from 0.4.0 to 0.5.0, and on to the 0.5.1 patch, changes
nothing. The page names what a host may start doing (validate a
document against the shipped draft-07 schema through
StatifierDatamodel.Schema), the read-check wrapper rule 0.5.0's Types
documentation states, and that 0.5.1 is documentation only.

The page is an extra in a new Upgrading group and ships in the
package files, since the README's Do list links it by a relative path.

Refs: sd-01x
@johnnyt
johnnyt merged commit b55082e into main Oct 8, 2026
1 check passed
@johnnyt
johnnyt deleted the sd-01x-upgrading-page-0-4-to-0-5 branch October 8, 2026 06:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant