Skip to content

Releases: ahochsteger/gmail-processor

v2.17.1

17 Apr 20:23
735a1e7

Choose a tag to compare

🚀 Gmail Processor v2.17.1 - Strengthening Infrastructure and Pipeline Stability

ℹ️ GAS Lib Version: 41 | 📅 2026-04-17 | Docs | Playground | Reference | Examples | Diff


🐞 Bug Fixes & Refinements

This maintenance release focuses on enhancing the stability and security of the project's infrastructure and deployment pipelines.

  • CI/CD Security & Stability: Mitigated script injection risks and resolved detached HEAD errors within the maintenance auto-fixer. The release pipeline was further hardened by optimizing Snyk quota usage and refining trigger logic.
  • Deployment Reliability: Finalized environment modernization to restore deployment stability. This includes fixes for Google Apps Script (GAS) versioning logic and the transition of the release-please configuration to the manifest format.
  • Pipeline Modernization: Unified release workflows and centralized maintenance logic to improve repository hygiene. The pipeline now utilizes a draft-first workflow with automated patch publishing for more accurate versioning.
  • General Refinements: Fixed a build failure caused by an extra newline in devbox.json and standardized dependency management triggers.

📚 Documentation & Examples

The project's documentation has been maintained to ensure clarity for both users and developers:

🔧 Under the Hood

Significant technical progress has been made in the project's core technology stack and dependency management:

  • Core Tool Jumps:
    • Major: Updated actions/upload-artifact from v4 to v7.
    • Minor: Integrated Devbox v0.15.0 with caching into CI workflows.
    • Minor: Updated actionlint to 1.7.12 and the GitHub CLI (gh) to 2.89.0.
  • Library Updates: Published Google Apps Script Library v41.
  • Maintenance: General dependency maintenance and security updates, including lock file refreshes, Renovate configuration migration, and the pinning of GitHub Action digests for improved integrity.

📦 Detailed Changelog

Bug Fixes

  • ci: convert release-please config to manifest format (e8cf505)
  • ci: fix detached HEAD error and harden maintenance auto-fixer (7f112b1)
  • ci: mitigate script injection risk in maintenance auto-fixer (5217c8a)
  • lib: finalize environment modernization and restore deployment stability (fcfdd3f)

