Releases: filipchristiansen/mkdocs-source-links
Releases · filipchristiansen/mkdocs-source-links
v0.4.0
Immutable
release. Only release title and notes can be modified.
Added
- SLSA Level 3 provenance (
mkdocs-source-links.intoto.jsonl) on GitHub releases. - Post-release
slsa-verifiercheck in the publish workflow.
Changed
- Publish workflow verifies maintainer signed tags before PyPI upload.
- GitHub releases created atomically with provenance and distribution archives (immutable-release compatible).
- Release notes sourced from CHANGELOG.
v0.3.2
Immutable
release. Only release title and notes can be modified.
Fixed
- Use Gitea
/src/commit/URLs whenpin: commitis enabled. - Tighten forge hostname autodetection heuristics for self-hosted forges.
- Strip a trailing
.gitsuffix fromrepo_urlwhen building forge URLs. - Always initialize
_view_refinon_configso partial config does not leave the plugin in a
broken state. - Parse GitLab-style
edit_uribranch segments when resolving the documentation branch.
Changed
- Add OpenSSF Best Practices (Metal Passing), Baseline Level 1, and Scorecard badges to the README
and documentation site; run OpenSSF Scorecard analysis with SARIF upload to Code Scanning. - Document a 14-day initial security response SLA and explicit security contacts in SECURITY.md.
- Create signed release tags (
git tag -s); the publish workflow rejects unsigned or unverified tags
before PyPI upload. - Add MIT, CI, and Python badges to the docs home page; exclude MkDocs snippet files from standalone
page builds.
Full changelog: v0.3.1...v0.3.2
v0.3.1
Fixed
- Rewrite angle-bracket links whose destination contains spaces (
](<../my file.py>)); the path is
percent-encoded in the resulting forge URL.
Changed
- Run the CI test suite on Windows and macOS (newest supported Python) in addition to the Linux
Python matrix, to guard cross-platform path handling. - Add a two-step release helper (
make release-prep/make release-tag) that bumps the version,
rolls the hand-written[Unreleased]changelog section into a dated release, and opens the
release PR, tags, and publishes — without ever generating release notes. - Lint and format TOML via pre-commit (
check-tomlplus thetaplo-formatformatter), keeping
pyproject.tomlconsistently styled.
Full changelog: v0.3.0...v0.3.1
v0.3.0
What's new in v0.3.0
Added
- Commit-SHA permalinks —
pinconfig option (branchorcommit) to embed the current commit SHA in forge URLs instead of a branch name. Azure DevOps usesversion=GC<sha>for commits. (#16) - Line-anchor translation — canonical
#L10/#L10-L20fragments in rewritten links are converted to each forge's line-reference syntax (GitHub/Gitea#L10-L20, GitLab#L10-20, Bitbucket#lines-10:20); Azure line anchors are omitted. (#17) enabledtoggle (defaulttrue,!ENV-aware) to turn link rewriting off, e.g. for fastermkdocs serve. (#18)warn_on_missing(defaulttrue) to warn when a](../path)link target does not exist in the repository; warnings count towardmkdocs build --strict. (#18)
Changed
- Add the
Framework :: MkDocstrove classifier for PyPI discoverability. (#15)
Full changelog: v0.2.0...v0.3.0
v0.2.0
First minor release: multi-forge support, a documentation site, broader link handling, and typing/packaging hygiene. Backwards-compatible.
Added
- Multi-forge: GitLab, Bitbucket Cloud, Gitea/Forgejo (incl. Codeberg), and Azure DevOps alongside GitHub. Public hosts and common self-hosted patterns (e.g. GitHub Enterprise) are autodetected.
forgeoption to select the forge explicitly for self-hosted instances on custom domains.- Titled links (
](../x "title")) and angle-bracket destinations (](<../x>)), preserving title and fragment. - Documentation site (MkDocs Material) on GitHub Pages with an mkdocstrings API reference.
py.typedmarker (PEP 561) so downstream type checkers use the bundled hints.CHANGELOG.md,CONTRIBUTING.md,SECURITY.md, issue/PR templates, Dependabot.
Fixed
- Don't rewrite
](../path)links inside fenced code blocks or inline code spans (#2).
Changed
- Trimmed sdist contents; CI lint runs the shared pre-commit hooks; reproducible installs via committed
uv.lock(--frozen); publish workflow aligned with CI.
Full changelog: v0.1.1...v0.2.0
v0.1.1
Hardening release: CI/linting overhaul, tests to 100% coverage, docs, and a small robustness fix. Backwards-compatible patch.
Fixes
on_page_markdownnow leaves markdown unchanged for pages with no backing file (abs_src_path is None), avoiding errors on virtual pages.
Internal
__version__is derived from installed package metadata viaimportlib.metadata.- Deduplicated
../path resolution inrewrite.py. - numpy-style docstrings across the package.
Tooling / CI
- Split CI into
lint(ruff, ruff-format, mypy, pydoclint, pylint) andtest(Python 3.10–3.13) jobs. - Coverage + Codecov upload on 3.10; 100% coverage gate.
- Added pre-commit config, Makefile, and markdownlint config.
Docs
- README badges and a make-based development workflow.
Full changelog: v0.1.0...v0.1.1