Skip to content

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 07 Sep 09:47
· 133 commits to main since this release

Changelog

Features

  • feat(seo): emit JSON-LD datePublished/dateModified from one freshness rule

Bug fixes

  • fix(cli): resolve version from build info when ldflags are absent
  • fix(build): derive Page.Path from the resolver, not the file path
  • fix(config): reject unknown keys in config.yml instead of dropping them
  • fix(config): wire the six advertised GOMDDOC_SERVER_* environment variables
  • fix(deps): bump golang.org/x/crypto and go-git to close known CVEs
  • fix(deps): bump vulnerable modules and gate CI on govulncheck
  • fix(dist): fail closed on missing checksum tool, verify cosign signature
  • fix(errors): stop discarding the reason a git URL, tree or marshal failed
  • fix(locale): recognise script and region language directories
  • fix(metadata): deep-copy pages out of the index, alias only by contract
  • fix(metadata): give "is this a known tag" one answer
  • fix(misc): close the five §10.7 Misc findings
  • fix(pipeline): stop indexing language directories into the default pipeline
  • fix(provider): honor the io/fs error contract in both fs.FS implementations
  • fix(provider): serialise git tree access behind a single exclusive lock
  • fix(resolve): honour exclude patterns when building clean-URL mappings
  • fix(search,renderer): remove two latent panics from the request path
  • fix(seo): give each page its own meta description
  • fix(seo): robots.txt names the sitemap that was actually published
  • fix(server): bind admin port to loopback and gate pprof behind auth
  • fix(server): revalidate the cached sitemap, feed and robots.txt
  • fix(server): serve one themed error page per language scope
  • fix(template): make renderer errors name the theme that failed
  • fix(theme): resolve content links through contentURL, unfork head-meta
  • fix(themes): :not(:defined) selectors named an element that never existed

Documentation

  • docs(build): correct the output-layout rules, and pin the stub shape
  • docs(godoc): give every package a doc comment, enforced by ST1000
  • docs(observability): --admin-port does not move health off the main port
  • docs(review): record 15th-pass findings
  • docs(review): trim REVIEW.md to open findings, sync roadmap with reality
  • docs(roadmap): add content annotations → agent handoff
  • docs(roadmap): fold the canonical-URL fix into the v0.1.2 release item
  • docs(seo): date the competitive analysis instead of rewriting it
  • docs(seo): mark sitemap-index.xml build-only, and pin serve's lack of it
  • docs: correct drifted claims and pin the translation-key list
  • docs: correct the serve flag table and the Docker/k8s examples
  • docs: correct the theme count and the architecture.md route/middleware drift
  • docs: replace the dead custom-renderer interface with a real guide
  • docs: replace the nonexistent navigation template function

Other

  • build(make): fold govulncheck into make lint as lint-vulncheck
  • ci: pin every action to a commit SHA and goreleaser to an exact range
  • lint(ci): move golangci-lint to v2, unbreaking it under the current Go toolchain
  • perf(enricher): bound related-docs work to the result size, not the corpus
  • perf(mcp): share the pipeline's nav generator with get_table_of_contents
  • perf(provider): resolve git paths once and stop decoding blobs to stat them
  • perf(search): fold snippet bodies once, not once per window
  • perf(search): merge sorted posting lists instead of mapping them per query
  • perf(server): compress and count every user-facing route
  • perf(server): decide before copying, and stop poisoning the buffer pool
  • perf(template): generate breadcrumbs once per page
  • refactor: correct comments that describe code that is not there, gate shadowing
  • refactor: delete dead code and the chains its removal exposed
  • test(concurrency): cover every lazy cache from cold and concurrent
  • test(degradation): cover the silent skip paths and stop losing language counters
  • test(mcp): cover ExcludePatterns end to end and widen the fixture's restricted-path matrix
  • test(renderer): pin the heading-slug algorithm and both parsers against it
  • test: make sitemap, feed, and static-build assertions falsifiable