Skip to content

Latest commit

 

History

History
881 lines (570 loc) · 36.9 KB

File metadata and controls

881 lines (570 loc) · 36.9 KB

Changelog

Note: From here on this file is generated by python-semantic-release from the conventional commit history; do not edit release sections manually. Changes between v0.12.0 and the first generated entry are tracked in the GitHub Releases. The historical entries at the bottom are preserved for reference.

v2.8.1 (2026-09-23)

Bug Fixes

  • core: Map an unresolved iri to None instead of omitting it (#208, a30dae1)

  • core: Return a list from load_entity and pair iris by title (#208, a30dae1)

Documentation

  • Point repo links at the versioned /latest/ docs paths (#206, c21ad24)

  • skill: Note the CLI and MCP prerequisite and version skew (#210, 11e8ce8)

v2.8.0 (2026-09-22)

Bug Fixes

  • service: Reconcile validate_entity with the write path (#204, ddd4445)

  • service: Report created, updated and skipped pages separately (#204, ddd4445)

  • skill: Validate before the first write, and cover the task settings (#204, ddd4445)

Build System

  • release: Stamp the osw version into the osl-tasks skill (#204, ddd4445)

  • release: Stamp the osw version into the plugin manifest too (#204, ddd4445)

Documentation

  • service: Correct the cause of the emptied reference lists (#204, ddd4445)

  • service: Name the two terms that could desync the skipped check (#204, ddd4445)

  • skill: Drive osl-tasks from the generic operations (#204, ddd4445)

Features

  • service: Add generic schema, search and validation operations (#204, ddd4445)

  • service: Add schema field-usage operation (#204, ddd4445)

  • service: Add task and project operations with a Claude skill (#204, ddd4445)

  • service: Derive SMW property names from the category @context (#204, ddd4445)

  • service: Generic schema and search operations with an osl-tasks skill (#204, ddd4445)

Refactoring

  • service: Drop the task read and render operations (#204, ddd4445)

  • service: Remove the task service module (#204, ddd4445)

Testing

  • release: Check the version bump touches only the skill frontmatter (#204, ddd4445)

  • release: Cover CITATION.cff in the version stamping guards (#204, ddd4445)

  • release: Drop the version equality check (#204, ddd4445)

v2.7.1 (2026-09-22)

Bug Fixes

  • mcp: Include the wikitext extra in the mcp extra (#203, aafbe22)

  • mcp: Include wikitext in the mcp extra, streamline tools docs (#203, aafbe22)

Documentation

  • mcp: Note that uvx reuses an installed osw tool (#203, aafbe22)

  • tools: Document uv tool install for osw and osw-mcp (#203, aafbe22)

  • tools: Streamline install and registration guidance (#203, aafbe22)

v2.7.0 (2026-09-22)

Features

Testing

  • cli: Check -h on every command, not three sample paths (#200, 41e0162)

v2.6.2 (2026-09-22)

Bug Fixes

  • cli,mcp: UTF-8 stderr, a stdout guard, and OSW_CRED_FILEPATH paths (#196, 0d0b2b6)

  • config: Expand a leading ~ in OSW_CRED_FILEPATH (#196, 0d0b2b6)

  • mcp: Encode the osw-mcp startup report as UTF-8 (#196, 0d0b2b6)

  • mcp: Resolve a relative OSW_CRED_FILEPATH at startup (#196, 0d0b2b6)

v2.6.1 (2026-09-21)

Bug Fixes

  • core: Never write unparseable entity.py from fetch_schema (#167, 8a830d9)

v2.6.0 (2026-09-21)

Bug Fixes

  • cli: Write stdout and stderr as UTF-8, not the locale encoding (#133, 0455673)

  • config: Find .env from the CWD, report config sources (#133, 0455673)

  • config: Reject a hostless domain and a relative state_dir (#133, 0455673)

  • config: Validate domain and state_dir (#133, 0455673)

  • deps: Make python-dotenv a base dependency (#133, 0455673)

  • service: Flag truncation at the limit that reached the wiki (#133, 0455673)

  • service: Print the running adapter's name in shared messages (#133, 0455673)

  • service: Validate read_only via pydantic instead of truthy set (#133, 0455673)

Build System

  • Declare click as a direct dependency (#133, 0455673)

  • Type-check src/osw/mcp instead of excluding it (#133, 0455673)

Documentation

  • Correct why the CLI may infer an instance (#133, 0455673)

  • Default MCP examples to a credential file in env (#133, 0455673)

  • Document the osw CLI and unify the config reference (#133, 0455673)

  • Drop remaining references to the separate MCP environment (#133, 0455673)

  • Move CLI and MCP sections out of the README (#133, 0455673)

  • Reorganize CLI and MCP pages into a Tools section (#133, 0455673)

  • Restructure the CLI and MCP guide (#133, 0455673)

  • Simplify the CLI and MCP setup section (#133, 0455673)

  • cli: Make the search help explain OSW-ID titles (#133, 0455673)

  • cli: Rename search text to search titles (#133, 0455673)

  • mcp: Add a quick install section for claude mcp add (#133, 0455673)

  • mcp: Describe the credential lookup without the rationale (#133, 0455673)

  • service: Correct the reason the config report flushes (#133, 0455673)

  • service: Say what search_entities actually counts (#133, 0455673)

Features

  • An osw CLI and an MCP server for live OSL instances (#133, 0455673)

  • Remove filesystem paths from the MCP surface (#133, 0455673)

  • cli: Add instances status, fix the username status reports (#133, 0455673)

  • cli: Add typer CLI assembled from the operation registry (#133, 0455673)

  • cli: Find accounts.pwd.yaml in the working directory (#133, 0455673)

  • cli: Print one configuration line by default (#133, 0455673)

  • cli: Suppress osw's import notice on the console scripts (#133, 0455673)

  • mcp: Add osw-mcp server exposing a live OSL instance (#133, 0455673)

  • mcp: Authenticate from an osw credential file (#133, 0455673)

  • mcp: Pin one instance per server, wire annotations and meta (#133, 0455673)

  • mcp: Port server to mcp 2.x and isolate the extra (#133, 0455673)

  • mcp: Report config sources only when OSW_VERBOSE is set (#133, 0455673)

  • mcp: Require an explicitly configured OSW_DOMAIN (#133, 0455673)

  • mcp: Select between multiple OSL instances at runtime (#133, 0455673)

  • search: Add a page-content search (#133, 0455673)

Refactoring

  • De-isolate the mcp extra from the dev environment (#133, 0455673)

  • Extract SDK-free osw.service core from osw.mcp (#133, 0455673)

  • cli: Rename osw search instances to osw search entities (#133, 0455673)

  • mcp: Drop tool closures, fold registration into server (#133, 0455673)

  • service: Lift remaining tool bodies into osw.service.ops (#133, 0455673)

  • service: Lift search tools into osw.service.ops (#133, 0455673)

  • service: Log shared diagnostics instead of printing them (#133, 0455673)

  • service: Validate Settings with pydantic (#133, 0455673)

Testing

  • Decode subprocess output as UTF-8, not the locale codepage (#133, 0455673)

  • Do not assume the first ask-query hit carries jsondata (#133, 0455673)

  • Stop test_init_from_env_vars leaking OSW_CRED_FILEPATH (#133, 0455673)

  • cli: Cover the osw-mcp script and the shim's level choice (#133, 0455673)

  • cli: Normalize typer's rich output before asserting (#133, 0455673)

  • config: Cover drive-relative state_dir and an unknown home (#133, 0455673)

  • logging: Reset the osw logger in its fixture (#133, 0455673)

  • mcp: Cover main() on a successful start, quiet and verbose (#133, 0455673)

v2.5.2 (2026-09-21)

Bug Fixes

  • search: Read truncation from SMW's query-continue-offset (91c3d7e)

  • wtsite: Reject a modify_search_results query without titles (7943d49)

v2.5.1 (2026-09-21)

Bug Fixes

  • wtsite: Copy the jsonld context before rewriting it (ea0cddf)

v2.5.0 (2026-09-21)

Bug Fixes

  • Read the uuid from a file page title with suffixes (79a645b)

  • file: Verify the upload before storing the file entity (4a09bf5)

  • file: Write the metadata onto the page the upload created (eb9e0e1)

Features

  • file: Report a rejected file extension clearly on upload (bb49392)

Performance Improvements

  • file: Cache the wiki's allowed file extensions for 24 h (3a7b6eb)

Refactoring

  • Match the OSW-ID as the 32 hex characters it is (186e9e3)

v2.4.0 (2026-09-21)

v2.3.5 (2026-09-21)

Bug Fixes

  • core: Report dropped entities and restore the cache on error (870adb8)

Documentation

  • core: State that a failed key is not always a page title (7297ca6)

Testing

  • core: Cover a raise inside the load_entity page loop (88be481)

v2.3.4 (2026-09-21)

Bug Fixes

  • core: Confirm a missing page before reporting a failed store (5756436)

  • core: Verify that store_entity actually created the page (f84a529)

Chores

v2.3.3 (2026-09-08)

Bug Fixes

  • gui: Improvements to gui_local_slot_editing (a84e73a)

Build System

  • deps: Require pysimplegui>=6 for the UI extra (4ca7ab9)

v2.3.2 (2026-09-07)

Bug Fixes

  • workflow: Scope _deploy cleanup to what it actually changed (4f0593e)

v2.3.1 (2026-09-03)

Bug Fixes

  • search: Keep a limit the caller wrote into the ask query (0c75699)

  • search: Treat a SearchParam limit of None as no limit (6e94187)

v2.3.0 (2026-09-03)

Features

  • wtsite: Parametrize and parallelize modify_search_results (d2e2952)

v2.2.1 (2026-09-03)

Bug Fixes

  • core: Honour per-property settings in the overwrite policy (2ed0a1f)

v2.2.0 (2026-09-02)

Features

  • wtsite: Allow an edit comment on upload_page (0d3899c)

v2.1.5 (2026-09-02)

Bug Fixes

  • Handle empty SMW ask results in semantic_search (e00ca8b)

v2.1.4 (2026-09-02)

Bug Fixes

  • page_package: Apply the same search order to package scripts (751a0e3)

  • page_package: Prefer the package found in the working dir (6e58d9e)

v2.1.3 (2026-09-02)

Bug Fixes

  • wtsite: Repair the dangling combine_into reference (707be40)

v2.1.2 (2026-09-02)

Bug Fixes

  • util: Honour flush_at_end and progress_bar in parallelize (2794c9b)

Testing

  • Cover osw.utils.util.parallelize (fb73aaf)

v2.1.1 (2026-09-02)

Bug Fixes

  • core: Write a stub for a $ref whose page does not exist (6c672dc)

v2.1.0 (2026-09-02)

Features

  • express: Let a download keep the original file name (d8c30c9)

v2.0.3 (2026-09-02)

Bug Fixes

  • Allow uploading a file from an in-memory stream (64d99d6)

Testing

  • Rename oold.py to oold_test.py so its tests are collected (20072a9)

v2.0.2 (2026-08-28)

Bug Fixes

  • Keep WtSite deep-copyable after adding the session lock (aa0d359)

  • Make _clear_cookies safe against concurrent jar mutation (e5fb473)

  • Prevent silent page loss in store_entity parallel upload (fc2fe36)

v2.0.1 (2026-08-28)

Bug Fixes

  • deps: Widen workflow anyio pin to >=4.9,<4.14 (21c4043)

Documentation

  • Add citation and authorship section to CONTRIBUTING.md (a3a8119)

v2.0.0 (2026-08-05)

Bug Fixes

  • Bump pydantic floor to >=2.12.0 in pyproject.toml (6b77272)

  • Make live upload integration tests rerun-safe (51eab32)

  • Prevent KeyError when wiki file does not exist in download fallback (e43f221)

  • Require pydantic>=2.12.0 (f21b5d5)

  • Resolve environment-dependent ty failure and deptry warnings (13968ad)

  • Resolve environment-dependent ty failure on python 3.10 (85fd9cc)

  • Restore accounts.pwd.yaml default at project root for file login (ce3d5c5)

  • Typo (a4bb8a4)

  • wiki_tools: Return list of full responses for prefix_search return_json (26e0839)

  • wiki_tools: Return list of full responses for prefix_search return_json (3f36d77)

  • wiki_tools: Return list of result dicts for semantic_search return_json (182db57)

  • wiki_tools: Return list of result dicts for semantic_search return_json (4daff1f)

Build System

  • Migrate packaging to hatchling + hatch-vcs and uv (0d53373)

  • Switch to a static PSR-owned version, drop hatch-vcs (dbfb319)

Chores

  • Enforce conventional commit messages via pre-commit (6c44650)

  • Ign local files (df14ee5)

  • Ignore accounts.pwd.yaml and remove duplicate gitignore entry (62868a7)

  • Remove legacy setuptools scaffolding and tidy repo (1c4c97e)

  • Replace black/isort/flake8 with ruff and add ty + deptry (cf21071)

Code Style

  • Apply ruff format and lint auto-fixes (39e83f0)

Continuous Integration

  • Add uv-based main workflow with ty and codecov (59a780b)

  • Comment predicted release version on PRs into main (9ca2c1a)

  • Run integration tests on pull requests into main (1e504b4)

  • Switch release to pypi trusted publishing (oidc) (5e9ce62)

  • Use a github app token so release pushes survive branch protection (508e843)

Documentation

  • Add versioned docs deployment with mike (edd958a)

  • Consolidate sphinx and mkdocs into single-version zensical (22c6326)

  • Document conventional commits and the approval-gated release flow (80c9353)

  • Restructure docs with hero landing page and tabbed guides (b2b82cb)

Features

  • Add automated releases with python-semantic-release (647b481)

  • Add session-aware re-login on token renewal failure (55e16b6)

  • Resolve credentials from env vars or memory, never write files (9df297f)

Refactoring

  • Rework OswExpress init to use env vars and update tests (8f99363)

Testing

  • Add FileResult, DownloadFileResult, UploadFileResult, and import_with_fallback tests (e92d47e)

  • Add OswExpress initialization path tests for increased coverage (3dfacf6)

  • Add session renewal and token recovery tests for WtSite (addf461)

  • Add upload/download instance method and UploadFileResult branch tests (43c82b3)

Version v0.12.0

  • rework ontology import (BREAKING, see examples/ontology_import.py)
  • add in-memory credentials in CredentialManager
  • fix: 'value is not a valid enumeration member' errors
  • improve namespace detection
  • parallelize get_page

Version v0.11.0

  • fix code generator for Statement
  • parallelize page operations
  • add legacy file page migration script
  • refactor search function in wiki_tools
  • add file info to utils
  • refactor WtSite to work directly with CredentialManager

Version v0.10.0

  • refactor PagePackage creation
  • add requiredExtensions, requiredPackages

Version v0.9.0

  • parallelize page operation to increase performance significantly
  • improve local slot editor
  • deprecate WtPage.from_domain()
  • deprecate WtPage.from_credentials()
  • add PagePackage import
  • add utils
  • add additional requirements 'dataimport', 'UI'
  • reset 'setuptools' and 'pytest' versions to latest
  • extend python version support to 3.11

Version v0.8.1

  • fix #18
  • fix #19

Version v0.8.0

  • Restructure package package creation
  • fix namespace mappings (e. g. for the SMW Property namespace)

Version v0.7.x

  • add database controller
  • fix duplicated file entries in page packages

Version v0.6.0

  • add database controller

Version v0.5.x

  • Implemented an alternative cast method discriminating None values
  • fix large cookie error after > 100 edits
  • add support to store a list of entities
  • encoding fixes

Version v0.4.1

  • fix datamodel-code-generator version to 0.15.0

Version v0.4.0

  • use editslots API
  • remove None entries in json exports
  • set default content for header and footer slot
  • improve docs
  • update examples

Version v0.3.0

  • add local slot edit feature

Version v0.2.0

  • rename OSL to OSW
  • add page package feature

Version v0.1.0

  • create package