Skip to content
Snippets Groups Projects
Commit 1bd766f7 authored by Yaroslav Dynnikov's avatar Yaroslav Dynnikov
Browse files

release: 23.06.0

parent 038f7b39
No related branches found
No related tags found
1 merge request!587Release 23.06.0
Pipeline #20025 canceled
......@@ -8,25 +8,28 @@ with the `YY.0M.MICRO` scheme.
<img src="https://img.shields.io/badge/calver-YY.0M.MICRO-22bfda.svg">
## Unreleased
## [23.06.0] - 2023-06-16
### Features
- Expose the Public Lua API `pico.*`. It's supplemented with a
built-in reference manual, see `pico.help()`.
- _Compare and Swap_ (CaS) is an algorithm that allows to combine Raft
operations with a predicate checking. Im makes read-write access to
global spaces serializable.
<!-- TODO: API docs link. -->
operations with a predicate checking. It makes read-write access to
global spaces serializable. See `pico.help('cas')`.
- _Clusterwide schema_ now allows to create global spaces. Their content
is replicated on every instance in the cluster.
<!-- TODO: API docs link. -->
- _Clusterwide schema_ now allows to create global and sharded spaces.
The content of global spaces is replicated to every instance in the
cluster. In sharded spaces the chuncs of data (buckets) are
distributed across different replicasets. See
`pico.help('create_space')`.
- _Raft log compaction_ allows stripping old raft log entries in order
to prevent its infinite growth.
<!-- TODO: API docs link. -->
to prevent its infinite growth. See `pico.help('raft_compact_log')`.
- Remove everything related to "migrations". They're superseeded with
"clusterwide schema" metioned above.
"clusterwide schema" mentioned above.
### CLI
......@@ -42,12 +45,10 @@ with the `YY.0M.MICRO` scheme.
### Implementation details
- Picodata automatically demotes Raft voters that go offline and
promotes a replacement. See [docs/topology.md] for more details.
Replicaset leadership is swiched too.
[docs/topology.md]: https://git.picodata.io/picodata/picodata/picodata/-/blob/310a773f3f/docs/topology.md#динамическое-переключение-голосующих-узлов-в-raft-raft-voter-failover
promotes a replacement. See docs/topology.md for more details.
Replicaset leadership is switched too.
## Compatibility
### Compatibility
- The current version is NOT compatible with prior releases. It cannot
be started with the old snapshots.
......@@ -73,7 +74,7 @@ with the `YY.0M.MICRO` scheme.
- Instances can now be _expelled_ in order to shrink the cluster.
## Compatibility
### Compatibility
- The current version is NOT compatible with `22.07.0`. It cannot be
started with the old snapshots.
......
......@@ -965,7 +965,7 @@ dependencies = [
[[package]]
name = "picodata"
version = "22.11.0"
version = "23.6.0"
dependencies = [
"bytes",
"clap",
......
[package]
name = "picodata"
version = "22.11.0"
version = "23.6.0"
edition = "2021"
autotests = false
rust-version = "1.65"
......
......@@ -4,4 +4,4 @@ description: Helm chart for Picodata.
type: application
version: 0.0.1
appVersion: "22.11.0.4"
appVersion: "23.06.0.4"
......@@ -13,7 +13,7 @@ use crate::replicaset::ReplicasetId;
use crate::util::Uppercase;
#[derive(Debug, Parser)]
#[clap(name = "picodata", version = "22.11.0")]
#[clap(name = "picodata", version = "23.06.0")]
pub enum Picodata {
Run(Run),
Tarantool(Tarantool),
......
......@@ -7,6 +7,7 @@ use crate::instance::InstanceId;
use crate::schema::{self, CreateSpaceParams};
use crate::traft::op::{self, Op};
use crate::traft::{self, node, RaftIndex};
use crate::util::str_eq;
use crate::{args, compare_and_swap, rpc, sync, tlog};
use ::tarantool::fiber;
use ::tarantool::tlua;
......@@ -41,10 +42,10 @@ pub(crate) fn setup(args: &args::Run) {
luamod_set(
&l,
"VERSION",
"PICODATA_VERSION",
indoc! {"
pico.VERSION
============
pico.PICODATA_VERSION
=====================
A string variable (not a function) contatining Picodata version
which follows the Calendar Versioning convention with the
......@@ -54,12 +55,39 @@ pub(crate) fn setup(args: &args::Run) {
Example:
picodata> pico.VERSION
picodata> pico.PICODATA_VERSION
---
- 23.06.0
...
"},
{
const _: () = assert!(str_eq(env!("CARGO_PKG_VERSION"), "23.6.0"));
"23.06.0"
},
);
luamod_set(
&l,
"LUA_API_VERSION",
indoc! {"
pico.LUA_API_VERSION
====================
A string variable (not a function) contatining version of the Lua API
which follows the Semantic Versioning convention:
https://semver.org/
The functions marked as Internal API only affect the PATCH version.
Example:
picodata> pico.LUA_API_VERSION
---
- 22.11.0
- 1.0.0
...
"},
env!("CARGO_PKG_VERSION"),
"1.0.0",
);
luamod_set(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment