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.
-
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)
-
Point repo links at the versioned /latest/ docs paths (#206,
c21ad24) -
skill: Note the CLI and MCP prerequisite and version skew (#210,
11e8ce8)
-
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)
-
release: Stamp the osw version into the osl-tasks skill (#204,
ddd4445) -
release: Stamp the osw version into the plugin manifest too (#204,
ddd4445)
-
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)
-
service: Add generic schema, search and validation operations (#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)
-
release: Check the version bump touches only the skill frontmatter (#204,
ddd4445) -
release: Cover CITATION.cff in the version stamping guards (#204,
ddd4445)
-
mcp: Include the wikitext extra in the mcp extra (#203,
aafbe22) -
mcp: Include wikitext in the mcp extra, streamline tools docs (#203,
aafbe22)
-
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)
-
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)
-
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) -
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)
-
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) -
Reorganize CLI and MCP pages into a Tools section (#133,
0455673) -
cli: Make the search help explain OSW-ID 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)
-
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)
-
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)
-
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)
-
search: Read truncation from SMW's query-continue-offset (
91c3d7e) -
wtsite: Reject a modify_search_results query without titles (
7943d49)
- wtsite: Copy the jsonld context before rewriting it
(
ea0cddf)
-
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)
- file: Report a rejected file extension clearly on upload
(
bb49392)
- file: Cache the wiki's allowed file extensions for 24 h
(
3a7b6eb)
- Match the OSW-ID as the 32 hex characters it is
(
186e9e3)
- core: Report dropped entities and restore the cache on error
(
870adb8)
- core: State that a failed key is not always a page title
(
7297ca6)
- core: Cover a raise inside the load_entity page loop
(
88be481)
-
core: Confirm a missing page before reporting a failed store (
5756436) -
core: Verify that store_entity actually created the page (
f84a529)
- gui: Improvements to gui_local_slot_editing
(
a84e73a)
- deps: Require pysimplegui>=6 for the UI extra
(
4ca7ab9)
- workflow: Scope _deploy cleanup to what it actually changed
(
4f0593e)
-
search: Keep a limit the caller wrote into the ask query (
0c75699) -
search: Treat a SearchParam limit of None as no limit (
6e94187)
- wtsite: Parametrize and parallelize modify_search_results
(
d2e2952)
- core: Honour per-property settings in the overwrite policy
(
2ed0a1f)
- wtsite: Allow an edit comment on upload_page
(
0d3899c)
- Handle empty SMW ask results in semantic_search
(
e00ca8b)
-
page_package: Apply the same search order to package scripts (
751a0e3) -
page_package: Prefer the package found in the working dir (
6e58d9e)
- wtsite: Repair the dangling combine_into reference
(
707be40)
- util: Honour flush_at_end and progress_bar in parallelize
(
2794c9b)
- Cover osw.utils.util.parallelize
(
fb73aaf)
- core: Write a stub for a $ref whose page does not exist
(
6c672dc)
- express: Let a download keep the original file name
(
d8c30c9)
- Allow uploading a file from an in-memory stream
(
64d99d6)
- Rename oold.py to oold_test.py so its tests are collected
(
20072a9)
-
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)
- deps: Widen workflow anyio pin to >=4.9,<4.14
(
21c4043)
- Add citation and authorship section to CONTRIBUTING.md
(
a3a8119)
-
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)
-
Migrate packaging to hatchling + hatch-vcs and uv (
0d53373) -
Switch to a static PSR-owned version, drop hatch-vcs (
dbfb319)
-
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)
- Apply ruff format and lint auto-fixes
(
39e83f0)
-
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)
-
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)
-
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)
- Rework OswExpress init to use env vars and update tests
(
8f99363)
-
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)
- 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
- 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
- refactor PagePackage creation
- add requiredExtensions, requiredPackages
- 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
- fix #18
- fix #19
- Restructure package package creation
- fix namespace mappings (e. g. for the SMW Property namespace)
- add database controller
- fix duplicated file entries in page packages
- add database controller
- 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
- fix datamodel-code-generator version to 0.15.0
- use editslots API
- remove None entries in json exports
- set default content for header and footer slot
- improve docs
- update examples
- add local slot edit feature
- rename OSL to OSW
- add page package feature
- create package