Skip to content

v1.2.1 — review fixes

Choose a tag to compare

@gulaandrij gulaandrij released this 07 Jun 20:05
· 4 commits to main since this release

Review-driven follow-up to 1.2.0. Ten findings addressed — three user-visible bugs, the rest cleanup and UX polish.

User-visible fixes

  • CachedSheetsService now supports `readEntities()` — the previous wiring dropped the serializer, breaking typed reads on any cached binding.
  • CachedSheetsService now invalidates the cache on writes — `append()` / `update()` / `clear()` / `addSheet()` / `deleteSheet()` drop every key this instance populated, so the next read returns fresh data.
  • TraceableSheetsService now records `readEntities` and `readAssocIterable` — both methods were invisible in the profiler before.

Cleanup + UX

  • `InMemorySheetsService` accepts an explicit `sheetIds` map for realistic stable-ID lookups in tests.
  • `google-sheets:doctor --strict` flag — missing bound sheets are a warning by default, failure under `--strict`.
  • `google-sheets:peek --with-header` flag — `--range` no longer auto-strips the first row.
  • Cache pool typo (`cache: { pool: missing }`) fails at boot with a bundle-scoped error.
  • `captureOrigin` filter narrowed so bundle tests can verify the captured frame.
  • `buildColumnMap` memoised per class.

105 tests / 290 assertions, PHPStan max + strict + deprecation clean.

No public API changes. Safe to upgrade from 1.2.0 without any code changes — and recommended if you use the cache feature.

```bash
composer update gulaandrij/google-sheets-bundle:^1.2
```

Full CHANGELOG.