Version 0.4.0 (Boysenberry)
Environments
-
Added support for multiple environments, which allows users to store data for different purposes (i.e. staging vs production) separately while managing them with the same Concourse Server. Users are automatically connected to a configurable
default_environment
(concourse.prefs) if none is specified at login. Alternatively, users can connect to or dynamically create a new environment by-
using the new
Concourse#connect(host, port, username, password, environment)
orConcourse#connect(environment)
login methods, -
adding
environment = <name>
to theconcourse_client.prefs
file and using theConcourse#connect()
or ``Concourse#connect(host, port, username, password)` login methods, or -
specifying an environment name using the
-e
flag when launching CaSH like:$ ./cash -e production
-
-
Added support for specifying environments using the
-e
flag to applicable server-side management CLIs (i.e.dumptool
) and theimport
CLI. -
Added support for specifying environments with the
ConnectionPool
API. -
Improved the CaSH prompt to display the current environment like:
production/cash$
API
-
Added a
Criteria
building feature that allows users to programatically create complex queries with multiple clauses and groups. This is particularly helpful when programming in an IDE that offers code completion. -
Added a method to the
Convert
utility class to transform a JSON formatted string into a multimapping of keys to appropriate Java primitives. -
Added new core API methods:
browse
returns a complete view of all the data presently or historically associated with a either a record or a key.chronologize
returns a chronological series of all the values for a key in a record over time.clear
now has an option to atomically remove all the data contained in an entire record.find
now has an option to process a complexCriteria
using a single network call.insert
writes serveral key/value mappings from a JSON encoded string into one or more records with a single network call.
-
Added
LINKS_TO
Operator (aliased aslnk2
in CaSH) to make it easy to include links in find criteria. For example, the following statements are equivalent:concourse.find("foo", Operator.LINKS_TO, 1); concourse.find("foo", Operator.EQUALS, Links.to(1));
-
Added a new
Tag
datatype for the purpose of storing a string value without performing full text search indexing. ATag
can be created programatically using theTag#create
method and in CaSH using thetag()
alias.
Usability
- Improved the usability of the
useradmin
CLI and deprecated the--grant
and--revoke
options. - Added requirement that new passwords be 3 or more characters long.
- Improved the
dumptool
CLI to list dumpable storage units by default if no-i
or--id
argument is specified. As a result the--list
flag is now deprecated since it is unnecessary. - Added logic to terminate a CaSH session if a relevant security change occurs.
- Improved readability of log files by removing redundant information from log messages.
- Added the optional installation of the
concourse
andcash
scripts to the$PATH
via/usr/local/bin
during installation or upgrade so that they can be invoked from any location. - Added the optional symlinking of the server log files to
/var/log/concourse
during installation or upgrade.
Bug Fixes
- Fixed an issue that prevented strings from being sorted in a case insensitive manner.
- Fixed a bug that causes some historical queries to return incorrect results.
Miscellaneous
- Added a framework to securely migrate stored data to new formats when upgrading Concourse Server.
- Improved the CPU efficiency of the background indexing process.
- Changed the startup script to use
.concourse.conf
instead ofconcourse.conf
for configuration. - Updated CaSH documentation.