Skip to content

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 16:39
· 65 commits to main since this release
9a1fedb

Upgrading

  • Two database migrations run on upgrade (the Helm chart's migrate hook applies
    them).
  • Pages deleted in earlier versions move to the archive with a 30-day
    retention starting at the upgrade, and are then permanently deleted unless
    restored. To change the period, set KNOT_ARCHIVE_RETENTION_DAYS (Helm
    archive.retentionDays) before upgrading.
  • Subpages of previously deleted pages are moved to the top level, where the
    sidebar already showed them.
  • Contributor lists count edits from this version on only.

Added

  • Page byline showing who created the page and who has edited it, with their
    last edit. GET /api/docs/{id}/contributors. (#35)
  • Resizable table columns. Widths are stored as proportions, so tables fill the
    page width on any screen. Widths are not kept through Markdown export/import.
    (#38)
  • Document archive. Deleting a page moves it and its subpages to the archive,
    where editors and owners can preview and restore it, and owners can delete
    it permanently. Archived pages are purged after KNOT_ARCHIVE_RETENTION_DAYS
    (default 30). GET /api/workspace/archive, POST /api/docs/{id}/purge.
    (#39)

Changed

  • Archived pages are read-only. Writes return 409 doc.archived, open editors
    switch to read-only, and share links stop working. Archived pages are left
    out of search, My Tasks and workspace export. (#39)
  • Tables with columns resized in earlier versions now fill the page width
    instead of keeping fixed pixel widths. (#38)
  • A link now ends where its text ends. Retyping a link's last character, or
    typing over all of its text, gives plain text. (#40)

Fixed

  • Edits made while offline never reached the server and were lost on reload.
    Boards had the same problem. (#35)
  • Revoking access did not disconnect open editors, and their edits kept being
    saved. (#35)
  • Live edits were stored without an author, and batched edits were credited to
    the first author in the batch. (#35)
  • An open editor wrote an autolink edit in response to another user's typing.
    (#35)
  • Editors could not delete pages; only owners could. (#39)
  • Deleting a page left its subpages at the top level of the sidebar and in
    search. (#39)
  • The sidebar row menu could not be used with the keyboard. (#39)
  • A page whose access changed while it was open showed "You no longer have
    access" even when you could still read it. (#39)
  • Column resizing did not work on existing pages. (#38)
  • Long URLs in table cells overflowed into the next column. (#38)
  • Text typed after a pasted link, or at the edge of any link, became part of
    the link. (#40)
  • Pasting a URL over selected text left the new link selected, so the next
    keystroke replaced it. (#40)
  • The toolbar Link button opened empty with the cursor at a link's edge, and
    applying the empty value removed the link. With nothing selected, Apply now
    inserts the URL as link text. (#40)
  • Typing or pasting https://… opened the date picker, which took the
    keyboard focus. (#40)

Security

  • ammonia 4.1.7 fixes RUSTSEC-2021-0157. knot was not affected: its
    sanitizer does not allow style attributes. (#38)
  • RUSTSEC-2024-0449 (unsafe-libyaml, unmaintained) is acknowledged in
    deny.toml. It has no known vulnerability and only parses the operator's
    own config file. (#38)

Container image

ghcr.io/opendefensecloud/knot:0.8.0 — multi-arch (amd64/arm64), cosign-signed, with SBOM + SLSA provenance.

Helm chart

helm install knot oci://ghcr.io/opendefensecloud/charts/knot \
  --version 0.8.0 \
  -n knot --create-namespace \
  --set database.url='postgres://…' \
  --set session.key="$(openssl rand -base64 32)" \
  --set baseUrl=https://knot.example.com

Full values: chart README.

What's Changed

Full Changelog: v0.7.0...v0.8.0