4.3.0 (2024-10-28)
- aur: set & force java-environment=17 (#848) (484d23e)
- renamed init command internals (#854) (ab25e24)
- simplify the default crowdin.yml configuration file (#852) (af8bd46)
- add bundle extra options (#858) (102c73a)
- deprecate skip-untranslated-strings for task add command (#860) (bb43466)
- project add command (#857) (626301b)
- upload screenshots improvements (#853) (32ea5f6)
4.2.0 (2024-09-23)
4.1.2 (2024-09-06)
4.1.1 (2024-07-26)
4.1.0 (2024-07-23)
- read only system variables for properties (#813) (e091e22)
- screenshot delete message (#814) (31a7fe1)
- sequential upload for sb projects (#815) (19d2654)
- throw error if no translations were found (#824) (fd62985)
- directory parameter for pre-translate command (#816) (08209dd)
- validate language code (#810) (84f8410)
4.0.0 (2024-05-28)
3.19.4 (2024-05-16)
3.19.3 (2024-05-09)
3.19.2 (2024-04-02)
3.19.1 (2024-03-27)
3.19.0 (2024-03-19)
- double asterisks in paths (#733) (aa99d5e)
- label descriptions (#723) (04a76c8)
- message for strings based project when download (#729) (c280608)
- preserve hierarchy output (#738) (976f01d)
- label option for screenshot upload command (#721) (bb57d11)
- label option for string list command (#722) (369ef8d)
- multilingual option (#725) (31e2053)
- plural strings (#731) (503a974)
- set http timeout (#734) (690cb22)
3.18.0 (2024-02-07)
3.17.0 (2024-01-30)
3.16.1 (2024-01-18)
3.16.0 (2024-01-04)
3.15.0 (2023-10-25)
- add file name to translation upload error message (#639) (9246038)
- added support of passing labels to pre translate command (#649) (619ffbe)
- dryrun for bundle download (#648) (201eb58)
- file and directory options for status command (#646) (3c2f517)
- label command (#661) (3da23ec)
- replace file id with file path in task add command (#641) (fdf9cec)
- retries for translations build (#667) (2a59e03)
3.14.0 (2023-09-08)
- add api subpath to the base url (#622) (f13915f)
- source downloading when source and dest have different base name (#608) (60a760a)
- translation pattern creation on windows (#604) (c4ad0af)
- unix tests on windows (#580) (9be90fc)
- add the 'export_quotes' support for JavaScript files (#621) (e6c1b08)
- New command: distribution (#593) (9312fe1)
- new command: screenshot (#631) (c704029)
- reduce error severity for files being updated. (#623) (6887f03)
- task add command - add '--include-pre-translated-strings-only' option (#634) (0c45d27)
3.13.0 (2023-06-12)
- .env load - pass the cause exception for later retrieval (#591) (fd0033d)
- plain view for --keep-archive option (#590) (7d33cb6)
3.12.0 (2023-05-30)
3.11.1 (2023-05-16)
- download multiple sources with the same destination (#574) (6f68e2a)
- support double curly braces (#572) (e3c20eb)
3.11.0 (2023-04-24)
- download sources with double asterisk (#538) (88ae567)
- handle upgrade subscription message (#548) (59d0a84)
- ignore option with double asterisk (#568) (276d106)
- incorrect translation pattern on upload (windows) (#544) (136ae16)
- add bundle command support into cli (#549) (d0f0be3)
- add more file formats support for the 'targets' command (#545) (6b2f6d5)
- no preserve hierarchy for upload (#541) (4a849a3)
- fix delete obsolete option (#536)
- fix config file checker (#532)
- fix download sources command (#537)
- ignore content segmentation option when it's null (#539)
- feat: implement tasks management (#522)
- Fix node-fetch issue (2) (#527)
- Add the
--keep-archive
option for the download translations command (#520) - Helper script for Windows shell environments (#521)
- More tests for better coverage (#509)
- Minor cleanup (#511)
- Use GH Actions instead of Azure Pipelines and prepare CI to run Unit tests on Windows (#512)
- Ignore version check for -h,-v and crowdin command w/o args (#516)
- Handle empty files upload (#517)
- Fix node-fetch issue (#524)
- Fix organization domain extracting from base_url (#498)
- Add downloading multiple specified languages (#493)
- Add '--dryrun' mode to the 'download sources' command (#485)
- Add the
export_string_that_passed_workflow
export option support (#487) - Add Unit tests for
StatusAction.java
(#494)
- Improve async progress status checking for some commands (#478)
- Make lint throw error with no config file (#483)
- Fixed regex to work correctly for Windows machines (#484)
- Fix infinite build progress check in case of the build was failed (#476)
- Download reviewed sources command (#471)
--fail-if-incomplete
option for status commands (#466)branch
parameter support for Pseudo-Localization download (#472)
import_translations
option support for spreadsheet files (#463)
- Improved error handling for the
pre-translate
command (#461)
- Support language ID in list languages command (#454)
- Update jDeploy (#437)
- Dependencies update (#442)
- Update log4j to 2.17.1 (#421)
- Fix installation and uninstall scripts (#422)
- Update TM and Glossary uploads: '--language' is required for creating new instances (#419)
- Update gradle to 7.3.1 (#414)
- Fix regex building from path on Windows (#417)
- Update log4j to 2.16.0 (#413)
- Update log4j to 2.15.0 (#410)
- Fix 'streamIsEmpty' error (#409)
- Add check if an archive is empty and add a message when there are no files to the 'download' command (#406)
- Improve timing for checking building translations (#406)
- Fix '%original_path%' placeholder for downloading (#406)
- Add 'croql' parameter to 'string list' (#401)
- Fix selecting source files with 'dest' param for 'download sources', 'dryrun translations' and 'download' commands (#399)
- Little fix for 'generate' command (#400)
- Add new 'branch' subcommands (#393)
- Add 'custom_segmentation' field support in config (#389)
- Add '--branch' param for 'string list' command (#389)
- Improve '--delete-obsolete' logic (#394)
- Remove requirement for 'files' block for some commands (#393)
- Fix showing New version banner with '--plain' param (#389)
- Fix message in authorizing via browser (#389)
- Fix 'dest' (#396)
- Fix exception handling at uploading file to storage in 'upload source' action (#389)
- Add '--branch' option for 'status' commands (#374)
- Add '--delete-obsolete' option to 'upload sources' command (#374)
- Add '--label' option to 'string add' and 'string edit' commands (#384)
- Fix uploading XLSX files (#377)
- Fix not showing all omitted files and improve building export patterns (#378)
- Update Crowdin API client to 1.3.10 (#380)
- Add lazy initialization for dotenv code and error handling for duplicate environment variables (#363)
- Improve 'dest' parameter - add new placeholders (#363)
- 'crowdin pre-translate' command (#354)
- 'crowdin list languages' command (#354)
- '--dest' parameter support as a command config option (#354)
- Fix error type selection for invalid CSV scheme (#354)
- Fix for searching files with a plus symbol in a name (#350)
- Add '--[no-]translate-hidden' parameter to 'upload translations' command (#344)
- Add '%file_name%' placeholder for 'dest' parameter (#344)
- Add support for downloading file groups with 'dest' parameter (#344)
- Add 'branch exists' message to 'upload' command (#344)
- Upload file as spreadsheet if 'dest' parameter has .csv extension (#344)
- Add '--all' option to download translations without local sources (#338)
- Add '--branch' option for 'download targets' (#338)
- Refactor error handlers and add error handler for 'upload translations' (#338)
- Upgrade picocli version (#338)
- Fix Language Mapping for 'download targets' (#338)
- Fix verbose message for 'glossary list' (#338)
- Fix 'list translations' - add accounting for excluded languages (#338)
.env
support (#337)
- Ability to exclude target languages for source files (#331)
- Ability to ignore hidden files during sources upload (#331)
- Fix 'glossary list --verbose' for non-managers (#331)
- Fix 'download targets' for enterprise (#331)
- Fix one message and add handler to 'add source' request (#331)
crowdin download sources
command (#327)- Labels support for
crowdin upload sources
command (#327) - Ability to configure export options for each file group (#327)
- Using 'identifier' property in
crowdin string
commands (#327)
- Delete 'language_mapping' field from default configuration file (#327)
- Fix messages for 'lint' command (#327)
- Do not return exit code 1 if translation files are missing (#325)
- Ability to download translation from Crowdin to the specified target file (
crowdin download targets
) Read more (#316) - Pseudo-localization downloading (
crowdin download --pseudo
) Read more (#316)
- Glossary management. For more details -
crowdin glossary -h
(#304) - Translation memory management. For more details -
crowdin tm -h
(#304)
- Return non-zero code when errors presented in
upload
command (#304) - Update how CLI gets a list of project languages and in-context language (#304)
- Colors support (#301)
- Add new 'crowdin list branches' command (#300)
- Add checking for relative paths in translation patterns (#296)
- Add autocomplete script to artifacts (#298)
- Improve 'crowdin init' (#297)
- Improve searching for multilanguage csv translation files (#299)
- Refactoring (#301)
- Fix init command to accept path formats on Windows (#305)
- Added: Browser authorization for
init
command - Added: Static analysis tools Spotbugs, Checkstyle
- Updated: Bump Gradle version
- Updated: Improve
--plain
mode for directories - Updated: Improve new version message and change borders
- Fixed: Bug with in-Context language in the 'download' command for '-l' option
- Fixed: Bug with language placeholders for fileBeans with scheme
- Added: Strings management functionality
- Added: Introduce a plain mode for usage in scripts
- Added: Install script: install an uninstaller
- Updated: Change help messages color scheme
- Updated: Warning emoji to one message and remove the suffix 'v3' from the doc link
- Fixed: Bug with intersecting sources
- Fixed: Translations upload with
dest
parameter - Fixed: Fix bug with empty sources for
upload translations
- Updated: Update params for building translations request
- Added:
status
command - Added: Restrictions for 'upload translations' and 'download' commands
- Updated: Remove option and parameter for request
--import-duplicates
- Updated: Installation scripts improvements
- Updated: Use Picocli version 4.3.2
- Updated: Better
project_id
validation - Updated: Change approving for some options
- Fixed: Fix possible bug with a large project with many files/dirs
- Fixed:
ClassCastException
error
- Added:
--skip-untranslated-strings
option fordownload
command - Added:
--skip-untranslated-files
option fordownload
command - Added:
--export-only-approved
option fordownload
command - Fixed: Output fixes
- Added:
content_segmentation
option - Added: Error emoji for exceptions in threads
- Updated: Use new Java API Client
- Updated: Separate logic and picocli ui
- Updated: A lot of refactoring and Unit tests
- Updated: Update picocli version
- Updated: Improve
--debug
(now it works for threads) - Fixed: Fix for windows
- Fixed: Performance bug: remove ignore duplicates
- Updated: Improve tree output
- Updated: Refactoring and tests
- Fixed: Fix uploading problem for a big amount of files
- Fixed: Help message for 'list'
- Added: Emoji for warnings/errors
- Added: Handle 'Unauthorized' response
- Added: Specific language support for
--dryrun
- Updated: Huge code refactoring and optimization
- Updated: Change
--dryrun
output - Updated: Check branch existence before
--dryrun
- Fixed: Correct message about missing identity file
- Fixed: Correct error messages about params
- Added: Support language mapping from server
- Added: Set proxy properties from system environment
- Updated: Return to old 'language_mapping' with crowdin codes
- Fixed: Fix config options and write tests for PropertiesBeanBuilder
- Fixed: Fix 'upload translations' for multilingual files
- Added: Newline for new version message
- Added: Emojis to some messages
- Updated: Set
escapeSpecialCharacters
by default to '1' for '*.properties' files - Updated: API - fix for 5xx responses
- Updated: Set defaults for identity file
- Fixed: Double asterisks with a slash at the start
- Fixed: Return correct exit code
- Updated: Ignore directories using double-asterisk pattern
- Updated: Update for --no-auto-update option of 'upload sources'
- Fixed: CLI hanging trying to process non-existing directory
- Fixed: Fix options for translations upload
- Fixed: Fix for nonexistent path and little FileHelper refactoring
- Fixed:
--identity
parameter processing - Fixed: Unexpected NPE while trying to download project
- Updated: texts update after review
- Updated: do not upload in-context language with 'upload translations'
- Updated: allow base path to be relative to home directory
- Added:
escape_special_characters
option support for .properties file - Added: notification about new version
- Updated: set default value for
escape_quotes
to 3 - Updated: set default values for the configuration file to a list of
crowdin.yml
andcrowdin.yaml
- Updated: better error messages for base path
- Added: Bash/Zsh commands completion
- Updated: set threads count to 4
- Updated: improve files list output for
download
command - Updated: move descriptions and messages to resource bundle
- Updated: help screens improvement
- Added: add message about wrong organization
- Added: add User-Agent header
- Updated:
escape_quotes
validation - Updated: make
--source
and--translation
optional for params - Updated: params now can overwrite config
- Updated: refactor gathering information about project and add message about wrong organization
- Fixed: fix reuploading to branches
- Fixed: fixes to config checking
- Added: add progress to show while building translations
- Added: add
--dryrun
option to translations upload - Updated: improve
init
command - Fixed: fix branches - Now files can be in branches root
- Added: use picocli library for commands
- Added: help messages color highlight
- Added: 'base_url' validation and default value
- Updated: texts on help screens
- Fixed: high CPU usage on translation upload
- Fixed: a lot of minor fixes and refactoring
- Updated: Change api use for settings
- Fix exportPattern with locale_with_underscore, android_code, osx_code
- Don't pass escapeQuotes if it is not specified
- Upload sources refactoring
- Updated: increase Pagination util limit
- Updated: removed 'force' parameter for the 'Build Project Translation' api method
- Fixed: in-Context support
- Updated: refactoring: making Commands a little bit smaller
- Fixed: directories API
- Updated: refactored initialize-method
- Updated: help-text for upload
- Fixed: general help (drop redundant option, showing the correct message)
- Updated: refactor run()
- Fixed: fix escape_quotes
- Updated: show relative path in messages in upload source
- Updated: change createRevision to updateFile
- Fixed: language placeholders for ignore pattern
- Updated: Unit-tests and CI/CD
- update config options (api_key -> api_token, project_identifier -> project_id)
- fix: fixed list project command with specified branch
- fix: fixed error message when project id is not specified
- fix: added missing checkboxes
- Fixed: problem writing to a configuration file
- Fixed: upload sources/translations on a root dir level
- Fixed: Fix language codes
- Increased performance in 6-7 times (multithreading)
- Fixed: translations upload with
translation_replace
option - Fixed: sources upload with
preserve_hierarchy
option - Fixed: translations upload with
preserve_hierarchy
option - Fixed: CLI crash in the absence of source file on the Crowdin side
- Fixed: Wrong files structure after upload for complex file trees
- Fixed: Upload sources into branch
- API v2 Support