All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Add configurable manifest.yaml.template path for build helper
- Bump Rust toolchain from 1.85 to 1.93
- Add optional
--with_auditflag topike run, explicitly enabling audit log. - Add support for FreeBSD OS
- Add Prometheus to depencencies in plugin template
- Bump Picodata version to 25.5.2 in plugin template
- Support running SQL scripts before plugin installation
- Support running external plugins without a parent plugin project
- Add
--archive-nameoption toplugin pack - Add validation of picodata.yaml config
- Add
--picodata-pathoption toconfig applycommand - Add optional
--no-buildflag toplugin packcommand
- Bump Picodata version to 25.4.2 in plugin template
- Bump Picotest version to 1.8.1 in plugin template
- Default archive name in 'plugin pack' now includes OS identifier. Please, ignore this release to keep backward compatibility or update to 3.0.0.
- Add
--with-web-authflag to pike run, explicitly enabling WebUI authentication - Add plugin lifecycle smoke test in plugin template
- Archive naming now includes OS identifier and variant:
<name>_<version>-<osid>_<variant>.tar.gz - OS detection for
plugin pack:- Linux: parsing
/etc/os-release - macOS:
sw_vers - Rolling distro handling
- Linux: parsing
- Previous archive name
<name>-<version>.tar.gzreplaced by new format including OS suffix
- If
VERSION_IDis missing for a non‑rolling distro, the variant becomesunknown - For known rolling distros without
VERSION_IDthe variant becomesrolling
- use env variables for ipv4 addresses if they are set and cli arguments are not provided
- honorable mention in AUTHORS
- waiting for leader id to be negotiated before enabling plugins
- waiting for node Online state before enabling plugins
- with the help of added checks for leader id and node online status, cluster no longer dies with "RAFT proposal dropped" error
- Support running/stopping specific instance
- fix CI trigger
- Add ability to set external path for plugins
- support stopping of specific cluster instance
- Add ability to pass config in run command
- Add start alias for run command
- Remove traceback print on run failure
- Better logs for clean and stop
- Check if cluster is already up during run command
- Improve error message for clean if there is no data dir
- Consider plugin name from Cargo.toml while packing plugin
- Fix log output in apply config command
- Add feature signal for nix
- Repair log output in apply config command
- Bump Picodata version from 25.1.2 to 25.2.1
- Bump Picodata version from 25.1.1 to 25.1.2 (665bfd2)
- Add rpc handle test to template (15e353b)
- Remove Option from Service config in template (841f0e9)
- Rename main service to example_service (5e98601)
- Add human readable error if Picodata not found (709ba2d)
- Pid and kill not found in nix package (b1307e8)
- Improve plugin template (add rpc, http endpoints) (9379788, 655dd63)
- Add handling for picodata admin failure (54ddee2)
- Method to return all properties of PicodataInstance (49629da)
- Changed visibility of method for receiving pg port (98ad2e0)
- Access to pg_port of picodata test instance (9062690)
- Implement
entercommand (7908f36) - Add
--plugin-pathflag for clean command (bca646d) - Add
--no-buildflag to pike run (4a730d4) - Add warnings for alien field in
topology.toml(1f42af5)
- Fix apply config for service with dash in name (16b674c)
- Rename plugin tarball (6296765)
- Run build if assets or migrations were changed (a5d4b8ab)
- Support adding custom assets under desired names (921dec0)
- Bind http port on 0.0.0.0 (4b92057a)
- Move all necessary files to the root folder of the workspace (fa293fc9)
- Invert version check. This change gives us ability to run pike with picodata version > 25.1 (3b6b608)
- Get names of instances from cluster (8fcf671a)
- Accelerated cluster launch (8fcf671a)
- Move built files in archive into plugin_name/version subfolder (0d96cea0)
- Pass replication_factor to cluster config (d32c364c)
- Support passing plugin config as a map to the "config apply" command API (a2a1a8b)
- Sort migration files, before inserting into
manifest.yaml(fc01dca)
- Remove required minimal rust version for Pike (7a7d730)
- Update pike version in template (aa2d3cf)
- Remove unused dependencies from template (aa2d3cf)
- Change pike dependency source in template (b33fc168)
- Move to
25.1.1Picodata version, renameconfig.yamltopicodata.yaml(90468b15) - Plugin pack command now saves the plugin archive in
release/debugfolder (36b20b3f) - Change
topology.tomlformat:tiersrenamed totier,instancesrenamed toreplicasets. Add new sectionplugin. (678f1c17)
- Implement
plugin addcommand for workspaces (789c9664) - Support working with multiple plugins and custom assets (98f7ac8e)
- Expose
PicodataInstanceobject (3bd69626) - Run Pike without a plugin directory (2138e00b)
- Add hints when running Pike in the wrong folder (d7785a13)
- Pass topology as a structure in library function (f9478c33)
- Add
--plugin-pathparameter torun/stop/pack/buildcommands (403ae68a)
- Set the latest version for Cargo resolver in template (09cde0a0)
- Clean plugin folder from trash in workspaces (67ed7f79)
- Update Rust version (568b75c6)
- Improve
runcommand behavior:- Add daemon mode (0cd689e9)
- Improve logs (d07baf58)
- Write logs to files per instance (d07baf58)
- Add colored instance name prefix in stdout logs (d07baf58)
- Improve
Ctrl+Chandling for proper shutdown (701be745) - Enhance error handling during instance stop (d233a74d)
- Forward output from
picodata admininconfig applycommand (05bae132)
- Adjust
config applyfor workspaces (a22a7adf) - Fix
picodata.yamlcopying to workspace root (d7b7edb3) - Fix query for migration variables apply (e07fc8da)
- Fix handling of bad args check in
config applytests (90a0818d) - Fix
--target-dirflag behavior inpackcommand (7691788a)
This is the first public release of the project.