Skip to content

Commit 23a1db1

Browse files
author
semantic-release
committed
chore(release): v2.6.0 [skip ci]
1 parent 0455673 commit 23a1db1

4 files changed

Lines changed: 237 additions & 3 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 234 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,240 @@
1010
1111
<!-- version list -->
1212

13+
## v2.6.0 (2026-09-21)
14+
15+
### Bug Fixes
16+
17+
- **cli**: Write stdout and stderr as UTF-8, not the locale encoding
18+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
19+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
20+
21+
- **config**: Find .env from the CWD, report config sources
22+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
23+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
24+
25+
- **config**: Reject a hostless domain and a relative state_dir
26+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
27+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
28+
29+
- **config**: Validate domain and state_dir
30+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
31+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
32+
33+
- **deps**: Make python-dotenv a base dependency
34+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
35+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
36+
37+
- **service**: Flag truncation at the limit that reached the wiki
38+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
39+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
40+
41+
- **service**: Print the running adapter's name in shared messages
42+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
43+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
44+
45+
- **service**: Validate read_only via pydantic instead of truthy set
46+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
47+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
48+
49+
### Build System
50+
51+
- Declare click as a direct dependency
52+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
53+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
54+
55+
- Type-check src/osw/mcp instead of excluding it
56+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
57+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
58+
59+
### Documentation
60+
61+
- Correct why the CLI may infer an instance
62+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
63+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
64+
65+
- Default MCP examples to a credential file in env
66+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
67+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
68+
69+
- Document the osw CLI and unify the config reference
70+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
71+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
72+
73+
- Drop remaining references to the separate MCP environment
74+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
75+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
76+
77+
- Move CLI and MCP sections out of the README
78+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
79+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
80+
81+
- Reorganize CLI and MCP pages into a Tools section
82+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
83+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
84+
85+
- Restructure the CLI and MCP guide ([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
86+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
87+
88+
- Simplify the CLI and MCP setup section
89+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
90+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
91+
92+
- **cli**: Make the search help explain OSW-ID titles
93+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
94+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
95+
96+
- **cli**: Rename `search text` to `search titles`
97+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
98+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
99+
100+
- **mcp**: Add a quick install section for claude mcp add
101+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
102+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
103+
104+
- **mcp**: Describe the credential lookup without the rationale
105+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
106+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
107+
108+
- **service**: Correct the reason the config report flushes
109+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
110+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
111+
112+
- **service**: Say what search_entities actually counts
113+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
114+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
115+
116+
### Features
117+
118+
- An osw CLI and an MCP server for live OSL instances
119+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
120+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
121+
122+
- Remove filesystem paths from the MCP surface
123+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
124+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
125+
126+
- **cli**: Add instances status, fix the username status reports
127+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
128+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
129+
130+
- **cli**: Add typer CLI assembled from the operation registry
131+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
132+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
133+
134+
- **cli**: Find accounts.pwd.yaml in the working directory
135+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
136+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
137+
138+
- **cli**: Print one configuration line by default
139+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
140+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
141+
142+
- **cli**: Suppress osw's import notice on the console scripts
143+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
144+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
145+
146+
- **mcp**: Add osw-mcp server exposing a live OSL instance
147+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
148+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
149+
150+
- **mcp**: Authenticate from an osw credential file
151+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
152+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
153+
154+
- **mcp**: Pin one instance per server, wire annotations and meta
155+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
156+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
157+
158+
- **mcp**: Port server to mcp 2.x and isolate the extra
159+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
160+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
161+
162+
- **mcp**: Report config sources only when OSW_VERBOSE is set
163+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
164+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
165+
166+
- **mcp**: Require an explicitly configured OSW_DOMAIN
167+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
168+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
169+
170+
- **mcp**: Select between multiple OSL instances at runtime
171+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
172+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
173+
174+
- **search**: Add a page-content search
175+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
176+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
177+
178+
### Refactoring
179+
180+
- De-isolate the mcp extra from the dev environment
181+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
182+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
183+
184+
- Extract SDK-free osw.service core from osw.mcp
185+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
186+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
187+
188+
- **cli**: Rename osw search instances to osw search entities
189+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
190+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
191+
192+
- **mcp**: Drop tool closures, fold registration into server
193+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
194+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
195+
196+
- **service**: Lift remaining tool bodies into osw.service.ops
197+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
198+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
199+
200+
- **service**: Lift search tools into osw.service.ops
201+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
202+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
203+
204+
- **service**: Log shared diagnostics instead of printing them
205+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
206+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
207+
208+
- **service**: Validate Settings with pydantic
209+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
210+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
211+
212+
### Testing
213+
214+
- Decode subprocess output as UTF-8, not the locale codepage
215+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
216+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
217+
218+
- Do not assume the first ask-query hit carries jsondata
219+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
220+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
221+
222+
- Stop test_init_from_env_vars leaking OSW_CRED_FILEPATH
223+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
224+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
225+
226+
- **cli**: Cover the osw-mcp script and the shim's level choice
227+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
228+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
229+
230+
- **cli**: Normalize typer's rich output before asserting
231+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
232+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
233+
234+
- **config**: Cover drive-relative state_dir and an unknown home
235+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
236+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
237+
238+
- **logging**: Reset the osw logger in its fixture
239+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
240+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
241+
242+
- **mcp**: Cover main() on a successful start, quiet and verbose
243+
([#133](https://github.com/OpenSemanticLab/osw-python/pull/133),
244+
[`0455673`](https://github.com/OpenSemanticLab/osw-python/commit/04556736115b1f775b828d712594dae3601059c5))
245+
246+
13247
## v2.5.2 (2026-09-21)
14248

15249
### Bug Fixes

‎CITATION.cff‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ message: "If you use this software, please cite it as below."
33
type: software
44
title: "OpenSemanticWorld Python Package (osw-python)"
55
# Managed by python-semantic-release (version_variables). Do not edit by hand.
6-
version: 2.5.2
6+
version: 2.6.0
77
abstract: "Python toolset for data processing, queries, wikicode generation and page manipulation within OpenSemanticLab: work with OpenSemanticLab instances as typed pydantic entities, query with semantic search, generate models from wiki schemas, and write changes back."
88
repository-code: "https://github.com/OpenSemanticLab/osw-python"
99
url: "https://opensemanticlab.github.io/osw-python/"

‎pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ license-files = ["LICENSE.txt"]
88
requires-python = ">=3.10,<3.14"
99
# Managed by python-semantic-release (see [tool.semantic_release]). Do not
1010
# edit by hand; it is bumped automatically on merge to main.
11-
version = "2.5.2"
11+
version = "2.6.0"
1212
classifiers = [
1313
"Development Status :: 3 - Alpha",
1414
"Intended Audience :: Developers",

‎uv.lock‎

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)