Skip to content

v1.0.0 — first stable release

Choose a tag to compare

@gulaandrij gulaandrij released this 07 Jun 10:29
· 8 commits to main since this release

First stable release of gulaandrij/google-sheets-bundle.

Highlights

  • Named spreadsheets under google_sheets.spreadsheets.<name> — declare each spreadsheet (and optionally its default tab) once in config, inject a bound SheetsService by variable name (SheetsService $allocators).
  • Per-call fresh SheetsClient so sticky selectors (range, majorDimension, valueRenderOption, dateTimeRenderOption) never leak between consumers.
  • Full underlying-library coverage: readRaw, readAssoc, firstRow, listSheets/WithIds, findSheetNameById, append, update, clear, addSheet, deleteSheet, spreadsheetProperties, sheetProperties, plus SheetsClientFactory::listSpreadsheets() for the global Drive query.
  • Strict input validation at config-tree (invalid spreadsheet names, empty scopes, missing default_spreadsheet) and at call-site (DuplicateHeaderException, InvalidHeaderException, MixedRowShapeException, MissingCredentialsException, MissingSheetNameException).

Compatibility

  • PHP 8.3+ (8.4 recommended)
  • Symfony 6.4 / 7.x / 8.x
  • revolution/laravel-google-sheets ^7.2
  • google/apiclient ^2.16

Installation

composer require gulaandrij/google-sheets-bundle

See README for configuration and the docs for recipes and architecture.

Full CHANGELOG.