New
We have just released CSML v1.9.0! Although this release mostly comes with internal improvements, there are a number of new features that we would like to highlight here.
New Parser
In this release we have entirely redesigned the language parser, which comes with massive performance improvements (up to x100 parsing speed in very large files). The syntax remains the same, but CSML developers working on large chatbots will definitely love it!
New String and Array methods
We have added a few useful helpers to the String and Array types:
String.trim()
,String.trim_start()
andString.trim_end()
will help with removing whitespace at the beginning or end of any stringArray.init(n)
generates a new array of lengthn
Array.append(items)
adds an array of items at the end of an arrayArray.reverse()
reverses an array
You can read more about String and Array methods on the CSML docs.
New timezones support
The Time() helper function can now also convert time between UTC and various timezones!
do UTC = Time()
do paris = UTC.to_timezone("Europe/Paris")
New ARM / Mac M1 builds
ARM-based architectures are trending, and we made the necessary improvements to natively support those! All our builds are now compatible with ARM machines, even with Docker. If you are using one of our pre-built binaries (available on the Github release page), make sure to select the right version for your architecture!
New log
command
For those running CSML on their own machine rather than on CSML Studio, you may be interested in the new log
verb that allows you (in conjunction with the CSML_LOG_LEVEL
environment variable) to print debug data to the logging output file of your setup.
The new syntax goes as follows:
log [level] "message"
Allowed levels
are trace, debug, info, warn, error. By default, CSML_LOG_LEVEL
is set on error
level, but you can also disable it by setting it to an empty string like so CSML_LOG_LEVEL=
.
(This feature is not available to CSML Studio users, as the server logs are not publicly accessible)