v1.0.0
Major release introducing Cloudflare Workers support, Express 5 upgrade, and architectural improvements.
Breaking Changes
Section titled “Breaking Changes”Express 5 Upgrade
Section titled “Express 5 Upgrade”- Action required: Test your application thoroughly after upgrading
- Potential issues: Some third-party middleware may need updates, subtle error handling differences
AWS SDK Dependencies
Section titled “AWS SDK Dependencies”- Action required: If using S3 file processing, manually install:
Terminal window npm install @aws-sdk/client-s3 @aws-sdk/s3-request-presigner - Benefit: Smaller bundle size for apps not using AWS S3
Methods signature updates
Section titled “Methods signature updates”All functions now follow the parameter object pattern (also known as an options object or named parameters via destructuring).
This means functions that previously took several positional arguments now accept a single options object — destructured in the signature — which improves readability and makes optional parameters easier to manage.
Before:
// positional parametersgetCrowdinFiles: (projectId: number, client: Crowdin, appRootFolder?: SourceFilesModel.Directory, config?: any, mode?: CrowdinFilesLoadMode) => Promise<TreeItem[]>;After:
// parameter object (destructured)getCrowdinFiles: (options: { projectId: number; client: Crowdin; rootFolder?: SourceFilesModel.Directory; settings?: any; mode?: CrowdinFilesLoadMode;}) => Promise<TreeItem[]>;Example:
Before:
configuration.projectIntegration.cronJobs = [ { expression: '*/10 * * * * *', task: (projectId, credentials, rootFolder, settings) => { console.log(`Running background task for project: ${projectId}`); console.log(`Api credentials: ${JSON.stringify(credentials)}`); console.log(`App config: ${JSON.stringify(settings)}`); console.log(rootFolder ? JSON.stringify(rootFolder) : 'No root folder'); } }];After:
configuration.projectIntegration.cronJobs = [ { expression: '*/10 * * * * *', task: ({ projectId, credentials, rootFolder, settings } = {}) => { console.log(`Running background task for project: ${projectId}`); console.log(`Api credentials: ${JSON.stringify(credentials)}`); console.log(`App config: ${JSON.stringify(settings)}`); console.log(rootFolder ? JSON.stringify(rootFolder) : 'No root folder'); } }];List of all affected functions (some functions that already used parameter objects were renamed or had parameter names updated):
Updated functions (now accept a parameter object)
Section titled “Updated functions (now accept a parameter object)”These functions now accept a single destructured options object (e.g., fn({ a, b, c })).
Global
Section titled “Global”decryptCrowdinConnectionestablishCrowdinConnectionlogonErroronUninstallsaveMetadata
Per-module (grouped by module)
Section titled “Per-module (grouped by module)”- aiPromptProvider
compile
- aiProvider
chatCompletions
- aiRequestPreCompile
processRequestprocessStream
- aiTools
toolCalls
- automationAction
executevalidateSettings
- customMT
translate
File processing (modules: customFileFormat, filePreImport, filePostImport, filePreExport, filePostExport, fileTranslationsAlignmentExport)
Section titled “File processing (modules: customFileFormat, filePreImport, filePostImport, filePreExport, filePostExport, fileTranslationsAlignmentExport)”buildFileexportStringsfileProcessparseFile
projectIntegration
Section titled “projectIntegration”crowdinWebhookInterceptorcrowdinWebhooksgetAuthorizationUrlgetConfigurationgetCrowdinFilesgetFileProgressgetIntegrationFilesintegrationWebhookInterceptorintegrationWebhooksmatchCrowdinFilesToIntegrationFilesnormalizeSettingsonLogoutperformGetTokenRequest(oauthLogin)performRefreshTokenRequest(oauthLogin)taskupdateCrowdinupdateIntegrationvalidateSettings
New Features
Section titled “New Features”Cloudflare Workers Support
Section titled “Cloudflare Workers Support”- D1 Database:
d1Configfor serverless SQL database - Custom Cron:
cronoption for Workers scheduled events - File Storage:
fileStoreinterface for external storage (S3, R2, etc.) - Assets:
assetsConfigfor Workers Assets integration,assetsPathfor custom static directory - Webhooks:
deferResponse: truerequired for proper Workers execution
Migration Guide
Section titled “Migration Guide”- Update package.json:
"@crowdin/app-project-module": "^1.0.0" - Install AWS SDK if needed: (see breaking changes above)
- Test Express 5 compatibility
Dependencies
Section titled “Dependencies”- Updated: Express 4 → 5, React 18 added (internal)
- Moved to optional: AWS SDK packages