Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 22 May 15:38
· 12 commits to main since this release

v0.2.0 (2026-05-22)

Bug Fixes

  • 01: Revise plans based on checker feedback (5 blockers, 3 warnings) (092015e)

  • 01-01: Add configurable timeout to transport and fix TimeoutException handling (53868e7)

  • 01-02: Remove async from CdcService.get_feed so it returns async generator directly (FIXES-01) (ed9a9ba)

  • 01-05: Guard read_binary base64 decode; raise OdooValidationError on malformed input (CR-02) (26eeea6)

  • 01-05: Preserve body exception in aexit when aclose() fails (WR-04) (e098a72)

  • 02: Drop packages/godoo-introspection/tests/init.py — collides with godoo/tests/init.py during monorepo pytest collection (b5351d5)

  • 03: CR-01/CR-02/WR-01/WR-02/WR-04 + WR-03 doc in OdooTestContainer.start/cleanup (5d63d9d)

  • 03: CR-01/WR-05 honour snapshot-disable in save path and canonicalise snapshot dir (e6cb3f5)

  • 04: Add explicit_package_bases + mypy_path for namespace packages (D-08) (459bf1e)

  • 04: Revise plans based on checker feedback (9a43f12)

  • 04: Ruff format 4 testcontainers files (pre-existing formatting drift) (f3e9642)

  • release: Fix semantic-release config and revert versions to 0.1.0 (844f265)

  • release: Revert all packages to 0.1.0 and replace v1.0.0 tag with v0.1.0 (e78d383)

Chores

  • Add GitHub Sponsors funding (2f9d756)

  • Add project config (cc903d3)

  • Add project config (24cf45c)

  • Supersede prior planning artifacts (a691f13)

  • Sync uv.lock with package versions (0.1.0 -> 0.1.1) (a5736a4)

  • Sync uv.lock with package versions (0.1.0 -> 0.1.1) (733d34a)

  • 01: Drop mis-classified HUMAN-UAT (6020324)

  • 01-02: Sync uv.lock with package versions (0.1.0 -> 0.1.1) (f2b7f02)

  • 02-01: Drop INTRO-05 from planning docs and add py.typed marker (2ea4391)

  • 03-01: Add py.typed PEP 561 marker for godoo-testcontainers (bb07968)

  • 04: Update pyproject.toml files for namespace packaging and rename godoo->godoo-client (714e352)

  • 04: Wire four distributions into semantic-release build (D-04, D-05) (e959c55)

Code Style

  • 01-05: Apply ruff format to client.py and test_client.py (4db73fb)

  • 04: Fix import ordering after namespace restructure (ruff I001) (697e825)

Continuous Integration

  • Release triggers after test completes (workflow_run), not inline (88bd7cd)

  • Test pipeline, docs deployment, release automation, docker seed infra (4bde802)

  • 04: Make uv publish idempotent with --check-url (4c54a4b)

  • release: Re-enable PyPI publishing (c47420a)

  • release: Re-enable PyPI publishing (badbdc9)

