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.16.0 - 2026-04-09
- Added support for translation memories in text translation via
setTranslationMemoryId()andsetTranslationMemoryThreshold()inTextTranslationOptions. - Added
listTranslationMemories()method to theDeepLClientclass for listing available translation memories.
- Fixed GitLab release job using wrong image by explicitly setting
image: registry.gitlab.com/gitlab-org/release-cli:latest.
1.15.0 - 2026-03-26
- Added JSON request body support to
HttpContentandHttpClientWrapper, enabling JSON-encoded API calls viasendJsonRequestWithBackoff()andsendJsonPatchRequestWithBackoff(). - 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 the default formality is automatic.
- Updated
testModelType()to just check if themodel_type_usedis non-null if themodel_typeis specified in the request - Updated
testMixedDirectionText()to add a missing</p>tag - Improved
NotFoundExceptionerror message by removing the misleading "check server_url" suggestion.
- Fixed PATCH requests (
sendPatchRequestWithBackoff) not retrying on 429/5xx errors despite the method name promising backoff behavior. PATCH requests now use the same retry logic as all other HTTP methods.
1.14.0 - 2025-12-10
- Added
setTagHandlingVersion()method toTextTranslationOptionsto specify which version of the tag handling algorithm to use. Options arev1andv2.
1.13.0 - 2025-12-03
-
Added
setCustomInstructions()method toTextTranslationOptionsto 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 the custom instructions parameter will use
quality_optimizedmodel type as the default. Requests combining custom instructions and thelatency_optimizedmodel type will be rejected.
1.12.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()which allows text translation with style rules.
1.11.0 - 2025-11-04
- 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.10.3 - 2025-08-22
- Updated
org.apache.httpcomponents:httpclientto 4.5.14 due to CVE-2020-13956.
1.10.2 - 2025-07-11
- Migrate to Sonatype Portal OSSRH Staging API due to legacy OSSRH being sunsetted.
- Whitespace surrounding auth key is now stripped.
1.10.1 - 2025-06-18
- Fixed
DeepLClient::deleteMultilingualGlossary(String glossaryId)being package private, made it public instead.
1.10.0 - 2025-04-30
- Added support for the /v3 Multilingual Glossary APIs in the client library while providing backwards compatability for the previous /v2 Glossary endpoints. Please refer to the README or upgrading_to_multilingual_glossaries.md for usage instructions.
- Added Ukrainian language code
1.9.0 - 2025-02-21
- Allow specifying the API version to use. This is mostly for users who have an API subscription that includes an API key for CAT tool usage, who need to use the v1 API.
1.8.1 - 2025-02-07
- Added a constructor for
DeepLClientthat only takes anauthKey, to fix the README example and be in line withTranslator. - Un-deprecated the
TranslatorandTranslatorOptionsclass and moved it to their constructors. The functionality in them continues to work and be supported, user code should just useDeepLClientandDeepLClientOptions.
1.8.0 - 2025-01-17
- 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.7.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.6.0 - 2024-09-17
- Added
getBilledCharacters()to text translation response.
1.5.1 - 2024-09-05
1.5.0 - 2024-04-10
-
New language available: Arabic (MSA) (
'ar'). Add language code constants and tests.Note: older library versions also support the new language, this update only adds new code constants.
- Change document upload to use the path
/v2/documentinstead of/v2/document/(no trailing/). Both paths will continue to work in the v2 version of the API, but/v2/documentis the intended one.
1.4.0 - 2023-11-03
- Add optional
contextparameter for text translation, that specifies additional context to influence translations, that is not translated itself.
- Remove unused
commons-mathdependency
1.3.0 - 2023-06-09
- 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.2.0 - 2023-03-22
- Script to check our source code for license headers and a step for them in the CI.
- Added system and java 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.
1.1.0 - 2023-01-26
-
Add example maven project using this library.
-
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.
- Send Formality options in API requests even if it is default.
1.0.1 - 2023-01-02
1.0.0 - 2022-12-15
- Add support for glossary management functions.
parsing.ErrorResponsefieldsmessageanddetailare now private, encapsulated with getters.
0.2.1 - 2022-10-19
- Handle case where HTTP response is not valid JSON.
0.2.0 - 2022-09-26
- Add new
Formalityoptions:PreferLessandPreferMore.
- 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 throwing an exception.
- Use
Locale.ENGLISHwhen changing string case.- Thanks to seratch.
- Avoid cases in
HttpContentandStreamUtilswhere temporary objects might not be closed.- Thanks to seratch.
0.1.3 - 2022-09-09
- Fixed examples in readme.
Usage.Detailcountandlimitproperties type changed frominttolong.
0.1.2 - 2022-09-08
- Fix publishing to Maven Central by including sourcesJar and javadocJar.
0.1.1 - 2022-09-08
- Fix CI publishing step.
0.1.0 - 2022-09-08
Initial version.