[24.2.1] - 2024-03-20 SQL - Introduce stored procedures: ```sql CREATE PROCEDURE my_proc(int, text) LANGUAGE SQL AS $$ INSERT INTO my_table VALUES($1, $2) $$; CALL my_proc(42, 'the answer'); SELECT * FROM my_table; ``` - The following new queries are supported: ``` CREATE PROCEDURE DROP PROCEDURE CALL PROCEDURE ALTER PROCEDURE ... RENAME TO GRANT ... ON PROCEDURE REVOKE ... ON PROCEDURE ALTER USER ... RENAME TO ``` Security - All inter-instance communications now occur under `pico_service` builtin user. The user is secured with a password in a file provided in `picodata run --service-password-file` command-line option - New requirements on password complexity — enforce uppercase, lowercase, digits, special symbols Implementation details - Make RPC API the main communication interface, see [Architecture — RPC API]. Lua API is deprecated and will be removed soon [Architecture — RPC API]: https://docs.picodata.io/picodata/devel/architecture/rpc_api/ Compatibility - System table `_pico_role` was deleted - System table `_pico_user` format changed, a new field `type` was added (_string_, `"user" | "role"`) - The current version is NOT compatible with prior releases. It cannot be started with the old snapshots