Releases: hazelcast/hazelcast-commandline-client
v5.5.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.5.0 are below.
New Features
There are no new features in this release.
Fixes
- Fixed: demo generate-data wikipedia-event-stream command doesn't progress 448.
- Updated [go-git](https://github.com/go-git/go-git to v5.13.2). That fixes CVE-2025-21613. Note that CLC doesn't run any servers, so this CVE is not exploitable in any version of CLC.
- Updated golang.org/x/crypto to v0.41.0. That fixes CVE-2024-45337. Note that CLC doesn't run any servers, so this CVE is not exploitable in any version of CLC.
- Updated builder to Go version 1.25. That fixes CVE-2025-22871. Note that CLC doesn't run any servers, so this CVE is not exploitable in any version of CLC.
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 createtemplate 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.
--forceflag is ignored forjob cancelcommand.
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-setdeletedestroygetputremoveset
Added the following advanced script functions for the CPMap:
cpmap_compare_and_setcpmap_deletecpmap_destroycpmap_getcpmap_putcpmap_removecpmap_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 viridiancommands are renamed toclc cloud.clc viridianis set an alias toclc cloud.clc config importcommand is renamed toclc config import-cloud.clc config importis an alias toclc config import-cloud.map unlockwas 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
scriptcommand is renamed toscript run.- Project creator uses the
defaultsfield intemplate.yamlinstead of thedefaults.yaml. - Template name is optional with
clc project createcommand. A selector is displayed if the template name is not specified. clc viridian download-logscommand outputs all log paths instead of the parent directory.- The behaviour of
clc compact serializerwas improved. multi-mapis renamed tomultimap.atomic-longwas renamed toatomiclong.- Advanced script time duration constants were renamed to the corresponding uppercase name:
NANOSECONDMICROSECONDMILLISECONDSECONDMINUTEHOURDAY
New Features
AtomicRef Support
Added the following atomicreference commands:
clearcompare-and-setcontainsdestroygetget-and-setis-nullset
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) -> Clusterlist_clusters() -> list(Cluster)delete_cluster(cluster:id | name | Cluster)get_cluster(cluster:id | name | Cluster) -> Clusterimport_config(cluster:id | name | Cluster, name='') -> pathstop_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) -> pathdelete_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:
idnamecluster_typestatedesired_statecreation_timestart_timeclient_counthot_backup_enabledhot_restart_enabledip_white_list_enabled
Add viridian_custom_class type with the following attributes:
idnamestatustemporary_idgenerated_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) -> pathconfig_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() -> pathversion() -> stringwrite(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 listcommand. - Added the
sqladvanced script command. - Added the
filetemplate action, which can read from a file with an extension of.yaml,.jsonor.txt. - Added the
\exitand\echocommands. These commands are available in the script and interactive modes. See the echo and exit command documentation. - Added
--waitflag toviridiancommands. - Added the ability to change the interactive mode prompt and banner. See the def topic.
Improvements
clc demo map-setmanycommand shows a progress bar and is faster for small values.\echocommand 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
\dicommand panics when indexes for a map cannot be retrieved.- Removed the extra
OKline inconfig list. - Restored the
--formatflag tohomeandversioncommands. - Fixed column names produced by advanced script
outputfunction. - Fixed
timeanddateactions 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:
clearcompare-and-setcontainsgetget-and-setis-nullset
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) -> Clusterlist_clusters() -> list(Cluster)delete_cluster(cluster:id | name | Cluster)get_cluster(cluster:id | name | Cluster) -> Clusterimport_config(cluster:id | name | Cluster, name='') -> pathstop_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) -> pathdelete_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:
idnamecluster_typestatedesired_statecreation_timestart_timeclient_counthot_backup_enabledhot_restart_enabledip_white_list_enabled
Add viridian_custom_class type with the following attributes:
idnamestatustemporary_idgenerated_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) -> pathconfig_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() -> pathversion() -> stringwrite(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 listcommand.
Breaking Changes
scriptcommand 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-logscommand 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
\echocommand takes 0 or more arguments.
Fixes
- Fixed column names produced by advanced script
outputfunction. - Fixed
timeanddateactions 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
sqladvanced script command. - Added the
filetemplate action which can read from a file with one of the extensions:.yaml,.jsonor.txt. - Added the
\exitand\echocommands. These commands are available in the script and interactive modes. See: echo and exit command documentation. - Added
--waitflag toviridiancommands. - Added the ability to change the interactive mode prompt and banner. See: def.
Improvements
clc demo map-setmanycommand shows a progress bar and it is faster for small values.
Changes
- Project creator uses the
defaultsfield intemplate.yamlinstead of thedefaults.yaml.
Fixes
\dicommand panics when indexes for a map cannot be retrieved.- Removed the extra
OKline inconfig list. - Restored the
--formatflag tohomeandversioncommands.
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
scriptsdirectory for example scripts. - CLC now supports loading the
shell.clcscript on startup in the interactive mode.shell.clcmust be in$CLC_HOME. You can find the$CLC_HGMEusingclc homecommand. - 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 mapcreates an alias to list Maps in the cluster. In order to make the aliases permanent, you can put them in theshell.clcfile. Check out the Alias documentation. - Added the
map entry-viewcommand. 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 submitcommand to deduce the job ID. clc template listcan show all repositories in an organization.- Added the
--sourceflag toclc project createandclc template listcommands. This flag enables using templates outside of thehazelcast-templatesorganiation. - Added
clc_homeplaceholder to Project Creator templates. - Added
repeatandeachactions to the Project Creator templates. - Compact Serializer does not overwrite generated files and displays a prompt. Use the
--yesflag to aloways overwrite generated fiels. - Compact Serializer does not produce code that dependes on the
Notnullannotation. - Compact Serializer respects the
namespacefield when generating the path. The final path is derived from the value of--output-dirflag and the namespace.
Changes
- Table format is the default format for all commands except
versionandhome. In order to use the delimited mode, you can append-f delimitedflag to your command line. - Moved
clc project list-templatescommand 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
.keepsuffix in the Project Creator. - Fixed Compect Serializer generated files should not have their execute bits set.