Releases: adz/FsLiveDocs
Releases · adz/FsLiveDocs
Release list
v0.7.1
FsLiveDocs 0.7.1
Fixed
- Scenario discovery loads each documented assembly in an isolated collectible context. A project can now use a different version of Reified, FSharp.Core, or another dependency also used internally by FsLiveDocs without failing documentation extraction with an assembly manifest mismatch.
v0.7.0
FsLiveDocs 0.7.0
Blog
- Turn any page with a
dateinto a blog post, with optionaltags,category,draft,summary,slug,series,seriesOrder,comments, andblogListfront matter. - Publish posts at flat, date-independent
blog/<slug>/index.htmlURLs. - Generate a paginated blog index plus tag, category, and series pages in the site layout, and an Atom feed at
blog/feed.xml, all with relative links. - Add the
{{< posts >}}listing shortcode (list,compact, andpreviewlayouts, with defaults fromblogList) and the{{< series-nav >}}shortcode. - Show publication date, reading time from the post's Markdown prose, and prev/next navigation, with series order taking priority over date order.
- Add the
--draftsflag tobuildandwatch; drafts are otherwise excluded from every output, including the feed. - Warn when
{{< series-nav >}}is used on a page without a series;--warn-as-errorfails the build. - Add the
commentsProvidersite setting: Giscus as a first-class provider or acustomembed snippet, shown on posts withcomments: truebehind a "Comments" heading whose count loads in the browser.
Performance
- Verify all snapshot examples from one project in a shared FSI session instead of retaining a compiler session per example. Share one concurrency-safe
FSharpCheckeracross parallel documentation checks, stream bounded page batches throughFlowStream, and extract semantic data before pulling the next batch instead of retaining every compiler result. Large captures now keep compiler memory bounded and finish explicit verification substantially faster. - Skip redundant project extraction when a release contains no snapshot examples, validate API symbol IDs in one pass, and serialize capsule artifacts directly to UTF-8 bytes.
Documentation
- Add the "Publish a blog" guide and blog entries in the cheat sheet.
Release capsules and history
- Bump the content artifact schema to 3, adding the blog front matter fields to captured page metadata.
- Migrate schema 1 and schema 2 content deterministically, writing every blog default explicitly, with a checked-in schema-2 fixture test.
- Keep comment provider settings out of release capsules; historical renders use the current configuration.
v0.6.2
FsLiveDocs 0.6.2
Command line
- Add
livedocs tool-version, which prints the installed FsLiveDocs tool version without overloading--version, the option that selects a documentation release version.
Documentation checks
- Reuse an already-loaded assembly during scenario discovery even when a release build changes its assembly version. This prevents documentation checks from failing after versioned builds of projects that share dependencies.
Site
v0.6.1
FsLiveDocs 0.6.1
Documentation rendering
- Fix Markdown immediately following a rendered F# code fence. It now remains Markdown, including inline code, links, lists, and cross-references, instead of being rendered as literal source text.
Verification
- Add regression coverage for a semantic F# fence followed by a Markdown cross-reference.
Site
v0.6.0
FsLiveDocs 0.6.0
Documentation sets
- Add multi-documentation-set sites through
docsSets, with contextual routes, isolated sidebars and API surfaces, site-wide search, and globally validated cross-set links. - Add per-set F# preludes and stable set identity throughout discovery, generated verification, capture, and rendering.
- Preserve the original single-tree output when
docsSetsis absent.
Public API and dogfooding
- Generate this project's public API reference from
FsLiveDocs.Annotationsand theAcme.Docsteaching sample instead of presenting tool internals as supported libraries. - Move
FsLiveDocs.Annotationsfrom C# to F# while preserving its package ID, namespace, CLR type, constructor, property, attribute usage, andnetstandard2.0target. - Add generated and authored documentation for
DocScenarioAttribute, plus package landing-page introductions sourced fromdocs/api/. - Add the repository link to the generated site's top navigation.
Documentation
- Reorganize the site around repository setup, authoring, example verification, generated tests, CI, configuration, and release workflows.
- Tighten the motivating introduction and add clearer guidance for diagnosing documentation failures.
- Split the technical reference into focused pages for discovery, verification, extraction, capsules, history, and security.
- Document documentation-set ownership, routes, and site-wide command behavior.
Release capsules and history
- Bump the content artifact schema to 2, capturing resolved renderer-neutral set models and page set identity.
- Add deterministic schema-1 migration to an implicit legacy set; reject unknown content schemas.
- Preserve legacy semantic block identities during single-tree release capture while using set-prefixed identities for configured documentation sets.
- Render historical releases from their captured set models and switch versions with exact page, set API/root, and site-root fallbacks.
- Fix historical sidebar and same-version navigation links so they remain within the selected version, while shared assets and version switching resolve from the site root.
- Keep version links valid when a guide or API identity does not exist in another release by generating renderer-owned redirects to that release's appropriate landing page.
- Verify links and entry points across every rendered set and historical version.
Verification
- Stop treating referenced assembly names as F# namespaces when preparing FSI sessions. This allows packages such as
FsLiveDocs.Annotationsto use a package name that differs from their public namespace. - Add regression coverage for annotation compatibility, package introductions, documentation-set switching, and missing historical identities.
Site
v0.5.0
FsLiveDocs 0.5.0
Release publication
- Add
history-checkto render and verify the committed release history, with optional support for testing an unpublished local capsule. - Write a
.sha256sidecar during capture and lethistory-addread it with--sha256-file. - Allow
history-addto derive capsule URLs fromhistory.urlPattern. - Let
history-syncdiscover capsules through a user-supplied command, so backfills are not limited to GitHub Releases. - Generate GitHub Actions workflows with upload and Git operations shown as explicit provider-owned steps.
Documentation rendering
- Add a framed
::: renderedcontainer for pages that need to distinguish example output from their own content. - Correct DaisyUI colour variables used by rendered documentation.
Documentation
- Document host-independent release publication and continuous-integration workflows.
Site
v0.4.1
FsLiveDocs 0.4.1
Documentation
- Stop pinning the initial
0.1.0tool version in installation commands so new users install the current release. - Document
docs/api/*.mdas the primary place for long-form namespace, module, and type documentation. - Show both the Markdown source for an API-page example and the compiler-checked block it renders.
Site
v0.4.0
FsLiveDocs 0.4.0
Release history
- Add
history-syncto discover immutable LiveDocs capsules from GitHub Releases, verify GitHub-reported SHA-256 digests, preserve an explicit compatibility floor, and order releases by semantic-version precedence. - Add
verify-outputto require every version entry point, verify generated local links and assets, and check that the version switcher is complete and newest-first. - Add bounded
build-history --retryhandling for transient capsule downloads while continuing to fail immediately on checksum mismatches. - Store local
history-addcapsule paths relative to their index so temporary candidate manifests resolve correctly.
Publication safety
- Release candidates now render and verify the complete synchronized history before publication.
- GitHub Pages is awaited before NuGet publication, and NuGet receives the package artifacts already tested by the release job.
Documentation
v0.3.8
FsLiveDocs 0.3.8
Fixes
- Keep a module whose qualified name matches its package from hiding the package's other API entries in the sidebar.
Documentation
v0.3.7: Style the runnable-example prelude and checking-context label
FsLiveDocs 0.3.7
Style the runnable-example scaffolding that ships in every generated page.
Fixes
Repository F# setup/Shared setup(the collapsible prelude shown above a runnable example)
and theTarget: <tfm>checking-context label had no CSS at all, so they rendered as raw
browser-default<details>/<aside>markup — unstyled text sitting above a page's hero content,
clashing badly with the rest of the theme (visible on Reified's homepage). Both now get proper
badge/card styling consistent with the rest of the generated site.