duckscript/CHANGELOG.md

427 lines
12 KiB
Markdown
Raw Normal View History

2019-12-30 10:45:28 +00:00
## CHANGELOG
2023-11-18 17:36:25 +00:00
### v0.9.2 (2023-11-18)
* Enhancement: \[Breaking Change\] add support for renaming directories via mv command #374
### v0.9.1 (2023-09-17)
* Fix: panic on empty environment variable name provided for set_env command
2023-09-08 12:29:03 +00:00
### v0.9.0 (2023-09-08)
* Fix: Runtime - \[Breaking Change\] Empty spread should not count as an empty string argument #354
2023-06-15 19:04:37 +00:00
### v0.8.20 (2023-06-15)
* Maintenance: Upgrade dependencies
2023-05-25 11:30:16 +00:00
### v0.8.19 (2023-05-25)
* Maintenance: Upgrade dependencies
2023-04-22 20:03:53 +00:00
### v0.8.18 (2023-04-22)
* Fix: fix mv command for files when output does not exist #319 (thanks @burrbull)
* Maintenance: Replace math evaluation crate to evalexpr
* Fix: fix array_contains command
### v0.8.17 (2023-01-21)
* Enhancement: New zip/unzip commands #294 (thanks @Red-Teapot)
2023-01-21 17:03:01 +00:00
* Maintenance: Upgrade dependencies
### v0.8.16 (2022-10-17)
* Fix: watchdog command support for unlimited retries
2022-10-05 12:26:34 +00:00
### v0.8.15 (2022-10-05)
* Enhancement: Runtime - Add parser::parse_text_with_source_file #273 (thanks @coolreader18)
2022-08-06 17:21:17 +00:00
### v0.8.14 (2022-08-06)
2022-08-06 16:31:47 +00:00
* Maintenance: Runtime - Update dependencies
* Maintenance: Migrate from unmaintained ftp crate to suppaftp fork
2022-08-06 16:31:47 +00:00
2022-07-21 09:15:42 +00:00
### v0.8.13 (2022-07-21)
* Enhancement: Runtime - Enable to clone duckscript context #253 (thanks waterlens)
* Enhancement: Support both native TLS via openssl and pure rust TLS #258 (thanks @jirutka)
2022-05-25 15:44:10 +00:00
### v0.8.12 (2022-05-25)
* Enhancement: Add support for stdin input passing to child process in exec, watchdog and spawn commands #247
2022-05-25 15:44:10 +00:00
* Enhancement: Replace native TLS support via openssl with pure rust TLS
2022-05-25 14:33:03 +00:00
* Update dependencies
2022-04-20 08:03:36 +00:00
### v0.8.11 (2022-04-20)
2022-02-13 15:32:46 +00:00
* Fix: Runtime - fix control characters '\' parsing and expansion #237
2022-02-13 15:32:46 +00:00
* Enhancement: New get_file_size/filesize command #222
2022-04-20 07:16:27 +00:00
* Enhancement: Add include hidden files option for gitignore_path_array command #236 (thanks @Blightbuster)
2022-02-13 15:32:46 +00:00
### v0.8.10 (2021-12-10)
2021-12-10 13:15:14 +00:00
* New SDK and cli tls feature to enable usage without tls support (by default enabled)
2021-12-10 13:15:14 +00:00
* Update dependencies
2021-11-01 14:59:06 +00:00
### v0.8.9 (2021-11-01)
* Fix publish flow
* Update docs
### v0.8.8 (2021-11-01)
* New print and println commands which support styled output (color and style) #203
2021-09-21 14:05:26 +00:00
### v0.8.7 (2021-09-21)
* New digest command #196
* New sha256sum command #196
* New sha512sum command #196
2021-09-21 14:05:26 +00:00
* SDK docs now escape github emojis
### v0.8.6 (2021-09-20)
* Fix glob_cp command to support absolute paths #197
2021-09-13 17:37:27 +00:00
### v0.8.5 (2021-09-13)
2021-09-13 15:41:26 +00:00
* New join_path command.
* New glob_cp command #192
* set_env command now accepts a map handle and sets all env vars from the map
2021-09-13 15:41:26 +00:00
### v0.8.4 (2021-21-07)
2021-07-23 12:48:57 +00:00
* New lowercase command #183 (thanks @asvln)
* New uppercase command #183 (thanks @asvln)
* New camelcase command #183 (thanks @asvln)
* New snakecase command #183 (thanks @asvln)
* New kebabcase command #183 (thanks @asvln)
* Docs - update --collection documentation for json_parse and json_encode commands #175
2021-07-09 22:44:33 +00:00
### v0.8.3 (2021-07-10)
2021-07-09 22:44:33 +00:00
* Fix release with recursive flag to support set data structures as well.
* New --collection flag to json_parse command which returns maps/arrays instead of variables #175
* New --collection flag to json_encode command which encodes maps/arrays instead of variables #175
2021-06-04 13:16:09 +00:00
### v0.8.2 (2021-06-04)
* Upgrade dependencies #179
2021-04-09 16:13:58 +00:00
### v0.8.1 (2021-04-09)
2021-04-09 15:48:25 +00:00
* New gitignore_path_array command
2021-03-08 22:56:31 +00:00
### v0.8.0 (2021-03-08)
* Runtime - \[Breaking Change\] Make script errors chainable.
### v0.7.4 (2021-03-05)
* Fix flow control commands scope handling of call info stack
2021-03-01 17:33:36 +00:00
### v0.7.3 (2021-03-01)
* New hex_decode and hex_encode command #166 (thanks @umaYnit)
2021-01-23 10:36:10 +00:00
### v0.7.2 (2021-01-23)
2020-12-21 09:38:53 +00:00
2021-01-20 16:57:57 +00:00
* rm command support for multiple paths.
2021-01-20 10:35:00 +00:00
* Fix: Command `rm` remove file with flag `-r` #158 (thanks @umaYnit)
2020-12-21 09:38:53 +00:00
* Upgraded rand 0.8
2020-12-13 19:05:48 +00:00
### v0.7.1 (2020-12-13)
* Checked in Cargo.lock to help linux distributions package the duckscript CLI #146
2020-12-13 19:05:48 +00:00
* Alpine linux installation instructions #148 (thanks @jirutka)
2020-11-26 10:59:06 +00:00
### v0.7.0 (2020-11-26)
* Runtime - \[Breaking Change\] Break with an error if exit code with non zero value #144
* Adding --silent flag for spawn command #142
2020-11-16 10:38:19 +00:00
### v0.6.9 (2020-10-16)
2020-11-15 12:25:27 +00:00
2020-11-15 14:01:00 +00:00
* New while loop command #138
2020-11-15 12:25:27 +00:00
* New linter CLI command #139
### v0.6.8 (2020-10-01)
* Runtime - Fix variable expansion and support single $ and % characters #132
2020-08-27 09:58:01 +00:00
### v0.6.7 (2020-08-27)
* New --get-exit-code flag for exec command #127
* New random_range and random_text commands #128
* New semver_parse, semver_is_equal and semver_is_newer commands #129
2020-08-27 09:10:11 +00:00
* New is_command_defined command #130
### v0.6.6 (2020-08-14)
* Bug fix in exec command with fail on error flag.
### v0.6.5 (2020-07-31)
* Bug fix in substring when using negative end index only.
2020-07-31 09:58:27 +00:00
### v0.6.4 (2020-07-31)
2020-07-28 16:53:57 +00:00
2020-07-30 06:53:27 +00:00
* New json_encode command #124
2020-07-28 16:53:57 +00:00
* New json_parse command #124
2020-07-31 09:31:27 +00:00
* New unset_all_vars command.
* Module level documentation #125
* test_file command is now documented and public.
2020-07-28 16:53:57 +00:00
2020-07-24 20:57:39 +00:00
### v0.6.3 (2020-07-24)
* Reduce rustc minimal version.
2020-07-24 16:26:35 +00:00
### v0.6.2 (2020-07-24)
2020-07-24 16:08:47 +00:00
* New function <scope> annotation #121
2020-07-24 15:19:16 +00:00
* New scope_pop_stack command #121
* New scope_push_stack command #121
2020-07-07 22:42:49 +00:00
### v0.6.1 (2020-07-08)
2020-07-07 21:25:27 +00:00
2020-07-07 22:24:11 +00:00
* New is_path_newer command.
2020-07-07 21:25:27 +00:00
* New get_last_modified_time command.
2020-07-03 11:34:07 +00:00
### v0.6.0 (2020-07-03)
2020-06-26 18:03:54 +00:00
* New ftp_put command.
* New fpt_put_in_memory command.
* New ftp_get command.
* New ftp_get_in_memory command.
2020-06-26 18:03:54 +00:00
* New ftp_list command.
* New ftp_nlst command.
2020-07-03 08:57:23 +00:00
* New noop command.
2020-07-02 18:21:13 +00:00
* \[Breaking Change\] Conditions to support function calls #116
2020-06-26 18:03:54 +00:00
2020-06-06 14:29:03 +00:00
### v0.5.0 (2020-06-06)
* Fixed end command bug which directed execution to wrong sub command when multiple script contexts are running #110
* Runtime - Fixed spread expansion with control characters #109
2020-06-05 12:48:14 +00:00
### v0.4.2 (2020-06-05)
* Fixed parsing issue for commands evaluated by other commands (for example if conditions)
2020-06-04 16:59:58 +00:00
### v0.4.1 (2020-06-04)
* New Enable to error an exec command via new --fail-on-error flag #108
2020-05-07 16:58:04 +00:00
### v0.4.0 (2020-05-07)
2020-05-02 11:24:54 +00:00
2020-05-07 16:29:32 +00:00
* New set_from_array command.
2020-05-06 16:23:40 +00:00
* New set_to_array command.
2020-05-06 07:42:26 +00:00
* New set_contains command.
* New set_remove command.
* New set_size command.
* New set_is_empty command.
* New set_put command.
* New set_clear command.
* Add array_size alias to array_length command.
2020-05-05 17:39:54 +00:00
* New array_remove command.
2020-05-05 06:33:27 +00:00
* New set_new command.
* New is_set command.
2020-05-04 07:23:12 +00:00
* New unset command.
2020-05-05 17:28:17 +00:00
* New array_clear command.
2020-05-04 06:46:35 +00:00
* New array_contains command.
2020-05-04 05:42:53 +00:00
* New map_contains_value command.
2020-05-03 20:57:59 +00:00
* New map_contains_key command.
2020-05-03 19:36:09 +00:00
* New get_all_var_names command #100
2020-05-02 11:24:54 +00:00
* New get_by_name command.
2020-05-02 12:13:27 +00:00
* New set_by_name command.
* Add array_add and array_put aliases to array_push
* Runtime - Support for hashset state value.
* \[Breaking Change\] Runtime - REPL mode doesn't stop due to crashes from user commands #103
2020-05-02 11:24:54 +00:00
2020-04-14 23:24:42 +00:00
### v0.3.3 (2020-04-15)
2020-04-14 07:29:53 +00:00
2020-04-14 22:55:58 +00:00
* New which command.
2020-04-14 22:15:34 +00:00
* New cpu_count command.
2020-04-14 13:51:24 +00:00
* New printenv command #97
2020-04-14 13:36:27 +00:00
* New env_to_map command #96
2020-04-14 11:07:04 +00:00
* New map_keys command.
2020-04-14 07:29:53 +00:00
* New temp_dir command.
* Runtime - Use default trait.
2020-04-04 12:37:03 +00:00
### v0.3.2 (2020-04-04)
2020-04-04 12:00:07 +00:00
2020-04-04 12:14:54 +00:00
* New array_set command.
2020-04-04 12:00:07 +00:00
* New array_get command #94
2020-03-28 14:43:16 +00:00
### v0.3.1 (2020-03-28)
* Bump cli version.
2020-03-13 22:23:09 +00:00
### v0.3.0 (2020-03-13)
2020-03-06 11:02:52 +00:00
2020-03-08 17:51:49 +00:00
* New remove_command command #91
* \[Breaking Change\] uname is now a new command and does not alias os_family command.
* New os_version command.
* New os_release command.
* New os_name command.
2020-03-07 19:10:05 +00:00
* New is_windows command.
2020-03-07 18:56:48 +00:00
* New glob_chmod command.
2020-03-07 17:52:23 +00:00
* New glob_array command #90
2020-03-06 15:57:00 +00:00
* New chmod command #19
2020-03-06 13:20:54 +00:00
* New is_readonly command.
2020-03-06 11:08:51 +00:00
* New is_path_exists command.
* New is_directory command.
* New is_file command.
2020-03-07 18:56:48 +00:00
* Runtime - Fix value expansion for control characters
2020-03-06 11:02:52 +00:00
2020-02-21 11:03:41 +00:00
### v0.2.1 (2020-02-21)
2020-02-17 21:59:57 +00:00
2020-02-19 18:19:12 +00:00
* New temp_file command #85
2020-02-19 17:56:54 +00:00
* New spawn command #87
2020-02-19 16:41:20 +00:00
* Update build makefile.
2020-02-19 17:56:54 +00:00
* Runtime - Add support for **Any** state type #86
2020-02-17 21:59:57 +00:00
* SDK - Use fsio crate for file system apis.
* Runtime - Use fsio crate for file system apis.
2020-02-06 17:07:38 +00:00
### v0.2.0 (2020-02-06)
2020-01-24 15:37:12 +00:00
2020-02-06 16:08:34 +00:00
* The if/else and not commands now support complex conditions #81
* Release command now support recursive option.
2020-02-01 14:22:11 +00:00
* New map_clear command.
2020-02-01 14:13:36 +00:00
* New map_to_properties command.
2020-02-01 13:44:18 +00:00
* New map_load_properties command.
2020-02-01 13:21:31 +00:00
* New map_is_empty command.
2020-02-01 11:52:13 +00:00
* New map_size command.
2020-02-01 11:35:37 +00:00
* New map_remove command.
2020-02-01 11:28:29 +00:00
* New is_map command.
2020-02-01 11:23:19 +00:00
* New map_get command.
* New map_put command.
2020-02-01 11:00:18 +00:00
* New map command.
* The set command now supports 'or' condition.
2020-01-31 14:05:30 +00:00
* New base64 command #79
* New write_binary_file command #78
* New read_binary_file command #78
2020-01-30 22:56:17 +00:00
* Rename read/write text file commands.
* New base64_decode command #75
* New base64_encode command #75
* New bytes_to_string command.
* New string_to_bytes command.
* Add prefix flag to write_properties command #77
2020-01-30 21:10:36 +00:00
* New split command #76
2020-01-26 21:26:25 +00:00
* New appendfile command.
2020-01-26 18:32:59 +00:00
* New watchdog command.
2020-01-26 14:43:55 +00:00
* New pid command #73
2020-01-25 17:29:26 +00:00
* New whoami command.
* Alias based command implementations are not checked for variable leaks.
2020-01-25 16:34:22 +00:00
* New get_home_dir command.
2020-01-25 16:23:19 +00:00
* New array_join command.
* The read_properties command now support **--prefix** flag.
2020-01-24 17:24:00 +00:00
* New array_concat command.
2020-01-24 16:45:15 +00:00
* New trigger_error command.
2020-01-24 16:20:19 +00:00
* New array_push command.
2020-01-24 15:45:36 +00:00
* New concat command.
* Improve wget input parsing.
* Modify full named commands.
* Prevent panic for wget and http_client on invalid non http URL input.
* Runtime - Supports byte array state storage
2020-01-24 15:37:12 +00:00
2020-01-24 10:26:57 +00:00
### v0.1.8 (2020-01-24)
2020-01-17 16:34:23 +00:00
* Move test directory command to public std namespace to enable duckscript unit testing
* Enable to clone commands
2020-01-23 19:37:16 +00:00
* Split wget and http_client command #66
2020-01-22 22:06:40 +00:00
* New array_pop command
* Commands created from duckscript now support help text and automatic scope clearing #69
* New clear_scope command #71
2020-01-22 20:28:55 +00:00
* New set_error command #68
2020-01-22 20:17:52 +00:00
* New is_array command #70
* Test errors in duckscript based tests will break build flow.
* New --version cli option.
* New version functions and commands for duckscript and duckscript SDK.
2020-01-18 17:36:26 +00:00
* New replace command.
2020-01-18 17:10:44 +00:00
* New current_time command.
* New greater_than and less_than commands.
* New wget (http_client) command #20
2020-01-17 16:34:23 +00:00
* Reduce binary executable size.
* Fix CLI help documentation.
2020-01-17 15:17:15 +00:00
### v0.1.7 (2020-01-17)
* Fixed runner to return an error if on_error requested crash or exit and not just end the script.
* \[Breaking Change\] Unalias can remove aliases not created from the alias command.
2020-01-17 10:39:50 +00:00
* New properties read/write commands #61
* Default command run implementation should crash and not error #63
* \[Breaking Change\] Invoking a command that does not exist should crash and not error
* cat command to support multiple files #62
* New debug commands (dump_instructions, dump_state, dump_variables) #58 #59 #60
* Running **duck** cli without arguments, stars up the repl mode #41 #42
2020-01-12 19:50:28 +00:00
### v0.1.6 (2020-01-12)
2020-01-12 18:05:47 +00:00
* \[Breaking Change\] Changed CLI executable from duckscript to duck
* function, forin and ifelse blocks to support generic end command #53
* duckscript cli now accepts inline script #40
* Unit test framework for internal SDK commands and full test suite #51
2020-01-10 16:19:31 +00:00
* New exit_on_error command #49
* Ability to write standard SDK commands with duckscript #50
* New array_is_empty command.
2020-01-12 18:05:47 +00:00
* \[Breaking Change\] assert commands should return 'crash' and stop execution #52
2020-01-08 23:58:42 +00:00
### v0.1.5 (2020-01-09)
2020-01-08 23:50:04 +00:00
* New array_length command
2020-01-12 18:05:47 +00:00
* \[Breaking Change\] ForIn accepts handle value not variable name
2020-01-08 23:21:06 +00:00
* New length command (strlen)
2020-01-08 23:11:10 +00:00
* New substring command #37
2020-01-08 22:29:21 +00:00
* New uname/os_family command #43
2020-01-12 18:05:47 +00:00
* \[Breaking Change\] Commands should accept empty string ("") inputs #47
* \[Breaking Change\] Support spread binding #46
2020-01-08 22:06:42 +00:00
* Command result of type error, will not break the script and instead call the on_error command #45
* New get_last_error, get_last_error_line and get_last_error_source commands #45
* New last_indexof command #36
* New indexof command #35
* Added 'quit' and 'q' aliases to exit command #44
* Added state 64 bit numeric value support #39
2020-01-12 18:05:47 +00:00
* \[Breaking Change\] Changed standard namespace to std from sdk #34
2020-01-05 17:46:17 +00:00
* New read command #33
2020-01-05 17:25:53 +00:00
* New hostname command #18
* New trim_start command #29
* New trim_end command #30
* New trim command
* New is_empty command
* New is_defined command
2020-01-05 17:02:42 +00:00
* New range command #32
2020-01-03 14:16:47 +00:00
### v0.1.4 (2020-01-03)
* New **contains** command #28
* New **ends_with** command #27
* New **starts_with** command #26
* New **equals** command #25
2020-01-03 15:31:30 +00:00
2020-01-03 14:16:47 +00:00
### v0.1.3 (2020-01-03)
2020-01-03 11:38:45 +00:00
* New **ls** command #9
2020-01-03 10:07:43 +00:00
* New **cp** command #7
2020-01-03 09:34:04 +00:00
* New **man** command #16
2020-01-03 08:17:05 +00:00
* New **calc** command #10
2020-01-02 22:40:24 +00:00
* New **unset_env** command #23
2020-01-02 22:32:48 +00:00
* New **mv** command #8
2020-01-02 19:35:06 +00:00
* New **rm** command #15
2020-01-02 17:03:26 +00:00
* New **rmdir** command #14
* New **assert_eq** command #22
2020-01-02 16:17:57 +00:00
* New **assert_fail** command #3
2020-01-02 15:48:13 +00:00
* New **assert** command #2
2020-01-01 19:40:19 +00:00
* New **touch** command #4
2020-01-01 19:09:57 +00:00
* New **dirname** command #6
* New **canonicalize** command #21
* New **basename** command #5
2020-01-01 18:33:55 +00:00
* New **mkdir** command #13
* New **not** command #12
### v0.1.0 (2019-12-30)
2019-12-30 10:45:28 +00:00
* Initial release