Commit
Also, remove unreleased/ entries. NO_DOC=changelog NO_TEST=changelog NO_CHANGELOG=changelog
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,162 @@ | ||
# 3.0.2 | ||
|
||
Date: 2024-04-16 | ||
Tag: 3.0.2 | ||
|
||
## Overview | ||
|
||
3.0.2 is the third [stable][release_policy] version of the 3.0 release | ||
series. It resolves 31 bugs since 3.0.1. | ||
|
||
The "stable" label means that we have all planned features implemented and we | ||
see no high-impact issues. However, if you encounter an issue, feel free to | ||
[report it][issues] on GitHub. | ||
|
||
[release_policy]: https://www.tarantool.io/en/doc/latest/release/policy/ | ||
[issues]: https://github.com/tarantool/tarantool/issues | ||
|
||
## Compatibility | ||
|
||
Tarantool 3.x is backward compatible with Tarantool 2.11.x in the binary data | ||
layout, client-server protocol, and replication protocol. | ||
|
||
Please [upgrade][upgrade] using the `box.schema.upgrade()` procedure to unlock | ||
all the new features of the 3.x series. | ||
|
||
[upgrade]: https://www.tarantool.io/en/doc/latest/book/admin/upgrades/ | ||
|
||
## Bugs fixed | ||
|
||
### Core | ||
|
||
* Fixed a bug when Tarantool could hang due to `box.watch` (gh-9632). | ||
* Fixed a crash on dropping a just accepted connection (gh-9717). | ||
* The error messages are no longer stripped (gh-4975). | ||
* Increased the maximum number of tuples in a hash index from 2147483648 (2^31) | ||
to 4294967288 (2^32 - 8) (gh-9864). | ||
* Now all triggers either have a direct impact on the execution flow (for | ||
example, closing a connection or throwing an error) or print a message to | ||
the error log when they throw an error (gh-9309). | ||
* The `exclude_null` option is now supported by functional indexes (gh-9732). | ||
* Fixed a memory leak when dropping fully-temporary spaces (gh-9296). | ||
* Fixed a bug that resulted in a crash when both MVCC and index with the | ||
`exclude_null` part were used (gh-9954). | ||
|
||
### Replication | ||
|
||
* Fixed a bug when replication broke with `ER_PROTOCOL` when transactions ended | ||
with a local space operation (gh-9491). | ||
* Fixed an issue when it was possible to use the | ||
`box_collect_confirmed_vclock` stack after return (gh-9505). | ||
|
||
### Raft | ||
|
||
* Now the leader resigns on the first encounter with the `ER_WAL_IO` | ||
write error (gh-9399). | ||
|
||
### LuaJIT | ||
|
||
Backported patches from the vanilla LuaJIT trunk (gh-9145, gh-9595). The | ||
following issues were fixed as part of this activity: | ||
|
||
* Limited exponent range in number parsing by `2^20`. | ||
* Fixed build with internal unwinding. | ||
* Fixed double-emitting of `IR_NEWREF` when restoring sunk values for side | ||
trace (gh-7937). | ||
* Fixed the `IR_HREFK` optimization for huge tables. | ||
* Fixed recording of the `__concat` metamethod. | ||
* Fixed the embedded bytecode loader. | ||
* Improved error reporting on stack overflow. | ||
* Fixed assertion on the Lua stack overflow for a stitched trace. | ||
* Fixed snapshoting of functions for non-base frames. | ||
* Fixed a crash in the allocator during sysprof profiling (gh-8140). | ||
* No side traces are recorded now after disabling the JIT via `jit.off()`. | ||
* Fixed handling of instable boolean types in TDUP load forwarding. | ||
* Fixed a crash during the restoration of the sunk `TNEW` with a huge array | ||
part. | ||
* Fixed stack-buffer-overflow for `string.format()` with `%g` modifier and | ||
length modifier. | ||
* Fixed recording of `setmetatable()` with `nil` as the second argument. | ||
* Fixed recording of `select()` in case with negative first argument. | ||
* Fixed use-def analysis for child upvalues. | ||
* Added the `cc` file type for saving bytecode. | ||
* Fixed C file generation in `jit.bcsave`. | ||
* Fixed trace error handling during trace stitching. | ||
* Fixed recording of the `__concat` metamethod for vararg or protected frames. | ||
* Fixed recording of a side trace returning to a lower frame with a maximum | ||
possible frame size. | ||
* Fixed `debug.setmetatable()` and `lua_setmetatable()` with enabled | ||
`jit.dump()`. | ||
* Fixed recording of side traces with a down-recursion. | ||
|
||
### Lua | ||
|
||
* Fixed a memory leak in `error_object:set_prev()` (gh-9694). | ||
* Fixed alias detection in the YAML encoder (gh-8350, gh-8310, gh-8321). | ||
* Fixed a regression that caused the `wait_connected = false` option of | ||
`net_box.connect` to yield, despite being required to be fully asynchronous | ||
(gh-9489). | ||
* Fixed a bug in `net.box` when a connection with asynchronous requests could | ||
get garbage collected (gh-9629). | ||
* Fixed an inconsistency between the documented `on_disconnect` trigger behavior | ||
of `net.box` connections when an error is thrown and the actual behavior | ||
(gh-9717). | ||
* Fixed a bug in the `on_disconnect` trigger of `net.box` connections that | ||
caused Tarantool server to hang indefinitely when an error was thrown from the | ||
trigger (gh-9797). | ||
* The `on_schema_reload` trigger behavior of `net.box` connections when an | ||
error is thrown is now consistent with the behavior of the `on_disconnect` | ||
trigger (gh-9679). | ||
* Fixed a bug when a `net.box` connection remained active after being closed | ||
from the connection's `on_connect` trigger (gh-9827). | ||
|
||
### Config | ||
|
||
* Fixed a bug when only one alert of a particular type is reported in | ||
`config:info().alerts` instead of several ones. Examples of such alerts are | ||
privilege grant delay due to a lack of a space/function/sequence and skipping | ||
of a non-dynamic `box.cfg()` option applies on the configuration reloading | ||
(gh-9586). | ||
* An alert regarding delayed privilege granting is now cleared when the | ||
privilege is granted (gh-9574). | ||
* Calling `require('config'):get()` in role code now returns the configuration | ||
that is currently applied (gh-9649). | ||
* The config status is now set after the `post_apply` phase (ghe-643). | ||
* A non-existent role can now be assigned in the `credential` section of | ||
the configuration (gh-9643). | ||
* Privileges that were not granted by the config module are no longer | ||
revoked by the config module (gh-9643). | ||
* Fixed a non-verbose error on an empty configuration file. | ||
Now Tarantool can successfully start up with an empty configuration | ||
file using data from other configuration sources (gh-9845). | ||
* Added additional validation to a cluster's configuration. | ||
Now it is forbidden to create an empty group or | ||
replicaset (gh-9895). | ||
* Added a subject URI to the error that is thrown on configuration | ||
verification (gh-9644). | ||
* Added a warning with the skipped (unsuitable) URI to replicaset | ||
and sharding configuration (gh-9644). | ||
|
||
### Datetime | ||
|
||
* Fixed a bug in `strptime` when the assertion was triggered (gh-8525). | ||
|
||
### Build | ||
|
||
* Fixed `package.cpath` for Debian based distros (gh-9580). | ||
|
||
## Testing | ||
|
||
* Bumped `metrics` submodule to commit `3370f85` to fix compatibility with | ||
`luatest` commit `d985997`. | ||
|
||
## Tools | ||
|
||
* `tarantoolctl` has been removed. Systemd, sysvinit and logrotate scripts | ||
based on it were also removed. All this functionality is covered by the `tt` | ||
utility. `tarantoolctl` is no longer available in official deb and rpm | ||
packages. This change will only affect the absence of tarantoolctl in future | ||
releases of tarball archives. (gh-9443). | ||
* Added the `--human-readable` option for the `misc.memprof` parser to print | ||
sizes like 1KiB, 234MiB, 2GiB, etc. | ||
Made the errors from the profilers more user-friendly (gh-9217). |
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.