|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) |
| 6 | +and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## Unreleased |
| 9 | + |
| 10 | +### Fixed |
| 11 | + |
| 12 | +- Duplicate id error with mvvc on put and take (#207). |
| 13 | + |
| 14 | +## [1.3.1] - 2023-07-31 |
| 15 | + |
| 16 | +### Fixed |
| 17 | + |
| 18 | +- Yield in the fifottl/utubettl queue drivers. |
| 19 | + |
| 20 | +## [1.3.0] - 2023-03-13 |
| 21 | + |
| 22 | +### Added |
| 23 | + |
| 24 | +- Possibility to get the module version. |
| 25 | + |
| 26 | +### Fixed |
| 27 | + |
| 28 | +- Bug when working with the replicaset (#202). |
| 29 | + |
| 30 | +## [1.2.5] - 2023-02-28 |
| 31 | + |
| 32 | +This is a technical release that should fix several problems in the |
| 33 | +repositories with packages that were caused by the mistaken creation |
| 34 | +of several tags (for this reason there are no 1.2.3 and 1.2.4 tags |
| 35 | +and corresponding packages in the repositories). |
| 36 | + |
| 37 | +## [1.2.2] - 2022-11-03 |
| 38 | + |
| 39 | +### Fixed |
| 40 | + |
| 41 | +- Excessive CPU consumption of the state fiber. |
| 42 | + |
| 43 | +## [1.2.1] - 2022-09-12 |
| 44 | + |
| 45 | +### Added |
| 46 | + |
| 47 | +- Rockspec publishing to CD. |
| 48 | + |
| 49 | +### Fixed |
| 50 | + |
| 51 | +- "replication" mode switching on tarantool < 2.2.1 |
| 52 | + |
| 53 | +## [1.2.0] - 2022-06-06 |
| 54 | + |
| 55 | +### Added |
| 56 | + |
| 57 | +- Master-replica switching support. |
| 58 | + Added the ability to use a queue in the master replica scheme. |
| 59 | + More information is available: |
| 60 | + https://github.com/tarantool/queue#queue-state-diagram |
| 61 | + https://github.com/tarantool/queue#queue-and-replication |
| 62 | +- Granting privilege to `statistics`, `put` and `truncate`. |
| 63 | + |
| 64 | +### Fixed |
| 65 | + |
| 66 | +- Work with "ttl" of buried task. |
| 67 | + Previously, if a task was "buried" after it was "taken" (and the task has a |
| 68 | + "ttr"), then the time when the "release" should occur (the "ttr" timer) will |
| 69 | + be interpreted as the end of the "ttl" timer and the task will be deleted. |
| 70 | + |
| 71 | +## [1.1.0] - 2020-12-25 |
| 72 | + |
| 73 | +### Added |
| 74 | + |
| 75 | +- "Shared sessions" was added to the queue. Previously, a connection to server |
| 76 | + was synonym of the queue session. Now the session has a unique UUID (returned |
| 77 | + by the "queue.identify()" method), and one session can have many connections. |
| 78 | + To connect to an existing session, call "queue.identify(uuid)" with the |
| 79 | + previously obtained UUID. |
| 80 | +- Possibility to work with tasks after reconnect. The queue module now provides |
| 81 | + the ability to set the `ttr` setting for sessions by |
| 82 | + `queue.cfg({ ttr = ttr_in_sec})`, which characterizes how long the logical |
| 83 | + session will exist after all active connections are closed. |
| 84 | + |
| 85 | +### Fixed |
| 86 | + |
| 87 | +- Custom driver registration after reboot. Previously, if a custom driver is |
| 88 | + registered after calling box.cfg() it causes a problem when the instance will |
| 89 | + be restarted. |
| 90 | + |
| 91 | +## [1.0.8] - 2020-10-17 |
| 92 | + |
| 93 | +### Added |
| 94 | + |
| 95 | +- The ability to start an instance with a loaded queue module in read-only |
| 96 | + mode. In this case, a start of the module will be delayed until the instance |
| 97 | + will be configured with read_only = false. Previously, when trying to |
| 98 | + initialize the queue module on an instance configured in ro mode, an error |
| 99 | + occurred: "ER_READONLY: Can't modify data because this instance is in |
| 100 | + read-only mode." See https://github.com/tarantool/queue#initialization for |
| 101 | + more details. |
| 102 | + |
| 103 | +## [1.0.7] - 2020-09-03 |
| 104 | + |
| 105 | +### Breaking changes |
| 106 | + |
| 107 | +- A check for a driver API implementation was added. Now, the consumer will be |
| 108 | + informed about the missing methods in the driver implementation (an error will |
| 109 | + be thrown). |
| 110 | + |
| 111 | +### Added |
| 112 | + |
| 113 | +- Notification about missing methods in the driver implementation (#126). |
| 114 | + |
| 115 | +### Fixed |
| 116 | + |
| 117 | +- The tasks releases on start for some drivers (utubettl, fifottl, |
| 118 | + limfifottl). Before, an attempt to release "taken" tasks on start lead to an |
| 119 | + error: "attempt to index local 'opts' (a nil value)" (#121). |
| 120 | + |
| 121 | +### Changed |
| 122 | + |
| 123 | +- Updated the requirements for the "delete" driver method. Now, the method |
| 124 | + should change the state of a task to "done". Before, it was duplicated by |
| 125 | + external code. |
| 126 | + |
| 127 | +## [1.0.6] - 2020-02-29 |
| 128 | + |
| 129 | +### Breaking changes |
| 130 | + |
| 131 | +External drivers should be updated with the new `tasks_by_state()` method. |
| 132 | +Consider the example from the `fifo` driver: |
| 133 | + |
| 134 | +```lua |
| 135 | +-- get iterator to tasks in a certain state |
| 136 | +function method.tasks_by_state(self, task_state) |
| 137 | + return self.space.index.status:pairs(task_state) |
| 138 | +end |
| 139 | +``` |
| 140 | + |
| 141 | +The example uses 'status' secondary index, which is built on top of 'status' |
| 142 | +and 'task_id' fields. |
| 143 | + |
| 144 | +This new method is necessary to correctly manage state of tasks: when tarantool |
| 145 | +instance is restarted we should release all taken tasks (otherwise they would |
| 146 | +stuck in the taken state forever). See #66 and #126 for more information. |
| 147 | + |
| 148 | +### Fixed |
| 149 | + |
| 150 | +- Releasing tasks at a client disconnection (#103). |
| 151 | +- Optimize statistics build (-15% in some cases) (#92). |
| 152 | +- Release all taken tasks at start (#66). |
| 153 | +- Don't take tasks during a client disconnection (#104). |
0 commit comments