Maintenance

  • ci: modernize pipeline and improve repository hygiene (c739f25)
  • ci: unify release workflows and centralize maintenance logic (939b719)
  • config: migrate config renovate.json (#654) (769a92b)
  • deps: lock file maintenance (#664) (b4143f6)
  • deps: pin dependencies (#655) (90e38db)
  • deps: update actions/upload-artifact action to v7 (#661) (6e177bf)
  • deps: update infrastructure-non-major (#656) (da3c27f)
  • maintenance: harden CI pipeline and renovate configuration (bfe6fae)
  • maintenance: harden configuration and standardize ordering (4712711)
  • release: enrich release notes with modular roadmap and statistics (5b093f4)
  • standardize dependency management and release triggers (8001f32)
Detailed Dependency Changes
No dependency changes.

AI-Assisted: true

v2.17.0

14 Apr 19:28
aca556a

Choose a tag to compare

🚀 Gmail Processor 2.17.0: New File Increment Strategy and Enhanced Security

ℹ️ GAS Lib Version: 39 | 📅 2026-04-14 | Docs | Playground | Reference | Examples | Diff


🌟 Major Highlights

  • Sequential File Versioning: This release introduces the increment conflict strategy for Google Drive files, addressing issue #633. When a filename conflict occurs, the system can now automatically append a counter (e.g., file (1).txt) until an available name is found. Users can customize this behavior using parameters including incrementStart, incrementPrefix, and incrementSuffix. For more details, see the Conflict Strategy documentation.
  • Secure Secret Management: To improve security, hardcoded passwords have been removed from examples like the PDF decryption script (#642). The GlobalConfig now supports a type: "property" variable declaration, allowing the processor to automatically fetch sensitive data from the Google Apps Script PropertiesService at runtime. See the updated PDF Decryption example for implementation details.
  • Performance Optimizations: Several internal improvements have been made to increase efficiency, including the elimination of duplicate Gmail searches (d5d601b) and optimized retrieval of thread message counts (5e3acd9).

🔧 Under the Hood

  • Core Tooling Upgrades: The project has moved to TypeScript v6.0.2 and ESLint v10.2.0, representing major version jumps in the development stack.
  • Dependency Modernization: Significant major version updates were applied to core libraries, including @types/google-apps-script (v2.0.8), @types/node (v25.6.0), jest (v30.3.0), and @google/clasp (v3.3.0).
  • Security Fixes: The ajv dependency was updated to v8.18.0 (#624) to resolve a Regular Expression Denial of Service (ReDoS) vulnerability (CVE-2025-69873).
  • Expression Support: The anyValueToString function now supports boolean, number, bigint, symbol, and function types (4b5a1c6).
  • Documentation: The documentation site has been updated to Docusaurus v3.10.0.

🤝 The Community

We are happy to welcome our community contributors!

  • Special thanks to Chris Mazanec for suggesting and implementing the increment conflict strategy in Issue #633.

⚠️ Impact & Actions

  • Update PDF Decryption Config: If you are using the PDF decryption example, you must now store your password in the Google Apps Script PropertiesService (e.g., as PDF_PASSWORD) rather than hardcoding it in your configuration.
  • Library Update: Users of the Google Apps Script library should update to the 39 version to utilize the new increment conflict strategy and security features.

📦 Detailed Changelog

Features

  • adapter: add increment conflict strategy for Google Drive files (1363073)
  • expr: add support for boolean, number, bigint, symbol, and function types in anyValueToString (4b5a1c6)
  • modernization: implement regex escape and secure docs dependencies (418d7a0)
  • add increment conflict strategy (66278c5), closes #633
  • add envOverrides for cache and property service (92215cb)
  • add file conflict strategy increment (#652) (1363073)

Bug Fixes

  • deps: update dependency ajv to v8.18.0 [security] (#624) (ef5fa2e)
  • deps: update libs-non-major (#571) (d953e21), (#574) (ac9828f), (#576) (684828b), (#582) (5badebe), (#631) (f98897e)
  • docs: resolve package-lock.json conflict for react-json-view-lite (c192c24)
  • security: remove hardcoded PDF decryption password in example (#642) (c833be0)
  • adjust driveApi typing for new @types/google-apps-script (9276cda)
  • ERESOLVE in docs build and optimize thread message count retrieval (dd48c60)
  • typedoc warnings (c5cbcef)
  • upgrade @iconify/react from 6.0.0 to 6.0.1 (7c8be2d)
  • upgrade docusaurus-json-schema-plugin from 1.14.0 to 1.15.0 (d52a366)

Performance Improvements

  • eliminate duplicate gmail search (d5d601b)
  • hort-circuit evaluation in orderRules comparators to minimize API calls (bfe149c)
  • optimize thread message count retrieval (5e3acd9)
Detailed Dependency Changes
+ @eslint/js: ^10.0.1
+ @rollup/plugin-swc: 0.4.0
+ @types/google-apps-script: ^2.0.8
+ @types/jest: 30.0.0
+ @types/node: 25.6.0
+ @types/react-dom: 19.2.3
+ @types/react: 19.2.14
+ eslint-plugin-import-x: 4.16.2
+ eslint-plugin-jest: 29.15.2
+ globals: ^17.5.0
+ knip: 6.4.1
+ patch-package: ^8.0.1
+ rollup-plugin-filesize: 10.0.0
+ typescript-eslint: 8.58.2
- @babel/plugin-transform-class-properties: 7.27.1
- @babel/plugin-transform-class-static-block: 7.27.1
- @babel/plugin-transform-logical-assignment-operators: 7.27.1
- @babel/plugin-transform-private-methods: 7.27.1
- @rollup/plugin-babel: 6.0.4
- @rollup/plugin-terser: 0.4.4
- eslint-plugin-import: 2.31.0
- rollup-plugin-analyzer: 4.0.0
- ts-prune: 0.10.3
~ @babel/plugin-proposal-decorators: 7.27.1 -> 7.29.0 [MINOR]
~ @babel/plugin-transform-class-properties: 7.27.1 -> 7.28.6 [MINOR]
~ @cantoo/pdf-lib: 2.4.2 -> 2.6.5 [MINOR]
~ @casualbot/jest-sonar-reporter: 2.4.0 -> 2.6.0 [MINOR]
~ @docsearch/react: 3.9.0 -> 4.6.2 [MAJOR]
~ @docusaurus/core: 3.8.0 -> 3.10.0 [MINOR]
~ @docusaurus/eslint-plugin: 3.8.0 -> 3.10.0 [MINOR]
~ @docusaurus/module-type-aliases: 3.8.0 -> 3.10.0 [MINOR]
~ @docusaurus/preset-classic: 3.8.0 -> 3.10.0 [MINOR]
~ @docusaurus/tsconfig: 3.8.0 -> 3.10.0 [MINOR]
~ @docusaurus/types: 3.8.0 -> 3.10.0 [MINOR]
~ @eslint/js: 9.31.0 -> 10.0.1 [MAJOR]
~ @google/clasp: 2.5.0 -> 3.3.0 [MAJOR]
~ @iconify/react: 6.0.0 -> 6.0.2 [PATCH]
~ @mdx-js/loader: 3.1.0 -> 3.1.1 [PATCH]
~ @mdx-js/react: 3.1.0 -> 3.1.1 [PATCH]
~ @rollup/plugin-commonjs: 28.0.6 -> 29.0.2 [MAJOR]
~ @rollup/plugin-node-resolve: 16.0.1 -> 16.0.3 [PATCH]
~ @rollup/plugin-replace: 6.0.2 -> 6.0.3 [PATCH]
~ @roll...
Read more

v2.16.0

25 Jul 19:57

Choose a tag to compare

2.16.0 (2025-07-25)

Google Apps Script Version: 38

Features

  • add string function expressions (779b7cb)

Bug Fixes

v2.15.0

04 May 19:59

Choose a tag to compare

2.15.0 (2025-05-04)

Google Apps Script Version: 37

Features

  • add regex matching of raw message headers (6f29e61)

Bug Fixes

  • complex implementation of extractHeaders (e632c80)
  • various warnings (4e5d88a)

v2.14.1

15 Mar 23:13

Choose a tag to compare

2.14.1 (2025-03-15)

Google Apps Script Version: 36

Bug Fixes

v2.14.0

02 Mar 15:38

Choose a tag to compare

2.14.0 (2025-03-02)

Google Apps Script Version: 35

Features

  • add action attachment.storeDecryptedPdf (64d00ed)
  • add example with async custom action to decrypt PDFs (3300185)

Bug Fixes

  • deps: update libs-non-major (#485) (42ae39f)
  • deps: update react monorepo to v19 (a8d0002)
  • GAS example code processing (abec3e6)

v2.13.3

07 Feb 00:41

Choose a tag to compare

2.13.3 (2025-02-07)

Google Apps Script Version: 34

Bug Fixes

  • deps: update dependency parse-duration to v1.1.2 (a0ad1fb)

v2.13.2

06 Feb 22:32

Choose a tag to compare

2.13.2 (2025-02-06)

Google Apps Script Version: 33

Bug Fixes

  • deps: update libs-non-major (4685135)
  • snyk issue in code linter (5d98e3c)
  • URL reference error (6b11cef)

2.13.1

26 Dec 12:08

Choose a tag to compare

2.13.1 (2024-12-26)

Google Apps Script Version: 32

Bug Fixes

2.13.0

26 Dec 11:21

Choose a tag to compare

2.13.0 (2024-12-26)

Google Apps Script Version: 31

Bug Fixes

  • legacy expression compatibility (b39ca7b)

Features

  • major deps updates + add more date-fns functions (c15a47b)
  • new expression language (3ea1982)