All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.26.0 - 2026-04-09
- Added support for translation memories in text translation via
translationMemoryandtranslationMemoryThresholdoptions intranslateText(). - Added
listTranslationMemories()method to theDeepLClientclass for listing available translation memories.
- Bumped
axiosdependency due to CVE-2025-62718
- Fix write tests that broke from language expansion
1.25.0 - 2026-03-26
- Added new language constants from January 2026 API release of 81 new languages.
- Added
jsonBodyoption toSendRequestOptions, enabling JSON-encoded API calls. - Added support for style rules CRUD endpoints in the
DeepLClientclass:createStyleRule(),getStyleRule(),updateStyleRuleName(),updateStyleRuleConfiguredRules(), anddeleteStyleRule(). - Added support for style rule custom instruction CRUD endpoints in the
DeepLClientclass:createStyleRuleCustomInstruction(),getStyleRuleCustomInstruction(),updateStyleRuleCustomInstruction(), anddeleteStyleRuleCustomInstruction(). Please refer to the README for usage instructions.
- Updated formality tests to accept either formal or informal output when using default formality, since default formality is now automatic.
- Removed Node 12 from the CI as it broke and is end-of-life.
- Updated our model type tests to expect the
model_type_usedto be populated when themodel_typeis specified in the request - Updated a tag handling test to add a missing
</p>tag - Improved
NotFoundExceptionerror message by removing the misleading "check server_url" suggestion. - Bumped
axiosdependency due to CVE-2026-25639
1.24.0 - 2025-12-10
- Added
tagHandlingVersionparameter totranslateText()to specify which version of the tag handling algorithm to use. Options arev1andv2.
1.23.0 - 2025-12-03
- Added
customInstructionsparameter totranslateText()to customize translation behavior with up to 10 instructions (max 300 characters each). Only supported for target languages:de,en,es,fr,it,ja,ko,zhand their variants. Note: using thecustomInstructionsparameter will usequality_optimizedmodel type as the default. Requests combiningcustomInstructionsand thelatency_optimizedmodel type will be rejected.
1.22.0 - 2025-11-12
- Added support for the
GET /v3/style_rulesendpoint in the client library, the implementation can be found in theDeepLClientclass. Please refer to the README for usage instructions - Added
styleIdoption totranslateText()andtranslateDocument()which allows text and document translation with style rules.
1.21.0 - 2025-11-03
- Added
extraRequestParametersoption to text and document translation methods to pass arbitrary parameters in the request body. This can be used to access beta features or override built-in parameters (such astarget_lang,source_lang, etc.).
1.20.0 - 2025-10-08
- Official support for Node.js versions 20, 22 and 24
- Fixed document minification/deminification to preserve translated content. Previously, when document minification was enabled, the deminify process would use the original minified file instead of the translated version, causing translations to be lost.
- Fixed handling of documents without media files during translation. The library now correctly processes documents that don't contain embedded media.
1.19.1 - 2025-09-16
- Update form-data lib due to https://github.com/advisories/GHSA-fjxv-7rqg-78g4
- Fixed
targetLangparameter inDeepLClient::rephraseTextto be an optionalstringparameter. - Update brace-expansion lib due to https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
- Update axios lib due to https://github.com/advisories/GHSA-4hjh-wcwx-xvwj
1.19.0 - 2025-06-26
- Add new supported language codes to the translation and glossary language types.
1.18.0 - 2025-05-07
- Include
x-trace-idresponse headers in debug logs - Added support for the /v3 Glossary APIs in the client library while providing backwards compatibility for the previous /v2 Glossary endpoints. Please refer to the README for usage instructions.
- Upgrade Babel library
1.17.3 - 2025-03-11
- Upgrade axios lib due to https://github.com/advisories/GHSA-jr5f-v2jv-69x6
1.17.2 - 2025-03-06
- Added option to override translate path
1.17.1 - 2025-03-04
- Update list of supported target languages
- Adjust environment variable handling to avoid side effects in the published library
1.17.0 - 2025-02-25
- Added document minification as a feature before document translation, to allow translation of large docx or pptx files. For more info check the README.
- Added .env.example file with
dotenvlibrary for environment variables management - Improve unit tests
- Upgrade cross-spawn library (see https://github.com/advisories/GHSA-3xgq-45jj-v275)
1.16.0 - 2025-01-22
- Added support for the Write API in the client library, the implementation
can be found in the
DeepLClientclass. Please refer to the README for usage instructions.
- The main functionality of the library is now also exposed via the
DeepLClientclass. Please change your code to use this over theTranslatorclass whenever convenient.
1.15.0 - 2024-11-15
- Added
modelTypeoption totranslateText()to use models with higher translation quality (available for some language pairs), or better latency. Options are'quality_optimized','latency_optimized', and'prefer_quality_optimized' - Added the
modelTypeUsedfield totranslateText()response, that indicates the translation model used when themodelTypeoption is specified.
1.14.0 - 2024-09-17
- Added
billedCharactersfield to text translation response.
1.13.1 - 2024-08-14
-
Added supported glossary languages: Danish (
'da'), Norwegian (bokmål) ('nb'), and Swedish ('sv'). The corresponding glossary language code TypeScript types are extended.Note: older library versions also support the new glossary language pairs, this update only adds new types.
- Increase
axioslocked-version due to security vulnerability in axios <1.7.3
1.13.0 - 2024-04-12
- Add possibility to add extra parameters to a translation request (both text and document). DeepL engineers use this to test features in the API before they are released. Library users who cannot update their DeepL library dependency could use these extra parameters to access features in the API that are released in the future.
- Increase
follow-redirectslocked-version due to security vulnerability in follow-redirects <1.15.5
1.12.0 - 2024-02-27
-
New language available: Arabic (
'ar'). Add language code constants and tests. Arabic is currently supported only for text translation; document translation support for Arabic is coming soon.Note: older library versions also support the new language, this update only adds new code constants.
1.11.1 - 2024-01-26
- Dependencies: Update
follow-redirectsdue to security vulnerability
- Increase
axiosrequirement to^1.6.4to avoid vulnerability in follow-redirects <1.15.4
1.11.0 - 2023-11-03
- Add optional
contextparameter for text translation, that specifies additional context to influence translations, that is not translated itself.
- Added notice in Readme that starting in 2024 the library will drop support for Node versions that are officially end-of-life.
- Keep-Alive is now used by HTTP(S) agent, to reduce latency for subsequent API requests.
-
CI: silence npm audit warnings in non-production dependencies due to currently-unresolvable vulnerability in semver <7.5.2.
-
Increase axios dependency to >=1.2.2, due to bug in axios v1.2.1.
-
Added supported glossary languages: Italian (it), Dutch (nl), Polish (pl), Portuguese (pt), Russian (ru) and Chinese (zh). The corresponding glossary language code TypeScript types are extended.
Note: older library versions also support the new glossary language pairs, this update only adds new types.
-
Fixed typo in readme:
createGlossaryWithCsvnotcreateGlossaryFromCsv
1.10.2 - 2023-06-02
- Fixed erroneous version bump
1.10.1 - 2023-06-02
- Limit example typescript version to 5.0 due to Node 12 incompatibility
1.10.0 - 2023-06-01
- Changed document translation to poll the server every 5 seconds. This should greatly reduce observed document translation processing time.
- Fix getUsage request to be a HTTP GET request, not POST.
1.9.0 - 2023-03-22
- Added platform and node version information to the user-agent string that is sent with API calls, along with an opt-out.
- Added method for applications that use this library to identify themselves in API requests they make.
- Fixed proxy example code in README
1.8.0 - 2023-01-26
-
New languages available: Korean (
'ko') and Norwegian (bokmål) ('nb'). Add language code constants and tests.Note: older library versions also support the new languages, this update only adds new code constants.
1.7.5 - 2023-01-25
- Also send options in API requests even if they are default values.
1.7.4 - 2023-01-09
- Omit undefined
supportsFormalityfield for source languages.
1.7.3 - 2023-01-04
- CI: suppress
npm auditwarnings for dev dependencies, due to CVE ineslint-plugin-import > tsconfig-paths > json5.
- Support
axiosv1.2.1, that resolves the issue in v1.2.0.
1.7.2 - 2022-11-24
- Limit
axiosto v1.1.3 or lower due to an issue in v1.2.0.- This is a temporary workaround until the issue is resolved.
1.7.1 - 2022-10-12
- Prefer
for .. ofloops tofor .. inloops, to handle cases where array prototype has been modified.- Issue #10 thanks to LorenzoJokhan
- Node 18 is supported, this is now explicitly documented.
1.7.0 - 2022-09-30
- Add formality options
'prefer_less'and'prefer_more'.
- Requests resulting in
503 Service Unavailableerrors are now retried. Attempting to download a document before translation is completed will now wait and retry (up to 5 times by default), rather than rejecting.
1.6.0 - 2022-09-09
-
New language available: Ukrainian (
'uk'). Add language code constant and tests.Note: older library versions also support new languages, this update only adds new code constant.
1.5.0 - 2022-08-19
- Add proxy support.
1.4.0 - 2022-08-09
- Add
createGlossaryWithCsv()allowing glossaries downloaded from website to be easily uploaded to API.
1.3.2 - 2022-08-09
- Update contributing guidelines, we can now accept Pull Requests.
- Fix GitLab CI config.
- Correct language code case in
getSourceLanguages()andgetTargetLanguages()result. - Use TypeScript conditional types on
translateText()to fix TS compiler errors.- Issue #9 thanks to Jannis Blossey
1.3.1 - 2022-05-18
Replaces version 1.3.0 which was broken due an incorrect package version.
-
New languages available: Indonesian (
'id') and Turkish ('tr'). Add language code constants and tests.Note: older library versions also support the new languages, this update only adds new code constants.
- Change return type of
nonRegionalLanguageCode()to newly-added typeNonRegionalLanguageCode.
1.3.0 - 2022-05-18
Due to an incorrect package version, this version was removed.
1.2.2 - 2022-04-20
-
Glossaries are now supported for language pairs: English <-> Japanese and French <-> German. The corresponding glossary language code TypeScript types are extended.
Note: older library versions also support the new glossary language pairs, this update only adds new types.
1.2.1 - 2022-04-14
- Simplify and widen the accepted version range for
nodeand@types/node.
1.2.0 - 2022-04-13
- Add
errorMessageproperty toDocumentStatus, describing the error in case of document translation failure.
1.1.1 - 2022-04-12
- Fix some tests that intermittently failed.
- Fix
isDocumentTranslationComplete()to reject if document translation fails.
1.1.0 - 2022-03-22
- Add support for HTML tag handling.
- Fix spurious test failures.
1.0.0 - 2019-02-04
This version of the package on NPM refers to an earlier unofficial DeepL Node.js client library, which can be found here. The official DeepL Node.js client library took over this package name. Thanks to Tristan De Oliveira for transferring the package ownership.