CHANGELOG.md•5.87 kB
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.5.0] - 2025-09-22
### Added
- **New Tool: sheets_insert_rows** - Insert new rows at specific position with optional data
  - Support for inserting rows before or after a specified anchor point
  - Optional data population for newly inserted rows
  - Inherit formatting from previous row option
  - Flexible value input options (RAW or USER_ENTERED)
### Changed
- **Enhanced sheets_append_values Description** - Added explicit warning about default OVERWRITE behavior
  - Clarified that default `insertDataOption` is `OVERWRITE`
  - Added note about using `INSERT_ROWS` option to insert new rows instead of overwriting
### Documentation
- Added detailed documentation for sheets_insert_rows tool with examples
- Updated README to highlight the default OVERWRITE behavior in sheets_append_values
## [1.4.0] - 2025-08-11
### Added
- **HYPERLINK Formula Support**: New tools for inserting clickable links and dates with locale-aware formatting
  - `sheets_insert_link` - Insert HYPERLINK formulas with proper separator support (EU/US)
  - `sheets_insert_date` - Insert formatted dates with automatic parsing and locale support
  - Support for EU format (semicolon separator) and US format (comma separator)
  - Default to EU format (`useEUFormat: true`) for better international compatibility
  - Automatic date parsing for various formats (ISO, EU, US) and relative dates (today, tomorrow, yesterday)
### Fixed
- HYPERLINK formula parsing errors in non-US locales
- Date formatting issues for different regional settings
## [1.3.1] - 2025-07-12
### Added
- **Alternative Authentication Method**: Support for service account credentials as JSON string
  - New `GOOGLE_SERVICE_ACCOUNT_KEY` environment variable for JSON string authentication
  - Useful for containerized environments, CI/CD pipelines, and deployment scenarios where file management is difficult
  - Falls back to JSON string authentication when `GOOGLE_APPLICATION_CREDENTIALS` is not provided
  - Automatic project ID extraction from service account credentials
  - Enhanced validation with detailed error messages for invalid JSON format
### Changed
- Updated authentication validation to support both file-based and JSON string methods
- Enhanced documentation with examples for both authentication approaches
- Updated `.env.example` to show both authentication options
## [1.3.0] - 2025-01-29
### Added
- **Chart Legend Support**: Series titles for meaningful legend labels
  - Optional `title` property for chart series to specify custom legend labels
  - Auto-detection of series names from header row above data ranges
  - Smart range expansion to include header rows for proper legend labeling
  - Support for both explicit titles and automatic detection from spreadsheet headers
### Fixed
- **Sheet Name Handling**: Proper support for sheet names containing spaces
  - Fixed extraction of quoted sheet names (e.g., "My Sheet"!A1:B5) 
  - Removed surrounding quotes from sheet names during parsing
  - Enhanced error messages to show available sheets when sheet not found
- **Chart Position API**: Corrected chart position structure for Google Sheets API
  - Removed conflicting root-level `sheetId` from position object
  - Updated to use only `overlayPosition.anchorCell.sheetId` structure
  - Fixed "oneof field 'location' is already set" API errors
- **Type Safety**: Enhanced TypeScript validation and error handling
  - Added proper null/undefined handling for series title detection
  - Improved range parsing with comprehensive error checking
  - Updated validators to support new series title functionality
### Changed
- Updated tool descriptions to explain series naming and sheet name quoting
- Enhanced input schema documentation with examples for proper usage
- Improved chart creation logic to handle both basic and advanced use cases
## [1.1.0] - 2025-01-28
### Added
- Central type definitions in `src/types/common.ts` for shared types across the codebase
- Centralized error messages in `src/utils/error-messages.ts` for consistency
- Generic validation system in `src/utils/validation-helpers.ts` to reduce code duplication
- Response formatting helpers in `src/utils/response-helpers.ts` for consistent API responses
- **Batch operations**:
  - `sheets_batch_delete_sheets` - Delete multiple sheets in a single operation
  - `sheets_batch_format_cells` - Format multiple cell ranges in a single operation
- **Chart management**:
  - `sheets_create_chart` - Create charts (COLUMN, BAR, LINE, AREA, PIE, SCATTER, COMBO, HISTOGRAM, CANDLESTICK, WATERFALL)
  - `sheets_update_chart` - Update existing charts (position, type, title, series, etc.)
  - `sheets_delete_chart` - Delete charts from spreadsheets
### Changed
- Refactored validators to use generic validation system (`createRangeValidator`, `createSheetValidator`)
- Updated all type definitions to use shared types from `common.ts`
- Standardized error messages across all validators
- Improved response formatting consistency using helper functions
### Fixed
- Eliminated type definition redundancies between `types/tools.ts` and `types/sheets.ts`
- Removed duplicate validation logic across validator functions
- Fixed inconsistent error message formatting
## [1.0.0] - 2025-01-27
### Initial Release
- Google Sheets MCP server implementation
- Support for all major Google Sheets operations:
  - Reading and writing values
  - Batch operations
  - Sheet management (create, delete, duplicate)
  - Cell formatting
  - Conditional formatting
  - Merging cells
- Comprehensive test suite
- Full TypeScript support
- Error handling and validation