Skip to content

Releases: bim-ba/ycli

v0.9.0

29 Jun 15:12

Choose a tag to compare

v0.9.0 (2026-06-29)

This release is published under the MIT License.

Bug Fixes

  • status: Discriminate the auth me union to survive the MCP round-trip (#16, f1d95c6)

Build System

  • Make the demo render pretty, realistic output (#16, f1d95c6)

  • Render demo output from committed fixtures, not hand-typed text (#16, f1d95c6)

  • Sync uv.lock project version to 0.8.1 (#15, b442d41)

Code Style

  • Collapse the test_settings monkeypatch line (ruff format) (#16, f1d95c6)

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)

  • Add round-4 implementation plan (6 tasks) (#16, f1d95c6)

  • Regenerate demo GIF (#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

29 Jun 09:02

Choose a tag to compare

v0.8.1 (2026-06-29)

This release is published under the MIT License.

Bug Fixes

  • Detect mcp sub-app via registered_groups in post-build smoke test (#14, 5175d2f)

Detailed Changes: v0.8.0...v0.8.1

v0.8.0

29 Jun 08:54

Choose a tag to compare

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

  • Add ty type checker (advisory CI gate while ty is beta) (#12, 1a12f9f)

  • Sync uv.lock project version to 0.7.0 (#11, e7788b5)

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)

  • Regenerate demo GIF [skip ci] (#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

28 Jun 21:58

Choose a tag to compare

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

  • transport: Restore PEP8 blank line; assert base= applies hook+adapter (#10, 38e28ff)

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)

  • Rename ApiModel -> APIModel in round-2 spec (#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

28 Jun 16:12

Choose a tag to compare

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

28 Jun 13:45

Choose a tag to compare

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

27 Jun 22:02

Choose a tag to compare

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

27 Jun 20:12

Choose a tag to compare

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

27 Jun 18:22

Choose a tag to compare

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

27 Jun 17:56

Choose a tag to compare

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