Documentation

  • Add research summary (2254fe2)

  • Complete project research (6a2591f)

  • Create roadmap (4 phases) (ca3bc5c)

  • Create v1 roadmap and state (93b0271)

  • Define v1 requirements (7e1c152)

  • Define v1 requirements (e47d1cc)

  • Drop CLIENT-09 (OAuthProxyClient) from v1 scope (750f821)

  • Initialize project (4e504f4)

  • Initialize project (fdc08ba)

  • Map existing codebase (24b1ea9)

  • Map existing codebase (6e236ea)

  • Plant seed — browser/Pyodide compatibility (SEED-001) (98c741c)

  • README, CONTRIBUTING, CLAUDE.md, mkdocs-material site (ab74b03)

  • 01: Add code review report (07f38ab)

  • 01: Add gap-closure plan 01-05 (CR-02 + WR-03/04/05) (b56b1fc)

  • 01: Capture phase context (3e6886c)

  • 01: Create phase 1 plan — 4 plans across 3 waves (72a9955)

  • 01: Create phase plan (3f5b173)

  • 01: Research phase — client parity (7269d19)

  • 01-01: Complete transport timeout fixes plan summary (e0908ac)

  • 01-02: Complete CdcService get_feed fix and py.typed marker plan (3ad62e8)

  • 01-03: Complete CLIENT-01/02/03 plan — async ctx manager, with_context, iter_search_read (084f1e0)

  • 01-04: Complete client-parity plan 04 summary (0cf3863)

  • 01-05: Complete gap-closure plan 01-05 (CR-02/WR-03/WR-04/WR-05) (342d08b)

  • 01-05: Correct with_context / _OdooContextScope docstrings for ContextVar semantics (WR-05) (4bc0750)

  • 02: Apply checker revision — resolve open questions, fix element names, move codegen helper (36cc9db)

  • 02: Capture phase context (e946594)

  • 02: Create phase 2 introspection plan — 2 plans, 2 waves (430d450)

  • 02: Create phase plan (4437fe4)

  • 02: Mark phase 2 complete in state (f075cf3)

  • 02: Record phase 2 verification — status passed (5/5 must-haves, 233/233 tests) (c3f481c)

  • 02: Research phase introspection domain (83a2fdc)

  • 02: Update tracking after wave 2 (383974a)

  • 02-01: Complete schema fetch + cache plan — SUMMARY.md (0e10130)

  • 02-02: Complete type mapper + codegen plan — SUMMARY.md (599c7a7)

  • 03: Add code review report (4b8261b)

  • 03: Add code review report (d8d01b9)

  • 03: Capture phase 3 context (93382d0)

  • 03: Create phase 3 plan — testcontainers parity (3 plans, 3 waves) (1bc4bcb)

  • 03: Create phase plan (a631c82)

  • 03: Research phase — snapshot mechanics, addons mount, properties provisioner (51ba8da)

  • 03-01: Apply D-Drop-1 / D-Snap-3-amendment charter edits (fb9ce05)

  • 03-01: Complete plan 1 — SUMMARY, STATE, ROADMAP, REQUIREMENTS updated (5771d7b)

  • 03-02: Complete snapshot cache + addons mount plan — SUMMARY, STATE, ROADMAP, REQUIREMENTS updated (a43903c)

  • 03-03: Complete properties provisioner + TestHarness plan — phase 3 done (0d87bf8)

  • 04: Capture phase context (deaa00e)

  • 04: Create phase 4 release plan — 3 plans across 3 waves (eed95cf)

  • 04: Create phase plan (e5bb108)

  • 04-01: Complete github-ci plan — SUMMARY, STATE, ROADMAP, REQUIREMENTS updated (8354519)

  • 04-02: Complete namespace-restructure plan (e470531)

  • phase-01: Complete phase execution (255da17)

  • phase-01: Evolve PROJECT.md after phase completion (969fa6e)

  • phase-01: Update tracking after wave 1 (9cbd66d)

  • phase-01: Update tracking after wave 2 (ce7fcfc)

  • phase-01: Update tracking after wave 3 (4879fe0)

  • phase-03: Complete phase execution — verification passed via automated integration tests (bc61587)

  • state: Record phase 1 context session (34c5d0d)

  • state: Record phase 2 context session (c67efdd)

  • state: Record phase 3 context session (44a2fc8)

  • state: Record phase 4 context session (56498b2)

Features

  • 01-02: Add py.typed PEP 561 marker to godoo package (CLIENT-10) (0b03c66)

  • 01-03: Add aenter/aexit and with_context to OdooClient (8bab5c5)

  • 01-03: Add iter_search_read keyset-paginated async generator (ee1c3cc)

  • 01-04: Implement fields_get, ref, execute_kw, read_binary, overloaded create (406e20c)

  • 02-01: Complete init.py barrel and finalize test_introspector.py (8c666b8)

  • 02-01: Implement markers.py, types.py, and introspector.py — schema fetch + cache (8ca855f)

  • 02-02: Implement codegen.py — CodeGenerator with generate() and write() methods (8d28560)

  • 02-02: Implement type_mapper.py — python_type_str() for all D-Mapping-1 ttypes (da4fe85)

  • 03-02: Implement snapshot.py — SnapshotConfig, key computation, save/restore (26014b1)

  • 03-02: Wire snapshot cache + addons mount into OdooTestContainer.start() (5af5d30)

  • 03-03: Implement ConfigParameterHelper and wire properties key into snapshot (60a5f70)

  • 03-03: Implement TestHarness async-cm and update package barrel exports (48090d0)

  • 04: Add godoo placeholder distribution (D-04) (18ae7af)

Refactoring

  • 01-05: Replace _safety_context Any with typed _UndefinedType sentinel (WR-03) (00fbf55)

  • 04: Restructure all 3 packages into shared godoo PEP 420 namespace (30ca319)

Testing

  • 01: Persist human verification items as UAT (2bb1bff)

  • 01-01: Add timeout tests for FIXES-02 and FIXES-03 (5fc4c66)

  • 01-02: Add failing test for CdcService.get_feed plain-def requirement (022eebc)

  • 01-03: Add tests for CLIENT-01, CLIENT-02, CLIENT-03 (21a89bf)

  • 01-04: Add failing tests for CLIENT-04/05/06/07/08 (612e6d5)

  • 01-05: Add failing test for aexit exception-preservation (WR-04 RED) (350b09f)

  • 02-01: Add failing tests for Introspector, IntrospectionCache, FieldMeta, ModelSchema (e64359a)

  • 02-02: Add failing tests for CodeGenerator — 14 cases covering generate/write/helpers (8f6ac12)

  • 02-02: Add failing tests for python_type_str — 22 cases covering all D-Mapping-1 ttypes (0f4d417)

  • 03: Add Docker integration tests for snapshot, addons mount, and TestHarness (TESTC-01/02/06/07) (a4c93d1)

  • 03: Persist human verification items as UAT (4b54b83)

  • 03-02: Add snapshot unit tests and extend container param tests (1b2c383)

  • 03-03: Add unit tests for ConfigParameterHelper and TestHarness lifecycle (225ce5e)


Detailed Changes: v0.1.0...v0.2.0