ChangeLog - tsafin/tarantool GitHub Wiki
Tarantool is an in-memory database and application server. It's compatible with Lua 5.1 so you can use plain Lua rocks as Tarantool packages. It has fiber execution model, which allows you to extend the database with custom application logic. It provides a number of own packages (see http://rocks.tarantool.org) based on Tarantool plugin API.
Date released: 2016-02-25
1.6.8 is a maintenance release in 1.6.x series.
Release tag is 1.6.8-525-ga571ac0
- Tarantool 1.6.8 fully supports ARMv7 and ARMv8 (aarch64)* processors. Now it is possible to use Tarantool on a wide range of consumer devices, starting from popular Raspberry PI 2 to coin-size embedded boards and no-name mini-micro-nano-PCs, #1153.
- Tuple comparator functions were optimized, providing up to 30% performance boost when an index key consists of 2, 3 or more parts, #969.
- Tuple allocator changes give another 15% performance improvement, #1298.
- Replication relay performance was improved by reducing the amount of data directory re-scans, #1150.
- A random delay was introduced into snapshot daemon, reducing the chance that multiple instances take a snapshot at the same time, #732.
- Sophia storage engine was upgraded to v2.1 (please note incompatible changes below):
- serializable Snapshot Isolation (SSI),
- RAM storage mode,
- anti-cache storage mode,
- persistent caching storage mode,
- implemented AMQ Filter,
- LRU mode,
- separate compression for hot and cold data,
- snapshot implementation for Faster Recovery,
- upsert reorganizations and fixes,
- new performance metrics.
- #1219 Allow to remove servers with non-zero LSN from _cluster space.
- #1183 net.box now automatically reloads space and index definitions.
- #1311 The maximal number of indexes in space was increased to 128.
-
#1264
New native
systemd
configuration with support of instance management and daemon supervision (CentOS 7 and Fedora 22+ only). Please note Incompatible changes below). - Tarantool package was accepted to the official [Fedora repositories] (https://apps.fedoraproject.org/packages/tarantool).
- Tarantool brew formula (OS X) was accepted to the official Homebrew repository
- Clang compiler support was added on FreeBSD, #786.
- Support for musl libc, used by Alpine Linux and Docker images, was added, #1249.
- Added support for GCC 6.0.
- Ubuntu Wily, Xenial and Fedora 22, 23 and 24 are now supported distributions for which we build official packages.
- box.info.cluster.uuid can be used to retrieve cluster UUID, #1117.
- numerous improvements in the documentation, added documentation for 'syslog', 'clock', 'fiber.storage' packages, updated the built-in tutorial, * aarch64 qemu works well, but we don't have real hardware to check.
- IPROTO: call returns wrong tuple #291,
- box.snapshot() aborts if the server is out of file descriptors #1094,
- fix replication JOIN with Sophia engine #1239,
- fix UPSERT with Sophia engine #1162,
- fix stack overflow in Sophia on FreeBSD and/or OS X #1217 #1337,
- box.once() now waits before the server enters RW mode #1075,
- fixed a crash in matras_touch() on TREE index #1185,
- index:count() is now O(1) #1323,
- box.tuple.new() segmentation fault on out of memory #1345,
- Sophia segfault if key is NULL #1280,
- tostring() is buggy for numbers #1279,
- box.schema.user.drop('test', { if_exists = true }) doesn't work #1266,
- missing call to setgroups() before setuid() #1263,
- assertion
vclock_has(vclock, server_id)
on attempt to JOIN read-only master #1230, - Lua global variables were used snapshot_daemon.lua #1218,
- crash tarantool on load CSV #1208,
- release allocated memory after OutOfMemory error #1145,
- address family not supported by protocol if localhost in uri #531,
- error message for display of a net.box result #1177,
- segmentation fault with bsize #1189,
- Permission denied on
tarantoolctl enter
#1293, - tarantoolctl fails to create /var/lib/tarantool/ directory on Debian #1246,
- upgrading tarantool should not lead to a restart #1119,
- require() failed to find libraries on Ubuntu/Debian with Multiarch #1085,
- improve YAML encoder and fix a crash on some binary data #883 #354 #1226,
- fix language normalization in box.schema.func.create #1090,
- fixes misleading error messages #1042 #1342 #1240.
A full list of fixed bugs is available at https://github.com/tarantool/tarantool/issues?q=milestone%3A1.6.8+is%3Aclosed
- Tarantool switched to a new Docker-based cloud build infrastructure. The new buildbot significantly decreases commit-to-package time. The official repositories at tarantool.org now contain the latest version of the server, rocks and connectors.
- The repositories at tarantool.org were moved to
- http://packagecloud.io cloud hosting (backed by Amazon AWS). Thanks to packagecloud.io for their support of open source!
-
memcached
- memcached text and binary protocol implementation for Tarantool. Turns Tarantool into a persistent memcached with master-master replication. -
migrate
- a Tarantool rock for migration from Tarantool 1.5 to 1.6 -
cqueues
, a Lua asynchronous networking, threading, and notification framework (contributed by daurnimator)
-
RPM packages for CentOS 7 / RHEL 7 and Fedora 22+ now use native systemd
configuration without legacy sysvinit shell scripts. Systemd provides its own
facilities for multi-instance management. To upgrade, please perform the
following steps:
- ensure that INSTANCENAME.lua file is present in
/etc/tarantool/instace.available
- stop INSTANCENAME using
tarantoolctl stop INSTANCENAME
- start INSTANCENAME using
systemctl start tarantool@INSTANCENAME
- enable INSTANCENAME during system boot using
systemctl enable trantool@INTANCENAME
- /etc/tarantool/instance.enabled directory is now deprecated for systemd-enabled platforms. Plesae refer to http://tarantool.org/doc/book/administration.html for additional information.
- ensure that INSTANCENAME.lua file is present in
- Sophia was upgraded to v2.1 to fix upsert, memory corruption and other bugs. Sophia v2.1 doesn't support old v1.1 data format. Please use Tarantool replication to upgrade. #1222
- Ubuntu Vivid, Fedora 20, Fedora 21 were deprecated due to EOL.
- i686 packages were deprecated. Please use our RPM and DEB specs to build these on your own infrastructure.
- Please update your
yum.repos.d
and/or aptsources.list.d
according to instructions at http://tarantool.org/download.html