v0.2.0
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