From ee86f01d452bf7cf3f837a5072f0e964bace2f14 Mon Sep 17 00:00:00 2001 From: Joe Wicentowski Date: Sun, 30 Aug 2026 21:58:17 -0400 Subject: [PATCH] docs(changelog): back-fill 0.9.7 and 0.10.0 entries MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The in xar-assembly.xml stopped at 0.9.6, so the two most recent releases shipped without entries. public-repo renders a package's changelog from the repo.xml built out of this file — not from the GitHub release notes — so 0.10.0 is currently published there advertising 0.9.6 as its newest change. Adds both missing entries, drawn from the corresponding GitHub release notes, in the existing newest-first order and markup style. Co-Authored-By: Claude Opus 5 --- xar-assembly.xml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/xar-assembly.xml b/xar-assembly.xml index 3d5074d..c7c57ab 100644 --- a/xar-assembly.xml +++ b/xar-assembly.xml @@ -95,6 +95,25 @@ + +
    +
  • New GET /api/search endpoint: full-text search over the shared site-content field, with relevance score, KWIC highlighting, paging, facets, and site title and URL drawn from producer fields.
  • +
  • Language services gain completions and signature help: scoped-prefix completions carrying filterText, sortText, and insertTextFormat; snippet-based function completion with argument placeholders; name-based lenient signature help with overload resolution, setting activeSignature from call-site arity; and LSP-shaped Markdown hover with type information on variables.
  • +
  • Resource content is consolidated onto a single binary-safe /api/db/resource (#59), which supersedes the earlier path-in-URL endpoints. Adds mime type to listing items and closes several db-core gaps: meta=full, writable, pagination, runPath, and set-mime.
  • +
  • EXPath package installation via multipart upload on POST /api/packages/install, resolving dependencies and removing a conflicting package before install.
  • +
  • External variable binding on /api/query through a variables map.
  • +
  • Fixes: cursor:eval errors are no longer swallowed as HTTP 200 "Invalid context-item"; the /api/query error envelope reports user-relative line and column; GET /api/packages no longer returns 500 because of one malformed package entry; /api/db listings tolerate an unreadable child by way of an accessible flag instead of failing; set-permissions failures are classified per operation (403 versus 400); write handlers guard against paths outside /db; resource names round-trip correctly through decode and encode, including a literal +, with legacy-name read compatibility in GET; and langservice hover renders an empty-sequence() return type cleanly.
  • +
  • The OpenAPI contract version (modules/api.json info.version) advanced from 0.9.x to 0.14.0 across this release, and a CI guard now requires info.version to change whenever api.json does.
  • +
+
+ +
    +
  • POST /api/db/copy and POST /api/db/move support rename, duplicate, and copy-into-collection alongside copy-to-collection; refusing to overwrite, plus try/catch hardening, prevents data loss on partial failure (#33; closes #32, #36, #37).
  • +
  • POST /api/query accepts optional context-item (inline serialized XML) and context-path (DB path) body fields, so editor integrations can evaluate context-dependent expressions such as //foo against the document the user has open (#41; closes #39).
  • +
  • POST /api/db/resource auto-detects the mime type from the file extension when mime-type is omitted (#34).
  • +
  • GET /api/query/{id}/results populates documentURI and nodeId for stored-document nodes; a dead instanceof Node guard around the NodeProxy branch had left both empty. Atomic and in-memory nodes continue to return both fields empty (#43; closes #40).
  • +
+
  • Fix POST /api/langservice/hover, /definition, and /references returning HTTP 500 (err:XPTY0004) for every request: JSON numbers in the request body parse as xs:double, but the underlying lang:hover / lang:definition / lang:references functions declare xs:integer parameters. Coerce line and column to xs:integer in the langservice handler (#30). Adds a Cypress spec covering all seven langservice endpoints so this class of regression can't ship silently again.