Releases: bim-ba/ycli
v0.9.0
v0.9.0 (2026-06-29)
This release is published under the MIT License.
Bug Fixes
Build System
-
Make the demo render pretty, realistic output (#16,
f1d95c6) -
Render demo output from committed fixtures, not hand-typed text (#16,
f1d95c6)
Code Style
Continuous Integration
-
Drop the CI-bypass marker from the demo-GIF auto-commit (#16,
f1d95c6) -
Mint a GitHub App token for PSR so it can push past branch protection (#17,
e0674b5)
Documentation
-
Add module docstrings to the four empty init.py files (#16,
f1d95c6) -
Add round-4 architecture refactor design spec (#16,
f1d95c6) -
readme: Match badge style to DeepWiki (flat, logos, semantic colors) (#16,
f1d95c6)
Features
-
Remove the raw issues 'full' accessor and RawMapping (#16,
f1d95c6) -
Round-4 architecture refactor (remove RawMapping/full, status & mcp packages, pagination generics, reproducible demo) (#16,
f1d95c6) -
Status package with native me + read-only status_get MCP tool (#16,
f1d95c6)
Refactoring
-
Drop underscore prefixes from internal yandex modules (#16,
f1d95c6) -
Flatten API ref wrappers to scalars via BeforeValidator (#16,
f1d95c6) -
Move the MCP server + CLI into a ycli.mcp package (#16,
f1d95c6) -
Simplify the pretty renderer to lay out flat models (#16,
f1d95c6) -
Type pagination strategies with PEP 695 generics (#16,
f1d95c6) -
cli: Drop the lazy getattr shim; reference ycli.cli.app explicitly (#16,
f1d95c6) -
cli: Group cli/context/output into the ycli.cli package (#16,
f1d95c6) -
cli: Split domain _args.py into _types.py + _utils.py (#16,
f1d95c6)
Testing
-
Align changelog/wiki-comments model test names with the flat-field shape (#16,
f1d95c6) -
Cover render.py unknown-command path + tighten renderer list test (#16,
f1d95c6) -
Harden status_get wiki assertion + doc/typing nits (#16,
f1d95c6)
Detailed Changes: v0.8.1...v0.9.0
v0.8.1
v0.8.1 (2026-06-29)
This release is published under the MIT License.
Bug Fixes
Detailed Changes: v0.8.0...v0.8.1
v0.8.0
v0.8.0 (2026-06-29)
This release is published under the MIT License.
Bug Fixes
-
arch-4: Route issues full through Serializer; forbid json.dumps outside output.py (#12,
1a12f9f) -
tracker: Model transition target status (to) faithfully; realistic _execute test fixtures (#12,
1a12f9f)
Build System
Chores
-
Commit graphify code-graph routine and built graph snapshot (#13,
0972035) -
graph: Gitignore graphify output; /codegraph-regen command (local index) (#12,
1a12f9f)
Code Style
-
Adopt ruff formatter (mechanical reformat, no behavior change) (#12,
1a12f9f) -
Enable ruff lint (E,W,F,I,N,UP,B,A,C4,SIM,PTH,RUF) with autofix (#12,
1a12f9f) -
Ratchet ruff ANN+TC (annotations + type-checking imports) (#12,
1a12f9f) -
ruff: Suppress B008 for fastmcp Depends via config, drop 25 inline noqa (#12,
1a12f9f)
Documentation
-
Add Task D5 (align issues count CLI<->MCP surface) to round-3 plan (#12,
1a12f9f) -
Design spec for round-3 (tooling, composition/DI, surface, conventions, infra) (#12,
1a12f9f) -
Fix stale idioms in README/CLAUDE/skills; update demo tape+shim; regen gif (#12,
1a12f9f) -
Implementation plan for round-3 (A tooling, B DI, C transport, D dedup, E surface, F infra) (#12,
1a12f9f) -
conventions: Correct resources.md enforcement table (APIModel/naming are code-review only) (#12,
1a12f9f) -
drift: Seed drift log with three round-2/round-3 genuine entries (#12,
1a12f9f) -
mcp: Write tool-metadata standard; scaffold comment; assert description+output schema (#12,
1a12f9f) -
readme: Minimalist flat-square badges + DeepWiki + PyPI (#12,
1a12f9f)
Features
-
Round-3 architecture + tooling refactor (ARCH-1..11, ruff+ty, mcp sub-app) (#12,
1a12f9f) -
arch: Add ARCH-11 doc-drift guard and close drift-log entry (#12,
1a12f9f) -
cli: Mcp Typer sub-app (mcp start/methods); delete mcp_launcher; regen snapshots (#12,
1a12f9f) -
commands: /snapshot-regen and /release-checklist (#12,
1a12f9f) -
tracker: Align issues_count MCP tool with the CLI's query/filter capability (#12,
1a12f9f) -
tracker: Model transitions execute as TransitionList; render via Serializer (#12,
1a12f9f)
Refactoring
-
Hoist settings to top-level ycli.settings; update ARCH-8 path (#12,
1a12f9f) -
Move APIModel base into ycli.yandex.models (thin top-level) (#12,
1a12f9f) -
Rename auth.py->status.py (keep 'auth status'); fold probes into ServiceProbe (#12,
1a12f9f) -
conventions: Me models -> APIModel; drop dead forms/_models; rename surveys models; resources.md (#12,
1a12f9f) -
di: ClientFactory + cached MCP factory; collapse _deps; slim AppContext (#12,
1a12f9f) -
di: Inject AppConfig via Depends(app_config)/AppContext.config; no on-the-fly settings (#12,
1a12f9f) -
output: Decompose PrettyStrategy into RichCell + split list-table builders (#12,
1a12f9f) -
output: Remove Tracker-only deeplink (ARCH-5 leak); defer general deeplink design (#12,
1a12f9f) -
pagination: Hoist single-page list wrapper into collect_single_page helper (#12,
1a12f9f) -
transport: _raise_typed as Transport staticmethod; extract _authorization seam (#12,
1a12f9f)
Detailed Changes: v0.7.0...v0.8.0
v0.7.0
v0.7.0 (2026-06-28)
This release is published under the MIT License.
Build System
- Sync uv.lock project version to 0.6.0 (
c9ec02e)
Code Style
Documentation
-
Design spec for round-2 architecture refactor (DI, serialization, pagination, ARCH rules) (#10,
38e28ff) -
Implementation plan for round-2 architecture refactor (13 tasks, 6 phases) (#10,
38e28ff) -
Revise MCP DI to per-domain @functools.cache factory (fastmcp-canonical) (#10,
38e28ff) -
Revise round-2 spec — raw-arg clients + Serializer service (#10,
38e28ff) -
arch: Align ARCH-10 Check with enforcement (max_items not grep-enforced — HTTP 500 collision) (#10,
38e28ff) -
arch: ARCH-4 serialization confinement; add ARCH-7..10 (DI, single config, typed errors, no-shadow) (#10,
38e28ff)
Features
-
Round-2 architecture refactor (raw-arg DI, Serializer, pagination strategies, ARCH-7..10) (#10,
38e28ff) -
config: Add YCLI_MAX_ITEMS pagination cap (default 500) (#10,
38e28ff) -
forms: Answers list_all via NextUrlStrategy, bounded by --limit/--all (#10,
38e28ff) -
pagination: PaginationStrategy ABC + SinglePage/Cursor/NextUrl strategies (#10,
38e28ff) -
wiki: Auto-paginate pages descendants (CursorStrategy) → flat PageRefList; --limit/--all (#10,
38e28ff) -
wiki,forms: Unwrap comments/attachments/surveys envelopes to flat RootModel collections (#10,
38e28ff)
Refactoring
-
cli: Dedupe KeyArg into _args.py; standardize _group anchors; modernize scaffold template (#10,
38e28ff) -
di: Raw-arg composition clients + AppContext; rewrite CLI call sites via Serializer; drop cliformat/_clideps/from_env(CLI) (#10,
38e28ff) -
mcp: Per-domain @cache client factories (fastmcp canonical); delete from_env/FromEnvSession (#10,
38e28ff) -
models: Consolidate four _Lenient bases into a single APIModel (#10,
38e28ff) -
output: Add Serializer service + SerializationStrategy.from_format; fold helpers into PrettyStrategy (#10,
38e28ff) -
transport: Raw oauth_token arg + bare-session base injection; inline org header (#10,
38e28ff)
Testing
-
forms: Limit-spans-pages drain test; assert single-fetch on page-1 cap (#10,
38e28ff) -
models: Exercise APIModel lenient parsing at runtime, not just config (#10,
38e28ff) -
output: Assert from_format covers all four formats; dedupe io import (#10,
38e28ff) -
tracker: Stub TrackerClient via raw args, not a pre-authed session (#10,
38e28ff) -
wiki: De-duplicate list tests via page_size assertion; PEP8 blank lines (#10,
38e28ff) -
wiki: Drop dead import; --all test drains two pages; assert page_size=100 (#10,
38e28ff)
Detailed Changes: v0.6.0...v0.7.0
v0.6.0
v0.6.0 (2026-06-28)
This release is published under the MIT License.
Build System
- Sync uv.lock project version to 0.5.0 (
e2f63de)
Features
- Internals cleanup — env settings, transport, output strategies, multi-service auth, wiki me, config fixes (
5d45127)
Detailed Changes: v0.5.0...v0.6.0
v0.5.0
v0.5.0 (2026-06-28)
This release is published under the MIT License.
Build System
- Sync uv.lock project version to 0.4.0 (
ddb8dfe)
Features
- Track C — UX quick-wins (typed errors, MCP metadata, completion, tracker me, auth status, key links) (
a19cad7)
Detailed Changes: v0.4.0...v0.5.0
v0.4.0
v0.4.0 (2026-06-27)
This release is published under the MIT License.
Features
- Track B — AI-infra hardening (CI-skip guard, gitleaks, bundled plugin MCP, release/conventions docs) (
5ae61ad)
Detailed Changes: v0.3.0...v0.4.0
v0.3.0
v0.3.0 (2026-06-27)
This release is published under the MIT License.
Features
- Architecture guardrails enforcing the six ARCH invariants (
6bbc381)
Detailed Changes: v0.2.1...v0.3.0
v0.2.1
v0.2.1 (2026-06-27)
This release is published under the MIT License.
Bug Fixes
- Ship PEP 561 py.typed marker so type checkers see ycli's types (
22986e4)
Continuous Integration
- Re-trigger release pipeline for the pending py.typed fix (
69458c1)
Detailed Changes: v0.2.0...v0.2.1
v0.2.0
v0.2.0 (2026-06-27)
This release is published under the MIT License.
Continuous Integration
- Automate releases with python-semantic-release (
982256e)
Features
- Global --format/-o for CLI output (auto/json/yaml/pretty) (
ccab9a3)
Detailed Changes: v0.1.0...v0.2.0