Журнал изменений¶
Versioning policy¶
Версия Tarantool Enterprise SDK состоит из двух частей:
<TARANTOOL_BASE_VERSION>-r<REVISION>
Например: 2.6.1-0-gcfe0d1a55-r362
.
TARANTOOL_BASE_VERSION
– это версия Community, на которой основана версия Enterprise.REVISION
– это версия SDK. Помимо самого Tarantool, в ней содержатся примеры, шаблоны и набор библиотек rocks.
563¶
553¶
549¶
- Updated
tarantool-2.10
to 2.10.6.
545¶
- Updated
tarantool-2.11
to 2.11.0-rc2.
543¶
- Added the
tarantool-2.11
submodule.
542¶
- Updated
tarantool-1.10
to 1.10.15.
541¶
- Updated
tarantool-master
to3.0.0-entrypoint
.
540¶
- Updated
tarantool-2.10
to 2.10.5.
538¶
- Updated
tarantool-2.8
to apply 2 hotfixes.
537¶
- Fix non-interactive installation of the
brew
package. - Changed the owner of the
/usr/local/bin
directory. - Installed
awscli@1
instead ofawscli
since it takes much less time.
536¶
- Added the missing property
2.10
for scopeCACHE
in CMakeLists.txt.
533¶
- Use runners with label
regular
for builds and the tagged release workflow.
532¶
531¶
- Added the
-DENABLE_LTO=ON
flag for tarantool-ee@master branch to CMakeLists.txt
530¶
- Upgraded devtoolset from 8 to 9. It was required for upgrading ld from 2.30 to 2.31+ for LTO.
529¶
- Updated tarantool’s master branch to a recent revision.
528¶
- Fixed code style in the Linux and macOS workflows.
527¶
- Reliably install packages in macOS builds.
526¶
- Refactored the way that GC64 builds are defined in the build workflow. There are no changes to the composition of resulting bundles.
525¶
- Adde alerting failures in builds on stable branches and integration testing to VK Teams chats.
524¶
- Updated to fresh tarantool master (
2.11.0-entrypoint-107-ga18449d
)
522¶
- Outdated workflow runs are now canceled to save CI time.
520¶
Release SDK by tags:
- Run workflow in SDK docker container.
- Upload SDK files for 1.10, 2.8, 2.10 versions to release folder.
- Add consistency check for all versions.
519¶
- On feature branches, SDK is now rebuilt only on relevant changes.
r516¶
- Updated bundled OpenSSL to version 1.1.1q.
r515¶
- Removed support of Tarantool 2.7.
- Started using
tarantool/actions/prepare-checkout
to make builds more stable.
r514¶
- Remove the local registry and setup using GitHub registry.
- Sync rocks cache to s3 and back.
- Setup using shared runners.
- Refactor and format
ci-linux.yml
andci-macos.yml
.
r513¶
- Removed kafka 1.5.0 due to a build issue with Tarantool 2.10.3 and higher.
- Updated kafka to version 1.6.2.
r511¶
- Enabled parallel build of rocks for macOS in CI.
r510¶
- Updated Tarantool to 2.10.3.
- Added a readable error for the case when the flight recoder fails
to write data due to insufficient free space on the disk device.
Previously, it was sending a
SIGBUS
error (gh-196). - Fixed a crash in the flight recorder caused by non-thread-safe log recording from multiple threads (gh-226).
r502¶
r498¶
- Updated Tarantool to 2.10.1.
- Updated Cyrus SASL to version 2.1.28.
- Updated OpenLDAP to version 2.5.13.
- Updated LZ4 to version 1.9.3. Fixed CVE-2021-3520.
- Fixed replication reconnect failure after disabling SSL encryption (gh-137).
- Fixed a crash that occurred while tyring to start an instance that has a compressed memtx space (gh-171).
- Fixed CVE-2022-29242 in GOST SSL engine.
- Fixed a bug in the flight recorder reader implementation that resulted in a hang or error while trying to open an empty section (gh-187).
r467¶
Breaking changes¶
- Default audit log format was changed to CSV.
Functionality added or changed¶
Enterprise¶
- Implemented user-defined audit events. Now it’s possible to log custom messages to the audit log from Lua (gh-65).
- [Breaking change] Switched the default audit log format to CSV. The
format can be switched back to JSON using the new
box.cfg.audit_format
configuration option (gh-66). - Implemented the audit log filter. Now, it’s possible to enable logging only
for a subset of all audit events using the new
box.cfg.audit_filter
configuration option (gh-67).
Core¶
- Implement constraints and foreign keys. Now a user can create function constraints and foreign key relations (gh-6436).
- Changed log level of some information messages from critical to info (gh-4675).
- Added predefined system events:
box.status
,box.id
,box.election
andbox.schema
(gh-6260). - Introduced transaction isolation levels in Lua and IPROTO (gh-6930).
Vinyl¶
- Disabled the deferred DELETE optimization in Vinyl to avoid possible
performance degradation of secondary index reads. Now, to enable the
optimization, one has to set the
defer_deletes
flag in space options (gh-4501).
Datetime¶
Build¶
- Added bundling of GNU libunwind to support backtrace feature on AARCH64 architecture and distributives that don’t provide libunwind package.
- Re-enabled backtrace feature for all RHEL distributions by default, except for AARCH64 architecture and ancient GCC versions, which lack compiler features required for backtrace (gh-4611).
Bugs fixed¶
Enterprise¶
- Disabled audit log unless explicitly configured (gh-39). Before this change,
audit events were written to stderr if
box.cfg.audit_log
wasn’t set. Now, audit log is disabled in this case. - Disabled audit logging of replicated events (gh-59). Now, replicated events (for example, user creation) are logged only on the origin, never on a replica.
Core¶
- Banned DDL operations in space on_replace triggers, since they could lead to a crash (gh-6920).
- Fixed a bug due to which all fibers created with
fiber_attr_setstacksize()
leaked until the thread exit. Their stacks also leaked except whenfiber_set_joinable(..., true)
was used. - Fixed a crash in mvcc connected with secondary index conflict (gh-6452).
- Fixed a bug which resulted in wrong space count (gh-6421).
- Select in RO transaction now reads confirmed data, like a standalone (auotcommit) select does (gh-6452).
Replication¶
- Fixed potential obsolete data write in synchronious replication due to race in accessing terms while disk write operation is in progress and not yet completed.
- Fixed replicas failing to bootstrap when master is just re-started (gh-6966).
Lua¶
- Fixed the behavior of tarantool console on SIGINT. Now Ctrl+C discards the current input and prints the new prompt (gh-2717).
Triggers¶
Datetime¶
Intervals received after datetime arithmetic operations may be improperly normalized if result was negative
tarantool> date.now() - date.now() --- - -1.000026000 seconds ...
I.e. 2 immediately called
date.now()
produce very close values, whose difference should be close to 0, not 1 second (gh-6882).
r457¶
- Fixed some binary protocol encryption bugs.
r455¶
- Added binary protocol encryption.
- Added tuple field compression.