PackageTrack
Sign in Get early access

deeplcom/deepl-php

Official DeepL API Client Library

v1.20.0 8.0M downloads/mo #1109 most downloaded on Packagist DeepL/deepl-php

What this package is like to depend on

Last release 12 days ago

11 Aug 2026

Ships fairly regularly

a new release about every 2 months

Nearly every release is documented

notes for 33 of 33 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

33 releases · first in 2022

7 releases in the last 12 months

see the full history below

Release timeline

32 releases · Apr 2022 to Aug 2026
2023 2024 2025 2026
Release Pre-release

Releases

latest 33
  1. v1.20.0 11 Aug 2026
    Release notes

    [1.20.0] - 2026-08-11

    Added

    • Added support for using multiple glossaries in text and document translation
      via the TranslateTextOptions::GLOSSARY_IDS and
      TranslateDocumentOptions::GLOSSARY_IDS options (up to 5 glossary IDs).
    • Added support for style rules in document translation via the
      TranslateDocumentOptions::STYLE_ID option.
    • Added support for translation memories in document translation via the
      TranslateDocumentOptions::TRANSLATION_MEMORY_ID and
      TranslateDocumentOptions::TRANSLATION_MEMORY_THRESHOLD options.
    • Added support for the translation memory management endpoints in the
      DeepLClient class: getTranslationMemory(),
      listTranslationMemorySegments(), deleteTranslationMemory(),
      createTranslationMemoryImport(), uploadTranslationMemoryFile(),
      createTranslationMemoryExport(), getTranslationMemoryJob(),
      waitUntilTranslationMemoryJobDone(), downloadTranslationMemoryExport(),
      importTranslationMemoryFromFilepath() and
      exportTranslationMemoryToFilepath().
      waitUntilTranslationMemoryJobDone() polls through the 'awaiting_input'
      status, which an import job keeps reporting for a while after its file has
      been uploaded, and accepts an optional timeout in seconds, as do
      importTranslationMemoryFromFilepath() and
      exportTranslationMemoryToFilepath().
    • Added new model classes TranslationMemorySegment,
      TranslationMemoryTargetSegment, TranslationMemorySegments,
      TranslationMemorySegmentsOptions, TranslationMemoryImport,
      TranslationMemoryExport, TranslationMemoryJob and
      TranslationMemoryJobResult.
    • Added the creationTime and updatedTime properties to
      TranslationMemoryInfo.

    Changed

    • Requests to the pre-signed storage URLs used for translation memory import and export now
      go through a separate HTTP client that is constructed without the DeepL Authorization
      header, instead of stripping it per request. Headers supplied via TranslatorOptions::HEADERS
      are no longer sent to those URLs either — only the User-Agent and the per-request
      Content-Type. Proxy settings are unaffected.
    Open source →
    Release notes

    Added

    • Added support for using multiple glossaries in text and document translation via the TranslateTextOptions::GLOSSARY_IDS and TranslateDocumentOptions::GLOSSARY_IDS options (up to 5 glossary IDs).
    • Added support for style rules in document translation via the TranslateDocumentOptions::STYLE_ID option.
    • Added support for translation memories in document translation via the TranslateDocumentOptions::TRANSLATION_MEMORY_ID and TranslateDocumentOptions::TRANSLATION_MEMORY_THRESHOLD options.
    • Added support for the translation memory management endpoints in the DeepLClient class: getTranslationMemory(), listTranslationMemorySegments(), deleteTranslationMemory(), createTranslationMemoryImport(), uploadTranslationMemoryFile(), createTranslationMemoryExport(), getTranslationMemoryJob(), waitUntilTranslationMemoryJobDone(), downloadTranslationMemoryExport(), importTranslationMemoryFromFilepath() and exportTranslationMemoryToFilepath(). waitUntilTranslationMemoryJobDone() polls through the 'awaiting_input' status, which an import job keeps reporting for a while after its file has been uploaded, and accepts an optional timeout in seconds, as do importTranslationMemoryFromFilepath() and exportTranslationMemoryToFilepath().
    • Added new model classes TranslationMemorySegment, TranslationMemoryTargetSegment, TranslationMemorySegments, TranslationMemorySegmentsOptions, TranslationMemoryImport, TranslationMemoryExport, TranslationMemoryJob and TranslationMemoryJobResult.
    • Added the creationTime and updatedTime properties to TranslationMemoryInfo.

    Changed

    • Requests to the pre-signed storage URLs used for translation memory import and export now go through a separate HTTP client that is constructed without the DeepL Authorization header, instead of stripping it per request. Headers supplied via TranslatorOptions::HEADERS are no longer sent to those URLs either — only the User-Agent and the per-request Content-Type. Proxy settings are unaffected.
    Open source →
  2. v1.19.0 24 Jun 2026
    Release notes

    Added

    • Added support for the /v3/languages and /v3/languages/resources endpoints
      in the DeepLClient class: getLanguagesForResource() and getLanguageResources().
      These return richer per-resource, per-feature language support than the v2
      language endpoint, including newer languages and features.
    • Added new model classes LanguageSupport, LanguageResource, LanguageFeature,
      and ResourceFeature to represent the v3 language response shape.

    Changed

    • Migrated request bodies for /v2/translate, /v2/glossaries, and
      /v2/write/rephrase to application/json with correctly-typed fields
      (e.g. text is sent as an array, show_billed_characters as a boolean,
      tag lists as arrays, translation_memory_threshold as an integer).
    • Send type as a query parameter on GET /v2/languages instead of in the
      request body.
    • Enabled OpenAPI request and response validation for the mock-server CI jobs.
    Open source →
    Release notes

    Added

    • Added support for the /v3/languages and /v3/languages/resources endpoints in the DeepLClient class: getLanguagesForResource() and getLanguageResources(). These return richer per-resource, per-feature language support than the v2 language endpoint, including newer languages and features.
    • Added new model classes LanguageSupport, LanguageResource, LanguageFeature, and ResourceFeature to represent the v3 language response shape.

    Changed

    • Migrated request bodies for /v2/translate, /v2/glossaries, and /v2/write/rephrase to application/json with correctly-typed fields (e.g. text is sent as an array, show_billed_characters as a boolean, tag lists as arrays, translation_memory_threshold as an integer).
    • Send type as a query parameter on GET /v2/languages instead of in the request body.
    • Enabled OpenAPI request and response validation for the mock-server CI jobs.
    Open source →
  3. v1.18.0 09 Apr 2026
    Release notes

    Added

    • Added support for translation memories in text translation via
      TranslateTextOptions::TRANSLATION_MEMORY_ID and
      TranslateTextOptions::TRANSLATION_MEMORY_THRESHOLD.
    • Added listTranslationMemories() method to the DeepLClient class for
      listing available translation memories.
    • Added new model class TranslationMemoryInfo to represent translation memory data.

    Fixed

    • Set explicit image for gitlab release CI job to avoid missing $HOME issues.
    Open source →
    Release notes

    Added

    • Added support for translation memories in text translation via TranslateTextOptions::TRANSLATION_MEMORY_ID and TranslateTextOptions::TRANSLATION_MEMORY_THRESHOLD.
    • Added listTranslationMemories() method to the DeepLClient class for listing available translation memories.
    • Added new model class TranslationMemoryInfo to represent translation memory data.

    Fixed

    • Set explicit image for gitlab release CI job to avoid missing $HOME issues.
    Open source →
  4. v1.17.0 26 Mar 2026
    Release notes

    Added

    • Added new language constants from January 2026 API release of 81 new languages.
    • Added PHP 8.4 and 8.5 to CI test matrix.
    • Added support for style rules CRUD endpoints in the DeepLClient class: createStyleRule(), getStyleRule(), updateStyleRuleName(), updateStyleRuleConfiguredRules(), and deleteStyleRule().
    • Added support for style rule custom instruction CRUD endpoints in the DeepLClient class: createStyleRuleCustomInstruction(),
      getStyleRuleCustomInstruction(), updateStyleRuleCustomInstruction(), and deleteStyleRuleCustomInstruction().

    Please refer to the README for usage instructions.

    Open source →
    Release notes

    Added

    • Added new language constants from January 2026 API release of 81 new languages.
    • Added PHP 8.4 and 8.5 to CI test matrix.
    • Added support for style rules CRUD endpoints in the DeepLClient class: createStyleRule(), getStyleRule(), updateStyleRuleName(), updateStyleRuleConfiguredRules(), and deleteStyleRule().
    • Added support for style rule custom instruction CRUD endpoints in the DeepLClient class: createStyleRuleCustomInstruction(), getStyleRuleCustomInstruction(), updateStyleRuleCustomInstruction(), and deleteStyleRuleCustomInstruction(). Please refer to the README for usage instructions.

    Changed

    • 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 the model_type_used is populated if the model_type is specified in the request
    • Updated testMixedDirectionText() to add a missing </p> tag
    • Improved NotFoundException error message by removing the misleading "check server_url" suggestion.

    Fixed

    • Skip curl_close call for PHP 8+.
    Open source →
  5. v1.16.0 10 Dec 2025
    Release notes

    Added

    • Added tag_handling_version parameter to translateText() specify which version of the tag handling algorithm to use. Options are v1 and v2.
    Open source →
    Release notes

    Added

    • Added tag_handling_version parameter to translateText() specify which version of the tag handling algorithm to use. Options are v1 and v2.
    Open source →
  6. v1.15.0 10 Nov 2025
    Release notes

    Added

    • Added custom_instructions parameter to translateText() 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, zh and their variants. Note: using the custom_instructions parameter will use the quality_optimized model type as the default. Requests combining custom_instructions and the latency_optimized model type will be rejected.
    Open source →
    Release notes

    Added

    • Added custom_instructions parameter to translateText() 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, zh and their variants. Note: using the custom_instructions parameter will use the quality_optimized model type as the default. Requests combining custom_instructions and the latency_optimized model type will be rejected.
    Open source →
  7. v1.14.0 no date
    Release notes
    • Added support for the GET /v3/style_rules endpoint in the client library, the implementation can be found in the DeepLClient class. Please refer to the README for usage instructions
    • Added style_id option to translateText() which allows text translation with style rules.
    • Added new model classes: StyleRuleInfo, ConfiguredRules, and CustomInstruction to support style rules functionality.
    Open source →
    Release notes

    Added

    • Added support for the GET /v3/style_rules endpoint in the client library, the implementation can be found in the DeepLClient class. Please refer to the README for usage instructions
    • Added style_id option to translateText() which allows text translation with style rules.
    • Added new model classes: StyleRuleInfo, ConfiguredRules, and CustomInstruction to support style rules functionality.
    Open source →
  8. v1.13.0 04 Nov 2025
    Release notes

    Added

    • Added extraRequestParameters option 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 as target_lang, source_lang, etc.).
    Open source →
    Release notes

    Added

    • Added extraRequestParameters option 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 as target_lang, source_lang, etc.).
    Open source →
  9. v1.12.0 25 Apr 2025
    Release notes

    Added

    • 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.
    Open source →
    Release notes

    Added

    • 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.
    Open source →
  10. v1.11.1 17 Jan 2025
    Release notes

    Fixed

    • Fixed DeepLClientOptions wrongly inheriting from TranslateTextOptions,
      when it should be TranslatorOptions.
    Open source →
    Release notes

    Fixed

    • Fixed DeepLClientOptions wrongly inheriting from TranslateTextOptions, when it should be TranslatorOptions.
    Open source →
  11. v1.11.0 16 Jan 2025
    Release notes

    Added

    • Added support for the Write API in the client library, the implementation can be found in the DeepLClient class. Please refer to the README for usage instructions.

    Changed

    • The main functionality of the library is now also exposed via the DeepLClient class. Please change your code to use this over the Translator class whenever convenient.
    Open source →
  12. v1.10.1 29 Nov 2024
    Release notes

    Fixed

    Open source →
  13. v1.10.0 15 Nov 2024
    Release notes

    Added

    • Added MODEL_TYPE option to translateText() 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 $modelTypeUsed field to translateText() response, that indicates the translation model used when the MODEL_TYPE option is specified.
    Open source →
  14. v1.9.0 17 Sep 2024
    Release notes

    Added

    • Added $billedCharacters to the translate text response.
    Open source →
  15. v1.8.0 26 Jun 2024
    Release notes

    Added

    • Added document minification as a feature before document translation, to allow translation of large docx or pptx files. For more info check the README.
    Open source →
  16. v1.7.2 24 Apr 2024
    Release notes

    Fixed

    • Added a workaround for rare cases that the DeepL API responds with invalid UTF-8 sequences. In these cases the replacement character "�" (U+FFFD) will replace invalid sequences.
    Open source →
  17. v1.7.1 28 Feb 2024
    Release notes

    Fixed

    • Update VERSION values to 1.7.1
    Open source →
  18. v1.7.0 27 Feb 2024
    Release notes

    Added

    • 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.

    Fixed

    • Improve type of translateText function in Translator
    Open source →
  19. v1.6.0 03 Nov 2023
    Release notes

    Added

    • Add optional context parameter for text translation, that specifies additional context to influence translations, that is not translated itself.

    Changed

    • Added notice in Readme that starting in 2024 the library will drop support for PHP versions that are officially end-of-life.
    Open source →
  20. v1.5.1 11 Sep 2023
    Release notes

    Fixed

    • Add .gitattributes file to exclude irrelevant files from package download.
    • Internal CI improvements.
    Open source →
  21. v1.5.0 26 Jun 2023
    Release notes

    Added

    • Allow users to supply their own custom HTTP client to the Translator object, in order to configure timeouts, security features etc more granularly.
    • Add curl version to the platform info in the user-agent header (will not be added if the user opts out).

    Fixed

    • Allow users to translate empty strings without throwing an error.
    • Catch any exception thrown when computing the user-agent header and continue without failing the request.
    Open source →
  22. v1.4.0 24 May 2023
    Release notes

    Added

    • Script to check our source code for license headers and a step for them in the CI.
    • Added platform and node version information to the user-agent string that is sent with API calls, along with an opt-out.
    • Add method for applications that use this library to identify themselves in API requests they make.

    Fixed

    • Fix getUsage request to be a HTTP GET request, not POST.
    • Changed document translation to poll the server every 5 seconds. This should greatly reduce observed document translation processing time.
    Open source →
  23. v1.3.0 26 Jan 2023
    Release notes

    Added

    • 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.

    Open source →
  24. v1.2.1 25 Jan 2023
    Release notes

    Fixed

    • Also send options in API requests even if they are default values.
    Open source →
  25. v1.2.0 01 Dec 2022
    Release notes

    Changed

    • Added dependency on psr/log. As this package forms a PHP Standard Recommendation, we don't consider it to break backward-compatibility.

    Fixed

    • Change the type of the TranslatorOptions::LOGGER option to Psr\Log\LoggerInterface, to correctly support PSR-3 loggers.
    Open source →
  26. v1.1.0 28 Sep 2022
    Release notes

    Added

    • Add new formality options: 'prefer_less' and 'prefer_more'.

    Changed

    • Requests resulting in 503 Service Unavailable errors 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.
    Open source →
  27. v1.0.0 08 Sep 2022
    Release notes

    Stable release.

    Added

    • Add glossary management support.

    • 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.

    • Add proxy support.

    Open source →
  28. v0.4.1 12 Aug 2022
    Release notes

    Changed

    • Update contributing guidelines, we can now accept Pull Requests.

    Fixed

    • Fix GitLab CI config.
    • Fix a typo in the readme.
    Open source →
  29. v0.4.0 24 May 2022
    Release notes

    Added

    • Add support for document translation.
    Open source →
  30. v0.3.0 18 May 2022
    Release notes

    Added

    • 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.

    Open source →
  31. v0.2.0 02 May 2022
    Release notes

    Changed

    • Remove final keyword from class declarations to facilitate testing.
    Open source →
  32. v0.1.1 28 Apr 2022
    Release notes

    Fixed

    • Added minimum supported PHP version to composer.json.
    • Fix cURL client issue: do not round timeouts to whole seconds.
    • Fix cURL client issue: consider empty response a retryable-error.
    • Check for and reject invalid server_url option.
    Open source →
  33. v0.1.0 22 Apr 2022
    Release notes

    Initial version.

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive