Releases: hazelcast/hazelcast-commandline-client
v5.5.0
Release Notes
On Linux/macOS you can install or update to the latest version of CLC using the following command:
curl https://hazelcast.com/clc/install.sh | bash
We provide an installer for Windows 10 and 11.
Note that this is a binary-only release.
The changes since v5.4.1 are below.
New Features
There are no new features in this release.
Fixes
- Made
project create
template update process more robust.
v5.4.1
Release Notes
On Linux/macOS you can install or update to the latest version of CLC using the following command:
curl https://hazelcast.com/clc/install.sh | bash
We provide an installer for Windows 10 and 11.
Note that this is a binary-only release.
The changes since v5.4.0 are below.
New Features
There are no new features in this release.
Fixes
- Custom template actions aren't loaded when a template is cloned initially.
--force
flag is ignored forjob cancel
command.
v5.4.0
Release Notes
On Linux/macOS you can install or update to the latest version of CLC using the following command:
curl https://hazelcast.com/clc/install.sh | bash
We provide an installer for Windows 10 and 11.
Note that this is a binary-only release.
The changes since v5.3.7 are below.
New Features
CPMap
Hazelcast CPMap is a distributed implementation of a minimal key-value interface.
This release adds support for the CPMap data structures.
Note that CPMap is an Hazelcast Enterprise feature.
Added the following cpmap
commands:
compare-and-set
delete
destroy
get
put
remove
set
Added the following advanced script functions for the CPMap:
cpmap_compare_and_set
cpmap_delete
cpmap_destroy
cpmap_get
cpmap_put
cpmap_remove
cpmap_set
Changes
- Removed the ability to run scripts over HTTP.
v5.3.7
Release Notes
On Linux/macOS you can install or update to the latest version of CLC using the following command:
curl https://hazelcast.com/clc/install.sh | bash
We provide an installer for Windows 10 and 11.
Note that this is a binary-only release.
The changes since v5.3.6 are below.
New Features
Configuration
Hazelcast Java Client XML Configuration (Beta)
We have added the clc config import-java
command that imports a subset of the Java client configuration and associated keystore/trustore files.
Refer to the documentation for the clc config import-java command for more information about this command.
Project Creator
Custom Template Actions
You can now define custom template actions using advanced scripts.
Refer to the Custom Template Actions section for more information about this feature.
Success Note
You can add a success note when a project is created successfully.
Refer to the Success Note section for more information about this feature.
Changes
- Viridian is renamed to Hazelcast Cloud.
clc viridian
commands are renamed toclc cloud
.clc viridian
is set an alias toclc cloud
.clc config import
command is renamed toclc config import-cloud
.clc config import
is an alias toclc config import-cloud
.map unlock
was available to the non-interactive mode in the previous version. This is changed to be available to interactive/scripting modes only.
v5.3.6
Release Notes
On Linux/macOS you can install or update to the latest version of CLC using the following command:
curl https://hazelcast.com/clc/install.sh | bash
We provide an installer for Windows 10 and 11.
Note that this is a binary-only release.
The changes since v5.3.5 are below.
Breaking Changes
script
command is renamed toscript run
.- Project creator uses the
defaults
field intemplate.yaml
instead of thedefaults.yaml
. - Template name is optional with
clc project create
command. A selector is displayed if the template name is not specified. clc viridian download-logs
command outputs all log paths instead of the parent directory.- The behaviour of
clc compact serializer
was improved. multi-map
is renamed tomultimap
.atomic-long
was renamed toatomiclong
.- Advanced script time duration constants were renamed to the corresponding uppercase name:
NANOSECOND
MICROSECOND
MILLISECOND
SECOND
MINUTE
HOUR
DAY
New Features
AtomicRef Support
Added the following atomicreference
commands:
clear
compare-and-set
contains
destroy
get
get-and-set
is-null
set
The following advanced script functions are also supported:
atomicreference_clear(name='default')
atomicreference_compare_and_set(expected:any, value:any, name='default')
atomicreference_contains(value:any, name='default')
atomicreference_destroy(name='default')
atomicreference_get(name='default')
atomicreference_get_and_set(value:any, name='default')
atomicreference_is_null(name='default')
atomicreference_set(value:any, name='default')
Viridian Advanced Script Functions
Added the viridian_api
type.
Create an instance using Viridian(API_KEY)
.
The type has the following methods:
create_cluster(name:string, development=False, prerelease=False, wait=False) -> Cluster
list_clusters() -> list(Cluster)
delete_cluster(cluster:id | name | Cluster)
get_cluster(cluster:id | name | Cluster) -> Cluster
import_config(cluster:id | name | Cluster, name='') -> path
stop_cluster(cluster:id | name | Cluster, wait=False)
resume_cluster(cluster:id | name | Cluster, wait=False)
list_custom_classes(cluster:id | name | Cluster) -> list(Class)
upload_custom_class(cluster:id | name | Cluster, path:string, wait=False)
download_custom_class(cluster:id | name | Cluster, artifact:any, output_path:string) -> path
delete_custom_class(cluster:id | name | Cluster, artifact_id:any, wait=False)
download_logs(cluster:id | name | Cluster, dir:string) -> list(path)
Added the viridian_cluster
type with the following attributes:
id
name
cluster_type
state
desired_state
creation_time
start_time
client_count
hot_backup_enabled
hot_restart_enabled
ip_white_list_enabled
Add viridian_custom_class
type with the following attributes:
id
name
status
temporary_id
generated_filename
Job Advanced Script Functions
job_submit(path:string, params:string*, name='', snapshot='', class_name='')
job_list(include_sql=False, include_user_cancelled=False) -> list(dict)
job_cancel(job_name_or_id:string, force=False)
job_restart(job_name_or_id:string, force=False)
job_suspend(job_name_or_id:string, force=False)
job_resume(job_name_or_id:string)
job_export_snapshot(job_name_or_id:string, name:string, cancel=False)
Snapshot Advanced Script Functions
snapshot_list() -> list(dict)
snapshot_delete(name:string)
Configuration Advanced Script Functions
config_add(config_name_or_path:string, config:dict) -> path
config_list() -> list(config_name)
List Advanced Script Functions
list_add(value:any, name='default', index=0)
list_clear(name='default')
list_contains(value:any, name='default')
list_destroy(name='default')
list_remove_index(index:int, name='default')
list_remove_value(value:any, name='default')
list_set(index:int, value:any, name='default')
list_size(name='default')
MultiMap Advanced Script Functions
multimap_clear(name='default')
multimap_destroy(name='default')
multimap_entry_set(name='default')
multimap_get(key:any, name='default')
multimap_key_set(name='default')
multimap_lock(key:any, name='default', ttl=-1)
multimap_put(key:any, value:any, name='default')
multimap_remove(key:any, name='default')
multimap_size(name='default')
multimap_try_lock(key:any, name='default', ttl=-1)
multimap_unlock(key:any, name='default')
multimap_values(name='default')
Queue Advanced Script Functions
queue_clear(name='default')
queue_destroy(name='default')
queue_offer(value:any*, name='default')
queue_poll(name='default')
queue_size(name='default')
Topic Advanced Script Functions
topic_destroy(name='default')
topic_publish(value:any+, name='default')
Other Advanvced Script Functions
object_list(dds:string?, show_hidden=False) -> list(object_name) | list(service_name, object_name)
exit(code:int)
home() -> path
version() -> string
write(value:any, location:string, format='')
read(location:string, format='default')
write_data(data:data, location:string)
read_data(location:string)
decode_data(value:data)
Other Features
- Added doc strings support to advanced scripts. All lines starting with
# doc:
are doc strings. - Added
script list
command. - Added the
sql
advanced script command. - Added the
file
template action, which can read from a file with an extension of.yaml
,.json
or.txt
. - Added the
\exit
and\echo
commands. These commands are available in the script and interactive modes. See the echo and exit command documentation. - Added
--wait
flag toviridian
commands. - Added the ability to change the interactive mode prompt and banner. See the def topic.
Improvements
clc demo map-setmany
command shows a progress bar and is faster for small values.\echo
command takes 0 or more arguments.- Viridian commands display an API key selector if more than one API keys exists.
- Viridian cluster list is paged.
Fixes
\di
command panics when indexes for a map cannot be retrieved.- Removed the extra
OK
line inconfig list
. - Restored the
--format
flag tohome
andversion
commands. - Fixed column names produced by advanced script
output
function. - Fixed
time
anddate
actions in templates. - Fixed the prompt suffix.
v5.3.6-PREVIEW3
Release Notes
On Linux/macOS you can install or update to the latest version of CLC using the following command:
curl https://hazelcast.com/clc/install.sh | bash -s -- --beta
We provide an installer for Windows 10 and 11.
Note that this is a binary-only release.
The changes since v5.3.6-PREVIEW2 are below.
New Features
AtomicRef support
Added the following atomicref
commands:
clear
compare-and-set
contains
get
get-and-set
is-null
set
The following advanced script functions are also supported:
atomicref_clear(name='default')
atomicref_compare_and_set(expected:any, value:any, name='default')
atomicref_contains(value:any, name='default')
atomicref_get(name='default')
atomicref_get_and_set(value:any, name='default')
atomicref_is_null(name='default')
atomicref_set(value:any, name='default')
Viridian advanced script functions
Added the viridian_api
type.
Create an instance using Viridian(API_KEY)
.
The type has the following methods:
create_cluster(name:string, development=False, prerelease=False, wait=False) -> Cluster
list_clusters() -> list(Cluster)
delete_cluster(cluster:id | name | Cluster)
get_cluster(cluster:id | name | Cluster) -> Cluster
import_config(cluster:id | name | Cluster, name='') -> path
stop_cluster(cluster:id | name | Cluster, wait=False)
resume_cluster(cluster:id | name | Cluster, wait=False)
list_custom_classes(cluster:id | name | Cluster) -> list(Class)
upload_custom_class(cluster:id | name | Cluster, path:string, wait=False)
download_custom_class(cluster:id | name | Cluster, artifact:any, output_path:string) -> path
delete_custom_class(cluster:id | name | Cluster, artifact_id:any, wait=False)
download_logs(cluster:id | name | Cluster, dir:string) -> list(path)
Added the viridian_cluster
type with the following attributes:
id
name
cluster_type
state
desired_state
creation_time
start_time
client_count
hot_backup_enabled
hot_restart_enabled
ip_white_list_enabled
Add viridian_custom_class
type with the following attributes:
id
name
status
temporary_id
generated_filename
Job advanced script functions
job_submit(path:string, params:string*, name='', snapshot='', class_name='')
job_list(include_sql=False, include_user_cancelled=False) -> list(dict)
job_cancel(job_name_or_id:string, force=False)
job_restart(job_name_or_id:string, force=False)
job_suspend(job_name_or_id:string, force=False)
job_resume(job_name_or_id:string)
job_export_snapshot(job_name_or_id:string, name:string, cancel=False)
Snapshot advanced script functions
snapshot_list() -> list(dict)
snapshot_delete(name:string)
Configuration advanced script functions
config_add(config_name_or_path:string, config:dict) -> path
config_list() -> list(config_name)
List advanced script functions
list_add(value:any, name='default', index=0)
list_clear(name='default')
list_contains(value:any, name='default')
list_destroy(name='default')
list_remove_index(index:int, name='default')
list_remove_value(value:any, name='default')
list_set(index:int, value:any, name='default')
list_size(name='default')
MultiMap advanced script functions
multimap_clear(name='default')
multimap_destroy(name='default')
multimap_entry_set(name='default')
multimap_get(key:any, name='default')
multimap_key_set(name='default')
multimap_lock(key:any, name='default', ttl=-1)
multimap_put(key:any, value:any, name='default')
multimap_remove(key:any, name='default')
multimap_size(name='default')
multimap_try_lock(key:any, name='default', ttl=-1)
multimap_unlock(key:any, name='default')
multimap_values(name='default')
Queue advanced script functions
queue_clear(name='default')
queue_destroy(name='default')
queue_offer(value:any*, name='default')
queue_poll(name='default')
queue_size(name='default')
Topic advanced script functions
topic_destroy(name='default')
topic_publish(value:any+, name='default')
Other advanvced script functions
object_list(dds:string?, show_hidden=False) -> list(object_name) | list(service_name, object_name)
exit(code:int)
home() -> path
version() -> string
write(value:any, location:string, format='')
read(location:string, format='default')
write_data(data:data, location:string)
read_data(location:string)
decode_data(value:data)
Other features
- Added doc strings support to advanced scripts. All lines starting with
# doc:
are doc strings. - Added
script list
command.
Breaking Changes
script
command is renamed toscript run
.
Improvements
- If you have more than one Viridian API key, a selector is displayed unless ab API key wasn't specified.
viridian download-logs
command returns the list of all log paths.- The alias list list alphabeically sorted.
Fixes
- Fixed CP group names for
atomic-long
.
v5.3.6-PREVIEW2
Release Notes
On Linux/macOS you can install or update to the latest version of CLC using the following command:
curl https://hazelcast.com/clc/install.sh | bash -s -- --beta
We provide an installer for Windows 10 and 11.
Note that this is a binary-only release.
The changes since v5.3.6-PREVIEW1 are below.
Improvements
\echo
command takes 0 or more arguments.
Fixes
- Fixed column names produced by advanced script
output
function. - Fixed
time
anddate
actions in templates. - Fixed the prompt suffix.
v5.3.6-PREVIEW1
Release Notes
On Linux/macOS you can install or update to the latest version of CLC using the following command:
curl https://hazelcast.com/clc/install.sh | bash -s -- --beta
We provide an installer for Windows 10 and 11.
Note that this is a binary-only release.
The new features and changes since v5.3.5 are below.
New Features
- Added the
sql
advanced script command. - Added the
file
template action which can read from a file with one of the extensions:.yaml
,.json
or.txt
. - Added the
\exit
and\echo
commands. These commands are available in the script and interactive modes. See: echo and exit command documentation. - Added
--wait
flag toviridian
commands. - Added the ability to change the interactive mode prompt and banner. See: def.
Improvements
clc demo map-setmany
command shows a progress bar and it is faster for small values.
Changes
- Project creator uses the
defaults
field intemplate.yaml
instead of thedefaults.yaml
.
Fixes
\di
command panics when indexes for a map cannot be retrieved.- Removed the extra
OK
line inconfig list
. - Restored the
--format
flag tohome
andversion
commands.
v5.3.5
Release Notes
On Linux/macOS you can install or update to the latest version of CLC using the following command:
curl https://hazelcast.com/clc/install.sh | bash
We provide an installer for Windows 10 and 11.
Note that this is a binary-only release.
The new features and changes since v5.3.4 are below.
New Features
- Added the Advanced Scripting as a BETA future. Advanced Scripting enables writing the scripts in a Python-like language. The following commands are available with this release: Advanced Script. Check out the
scripts
directory for example scripts. - CLC now supports loading the
shell.clc
script on startup in the interactive mode.shell.clc
must be in$CLC_HOME
. You can find the$CLC_HGME
usingclc home
command. - Added the ability to define "aliases" in the interactive or script modes. An alias, like the shell aliases, enable you to create shortcuts for your CLC commands. For example:
\alias maps -- \\object list map
creates an alias to list Maps in the cluster. In order to make the aliases permanent, you can put them in theshell.clc
file. Check out the Alias documentation. - Added the
map entry-view
command. Check out the entry-view documentation.
Improvements
- Improved configuration selector.
- If there's a single configuration, do not display the configuration selector and use that configuration automatically.
- Updated
job submit
command to deduce the job ID. clc template list
can show all repositories in an organization.- Added the
--source
flag toclc project create
andclc template list
commands. This flag enables using templates outside of thehazelcast-templates
organiation. - Added
clc_home
placeholder to Project Creator templates. - Added
repeat
andeach
actions to the Project Creator templates. - Compact Serializer does not overwrite generated files and displays a prompt. Use the
--yes
flag to aloways overwrite generated fiels. - Compact Serializer does not produce code that dependes on the
Notnull
annotation. - Compact Serializer respects the
namespace
field when generating the path. The final path is derived from the value of--output-dir
flag and the namespace.
Changes
- Table format is the default format for all commands except
version
andhome
. In order to use the delimited mode, you can append-f delimited
flag to your command line. - Moved
clc project list-templates
command toclc template list
. The behaviour of the command didn't change. - Compact serializer creates only the serializer classes.
- We've changed our logging implementation, so CLC logs appear slighlty different. You can find your log directory using
clc home logs
.
Fixes
- Fixed Project Creator template update.
- Fixed copying hidden directories with the
.keep
suffix in the Project Creator. - Fixed Compect Serializer generated files should not have their execute bits set.
v5.3.4
Release Notes
This is the seventh stable release of Hazelcast CLC.
Note that this is a binary-only release.
The new features and changes since v5.3.3 are below.
New Features
- Added the
serializer generate
command that creates Java Compact Serialization classess from the given schema. - Added an update checker which displays a notification in the interactive mode. You can disable it by setting the
CLC_SKIP_SERVER_VERSION_CHECK
to1
. - In order to make an informed decision about CLC improvements and features, we started to collect non-identifiable telemetry. You can disable this by setting
HZ_PHONE_HOME_ENABLED
environment variable tofalse
. You can find more information in the Phone Homes documentation. - CLC can now be installed using an install script on Linux and macOS systems. Just run
curl https://hazelcast.com/clc/install.sh | bash
.
Improvements
- Improved configuration selector.
- If there's a single configuration, do not display the configuration selector and use that configuration automatically.
- Updated
job submit
command to deduce the job ID.
Changes
- Confirmation is required from the user when
demo generate-data
command runs.
Fixes
- CLC interactive prompt doesn't change after config wizard.
- Readline panic in the interactive mode if terminal width cannot be determined and left arrow is pressed.
- Map proxy is created when a
map
command is used. - "connecting to cluster" prompt is not shown when
object list
command runs. - Fixed
list add
command.