Skip to content

Versioned docs with mike #140

Open
Open

Description

@chiruu12

The docs site publishes one version, whatever is on dev. When 0.7 changes an API, the 0.6 documentation is gone, and anyone pinned to 0.6 has no accurate reference.

mike solves this. It publishes each version under its own path and adds a version dropdown to the header, and mkdocs-material supports it directly.

Deliberately deferred until the SDK settles. It restructures the Pages deploy in .github/workflows/docs.yml, and it only starts paying off once people are pinned to a released version. Filing it now so the reason it is not done is on the record rather than forgotten.

What it involves:

  1. Add mike to docs-requirements.txt.
  2. Add extra.version.provider: mike to mkdocs.yml.
  3. Rework the deploy job to mike deploy against a gh-pages branch instead of the current artifact upload, with an alias so the bare URL lands on the latest release.
  4. Decide what dev publishes as, and whether unreleased docs are visible at all.

Point 4 is the actual decision. The rest is mechanical.

Acceptance:

  • Version dropdown appears and switches between at least two published versions.
  • The bare docs URL resolves to the latest release.
  • Releasing does not require manual steps beyond the existing tag flow.

Not a first issue.

Activity

  1. nandinirathod2321 commented on Sep 19, 2026

    @nandinirathod2321
    Contributor

    @chiruu12 Hi!
    I would like to work on this.

  2. added
    claimedAssigned to a contributor; not available to take
    on Oct 6, 2026
  3. chiruu12 commented on Oct 6, 2026

    @chiruu12
    CollaboratorAuthor

    Yours. Before you start, say which versions you want aliased and which one the default alias points at. mike makes that a published URL, so it is harder to change later than the rest of the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    claimedAssigned to a contributor; not available to takedocumentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions