diff --git a/docs/technical-details/release-notes/index.md b/docs/technical-details/release-notes/index.md deleted file mode 100644 index cb617f38..00000000 --- a/docs/technical-details/release-notes/index.md +++ /dev/null @@ -1,299 +0,0 @@ ---- -title: Release Notes ---- - -# Release Notes - -### Current Release - -[Meet Tucker](release-notes/v4-tucker/tucker) Our 4th Release Pup - -[4.7.0 Tucker](release-notes/v4-tucker/4.7.0) - -[4.6.6 Tucker](release-notes/v4-tucker/4.6.6) - -[4.6.5 Tucker](release-notes/v4-tucker/4.6.5) - -[4.6.4 Tucker](release-notes/v4-tucker/4.6.4) - -[4.6.3 Tucker](release-notes/v4-tucker/4.6.3) - -[4.6.2 Tucker](release-notes/v4-tucker/4.6.2) - -[4.6.1 Tucker](release-notes/v4-tucker/4.6.1) - -[4.6.0 Tucker](release-notes/v4-tucker/4.6.0) - -[4.5.23 Tucker](release-notes/v4-tucker/4.5.23) - -[4.5.22 Tucker](release-notes/v4-tucker/4.5.22) - -[4.5.21 Tucker](release-notes/v4-tucker/4.5.21) - -[4.5.20 Tucker](release-notes/v4-tucker/4.5.20) - -[4.5.19 Tucker](release-notes/v4-tucker/4.5.19) - -[4.5.18 Tucker](release-notes/v4-tucker/4.5.18) - -[4.5.17 Tucker](release-notes/v4-tucker/4.5.17) - -[4.5.16 Tucker](release-notes/v4-tucker/4.5.16) - -[4.5.15 Tucker](release-notes/v4-tucker/4.5.15) - -[4.5.14 Tucker](release-notes/v4-tucker/4.5.14) - -[4.5.14 Tucker](release-notes/v4-tucker/4.5.14) - -[4.5.13 Tucker](release-notes/v4-tucker/4.5.13) - -[4.5.12 Tucker](release-notes/v4-tucker/4.5.12) - -[4.5.11 Tucker](release-notes/v4-tucker/4.5.11) - -[4.5.10 Tucker](release-notes/v4-tucker/4.5.10) - -[4.5.9 Tucker](release-notes/v4-tucker/4.5.9) - -[4.5.8 Tucker](release-notes/v4-tucker/4.5.8) - -[4.5.7 Tucker](release-notes/v4-tucker/4.5.7) - -[4.5.6 Tucker](release-notes/v4-tucker/4.5.6) - -[4.5.5 Tucker](release-notes/v4-tucker/4.5.5) - -[4.5.4 Tucker](release-notes/v4-tucker/4.5.4) - -[4.5.3 Tucker](release-notes/v4-tucker/4.5.3) - -[4.5.2 Tucker](release-notes/v4-tucker/4.5.2) - -[4.5.1 Tucker](release-notes/v4-tucker/4.5.1) - -[4.5.0 Tucker](release-notes/v4-tucker/4.5.0) - -[4.4.24 Tucker](release-notes/v4-tucker/4.4.24) - -[4.4.23 Tucker](release-notes/v4-tucker/4.4.23) - -[4.4.22 Tucker](release-notes/v4-tucker/4.4.22) - -[4.4.21 Tucker](release-notes/v4-tucker/4.4.21) - -[4.4.20 Tucker](release-notes/v4-tucker/4.4.20) - -[4.4.19 Tucker](release-notes/v4-tucker/4.4.19) - -[4.4.21 Tucker](release-notes/v4-tucker/4.4.21) - -[4.4.20 Tucker](release-notes/v4-tucker/4.4.20) - -[4.4.19 Tucker](release-notes/v4-tucker/4.4.19) - -[4.4.18 Tucker](release-notes/v4-tucker/4.4.18) - -[4.4.17 Tucker](release-notes/v4-tucker/4.4.17) - -[4.4.16 Tucker](release-notes/v4-tucker/4.4.16) - -[4.4.15 Tucker](release-notes/v4-tucker/4.4.15) - -[4.4.14 Tucker](release-notes/v4-tucker/4.4.14) - -[4.4.13 Tucker](release-notes/v4-tucker/4.4.13) - -[4.4.12 Tucker](release-notes/v4-tucker/4.4.12) - -[4.4.11 Tucker](release-notes/v4-tucker/4.4.11) - -[4.4.10 Tucker](release-notes/v4-tucker/4.4.10) - -[4.4.9 Tucker](release-notes/v4-tucker/4.4.9) - -[4.4.8 Tucker](release-notes/v4-tucker/4.4.8) - -[4.4.7 Tucker](release-notes/v4-tucker/4.4.7) - -[4.4.6 Tucker](release-notes/v4-tucker/4.4.6) - -[4.4.5 Tucker](release-notes/v4-tucker/4.4.5) - -[4.4.4 Tucker](release-notes/v4-tucker/4.4.4) - -[4.4.4 Tucker](release-notes/v4-tucker/4.4.3) - -[4.4.2 Tucker](release-notes/v4-tucker/4.4.2) - -[4.4.1 Tucker](release-notes/v4-tucker/4.4.1) - -[4.4.0 Tucker](release-notes/v4-tucker/4.4.0) - -[4.3.38 Tucker](release-notes/v4-tucker/4.3.38) - -[4.3.37 Tucker](release-notes/v4-tucker/4.3.37) - -[4.3.36 Tucker](release-notes/v4-tucker/4.3.36) - -[4.3.35 Tucker](release-notes/v4-tucker/4.3.35) - -[4.3.34 Tucker](release-notes/v4-tucker/4.3.34) - -[4.3.33 Tucker](release-notes/v4-tucker/4.3.33) - -[4.3.32 Tucker](release-notes/v4-tucker/4.3.32) - -[4.3.31 Tucker](release-notes/v4-tucker/4.3.31) - -[4.3.30 Tucker](release-notes/v4-tucker/4.3.30) - -[4.3.29 Tucker](release-notes/v4-tucker/4.3.29) - -[4.3.28 Tucker](release-notes/v4-tucker/4.3.28) - -[4.3.27 Tucker](release-notes/v4-tucker/4.3.27) - -[4.3.26 Tucker](release-notes/v4-tucker/4.3.26) - -[4.3.25 Tucker](release-notes/v4-tucker/4.3.25) - -[4.3.24 Tucker](release-notes/v4-tucker/4.3.24) - -[4.3.23 Tucker](release-notes/v4-tucker/4.3.23) - -[4.3.22 Tucker](release-notes/v4-tucker/4.3.22) - -[4.3.21 Tucker](release-notes/v4-tucker/4.3.21) - -[4.3.20 Tucker](release-notes/v4-tucker/4.3.20) - -[4.3.19 Tucker](release-notes/v4-tucker/4.3.19) - -[4.3.18 Tucker](release-notes/v4-tucker/4.3.18) - -[4.3.17 Tucker](release-notes/v4-tucker/4.3.17) - -[4.3.16 Tucker](release-notes/v4-tucker/4.3.16) - -[4.3.15 Tucker](release-notes/v4-tucker/4.3.15) - -[4.3.14 Tucker](release-notes/v4-tucker/4.3.14) - -[4.3.13 Tucker](release-notes/v4-tucker/4.3.13) - -[4.3.12 Tucker](release-notes/v4-tucker/4.3.12) - -[4.3.11 Tucker](release-notes/v4-tucker/4.3.11) - -[4.3.10 Tucker](release-notes/v4-tucker/4.3.10) - -[4.3.9 Tucker](release-notes/v4-tucker/4.3.9) - -[4.3.8 Tucker](release-notes/v4-tucker/4.3.8) - -[4.3.7 Tucker](release-notes/v4-tucker/4.3.7) - -[4.3.6 Tucker](release-notes/v4-tucker/4.3.6) - -[4.3.5 Tucker](release-notes/v4-tucker/4.3.5) - -[4.3.4 Tucker](release-notes/v4-tucker/4.3.4) - -[4.3.3 Tucker](release-notes/v4-tucker/4.3.3) - -[4.3.2 Tucker](release-notes/v4-tucker/4.3.2) - -[4.3.1 Tucker](release-notes/v4-tucker/4.3.1) - -[4.3.0 Tucker](release-notes/v4-tucker/4.3.0) - -[4.2.8 Tucker](release-notes/v4-tucker/4.2.8) - -[4.2.7 Tucker](release-notes/v4-tucker/4.2.7) - -[4.2.6 Tucker](release-notes/v4-tucker/4.2.6) - -[4.2.5 Tucker](release-notes/v4-tucker/4.2.5) - -[4.2.4 Tucker](release-notes/v4-tucker/4.2.4) - -[4.2.3 Tucker](release-notes/v4-tucker/4.2.3) - -[4.2.2 Tucker](release-notes/v4-tucker/4.2.2) - -[4.2.1 Tucker](release-notes/v4-tucker/4.2.1) - -[4.2.0 Tucker](release-notes/v4-tucker/4.2.0) - -[4.1.2 Tucker](release-notes/v4-tucker/4.1.2) - -[4.1.1 Tucker](release-notes/v4-tucker/4.1.1) - -[4.1.0 Tucker](release-notes/v4-tucker/4.1.0) - -[4.0.7 Tucker](release-notes/v4-tucker/4.0.7) - -[4.0.6 Tucker](release-notes/v4-tucker/4.0.6) - -[4.0.5 Tucker](release-notes/v4-tucker/4.0.5) - -[4.0.4 Tucker](release-notes/v4-tucker/4.0.4) - -[4.0.3 Tucker](release-notes/v4-tucker/4.0.3) - -[4.0.2 Tucker](release-notes/v4-tucker/4.0.2) - -[4.0.1 Tucker](release-notes/v4-tucker/4.0.1) - -[4.0.0 Tucker](release-notes/v4-tucker/4.0.0) - -### Past Releases - -[Meet Monkey](release-notes/v3-monkey/) Our 3rd Release Pup - -[3.2.1 Monkey](release-notes/v3-monkey/3.2.1) - -[3.2.0 Monkey](release-notes/v3-monkey/3.2.0) - -[3.1.5 Monkey](release-notes/v3-monkey/3.1.5) - -[3.1.4 Monkey](release-notes/v3-monkey/3.1.4) - -[3.1.3 Monkey](release-notes/v3-monkey/3.1.3) - -[3.1.2 Monkey](release-notes/v3-monkey/3.1.2) - -[3.1.1 Monkey](release-notes/v3-monkey/3.1.1) - -[3.1.0 Monkey](release-notes/v3-monkey/3.1.0) - -[3.0.0 Monkey](release-notes/v3-monkey/3.0.0) - ---- - -[Meet Penny](release-notes/v2-penny/) Our 2nd Release Pup - -[2.3.1 Penny](release-notes/v2-penny/2.3.1) - -[2.3.0 Penny](release-notes/v2-penny/2.3.0) - -[2.2.3 Penny](release-notes/v2-penny/2.2.3) - -[2.2.2 Penny](release-notes/v2-penny/2.2.2) - -[2.2.0 Penny](release-notes/v2-penny/2.2.0) - -[2.1.1 Penny](release-notes/v2-penny/2.1.1) - ---- - -[Meet Alby](release-notes/v1-alby/) Our 1st Release Pup - -[1.3.1 Alby](release-notes/v1-alby/1.3.1) - -[1.3.0 Alby](release-notes/v1-alby/1.3.0) - -[1.2.0 Alby](release-notes/v1-alby/1.2.0) - -[1.1.0 Alby](release-notes/v1-alby/1.1.0) diff --git a/docs/technical-details/release-notes/v1-alby/1.1.0.md b/docs/technical-details/release-notes/v1-alby/1.1.0.md deleted file mode 100644 index 2256a825..00000000 --- a/docs/technical-details/release-notes/v1-alby/1.1.0.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: 1.1.0 -sidebar_position: 89899 ---- - -### HarperDB 1.1.0, Alby Release - -4/18/2018 - -**Features** - -- Users & Roles: - - Limit/Assign access to all HarperDB operations - - - Limit/Assign access to schemas, tables & attributes - - - Limit/Assign access to specific SQL operations (`INSERT`, `UPDATE`, `DELETE`, `SELECT`) - -- Enhanced SQL parser - - Added extensive ANSI SQL Support. - - Added Array function, which allows for converting relational data into Object/Hierarchical data - - `Distinct_Array` Function: allows for removing duplicates in the Array function. - - Enhanced SQL Validation: Improved validation around structure of SQL, validating the schema, etc.. - - 10x performance improvement on SQL statements. - -- Export Function: can now call a NoSQL/SQL search and have it export to CSV or JSON. - -- Added upgrade function to CLI - -- Added ability to perform bulk update from CSV - -- Created landing page for HarperDB. - -- Added CORS support to HarperDB - -**Fixes** - -- Fixed memory leak in CSV bulk loads - -- Corrected error when attempting to perform a `SQL DELETE` - -- Added further validation to NoSQL `UPDATE` to validate schema & table exist - -- Fixed install issue occurring when part of the install path does not exist, the install would silently fail. - -- Fixed issues with replicated data when one of the replicas is down - -- Removed logging of initial user’s credentials during install - -- Can now use reserved words as aliases in SQL - -- Removed user(s) password in results when calling `list_users` - -- Corrected forwarding of operations to other nodes in a cluster - -- Corrected lag in schema meta-data passing to other nodes in a cluster - -- Drop table & schema now move the table & schema or table to the trash folder under the Database folder for later permanent deletion. - -- Bulk inserts no longer halt the entire operation if n records already exist, instead the return includes the hashes of records that have been skipped. - -- Added ability to accept EULA from command line - -- Corrected `search_by_value` not searching on the correct attribute - -- Added ability to increase the timeout of a request by adding `SERVER_TIMEOUT_MS` to config/settings.js - -- Add error handling resulting from SQL calculations. - -- Standardized error responses as JSON. - -- Corrected internal process generation to not allow more processes than machine has cores. diff --git a/docs/technical-details/release-notes/v1-alby/1.2.0.md b/docs/technical-details/release-notes/v1-alby/1.2.0.md deleted file mode 100644 index a504a7ad..00000000 --- a/docs/technical-details/release-notes/v1-alby/1.2.0.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: 1.2.0 -sidebar_position: 89799 ---- - -### HarperDB 1.2.0, Alby Release - -7/10/2018 - -**Features** - -- Time to Live: Conserve the resources of your edge device by setting data on devices to live for a specific period of time. -- Geo: HarperDB has implemented turf.js into its SQL parser to enable geo based analytics. -- Jobs: CSV Data loads, Exports & Time to Live now all run as back ground jobs. -- Exports: Perform queries that export into JSON or CSV and save to disk or S3. - -**Fixes** - -- Fixed issue where CSV data loads incorrectly report number of records loaded. -- Added validation to stop `BETWEEN` operations in SQL. -- Updated logging to not include internal variables in the logs. -- Cleaned up `add_role` response to not include internal variables. -- Removed old and unused dependencies. -- Build out further unit tests and integration tests. -- Fixed https to handle certificates properly. -- Improved stability of clustering & replication. -- Corrected issue where Objects and Arrays were not casting properly in `SQL SELECT` response. -- Fixed issue where Blob text was not being returned from `SQL SELECT`s. -- Fixed error being returned when querying on table with no data, now correctly returns empty array. -- Improved performance in SQL when searching on exact values. -- Fixed error when ./harperdb stop is called. -- Fixed logging issue causing instability in installer. -- Fixed `read_log` operation to accept date time. -- Added permissions checking to `export_to_s3`. -- Added ability to run SQL on `SELECT` without a `FROM`. -- Fixed issue where updating a user’s password was not encrypting properly. -- Fixed `user_guide.html` to point to readme on git repo. -- Created option to have HarperDB run as a foreground process. -- Updated `user_info` to return the correct role for a user. -- Fixed issue where HarperDB would not stop if the database root was deleted. -- Corrected error message on insert if an invalid schema is provided. -- Added permissions checks for user & role operations. diff --git a/docs/technical-details/release-notes/v1-alby/1.3.0.md b/docs/technical-details/release-notes/v1-alby/1.3.0.md deleted file mode 100644 index e3a5215f..00000000 --- a/docs/technical-details/release-notes/v1-alby/1.3.0.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: 1.3.0 -sidebar_position: 89699 ---- - -### HarperDB 1.3.0, Alby Release - -11/2/2018 - -**Features** - -- Upgrade: Upgrade to newest version via command line. -- SQL Support: Added `IS NULL` for SQL parser. -- Added attribute validation to search operations. - -**Fixes** - -- Fixed `SELECT` calculations, i.e. `SELECT` 2+2. -- Fixed select OR not returning expected results. -- No longer allowing reserved words for schema and table names. -- Corrected process interruptions from improper SQL statements. -- Improved message handling between spawned processes that replace killed processes. -- Enhanced error handling for updates to tables that do not exist. -- Fixed error handling for NoSQL responses when `get_attributes` is provided with invalid attributes. -- Fixed issue with new columns not being updated properly in update statements. -- Now validating roles, tables and attributes when creating or updating roles. -- Fixed an issue where in some cases `undefined` was being returned after dropping a role diff --git a/docs/technical-details/release-notes/v1-alby/1.3.1.md b/docs/technical-details/release-notes/v1-alby/1.3.1.md deleted file mode 100644 index 56927389..00000000 --- a/docs/technical-details/release-notes/v1-alby/1.3.1.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: 1.3.1 -sidebar_position: 89698 ---- - -### HarperDB 1.3.1, Alby Release - -2/26/2019 - -**Features** - -- Clustering connection direction appointment -- Foundations for threading/multi processing -- UUID autogen for hash attributes that were not provided -- Added cluster status operation - -**Bug Fixes and Enhancements** - -- More logging -- Clustering communication enhancements -- Clustering queue ordering by timestamps -- Cluster re connection enhancements -- Number of system core(s) detection -- Node LTS (10.15) compatibility -- Update/Alter users enhancements -- General performance enhancements -- Warning is logged if different versions of harperdb are connected via clustering -- Fixed need to restart after user creation/alteration -- Fixed SQL error that occurred on selecting from an empty table diff --git a/docs/technical-details/release-notes/v1-alby/index.md b/docs/technical-details/release-notes/v1-alby/index.md deleted file mode 100644 index aad1de4d..00000000 --- a/docs/technical-details/release-notes/v1-alby/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: HarperDB Alby (Version 1) ---- - -# HarperDB Alby (Version 1) - -Did you know our release names are dedicated to employee pups? For our first release, Alby was our pup. - -Here is a bit about Alby: - -![picture of black dog](/dogs/alby.webp) - -_Hi, I am Alby. My mom is Kaylan Stock, Director of Marketing at HarperDB. I am a 9-year-old Great Dane mix who loves sun bathing, going for swims, and wreaking havoc on the local squirrels. My favorite snack is whatever you are eating, and I love a good butt scratch!_ diff --git a/docs/technical-details/release-notes/v2-penny/2.1.1.md b/docs/technical-details/release-notes/v2-penny/2.1.1.md deleted file mode 100644 index c59337d7..00000000 --- a/docs/technical-details/release-notes/v2-penny/2.1.1.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: 2.1.1 -sidebar_position: 79898 ---- - -### HarperDB 2.1.1, Penny Release - -05/22/2020 - -**Highlights** - -- CORE-1007 Added the ability to perform `SQL INSERT` & `UPDATE` with function calls & expressions on values. -- CORE-1023 Fixed minor bug in final SQL step incorrectly trying to translate ordinals to alias in `ORDER BY` statement. -- CORE-1020 Fixed bug allowing 'null' and 'undefined' string values to be passed in as valid hash values. -- CORE-1006 Added SQL functionality that enables `JOIN` statements across different schemas. -- CORE-1005 Implemented JSONata library to handle our JSON document search functionality in SQL, creating the `SEARCH_JSON` function. -- CORE-1009 Updated schema validation to allow all printable ASCII characters to be used in schema/table/attribute names, except, forward slashes and backticks. Same rules apply now for hash attribute values. -- CORE-1003 Fixed handling of ORDER BY statements with function aliases. -- CORE-1004 Fixed bug related to `SELECT*` on `JOIN` queries with table columns with the same name. -- CORE-996 Fixed an issue where the `transact_to_cluster` flag is lost for CSV URL loads, fixed an issue where new attributes created in CSV bulk load do not sync to the cluster. -- CORE-994 Added new operation `system_information`. This operation returns info & metrics for the OS, time, memory, cpu, disk, network. -- CORE-993 Added new custom date functions for AlaSQL & UTC updates. -- CORE-991 Changed jobs to spawn a new process which will run the intended job without impacting a main HarperDB process. -- CORE-992 HTTPS enabled by default. -- CORE-990 Updated `describe_table` to add the record count for the table for LMDB data storage. -- CORE-989 Killed the socket cluster processes prior to HarperDB processes to eliminate a false uptime. -- CORE-975 Updated time values set by SQL Date Functions to be in epoch format. -- CORE-974 Added date functions to `SQL SELECT` column alias functionality. diff --git a/docs/technical-details/release-notes/v2-penny/2.2.0.md b/docs/technical-details/release-notes/v2-penny/2.2.0.md deleted file mode 100644 index a669ca8b..00000000 --- a/docs/technical-details/release-notes/v2-penny/2.2.0.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: 2.2.0 -sidebar_position: 79799 ---- - -### HarperDB 2.2.0, Penny Release - -08/24/2020 - -**Features/Updates** - -- CORE-997 Updated the data format for CSV data loads being sync'd across a cluster to take up less resources -- CORE-1018 Adds SQL functionality for `BETWEEN` statements -- CORE-1032 Updates permissions to allow regular users (i.e. non-super users) to call the `get_job` operation -- CORE-1036 On create/drop table we auto create/drop the related transactions environments for the schema.table -- CORE-1042 Built raw functions to write to a tables transaction log for insert/update/delete operations -- CORE-1057 Implemented write transaction into lmdb create/update/delete functions -- CORE-1048 Adds `SEARCH` wildcard handling for role permissions standards -- CORE-1059 Added config setting to disable transaction logging for an instance -- CORE-1076 Adds permissions filter to describe operations -- CORE-1043 Change clustering catchup to use the new transaction log -- CORE-1052 Removed word "master" from source -- CORE-1061 Added new operation called `delete_transactions_before` this will tail a transaction log for a specific schema / table -- CORE-1040 On HarperDB startup make sure all tables have a transaction environment -- CORE-1055 Added 2 new setting to change the server headersTimeout & keepAliveTimeout from the config file -- CORE-1044 Created new operation `read_transaction_log` which will allow a user to get transactions for a table by `timestamp`, `username`, or `hash_value` -- CORE-1043 Change clustering catchup to use the new transaction log -- CORE-1089 Added new attribute to `system_information` for table/transaction log data size in bytes & transaction log record count -- CORE-1101 Fix to store empty strings rather than considering them null & fix to be able to search on empty strings in SQL/NoSQL. -- CORE-1054 Updates permissions object to remove delete attribute permission and update table attribute permission key to `attribute_permissions` -- CORE-1092 Do not allow the `__createdtime__` to be updated -- CORE-1085 Updates create schema/table & drop schema/table/attribute operations permissions to require super user role and adds integration tests to validate -- CORE-1071 Updates response messages and status codes from `describe_schema` and `describe_table` operations to provide standard language/status code when a schema item is not found -- CORE-1049 Updates response message for SQL update op with no matching rows -- CORE-1096 Added tracking of the origin in the transaction log. This origin object stores the node name, timestamp of the transaction from the originating node & the user. - -**Bug Fixes** - -- CORE-1028 Fixes bug for simple `SQL SELECT` queries not returning aliases and incorrectly returning hash values when not requested in query -- CORE-1037 Fixed an issue where numbers with leading zero i.e. 00123 are converted to numbers rather than being honored as strings. -- CORE-1063 Updates permission error response shape to consolidate issues into individual objects per schema/table combo -- CORE-1098 Fixed an issue where transaction environments were remaining in the global cache after being dropped. -- CORE-1086 Fixed issue where responses from insert/update were incorrect with skipped records. -- CORE-1079 Fixes SQL bugs around invalid schema/table and special characters in `WHERE` clause diff --git a/docs/technical-details/release-notes/v2-penny/2.2.2.md b/docs/technical-details/release-notes/v2-penny/2.2.2.md deleted file mode 100644 index fca00967..00000000 --- a/docs/technical-details/release-notes/v2-penny/2.2.2.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 2.2.2 -sidebar_position: 79797 ---- - -### HarperDB 2.2.2, Penny Release - -10/27/2020 - -- CORE-1154 Allowed transaction logging to be disabled even if clustering is enabled. -- CORE-1153 Fixed issue where `delete_files_before` was writing to transaction log. -- CORE-1152 Fixed issue where no more than 4 HarperDB forks would be created. -- CORE-1112 Adds handling for system timestamp attributes in permissions. -- CORE-1131 Adds better handling for checking perms on operations with action value in JSON. -- CORE-1113 Fixes validation bug checking for super user/cluster user permissions and other permissions. -- CORE-1135 Adds validation for valid keys in role API operations. -- CORE-1073 Adds new `import_from_s3` operation to API. diff --git a/docs/technical-details/release-notes/v2-penny/2.2.3.md b/docs/technical-details/release-notes/v2-penny/2.2.3.md deleted file mode 100644 index 06b89d4e..00000000 --- a/docs/technical-details/release-notes/v2-penny/2.2.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 2.2.3 -sidebar_position: 79796 ---- - -### HarperDB 2.2.3, Penny Release - -11/16/2020 - -- CORE-1158 Performance improvements to core delete function and configuration of `delete_files_before` to run in batches with a pause into between. diff --git a/docs/technical-details/release-notes/v2-penny/2.3.0.md b/docs/technical-details/release-notes/v2-penny/2.3.0.md deleted file mode 100644 index a027eedb..00000000 --- a/docs/technical-details/release-notes/v2-penny/2.3.0.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: 2.3.0 -sidebar_position: 79699 ---- - -### HarperDB 2.3.0, Penny Release - -12/03/2020 - -**Features/Updates** - -- CORE-1191, CORE-1190, CORE-1125, CORE-1157, CORE-1126, CORE-1140, CORE-1134, CORE-1123, CORE-1124, CORE-1122 Added JWT Authentication option (See documentation for more information) -- CORE-1128, CORE-1143, CORE-1140, CORE-1129 Added `upsert` operation -- CORE-1187 Added `get_configuration` operation which allows admins to view their configuration settings. -- CORE-1175 Added new internal LMDB function to copy an environment for use in future features. -- CORE-1166 Updated packages to address security vulnerabilities. - -**Bug Fixes** - -- CORE-1195 Modified `drop_attribute` to drop after data cleanse completes. -- CORE-1149 Fix SQL bug regarding self joins and updates alasql to 0.6.5 release. -- CORE-1168 Fix inconsistent invalid schema/table errors. -- CORE-1162 Fix bug which caused `delete_files_before` to cause tables to grow in size due to an open cursor issue. diff --git a/docs/technical-details/release-notes/v2-penny/2.3.1.md b/docs/technical-details/release-notes/v2-penny/2.3.1.md deleted file mode 100644 index 03df0186..00000000 --- a/docs/technical-details/release-notes/v2-penny/2.3.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 2.3.1 -sidebar_position: 79698 ---- - -### HarperDB 2.3.1, Penny Release - -1/29/2021 - -**Bug Fixes** - -- CORE-1218 A bug in HarperDB 2.3.0 was identified related to manually calling the `create_attribute` operation. This bug caused secondary indexes to be overwritten by the most recently inserted or updated value for the index, thereby causing a search operation filtered with that index to only return the most recently inserted/updated row. Note, this issue does not affect attributes that are reflexively/automatically created. It only affects attributes created using `create_attribute`. To resolve this issue in 2.3.0 or earlier, drop and recreate your table using reflexive attribute creation. In 2.3.1, drop and recreate your table and use either reflexive attribute creation or `create_attribute`. -- CORE-1219 Increased maximum table attributes from 1000 to 10000 diff --git a/docs/technical-details/release-notes/v2-penny/index.md b/docs/technical-details/release-notes/v2-penny/index.md deleted file mode 100644 index 798f90e2..00000000 --- a/docs/technical-details/release-notes/v2-penny/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: HarperDB Penny (Version 2) ---- - -# HarperDB Penny (Version 2) - -Did you know our release names are dedicated to employee pups? For our second release, Penny was the star. - -Here is a bit about Penny: - -![picture of brindle dog](/dogs/penny.webp) - -_Hi I am Penny! My dad is Kyle Bernhardy, the CTO of HarperDB. I am a nine-year-old Whippet who lives for running hard and fast while exploring the beautiful terrain of Colorado. My favorite activity is chasing birds along with afternoon snoozes in a sunny spot in my backyard._ diff --git a/docs/technical-details/release-notes/v3-monkey/3.0.0.md b/docs/technical-details/release-notes/v3-monkey/3.0.0.md deleted file mode 100644 index 10319747..00000000 --- a/docs/technical-details/release-notes/v3-monkey/3.0.0.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: 3.0.0 -sidebar_position: 69999 ---- - -### HarperDB 3.0, Monkey Release - -5/18/2021 - -**Features/Updates** - -- CORE-1217, CORE-1226, CORE-1232 Create new `search_by_conditions` operation. -- CORE-1304 Upgrade to Node 12.22.1. -- CORE-1235 Adds new upgrade/install functionality. -- CORE-1206, CORE-1248, CORE-1252 Implement `lmdb-store` library for optimized performance. -- CORE-1062 Added alias operation for `delete_files_before`, named `delete_records_before`. -- CORE-1243 Change `HTTPS_ON` settings value to false by default. -- CORE-1189 Implement fastify web server, resulting in improved performance. -- CORE-1221 Update user API to use role name instead of role id. -- CORE-1225 Updated dependencies to eliminate npm security warnings. -- CORE-1241 Adds 3.0 update directive and refactors/fixes update functionality. - -**Bug Fixes** - -- CORE-1299 Remove all references to the `PROJECT_DIR` setting. This setting is problematic when using node version managers and upgrading the version of node and then installing a new instance of HarperDB. -- CORE-1288 Fix bug with drop table/schema that was causing 'env required' error log. -- CORE-1285 Update warning log when trying to create an attribute that already exists. -- CORE-1254 Added logic to manage data collisions in clustering. -- CORE-1212 Add pre-check to `drop_user` that returns error if user doesn't exist. -- CORE-1114 Update response code and message from `add_user` when user already exists. -- CORE-1111 Update response from `create_attribute` to match the create schema/table response. -- CORE-1205 Fixed bug that prevented schema/table from being dropped if name was a number or had a wildcard value in it. Updated validation for insert, upsert and update. diff --git a/docs/technical-details/release-notes/v3-monkey/3.1.0.md b/docs/technical-details/release-notes/v3-monkey/3.1.0.md deleted file mode 100644 index f14acb8e..00000000 --- a/docs/technical-details/release-notes/v3-monkey/3.1.0.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: 3.1.0 -sidebar_position: 69899 ---- - -### HarperDB 3.1.0, Monkey Release - -8/24/2021 - -**Features/Updates** - -- CORE-1320, CORE-1321, CORE-1323, CORE-1324 Version 1.0 of HarperDB Custom Functions -- CORE-1275, CORE-1276, CORE-1278, CORE-1279, CORE-1280, CORE-1282, CORE-1283, CORE-1305, CORE-1314 IPC server for communication between HarperDB processes, including HarperDB, HarperDB Clustering, and HarperDB Functions -- CORE-1352, CORE-1355, CORE-1356, CORE-1358 Implement pm2 for HarperDB process management -- CORE-1292, CORE-1308, CORE-1312, CORE-1334, CORE-1338 Updated installation process to start HarperDB immediately on install and to accept all config settings via environment variable or command line arguments -- CORE-1310 Updated licensing functionality -- CORE-1301 Updated validation for performance improvement -- CORE-1359 Add `hdb-response-time` header which returns the HarperDB response time in milliseconds -- CORE-1330, CORE-1309 New config settings: `LOG_TO_FILE`, `LOG_TO_STDSTREAMS`, `IPC_SERVER_PORT`, `RUN_IN_FOREGROUND`, `CUSTOM_FUNCTIONS`, `CUSTOM_FUNCTIONS_PORT`, `CUSTOM_FUNCTIONS_DIRECTORY`, `MAX_CUSTOM_FUNCTION_PROCESSES` - -**Bug Fixes** - -- CORE-1315 Corrected issue in HarperDB restart scenario -- CORE-1370 Update some of the validation error handlers so that they don't log full stack diff --git a/docs/technical-details/release-notes/v3-monkey/3.1.1.md b/docs/technical-details/release-notes/v3-monkey/3.1.1.md deleted file mode 100644 index 8f90dc10..00000000 --- a/docs/technical-details/release-notes/v3-monkey/3.1.1.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: 3.1.1 -sidebar_position: 69898 ---- - -### HarperDB 3.1.1, Monkey Release - -9/23/2021 - -**Features/Updates** - -- CORE-1393 Added utility function to add settings from env/cmd vars to the settings file on every run/restart -- CORE-1395 Create a setting which will allow to enable the local Studio to be served from an instance of HarperDB -- CORE-1397 Update the stock 404 response to not return the request URL -- General updates to optimize Docker container - -**Bug Fixes** - -- CORE-1399 Added fixes for complex SQL alias issues diff --git a/docs/technical-details/release-notes/v3-monkey/3.1.2.md b/docs/technical-details/release-notes/v3-monkey/3.1.2.md deleted file mode 100644 index 706e5956..00000000 --- a/docs/technical-details/release-notes/v3-monkey/3.1.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 3.1.2 -sidebar_position: 69897 ---- - -### HarperDB 3.1.2, Monkey Release - -10/21/2021 - -**Features/Updates** - -- Updated the installation ASCII art to reflect the new HarperDB logo - -**Bug Fixes** - -- CORE-1408 Corrects issue where `drop_attribute` was not properly setting the LMDB version number causing tables to behave unexpectedly diff --git a/docs/technical-details/release-notes/v3-monkey/3.1.3.md b/docs/technical-details/release-notes/v3-monkey/3.1.3.md deleted file mode 100644 index 1a7d3301..00000000 --- a/docs/technical-details/release-notes/v3-monkey/3.1.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.3 -sidebar_position: 69896 ---- - -### HarperDB 3.1.3, Monkey Release - -1/14/2022 - -**Bug Fixes** - -- CORE-1446 Fix for scans on indexes larger than 1 million entries causing queries to never return diff --git a/docs/technical-details/release-notes/v3-monkey/3.1.4.md b/docs/technical-details/release-notes/v3-monkey/3.1.4.md deleted file mode 100644 index 3fa86ead..00000000 --- a/docs/technical-details/release-notes/v3-monkey/3.1.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.4 -sidebar_position: 69895 ---- - -### HarperDB 3.1.4, Monkey Release - -2/24/2022 - -**Features/Updates** - -- CORE-1460 Added new setting `STORAGE_WRITE_ASYNC`. If this setting is true, LMDB will have faster write performance at the expense of not being crash safe. The default for this setting is false, which results in HarperDB being crash safe. diff --git a/docs/technical-details/release-notes/v3-monkey/3.1.5.md b/docs/technical-details/release-notes/v3-monkey/3.1.5.md deleted file mode 100644 index 23661928..00000000 --- a/docs/technical-details/release-notes/v3-monkey/3.1.5.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.5 -sidebar_position: 69894 ---- - -### HarperDB 3.1.5, Monkey Release - -3/4/2022 - -**Features/Updates** - -- CORE-1498 Fixed incorrect autocasting of string that start with "0." that tries to convert to number but instead returns NaN. diff --git a/docs/technical-details/release-notes/v3-monkey/3.2.0.md b/docs/technical-details/release-notes/v3-monkey/3.2.0.md deleted file mode 100644 index fa215082..00000000 --- a/docs/technical-details/release-notes/v3-monkey/3.2.0.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 3.2.0 -sidebar_position: 69799 ---- - -### HarperDB 3.2.0, Monkey Release - -3/25/2022 - -**Features/Updates** - -- CORE-1391 Bug fix related to orphaned HarperDB background processes. -- CORE-1509 Updated node version check, updated Node.js version, updated project dependencies. -- CORE-1518 Remove final call from logger. diff --git a/docs/technical-details/release-notes/v3-monkey/3.2.1.md b/docs/technical-details/release-notes/v3-monkey/3.2.1.md deleted file mode 100644 index 4cc983a4..00000000 --- a/docs/technical-details/release-notes/v3-monkey/3.2.1.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.2.1 -sidebar_position: 69798 ---- - -### HarperDB 3.2.1, Monkey Release - -6/1/2022 - -**Features/Updates** - -- CORE-1573 Added logic to track the pid of the foreground process if running in foreground. Then on stop, use that pid to kill the process. Logic was also added to kill the pm2 daemon when stop is called. diff --git a/docs/technical-details/release-notes/v3-monkey/3.3.0.md b/docs/technical-details/release-notes/v3-monkey/3.3.0.md deleted file mode 100644 index 236704dd..00000000 --- a/docs/technical-details/release-notes/v3-monkey/3.3.0.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.3.0 -sidebar_position: 69699 ---- - -### HarperDB 3.3.0 - Monkey - -- CORE-1595 Added new role type `structure_user`, this enables non-superusers to be able to create/drop schema/table/attribute. -- CORE-1501 Improved performance for drop_table. -- CORE-1599 Added two new operations for custom functions `install_node_modules` & `audit_node_modules`. -- CORE-1598 Added `skip_node_modules` flag to `package_custom_function_project` operation. This flag allows for not bundling project dependencies and deploying a smaller project to other nodes. Use this flag in tandem with `install_node_modules`. -- CORE-1707 Binaries are now included for Linux on AMD64, Linux on ARM64, and macOS. GCC, Make, Python are no longer required when installing on these platforms. diff --git a/docs/technical-details/release-notes/v3-monkey/index.md b/docs/technical-details/release-notes/v3-monkey/index.md deleted file mode 100644 index 0b976639..00000000 --- a/docs/technical-details/release-notes/v3-monkey/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: HarperDB Monkey (Version 3) ---- - -# HarperDB Monkey (Version 3) - -Did you know our release names are dedicated to employee pups? For our third release, we have Monkey. - -![picture of tan dog](/dogs/monkey.webp) - -_Hi, I am Monkey, a.k.a. Monk, a.k.a. Monchichi. My dad is Aron Johnson, the Director of DevOps at HarperDB. I am an eight-year-old Australian Cattle dog mutt whose favorite pastime is hunting and collecting tennis balls from the park next to her home. I love burrowing in the Colorado snow, rolling in the cool grass on warm days, and cheese!_ diff --git a/docs/technical-details/release-notes/v4-tucker/4.0.0.md b/docs/technical-details/release-notes/v4-tucker/4.0.0.md deleted file mode 100644 index b94ea2f8..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.0.0.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: 4.0.0 -sidebar_position: 59999 ---- - -### HarperDB 4.0.0, Tucker Release - -11/2/2022 - -**Networking & Data Replication (Clustering)** - -The HarperDB clustering internals have been rewritten and the underlying technology for Clustering has been completely replaced with [NATS](https://nats.io/), an enterprise grade connective technology responsible for addressing, discovery and exchanging of messages that drive the common patterns in distributed systems. - -- CORE-1464, CORE-1470, : Remove SocketCluster dependencies and all code related to them. -- CORE-1465, CORE-1485, CORE-1537, CORE-1538, CORE-1558, CORE-1583, CORE_1665, CORE-1710, CORE-1801, CORE-1865 :Add nats-`server` code as dependency, on install of HarperDB download nats-`server` is possible else fallback to building from source code. -- CORE-1593, CORE-1761: Add `nats.js` as project dependency. -- CORE-1466: Build NATS configs on `harperdb run` based on HarperDB YAML configuration. -- CORE-1467, CORE-1508: Launch and manage NATS servers with PM2. -- CORE-1468, CORE-1507: Create a process which reads the work queue stream and processes transactions. -- CORE-1481, CORE-1529, CORE-1698, CORE-1502, CORE-1696: On upgrade to 4.0, update pre-existing clustering configurations, create table transaction streams, create work queue stream, update `hdb_nodes` table, create clustering folder structure, and rebuild self-signed certs. -- CORE-1494, CORE-1521, CORE-1755: Build out internals to interface with NATS. -- CORE-1504: Update existing hooks to save transactions to work with NATS. -- CORE-1514, CORE-1515, CORE-1516, CORE-1527, CORE-1532: Update `add_node`, `update_node`, and `remove_node` operations to no longer need host and port in payload. These operations now manage dynamically sourcing of table level transaction streams between nodes and work queues. -- CORE-1522: Create `NATSReplyService` process which handles the receiving NATS based requests from remote instances and sending back appropriate responses. -- CORE-1471, CORE-1568, CORE-1563, CORE-1534, CORE-1569: Update `cluster_status` operation. -- CORE-1611: Update pre-existing transaction log operations to be audit log operations. -- CORE-1541, CORE-1612, CORE-1613: Create translation log operations which interface with streams. -- CORE-1668: Update NATS serialization / deserialization to use MessagePack. -- CORE-1673: Add `system_info` param to `hdb_nodes` table and update on `add_node` and `cluster_status`. -- CORE-1477, CORE-1493, CORE-1557, CORE-1596, CORE-1577: Both a full HarperDB restart & just clustering restart call the NATS server with a reload directive to maintain full uptime while servers refresh. -- CORE-1474:HarperDB install adds clustering folder structure. -- CORE-1530: Post `drop_table` HarperDB purges the related transaction stream. -- CORE-1567: Set NATS config to always use TLS. -- CORE-1543: Removed the `transact_to_cluster` attribute from the bulk load operations. Now bulk loads always replicate. -- CORE-1533, CORE-1556, CORE-1561, CORE-1562, CORE-1564: New operation `configure_cluster`, this operation enables bulk publishing and subscription of multiple tables to multiple instances of HarperDB. -- CORE-1535: Create work queue stream on install of HarperDB. This stream receives transactions from remote instances of HarperDB which are then ingested in order. -- CORE-1551: Create transaction streams on the remote node if they do not exist when performing `add_node` or `update_node`. -- CORE-1594, CORE-1605, CORE-1749, CORE-1767, CORE-1770: Optimize the work queue stream and its consumer to be more performant and validate exact once delivery. -- CORE-1621, CORE-1692, CORE-1570, CORE-1693: NATS stream names are MD5 hashed to avoid characters that HarperDB allows, but NATS may not. -- CORE-1762: Add a new optional attribute to `add_node` and `update_node` named `opt_start_time`. This attribute sets a starting time to start synchronizing transactions. -- CORE-1785: Optimizations and bug fixes in regards to sourcing data from remote instances on HarperDB. -- CORE-1588: Created new operation `set_cluster_routes` to enable setting routes for instances of HarperDB to mesh together. -- CORE-1589: Created new operation `get_cluster_routes` to allow for retrieval of routes used to connect the instance of HarperDB to the mesh. -- CORE-1590: Created new operation `delete_cluster_routes` to allow for removal of routes used to connect the instance of HarperDB to the mesh. -- CORE-1667: Fix old environment variable `CLUSTERING_PORT` not mapping to new hub server port. -- CORE-1609: Allow `remove_node` to be called when the other node cannot be reached. -- CORE-1815: Add transaction lock to `add_node` and `update_node` to avoid concurrent nats source update bug. -- CORE-1848: Update stream configs if the node name has been changed in the YAML configuration. -- CORE-1873: Update `add_node` and `update_node` so that it auto-creates schema/table on both local and remote node respectively - -**Data Storage** - -We have made improvements to how we store, index, and retrieve data. - -- CORE-1619: Enabled new concurrent flushing technology for improved write performance. -- CORE-1701: Optimize search performance for `search_by_conditions` when executing multiple AND conditions. -- CORE-1652: Encode the values of secondary indices more efficiently for faster access. -- CORE-1670: Store updated timestamp in `lmdb.js`' version property. -- CORE-1651: Enabled multiple value indexing of array values which allows for the ability to search on specific elements in an array more efficiently. -- CORE-1649, CORE-1659: Large text values (larger than 255 bytes) are no longer stored in separate blob index. Now they are segmented and delimited in the same index to increase search performance. -- Complex objects and object arrays are no longer stored in a separate index to preserve storage and increase write throughput. -- CORE-1650, CORE-1724, CORE-1738: Improved internals around interpreting attribute values. -- CORE-1657: Deferred property decoding allows large objects to be stored, but individual attributes can be accessed (like with get_attributes) without incurring the cost of decoding the entire object. -- CORE-1658: Enable in-memory caching of records for even faster access to frequently accessed data. -- CORE-1693: Wrap updates in async transactions to ensure ACID-compliant updates. -- CORE-1653: Upgrade to 4.0 rebuilds tables to reflect changes made to index improvements. -- CORE-1753: Removed old `node-lmdb` dependency. -- CORE-1787: Freeze objects returned from queries. -- CORE-1821: Read the `WRITE_ASYNC` setting which enables LMDB nosync. - -**Logging** - -HarperDB has increased logging specificity by breaking out logs based on components logging. There are specific log files each for HarperDB Core, Custom Functions, Hub Server, Leaf Server, and more. - -- CORE-1497: Remove `pino` and `winston` dependencies. -- CORE-1426: All logging is output via `stdout` and `stderr`, our default logging is then picked up by PM2 which handles writing out to file. -- CORE-1431: Improved `read_log` operation validation. -- CORE-1433, CORE-1463: Added log rotation. -- CORE-1553, CORE-1555, CORE-1552, CORE-1554, CORE-1704: Performance gain by only serializing objects and arrays if the log is for the level defined in configuration. -- CORE-1436: Upgrade to 4.0 updates internals for logging changes. -- CORE-1428, CORE-1440, CORE-1442, CORE-1434, CORE-1435, CORE-1439, CORE-1482, CORE-1751, CORE-1752: Bug fixes, performance improvements and improved unit tests. -- CORE-1691: Convert non-PM2 managed log file writes to use Node.js `fs.appendFileSync` function. - -**Configuration** - -HarperDB has updated its configuration from a properties file to YAML. - -- CORE-1448, CORE-1449, CORE-1519, CORE-1587: Upgrade automatically converts the pre-existing settings file to YAML. -- CORE-1445, CORE-1534, CORE-1444, CORE-1858: Build out new logic to create, update, and interpret the YAML configuration file. -- Installer has updated prompts to reflect YAML settings. -- CORE-1447: Create an alias for the `configure_cluster` operation as `set_configuration`. -- CORE-1461, CORE-1462, CORE-1483: Unit test improvements. -- CORE-1492: Improvements to get_configuration and set_configuration operations. -- CORE-1503: Modify HarperDB configuration for more granular certificate definition. -- CORE-1591: Update `routes` IP param to `host` and to `leaf` config in `harperdb.conf` -- CORE-1519: Fix issue when switching between old and new versions of HarperDB we are getting the config parameter is undefined error on npm install. - -**Broad NodeJS and Platform Support** - -- CORE-1624: HarperDB can now run on multiple versions of NodeJS, from v14 to v19. We primarily test on v18, so that is the preferred version. - -**Windows 10 and 11** - -- CORE-1088: HarperDB now runs natively on Windows 10 and 11 without the need to run in a container or installed in WSL. Windows is only intended for evaluation and development purposes, not for production work loads. - -**Extra Changes and Bug Fixes** - -- CORE-1520: Refactor installer to remove all waterfall code and update to use Promises. -- CORE-1573: Stop the PM2 daemon and any logging processes when stopping hdb. -- CORE-1586: When HarperDB is running in foreground stop any additional logging processes from being spawned. -- CORE-1626: Update docker file to accommodate new `harperdb.conf` file. -- CORE-1592, CORE-1526, CORE-1660, CORE-1646, CORE-1640, CORE-1689, CORE-1711, CORE-1601, CORE-1726, CORE-1728, CORE-1736, CORE-1735, CORE-1745, CORE-1729, CORE-1748, CORE-1644, CORE-1750, CORE-1757, CORE-1727, CORE-1740, CORE-1730, CORE-1777, CORE-1778, CORE-1782, CORE-1775, CORE-1771, CORE-1774, CORE-1759, CORE-1772, CORE-1861, CORE-1862, CORE-1863, CORE-1870, CORE-1869:Changes for CI/CD pipeline and integration tests. -- CORE-1661: Fixed issue where old boot properties file caused an error when attempting to install 4.0.0. -- CORE-1697, CORE-1814, CORE-1855: Upgrade fastify dependency to new major version 4. -- CORE-1629: Jobs are now running as processes managed by the PM2 daemon. -- CORE-1733: Update LICENSE to reflect our EULA on our site. -- CORE-1606: Enable Custom Functions by default. -- CORE-1714: Include pre-built binaries for most common platforms (darwin-arm64, darwin-x64, linux-arm64, linux-x64, win32-x64). -- CORE-1628: Fix issue where setting license through environment variable not working. -- CORE-1602, CORE-1760, CORE-1838, CORE-1839, CORE-1847, CORE-1773: HarperDB Docker container improvements. -- CORE-1706: Add support for encoding HTTP responses with MessagePack. -- CORE-1709: Improve the way lmdb.js dependencies are installed. -- CORE-1758: Remove/update unnecessary HTTP headers. -- CORE-1756: On `npm install` and `harperdb install` change the node version check from an error to a warning if the installed Node.js version does not match our preferred version. -- CORE-1791: Optimizations to authenticated user caching. -- CORE-1794: Update README to discuss Windows support & Node.js versions -- CORE-1837: Fix issue where Custom Function directory was not being created on install. -- CORE-1742: Add more validation to audit log - check schema/table exists and log is enabled. -- CORE-1768: Fix issue where when running in foreground HarperDB process is not stopping on `harperdb stop`. -- CORE-1864: Fix to semver checks on upgrade. -- CORE-1850: Fix issue where a `cluster_user` type role could not be altered. diff --git a/docs/technical-details/release-notes/v4-tucker/4.0.1.md b/docs/technical-details/release-notes/v4-tucker/4.0.1.md deleted file mode 100644 index 2a85f511..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.0.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.0.1 -sidebar_position: 59998 ---- - -### HarperDB 4.0.1, Tucker Release - -01/20/2023 - -**Bug Fixes** - -- CORE-1992 Local studio was not loading because the path got mangled in the build. -- CORE-2001 Fixed deploy_custom_function_project after node update broke it. diff --git a/docs/technical-details/release-notes/v4-tucker/4.0.2.md b/docs/technical-details/release-notes/v4-tucker/4.0.2.md deleted file mode 100644 index bedbd970..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.0.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.0.2 -sidebar_position: 59997 ---- - -### HarperDB 4.0.2, Tucker Release - -01/24/2023 - -**Bug Fixes** - -- CORE-2003 Fix bug where if machine had one core thread config would default to zero. -- Update to lmdb 2.7.3 and msgpackr 1.7.0 diff --git a/docs/technical-details/release-notes/v4-tucker/4.0.3.md b/docs/technical-details/release-notes/v4-tucker/4.0.3.md deleted file mode 100644 index ad1cbf8a..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.0.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.3 -sidebar_position: 59996 ---- - -### HarperDB 4.0.3, Tucker Release - -01/26/2023 - -**Bug Fixes** - -- CORE-2007 Add update nodes 4.0.0 launch script to build script to fix clustering upgrade. diff --git a/docs/technical-details/release-notes/v4-tucker/4.0.4.md b/docs/technical-details/release-notes/v4-tucker/4.0.4.md deleted file mode 100644 index 3f052465..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.0.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.4 -sidebar_position: 59995 ---- - -### HarperDB 4.0.4, Tucker Release - -01/27/2023 - -**Bug Fixes** - -- CORE-2009 Fixed bug where add node was not being called when upgrading clustering. diff --git a/docs/technical-details/release-notes/v4-tucker/4.0.5.md b/docs/technical-details/release-notes/v4-tucker/4.0.5.md deleted file mode 100644 index 1696d6d4..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.0.5.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.0.5 -sidebar_position: 59994 ---- - -### HarperDB 4.0.5, Tucker Release - -02/15/2023 - -**Bug Fixes** - -- CORE-2029 Improved the upgrade process for handling existing user TLS certificates and correctly configuring TLS settings. Added a prompt to upgrade to determine if new certificates should be created or existing certificates should be kept/used. -- Fix the way NATS connections are honored in a local environment. -- Do not define the certificate authority path to NATS if it is not defined in the HarperDB config. diff --git a/docs/technical-details/release-notes/v4-tucker/4.0.6.md b/docs/technical-details/release-notes/v4-tucker/4.0.6.md deleted file mode 100644 index 1cdc1bd7..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.0.6.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.6 -sidebar_position: 59993 ---- - -### HarperDB 4.0.6, Tucker Release - -03/09/2023 - -**Bug Fixes** - -- Fixed a data serialization error that occurs when a large number of different record structures are persisted in a single table. diff --git a/docs/technical-details/release-notes/v4-tucker/4.0.7.md b/docs/technical-details/release-notes/v4-tucker/4.0.7.md deleted file mode 100644 index c4d1fbbf..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.0.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.7 -sidebar_position: 59992 ---- - -### HarperDB 4.0.7, Tucker Release - -03/10/2023 - -**Bug Fixes** - -- Update lmdb.js dependency diff --git a/docs/technical-details/release-notes/v4-tucker/4.1.0.md b/docs/technical-details/release-notes/v4-tucker/4.1.0.md deleted file mode 100644 index bd4bc242..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.1.0.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: 4.1.0 -sidebar_position: 59899 ---- - -# 4.1.0 - -HarperDB 4.1 introduces the ability to use worker threads for concurrently handling HTTP requests. Previously this was handled by processes. This shift provides important benefits in terms of better control of traffic delegation with support for optimized load tracking and session affinity, better debuggability, and reduced memory footprint. - -This means debugging will be much easier for custom functions. If you install/run HarperDB locally, most modern IDEs like WebStorm and VSCode support worker thread debugging, so you can start HarperDB in your IDE, and set breakpoints in your custom functions and debug them. - -The associated routing functionality now includes session affinity support. This can be used to consistently route users to the same thread which can improve caching locality, performance, and fairness. This can be enabled in with the [`http.sessionAffinity` option in your configuration](../../../deployments/configuration#http). - -HarperDB 4.1's NoSQL query handling has been revamped to consistently use iterators, which provide an extremely memory efficient mechanism for directly streaming query results to the network _as_ the query results are computed. This results in faster Time to First Byte (TTFB) (only the first record/value in a query needs to be computed before data can start to be sent), and less memory usage during querying (the entire query result does not need to be stored in memory). These iterators are also available in query results for custom functions and can provide means for custom function code to iteratively access data from the database without loading entire results. This should be a completely transparent upgrade, all HTTP APIs function the same, with the one exception that custom functions need to be aware that they can't access query results by `[index]` (they should use array methods or for-in loops to handle query results). - -4.1 includes configuration options for specifying the location of database storage files. This allows you to specifically locate database directories and files on different volumes for better flexibility and utilization of disks and storage volumes. See the [storage configuration](../../../../deployments/configuration#storage) and [schemas configuration](../../../../deployments/configuration#schemas) for information on how to configure these locations. - -Logging has been revamped and condensed into one `hdb.log` file. See [logging](../../../administration/logging/) for more information. - -A new operation called `cluster_network` was added, this operation will ping the cluster and return a list of enmeshed nodes. - -Custom Functions will no longer automatically load static file routes, instead the `@fastify/static` plugin will need to be registered with the Custom Function server. See [Host A Static Web UI-static](https://docs.harperdb.io/docs/v/4.1/custom-functions/host-static). - -Updates to S3 import and export mean that these operations now require the bucket `region` in the request. Also, if referencing a nested object it should be done in the `key` parameter. See examples [here](../../../developers/operations-api/bulk-operations#import-from-s3). - -Due to the AWS SDK v2 reaching end of life support we have updated to v3. This has caused some breaking changes in our operations `import_from_s3` and `export_to_s3`: - -- A new attribute `region` will need to be supplied -- The `bucket` attribute can no longer have trailing slashes. Slashes will now need to be in the `key`. - -Starting HarperDB without any command (just `harperdb`) now runs HarperDB like a standard process, in the foreground. This means you can use standard unix tooling for interacting with the process and is conducive for running HarperDB with systemd or any other process management tool. If you wish to have HarperDB launch itself in separate background process (and immediately terminate the shell process), you can do so by running `harperdb start`. - -Internal Tickets completed: - -- CORE-609 - Ensure that attribute names are always added to global schema as Strings -- CORE-1549 - Remove fastify-static code from Custom Functions server which auto serves content from "static" folder -- CORE-1655 - Iterator based queries -- CORE-1764 - Fix issue where describe_all operation returns an empty object for non super-users if schema(s) do not yet have table(s) -- CORE-1854 - Switch to using worker threads instead of processes for handling concurrency -- CORE-1877 - Extend the csv_url_load operation to allow for additional headers to be passed to the remote server when the csv is being downloaded -- CORE-1893 - Add last updated timestamp to describe operations -- CORE-1896 - Fix issue where Select \* from system.hdb_info returns wrong HDB version number after Instance Upgrade -- CORE-1904 - Fix issue when executing GEOJSON query in SQL -- CORE-1905 - Add HarperDB YAML configuration setting which defines the storage location of NATS streams -- CORE-1906 - Add HarperDB YAML configuration setting defining the storage location of tables. -- CORE-1655 - Streaming binary format serialization -- CORE-1943 - Add configuration option to set mount point for audit tables -- CORE-1921 - Update NATS transaction lifecycle to handle message deduplication in work queue streams. -- CORE-1963 - Update logging for better readability, reduced duplication, and request context information. -- CORE-1968 - In server\nats\natsIngestService.js remove the js_msg.working(); line to improve performance. -- CORE-1976 - Fix error when calling describe_table operation with no schema or table defined in payload. -- CORE-1983 - Fix issue where create_attribute operation does not validate request for required attributes -- CORE-2015 - Remove PM2 logs that get logged in console when starting HDB -- CORE-2048 - systemd script for 4.1 -- CORE-2052 - Include thread information in system_information for visibility of threads -- CORE-2061 - Add a better error msg when clustering is enabled without a cluster user set -- CORE-2068 - Create new log rotate logic since pm2 log-rotate no longer used -- CORE-2072 - Update to Node 18.15.0 -- CORE-2090 - Upgrade Testing from v4.0.x and v3.x to v4.1. -- CORE-2091 - Run the performance tests -- CORE-2092 - Allow for automatic patch version updates of certain packages -- CORE-2109 - Add verify option to clustering TLS configuration -- CORE-2111 - Update AWS SDK to v3 diff --git a/docs/technical-details/release-notes/v4-tucker/4.1.1.md b/docs/technical-details/release-notes/v4-tucker/4.1.1.md deleted file mode 100644 index 54163b63..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.1.1.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.1.1 -sidebar_position: 59898 ---- - -# 4.1.1 - -06/16/2023 - -- HarperDB uses improved logic for determining default heap limits and thread counts. When running in a restricted container and on NodeJS 18.15+, HarperDB will use the constrained memory limit to determine heap limits for each thread. In more memory constrained servers with many CPU cores, a reduced default thread count will be used to ensure that excessive memory is not used by many workers. You may still define your own thread count (with `http`/`threads`) in the [configuration](../../../deployments/configuration). -- An option has been added for [disabling the republishing NATS messages](../../../deployments/configuration), which can provide improved replication performance in a fully connected network. -- Improvements to our OpenShift container. -- Dependency security updates. -- **Bug Fixes** -- Fixed a bug in reporting database metrics in the `system_information` operation. diff --git a/docs/technical-details/release-notes/v4-tucker/4.1.2.md b/docs/technical-details/release-notes/v4-tucker/4.1.2.md deleted file mode 100644 index fc5e16f4..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.1.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.1.2 -sidebar_position: 59897 ---- - -### HarperDB 4.1.2, Tucker Release - -06/16/2023 - -- HarperDB has updated binary dependencies to support older glibc versions back 2.17. -- A new CLI command was added to get the current status of whether HarperDB is running and the cluster status. This is available with `harperdb status`. -- Improvements to our OpenShift container. -- Dependency security updates. diff --git a/docs/technical-details/release-notes/v4-tucker/4.2.0.md b/docs/technical-details/release-notes/v4-tucker/4.2.0.md deleted file mode 100644 index 4e25e854..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.2.0.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: 4.2.0 -sidebar_position: 59799 ---- - -# 4.2.0 - -#### HarperDB 4.2.0 - -HarperDB 4.2 introduces a new interface to accessing our core database engine with faster access, well-typed idiomatic JavaScript interfaces, ergonomic object mapping, and real-time data subscriptions. 4.2 also had adopted a new component architecture for building extensions to deliver customized external data sources, authentication, file handlers, content types, and more. These architectural upgrades lead to several key new HarperDB capabilities including a new REST interface, advanced caching, real-time messaging and publish/subscribe functionality through MQTT, WebSockets, and Server-Sent Events. - -4.2 also introduces configurable database schemas, using GraphQL Schema syntax. The new component structure is also configuration-driven, providing easy, low-code paths to building applications. [Check out our new getting starting guide](../../../getting-started) to see how easy it is to get started with HarperDB apps. - -### Resource API - -The [Resource API](../../reference/resources) is the new interface for accessing data in HarperDB. It utilizes a uniform interface for accessing data in HarperDB database/tables and is designed to easily be implemented or extended for defining customized application logic for table access or defining custom external data sources. This API has support for connecting resources together for caching and delivering data change and message notifications in real-time. The [Resource API documentation details this interface](../../reference/resources). - -### Component Architecture - -HarperDB's custom functions have evolved towards a full component architecture; our internal functionality is defined as components, and this can be used in a modular way in conjunction with user components. These can all easily be configured and loaded through configuration files, and there is now a [well-defined interface for creating your own components](broken-reference). Components can easily be deployed/installed into HarperDB using [NPM and Github references as well](broken-reference). - -### Configurable Database Schemas - -HarperDB applications or components support [schema definitions using GraphQL schema syntax](../../../developers/applications/defining-schemas). This makes it easy to define your table and attribute structure and gives you control over which attributes should be indexed and what types they should be. With schemas in configuration, these schemas can be bundled with an application and deployed together with application code. - -### REST Interface - -HarperDB 4.2 introduces a new REST interface for accessing data through best-practice HTTP APIs using intuitive paths and standards-based methods and headers that directly map to our Resource API. This new interface provides fast and easy access to data via queries through GET requests, modifications of data through PUTs, customized actions through POSTs and more. With standards-based header support built-in, this works seamlessly with external caches (including browser caches) for accelerated performance and reduced network transfers. - -### Real-Time - -HarperDB 4.2 now provides standard interfaces for subscribing to data changes and receiving notifications of changes and messages in real-time. Using these new real-time messaging capabilities with structured data provides a powerful integrated platform for both database style data updates and querying along with message delivery. [Real-time messaging](../../../developers/real-time) of data is available through several protocols: - -#### MQTT - -4.2 now includes MQTT support which is a publish and subscribe messaging protocol, designed for efficiency (designed to be efficient enough for even small Internet of Things devices). This allows clients to connect to HarperDB and publish messages through our data center and subscribe to messages and data for real-time delivery. 4.2 implements support for QoS 0 and 1, along with durable sessions. - -#### WebSockets - -HarperDB now also supports WebSockets. This can be used as a transport for MQTT or as a connection for custom connection handling. - -#### Server-Sent Events - -HarperDB also includes support for Server-Sent Events. This is a very easy-to-use browser API that allows web sites/applications to connect to HarperDB and subscribe to data changes with minimal effort over standard HTTP. - -### Database Structure - -HarperDB databases contain a collection of tables, and these tables are now contained in a single transactionally-consistent database file. This means reads and writes can be performed transactionally and atomically across tables (as long as they are in the same database). Multi-table transactions are replicated as single atomic transactions as well. Audit logs are also maintained in the same database with atomic consistency as well. - -Databases are now entirely encapsulated in a file, which means they can be moved/copied to another database without requiring any separate metadata updates in the system tables. - -### Clone Node - -HarperDB includes new functionality for adding new HarperDB nodes in a cluster. New instances can be configured to clone from a leader node, performing and copying a database snapshot from a leader node, and self-configuring from the leader node as well, to facilitate accelerated deployment of new nodes for fast horizontal scaling to meet demand needs. [See the documentation on Clone Node for more information.](../../../administration/cloning) - -### Operations API terminology updates - -Any operation that used the `schema` property was updated to make this property optional and alternately support `database` as the property for specifying the database (formerly 'schema'). If both `schema` and `database` are absent, operation defaults to using the `data` database. Term 'primary key' now used in place of 'hash'. noSQL operation `search_by_hash` updated to `search_by_id`. - -Support was added for defining a table with `primary_key` instead of `hash_attribute`. - -## Configuration - -There have been significant changes to `harperdb-config.yaml`, however none of these changes should affect pre-4.2 versions. If you upgrade to 4.2 any existing configuration should be backwards compatible and will not need to be updated. - -`harperdb-config.yaml` has had some configuration values added, removed, renamed and defaults changed. Please refer to [harperdb-config.yaml](../../../deployments/configuration) for the most current configuration parameters. - -- The `http` element has been expanded. - - `compressionThreshold` was added. - - All `customFunction` configuration now lives here, except for the `tls` section. -- `threads` has moved out of the `http` element and now is its own top level element. -- `authentication` section was moved out of the `operationsApi` section and is now its own top level element/section. -- `analytics.aggregatePeriod` was added. -- Default logging level was changed to `warn`. -- Default clustering log level was changed to `info`. -- `clustering.republishMessages` now defaults to `false`. -- `operationsApi.foreground` was removed. To start HarperDB in the foreground, from the CLI run `harperdb`. -- Made `operationsApi` configuration optional. Any config not defined here will default to the `http` section. -- Added a `securePort` parameter to `operationsApi` and `http` used for setting the https port. -- Added a new top level `tls` section. -- Removed `customFunctions.enabled`, `customFunctions.network.https`, `operationsApi.network.https` and `operationsApi.nodeEnv`. -- Added an element called `componentRoot` which replaces `customFunctions.root`. -- Updated custom pathing to use `databases` instead of `schemas`. -- Added `logging.auditAuthEvents.logFailed` and `logging.auditAuthEvents.logSuccessful` for enabling logging of auth events. -- A new `mqtt` section was added. - -### Socket Management - -HarperDB now uses socket sharing to distribute incoming connections to different threads (`SO_REUSEPORT`). This is considered to be the most performant mechanism available for multi-threaded socket handling. This does mean that we have deprecated session-affinity based socket delegation. - -HarperDB now also supports more flexible port configurations: application endpoints and WebSockets run on 9926 by default, but these can be separated, or application endpoints can be configured to run on the same port as the operations API for a single port configuration. - -### Sessions - -HarperDB now supports cookie-based sessions for authentication for web clients. This can be used with the standard authentication mechanisms to login, and then cookies can be used to preserve the authenticated session. This is generally a more secure way of maintaining authentication in browsers, without having to rely on storing credentials. - -### Dev Mode - -HarperDB can now directly run a HarperDB application from any location using `harperdb run /path/to/app` or `harperdb dev /path/to/app`. The latter starts in dev mode, with logging directly to the console, debugging enabled, and auto-restarting with any changes in your application files. Dev mode is recommended for local application and component development. diff --git a/docs/technical-details/release-notes/v4-tucker/4.2.1.md b/docs/technical-details/release-notes/v4-tucker/4.2.1.md deleted file mode 100644 index c792a637..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.2.1.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.2.1 -sidebar_position: 59798 ---- - -### HarperDB 4.2.1, Tucker Release - -11/3/2023 - -- Downgrade NATS 2.10.3 back to 2.10.1 due to regression in connection handling. -- Handle package names with underscores. -- Improved validation of queries and comparators -- Avoid double replication on transactions with multiple commits -- Added file metadata on get_component_file diff --git a/docs/technical-details/release-notes/v4-tucker/4.2.2.md b/docs/technical-details/release-notes/v4-tucker/4.2.2.md deleted file mode 100644 index 9cfa957e..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.2.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.2.2 -sidebar_position: 59797 ---- - -### HarperDB 4.2.2, Tucker Release - -11/8/2023 - -- Increase timeouts for NATS connections. -- Fix for database snapshots for backups (and for clone node). -- Fix application of permissions for default tables exposed through REST. -- Log replication failures with record information. -- Fix application of authorization/permissions for MQTT commands. -- Fix copying of local components in clone node. -- Fix calculation of overlapping start time in clone node. diff --git a/docs/technical-details/release-notes/v4-tucker/4.2.3.md b/docs/technical-details/release-notes/v4-tucker/4.2.3.md deleted file mode 100644 index edecd686..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.2.3.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.2.3 -sidebar_position: 59796 ---- - -### HarperDB 4.2.3, Tucker Release - -11/15/2023 - -- When setting setting securePort, disable unsecure port setting on same port -- Fix `harperdb status` when pid file is missing -- Fix/include missing icons/fonts from local studio -- Fix crash that can occur when concurrently accessing records > 16KB -- Apply a lower heap limit to better ensure that memory leaks are quickly caught/mitigated diff --git a/docs/technical-details/release-notes/v4-tucker/4.2.4.md b/docs/technical-details/release-notes/v4-tucker/4.2.4.md deleted file mode 100644 index 14d268b5..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.2.4.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.2.4 -sidebar_position: 59795 ---- - -### HarperDB 4.2.4, Tucker Release - -11/16/2023 - -- Prevent coercion of strings to numbers in SQL queries (in WHERE clause) -- Address fastify deprecation warning about accessing config diff --git a/docs/technical-details/release-notes/v4-tucker/4.2.5.md b/docs/technical-details/release-notes/v4-tucker/4.2.5.md deleted file mode 100644 index 1b6bf143..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.2.5.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.2.5 -sidebar_position: 59794 ---- - -### HarperDB 4.2.5, Tucker Release - -11/22/2023 - -- Disable compression on server-sent events to ensure messages are immediately sent (not queued for later deliver) -- Update geoNear function to tolerate null values -- lmdb-js fix to ensure prefetched keys are pinned in memory until retrieved -- Add header to indicate start of a new authenticated session (for studio to identify authenticated sessions) diff --git a/docs/technical-details/release-notes/v4-tucker/4.2.6.md b/docs/technical-details/release-notes/v4-tucker/4.2.6.md deleted file mode 100644 index 50abde53..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.2.6.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.2.6 -sidebar_position: 59793 ---- - -### HarperDB 4.2.6, Tucker Release - -11/29/2023 - -- Update various geo SQL functions to tolerate invalid values -- Properly report component installation/load errors in `get_components` (for studio to load components after an installation failure) diff --git a/docs/technical-details/release-notes/v4-tucker/4.2.7.md b/docs/technical-details/release-notes/v4-tucker/4.2.7.md deleted file mode 100644 index 5d75e134..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.2.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.2.7 -sidebar_position: 59792 ---- - -### HarperDB 4.2.7 - -12/6/2023 - -- Add support for cloning over the top of an existing HarperDB instance -- Add health checks for NATS consumer with ability to restart consumer loops for better resiliency -- Revert Fastify autoload module due to a regression that had caused EcmaScript modules for Fastify route modules to fail to load on Windows diff --git a/docs/technical-details/release-notes/v4-tucker/4.2.8.md b/docs/technical-details/release-notes/v4-tucker/4.2.8.md deleted file mode 100644 index 21127797..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.2.8.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.2.8 -sidebar_position: 59791 ---- - -### HarperDB 4.2.8 - -12/19/2023 - -- Added support CLI command line arguments for clone node -- Added support for cloning a node without enabling clustering -- Clear NATS client cache on closed event -- Fix check for attribute permissions so that an empty attribute permissions array is treated as a table level permission definition -- Improve speed of cross-node health checks -- Fix for using `database` in describe operations diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.0.md b/docs/technical-details/release-notes/v4-tucker/4.3.0.md deleted file mode 100644 index b4253319..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.0.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: 4.3.0 -sidebar_position: 59699 ---- - -# 4.3.0 - -#### HarperDB 4.3.0, Tucker Release - -3/19/2024 - -#### Relationships and Joins - -HarperDB now supports defining relationships between tables. These relationships can be defined as one-to-many, many-to-one, or many-to-many, and use a foreign key to record the relationship between records from different tables. An example of how to use this to define a many-to-one and one-to-many relationships between a product and brand table: - -```graphql -type Product @table { - id: ID @primaryKey - name: String @indexed - # foreign key used to reference a brand - brandId: ID @indexed - # many-to-one relationship to brand - brand: Related @relation(from: "brandId") -} -type Brand @table { - id: ID @primaryKey - name: String @indexed - # one-to-many relationship of brand to products of that brand - products: Product @relation(to: "brandId") -} -``` - -This relationships model can be used in queries and selects, which will automatically "join" the data from the tables. For example, you could search for products by brand name: - -```http -/Product?brand.name=Microsoft -``` - -HarperDB also now supports querying with a sort order. Multiple sort orders can be provided breaking ties. Nested select have also been added, which also utilizes joins when related records are referenced. For example: - -```http -/Product?brand.name=Microsoft&sort(price)&select(name,brand{name,size}) -``` - -See the [schema definition documentation](../../../developers/applications/defining-schemas) for more information on defining relationships, and the [REST documentation for more information on queries](../../../developers/rest). - -#### OpenAPI Specification - -A new default endpoint `GET /openapi` was added for describing endpoints configured through a GraphQL schema. - -#### Query Optimizations - -HarperDB has also made numerous improvements to query planning and execution for high performance query results with a broader range of queries. - -#### Indexing Nulls - -New tables and indexes now support indexing null values, enabling queries by null (as well as queries for non-null values). For example, you can query by nulls with the REST interface: - -```http -GET /Table/?attribute=null -``` - -Note, that existing indexes will remain without null value indexing, and can only support indexing/querying by nulls if they are rebuilt (removed and re-added). - -#### CLI Expansion - -The HarperDB now supports an expansive set of commands that execute operations from the operations API. For example, you can list users from the command line: - -```bash -harperdb list_users -``` - -#### BigInt Support - -HarperDB now supports `BigInt` attributes/values with integers (with full precision) up to 1000 bits (or 10^301). These can be used as primary keys or standard attributes, and can be used in queries or other operations. Within JSON documents, you can simply use standard JSON integer numbers with up to 300 digits, and large BigInt integers will be returned as standard JSON numbers. - -#### Local Studio Upgrade - -HarperDB has upgraded the local studio to match the same version that is offered on https://studio.harperdb.io. The local studio now has the full robust feature set of the online version. - -### MQTT - -#### mTLS Support - -HarperDB now supports mTLS based authentication for HTTP, WebSockets, and MQTT. See the [configuration documentation for more information](../../../deployments/configuration). - -#### Single-Level Wildcards - -HarperDB's MQTT service now supports single-level wildcards (`+`), which facilitates a great range of subscriptions. - -#### Retain handling - -HarperDB's MQTT now supports the retain handling flags for subscriptions that are made using MQTT v5. - -#### CRDT - -HarperDB now supports basic conflict-free data type (CRDT) updates that allow properties to be individually updated and merged when separate properties are updated on different threads or nodes. Individual property CRDT updates are automatically performed when you update individual properties through the resource API. Individual property CRDT updates are used when making `PATCH` requests through the REST API. - -The CRDT functionality also supports explicit incrementation to merge multiple parallel incrementation requests with proper summing. See the [Resource API for more information](../../reference/resources). - -#### Configuration Improvements - -The configuration has improved support for detecting port conflicts, handling paths for fastify routes, and now includes support for specifying a heap limit and TLS ciphers. See the [configuration documentation for more information](../../../deployments/configuration). - -#### Balanced Audit Log Cleanup - -Audit log cleanup has been improved to reduce resource consumption during scheduled cleanups. - -#### `export_*` support for `search_by_conditions` - -The `export_local` and `export_to_s3` operations now support `search_by_conditions` as one of the allowed search operators. - -### Storage Performance Improvements - -Significant improvements were made to handling of free-space to decrease free-space fragmentation and improve performance of reusing free-space for new data. This includes prioritizing reuse of recently released free-space for more better memory/caching utilization. - -#### Compact Database - -In addition to storage improvements, HarperDB now includes functionality for [compacting a database](../../../deployments/harper-cli) (while offline), which can be used to eliminate all free-space to reset any fragmentation. - -#### Compression - -Compression is now enabled by default for all records over 4KB. - -To learn more on how to configure compression visit [configuration](https://docs.harperdb.io/docs/v/4.3/deployments/configuration). diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.1.md b/docs/technical-details/release-notes/v4-tucker/4.3.1.md deleted file mode 100644 index 870968bd..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.1.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.1 -sidebar_position: 59698 ---- - -### HarperDB 4.3.1 - -3/25/2024 - -- Fix Fastify warning about responseTime usage -- Add access to the MQTT topic in the context -- Fix for ensuring local NATS streams are created diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.10.md b/docs/technical-details/release-notes/v4-tucker/4.3.10.md deleted file mode 100644 index 7badf0cc..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.10.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.3.10 -sidebar_position: 59689 ---- - -### HarperDB 4.3.10 - -5/5/2024 - -- Provide a `data` property on the request/context with deserialized data from the request body for any request including methods that don't typically have a request body -- Ensure that CRDTs are not double applied after committing a transaction -- Delete MQTT will after publishing even if it fails to publish -- Improve transaction retry logic to use async non-optimistic transactions after multiple retries diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.11.md b/docs/technical-details/release-notes/v4-tucker/4.3.11.md deleted file mode 100644 index 82b47381..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.11.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.11 -sidebar_position: 59688 ---- - -### HarperDB 4.3.11 - -5/15/2024 - -- Add support for multiple certificates with SNI-based selection of certificates for HTTPS/TLS -- Fix warning in Node v22 diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.12.md b/docs/technical-details/release-notes/v4-tucker/4.3.12.md deleted file mode 100644 index 3f016e25..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.12.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.12 -sidebar_position: 59687 ---- - -### HarperDB 4.3.12 - -5/16/2024 - -- Fix for handling ciphers in multiple certificates -- Allow each certificate config to have multiple hostnames diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.13.md b/docs/technical-details/release-notes/v4-tucker/4.3.13.md deleted file mode 100644 index e7833e0a..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.13.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.13 -sidebar_position: 59686 ---- - -### HarperDB 4.3.13 - -5/22/2024 - -- Fix for handling HTTPS/TLS with IP address targets (no hostname) where SNI is not available -- Fix for memory leak when a node is down and consumers are trying to reconnect -- Faster cross-thread notification mechanism for transaction events diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.14.md b/docs/technical-details/release-notes/v4-tucker/4.3.14.md deleted file mode 100644 index 0bf4e9c8..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.14.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.14 -sidebar_position: 59685 ---- - -### HarperDB 4.3.14 - -5/24/2024 - -- Fix application of ciphers to multi-certificate TLS configuration diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.15.md b/docs/technical-details/release-notes/v4-tucker/4.3.15.md deleted file mode 100644 index 48321fb6..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.15.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.15 -sidebar_position: 59684 ---- - -### HarperDB 4.3.15 - -5/29/2024 - -- Add support for wildcards in hostnames for SNI -- Properly apply ciphers settings on multiple TLS configurations diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.16.md b/docs/technical-details/release-notes/v4-tucker/4.3.16.md deleted file mode 100644 index 195e27b7..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.16.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.16 -sidebar_position: 59683 ---- - -### HarperDB 4.3.16 - -6/3/2024 - -- Properly shim legacy TLS configuration with new multi-certificate support -- Show the changed filenames when an application is reloaded diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.17.md b/docs/technical-details/release-notes/v4-tucker/4.3.17.md deleted file mode 100644 index 27a0f4cb..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.17.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.3.17 -sidebar_position: 59682 ---- - -### HarperDB 4.3.17 - -6/13/2024 - -- Add MQTT analytics of incoming messages and separate by QoS level -- Ensure that any installed `harperdb` package in components is relinked to running harperdb. -- Upgrade storage to more efficiently avoid storage increases -- Fix to improve database metrics in system_information -- Fix for pathing on Windows with extension modules -- Add ability to define a range of listening threads diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.18.md b/docs/technical-details/release-notes/v4-tucker/4.3.18.md deleted file mode 100644 index 052b3821..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.18.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.18 -sidebar_position: 59681 ---- - -### HarperDB 4.3.18 - -6/18/2024 - -- Immediately terminate an MQTT connection when there is a keep-alive timeout. diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.19.md b/docs/technical-details/release-notes/v4-tucker/4.3.19.md deleted file mode 100644 index 2676c9f6..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.19.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.19 -sidebar_position: 59680 ---- - -### HarperDB 4.3.19 - -7/2/2024 - -- Properly return records for the existing value for subscriptions used for retained messages, so they are correctly serialized. -- Ensure that deploy components empty the target directory for a clean installation and expansion of a `package` sub-directory. -- Ensure that we do not double load components that are referenced by symlink from node_modules and in components directory. diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.2.md b/docs/technical-details/release-notes/v4-tucker/4.3.2.md deleted file mode 100644 index ca273c5e..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.3.2 -sidebar_position: 59697 ---- - -### HarperDB 4.3.2 - -3/29/2024 - -- Clone node updates to individually clone missing parts -- Fixes for publishing OpenShift container -- Increase purge stream timeout -- Fixed declaration of analytics schema so queries work before a restart -- Fix for iterating queries when deleted records exist -- LMDB stability upgrade -- Fix for cleanup of last will in MQTT diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.20.md b/docs/technical-details/release-notes/v4-tucker/4.3.20.md deleted file mode 100644 index d090990b..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.20.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: 4.3.20 -sidebar_position: 59679 ---- - -### HarperDB 4.3.20 - -7/11/2024 - -- The restart_service operation is now executed as a job, making it possible to track the progress of a restart (which is performed as a rolling restart of threads) -- Disable Nagle's algorithm for TCP connections to improve performance -- Append Server-Timing header if a fastify route has already added one -- Avoid symlinking the harperdb directory to itself -- Fix for deleting an empty database -- Upgrade ws and pm2 packages for security vulnerabilities -- Improved TypeScript definitions for Resource and Context. -- The context of a source can set `noCacheStore` to avoid caching the results of a retrieval from source -- Better error reporting of MQTT parsing errors and termination of connections for compliance diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.21.md b/docs/technical-details/release-notes/v4-tucker/4.3.21.md deleted file mode 100644 index 7afefd12..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.21.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.21 -sidebar_position: 59678 ---- - -### HarperDB 4.3.21 - -8/21/2024 - -- Fixed an issue with iterating/serializing query results with a `limit`. -- Fixed an issue that was preventing the caching of structured records in memory. -- Fixed and added several TypeScript exported types including `tables`, `databases`, `Query`, and `Context`. -- Fixed logging warnings about license limits after a license is updated. -- Don't register a certificate as the default certificate for non-SNI connections unless it lists an IP address in the SAN field. diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.22.md b/docs/technical-details/release-notes/v4-tucker/4.3.22.md deleted file mode 100644 index a4bc2003..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.22.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.3.22 -sidebar_position: 59677 ---- - -### HarperDB 4.3.22 - -9/6/2024 - -- Adding improved back-pressure handling for large subscriptions and backlogs with durable MQTT sessions -- Allow .extension in URL paths to indicate both preferred encoding and decoding -- Added support for multi-part ids in query parameters -- Limit describe calls by time before using statistical sampling -- Proper cleanup of a transaction when it is aborted due to running out of available read transactions -- Updates to release/builds diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.23.md b/docs/technical-details/release-notes/v4-tucker/4.3.23.md deleted file mode 100644 index 7496c1d1..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.23.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.23 -sidebar_position: 59676 ---- - -### HarperDB 4.3.23 - -9/12/2024 - -- Avoid long-running read transactions on subscription catch-ups -- Reverted change to setting default certificate for IP address only -- Better handling of last-will messages on startup diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.24.md b/docs/technical-details/release-notes/v4-tucker/4.3.24.md deleted file mode 100644 index 435c15ec..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.24.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.24 -sidebar_position: 59675 ---- - -### HarperDB 4.3.24 - -9/12/2024 - -- Fix for querying for large strings (over 255 characters) diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.25.md b/docs/technical-details/release-notes/v4-tucker/4.3.25.md deleted file mode 100644 index 601d9ec0..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.25.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.3.25 -sidebar_position: 59674 ---- - -### HarperDB 4.3.25 - -9/24/2024 - -- Add analytics for replication latency -- Fix iteration issue over asynchronous joined queries -- Local studio fix for loading applications in insecure context (HTTP) -- Local studio fix for loading configuration tab diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.26.md b/docs/technical-details/release-notes/v4-tucker/4.3.26.md deleted file mode 100644 index c0dacf54..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.26.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.26 -sidebar_position: 59673 ---- - -### HarperDB 4.3.26 - -9/27/2024 - -- Fixed a security issue that allowed users to bypass access controls with the operations API -- Previously expiration handling was limited to tables with a source, but now it can be applied to any table diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.27.md b/docs/technical-details/release-notes/v4-tucker/4.3.27.md deleted file mode 100644 index 0bbd448a..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.27.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.27 -sidebar_position: 59672 ---- - -### HarperDB 4.3.27 - -10/2/2024 - -- Fixed handling HTTP upgrade with Connection header that does not use Upgrade as the sole value (for Firefox) -- Added metrics for requests by status code -- Properly remove attributes from the stored metadata when removed from GraphQL schema -- Fixed a regression in clustering retrieval of schema description -- Fix attribute validation/handling to ensure that sequential ids can be assigned with insert/upsert operations diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.28.md b/docs/technical-details/release-notes/v4-tucker/4.3.28.md deleted file mode 100644 index 361d416d..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.28.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.28 -sidebar_position: 59671 ---- - -### HarperDB 4.3.28 - -10/3/2024 - -- Tolerate user with no role when building NATS config -- Change metrics for requests by status code to be prefixed with "response\_" -- Log error `cause`, and other properties, when available. diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.29.md b/docs/technical-details/release-notes/v4-tucker/4.3.29.md deleted file mode 100644 index 5537df8b..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.29.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 4.3.29 -sidebar_position: 59670 ---- - -### HarperDB 4.3.29 - -10/7/2024 - -- Avoid unnecessary cookie session creation without explicit login -- Added support for caching directives in operations API -- Fixed issue with creating metadata for table with no primary key -- Local studio upgrade: - - Added support for "cache only" mode to view table data without origin resolution - - Added partial support for cookie-based authentication - - Added support for browsing tables with no primary key - - Improved performance for sorting tables diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.3.md b/docs/technical-details/release-notes/v4-tucker/4.3.3.md deleted file mode 100644 index 38175dda..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.3 -sidebar_position: 59696 ---- - -### HarperDB 4.3.3 - -4/01/2024 - -- Improve MQTT logging by properly logging auth failures, logging disconnections diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.30.md b/docs/technical-details/release-notes/v4-tucker/4.3.30.md deleted file mode 100644 index e005db97..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.30.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.30 -sidebar_position: 59669 ---- - -### HarperDB 4.3.30 - -10/9/2024 - -- Properly assign transaction timestamp to writes from cache resolutions (ensuring that latencies can be calculated on replicating nodes) diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.31.md b/docs/technical-details/release-notes/v4-tucker/4.3.31.md deleted file mode 100644 index 80cab2b9..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.31.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.31 -sidebar_position: 59668 ---- - -### HarperDB 4.3.31 - -10/10/2024 - -- Reset the restart limit for manual restarts to ensure that NATS process will continue to restart after more than 10 manual restarts -- Only apply caching directives (from headers) to tables/resources that are configured to be caching, sourced from another resource -- Catch/tolerate errors on serializing objects for logging diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.32.md b/docs/technical-details/release-notes/v4-tucker/4.3.32.md deleted file mode 100644 index 0b5893b4..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.32.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.32 -sidebar_position: 59667 ---- - -### HarperDB 4.3.32 - -10/16/2024 - -- Fix a memory leak when cluster_network closes a hub connection -- Improved MQTT error handling, with less verbose logging of more common errors, and treat a missing subscription as an invalid/missing topic -- Record analytics and server-timing header even when cache resolution fails diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.33.md b/docs/technical-details/release-notes/v4-tucker/4.3.33.md deleted file mode 100644 index 7707a562..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.33.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.33 -sidebar_position: 59666 ---- - -### HarperDB 4.3.33 - -10/24/2024 - -- Change the default maximum length for a fastify route parameter from 100 to 1000 characters. diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.34.md b/docs/technical-details/release-notes/v4-tucker/4.3.34.md deleted file mode 100644 index 2bd65833..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.34.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.34 -sidebar_position: 59665 ---- - -### HarperDB 4.3.34 - -10/24/2024 - -- lmdb-js upgrade diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.35.md b/docs/technical-details/release-notes/v4-tucker/4.3.35.md deleted file mode 100644 index f8dd7b73..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.35.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.35 -sidebar_position: 59664 ---- - -### HarperDB 4.3.35 - -11/12/2024 - -- Upgrades for supporting Node.js V23 -- Fix for handling a change in the schema for nested data structures diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.36.md b/docs/technical-details/release-notes/v4-tucker/4.3.36.md deleted file mode 100644 index 2eb8e636..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.36.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.36 -sidebar_position: 59663 ---- - -### HarperDB 4.3.36 - -11/14/2024 - -- lmdb-js upgrade for better free-space management diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.37.md b/docs/technical-details/release-notes/v4-tucker/4.3.37.md deleted file mode 100644 index f36e1c32..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.37.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.37 -sidebar_position: 59662 ---- - -### HarperDB 4.3.37 - -12/6/2024 - -- lmdb-js upgrade for preventing crashes with shared user buffers diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.38.md b/docs/technical-details/release-notes/v4-tucker/4.3.38.md deleted file mode 100644 index d1fce0f8..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.38.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.38 -sidebar_position: 59661 ---- - -### HarperDB 4.3.38 - -1/10/2025 - -- Fixes for audit log cleanup diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.4.md b/docs/technical-details/release-notes/v4-tucker/4.3.4.md deleted file mode 100644 index 0c96732f..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.4.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.4 -sidebar_position: 59695 ---- - -### HarperDB 4.3.4 - -4/9/2024 - -- Fixed a buffer overrun issue with decompressing compressed data -- Better keep-alive of transactions with long running queries diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.5.md b/docs/technical-details/release-notes/v4-tucker/4.3.5.md deleted file mode 100644 index 60888785..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.5.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.5 -sidebar_position: 59694 ---- - -### HarperDB 4.3.5 - -4/10/2024 - -- Fixed a buffer overrun issue with decompressing compressed data diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.6.md b/docs/technical-details/release-notes/v4-tucker/4.3.6.md deleted file mode 100644 index 54a4739a..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.6.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.6 -sidebar_position: 59693 ---- - -### HarperDB 4.3.6 - -4/12/2024 - -- Fixed parsing of dates from epoch millisecond times in queries -- Fixed CRDT incrementation of different data types -- Adjustments to text/plain content type q-value handling -- Fixed parsing of passwords with a colon -- Added MQTT events for connections, authorization, and disconnections diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.7.md b/docs/technical-details/release-notes/v4-tucker/4.3.7.md deleted file mode 100644 index df9fb331..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.7.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.7 -sidebar_position: 59692 ---- - -### HarperDB 4.3.7 - -4/16/2024 - -- Fixed transaction handling to stay on open on long compaction operations -- Fixed handling of sorting on non-indexed attributes -- Storage stability improvements -- Fixed authentication/authorization of WebSockets connection and use of cookies -- Fixes for clone node operations diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.8.md b/docs/technical-details/release-notes/v4-tucker/4.3.8.md deleted file mode 100644 index 0e4c5b6c..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.8.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.8 -sidebar_position: 59691 ---- - -### HarperDB 4.3.8 - -4/26/2024 - -- Added support for the MQTT keep-alive feature (disconnecting if no control messages are received within keep-alive window) -- Improved handling of write queue timeouts, with configurability -- Fixed a memory leak that can occur with NATS reconnections after heartbeat misses -- Fixed a bug in clone node with a null port -- Add error events to MQTT events system diff --git a/docs/technical-details/release-notes/v4-tucker/4.3.9.md b/docs/technical-details/release-notes/v4-tucker/4.3.9.md deleted file mode 100644 index 17c95934..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.3.9.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.9 -sidebar_position: 59690 ---- - -### HarperDB 4.3.9 - -4/30/2024 - -- lmdb-js upgrade diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.0.md b/docs/technical-details/release-notes/v4-tucker/4.4.0.md deleted file mode 100644 index 3fd30827..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.0.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: 4.4.0 -sidebar_position: 59599 ---- - -# 4.4.0 - -#### HarperDB 4.4.0 - -10/14/2024 - -### Native Replication - -HarperDB has a completely [new native replication system](../../../developers/replication/) which is faster, more efficient, secure, and reliable than the previous replication system. The new system (codenamed "Plexus") uses direct WebSocket connections between servers with highly optimized encoding and is driven by direct tracking audit/transaction log for efficient and flexible data transfer. This replication has improved resilience with the ability to reach consensus consistency when one node goes down through cross-node catch-up. Network connections can be performed over the existing operations API port or a separate port, for improved configurability. - -The native replication system is much easier to configure, with multiple options for authentication and security, including PKI/mTLS security that is highly robust and easy to use in conjunction with existing PKI certificates. Replication can be configured through explicit subscriptions or for automated replication of all data in a database. With automated replication, gossiping is used to automatically discover and connect to other nodes in the cluster. - -#### Sharding - -The new replication system also includes provisional support for [sharding](../../../developers/replication/sharding). This sharding mechanism paves the way for greater scalability and performance, by allow data to be distributed across multiple nodes. - -#### Replicated Operations - -Certain operations can now be replicated across the cluster, including the deployment and management of components. This allows for a more seamless experience when managing a cluster of HarperDB instances. Restarts can also be "replicated", and if used, will perform a rolling restart of all the nodes in a cluster. - -### Computed Properties - -Computed properties allow applications to define properties that are computed from other properties, allowing for composite properties that are calculated from other data stored in records without requiring actual storage of the computed value. For example, you could have a computed property for a full name based on first and last, or age/duration based on a date. Computed properties are also foundational for custom indexes. See the [schema documentation](../../../developers/applications/defining-schemas), [Resource API](../../reference/resources), and our blog post on [computed properties](https://www.harperdb.io/development/tutorials/how-to-create-custom-indexes-with-computed-properties) for more information. - -### Custom Indexing - -Custom indexes can now be defined using computed properties to allow for unlimited possibilities of indexing, including composite, full-text indexing, vector indexing. Again, see the [schema documentation](../../../developers/applications/defining-schemas) for more information. - -### Native Graph Support - -HarperDB now includes provisional support for native [GraphQL querying functionality](../../reference/graphql). This allows for querying of graph data using GraphQL syntax. This is provisional and some APIs may be updated in the future. - -### Dynamic Certificate Management - -Certificates are now stored in system tables and can be dynamically managed. Certificates can be added, replaced, and deleted without restarting HarperDB. This includes both standard certificates and certificate authorities, as well as private keys (private keys are not stored in table, they securely stored in a file). - -#### Status Report on Startup - -On startup, HarperDB will now print out an informative status of all running services and ports they are listening on. - -#### Support for Response object - -Resource methods can now return a `Response` object (or an object with `headers` and `status`) to allow for more control over the response. - -### Auto-incrementing Primary Keys - -Primary keys can now be auto-incrementing, allowing for automatic generation of numeric primary keys on insert/creation. Primary keys defined with `ID` or `String` will continue to use GUIDs for auto-assigned primary keys, which occurs on insert or creation if the primary key is not provided. However, for keys that are defined as `Any`, `Int`, or `Long`, the primary key will be assigned using auto-incrementation. This is significantly more efficient than GUIDs since the key only requires 8 bytes of storage instead of 31 bytes, and doesn't require random number generation. - -#### Developer/Production Mode for Configuration - -When using interactive installation (when configuration is not provided through arguments or env vars), HarperDB now provides an option for developer or production mode with a set of default configuration for each mode better suited for developer or production environments. - -**Export by Protocol** - -Exported resources can be configured to be specifically exported by protocol (REST, MQTT, etc.) for more granular control over what is exported where. diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.1.md b/docs/technical-details/release-notes/v4-tucker/4.4.1.md deleted file mode 100644 index 5c1e2037..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.1 -sidebar_position: 59598 ---- - -### HarperDB 4.4.1 - -10/17/2024 - -- Fix issue where non-RSA keys were not being parsed correctly on startup. -- Fix a memory leak when cluster_network closes a hub connection -- Improved MQTT error handling, with less verbose logging of more common errors, and treat a missing subscription as an invalid/missing topic -- Record analytics and server-timing header even when cache resolution fails diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.10.md b/docs/technical-details/release-notes/v4-tucker/4.4.10.md deleted file mode 100644 index 6d8aad2c..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.10.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.10 -sidebar_position: 59589 ---- - -### HarperDB 4.4.10 - -12/17/2024 - -- Fix for deploying packages and detecting node_modules directory diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.11.md b/docs/technical-details/release-notes/v4-tucker/4.4.11.md deleted file mode 100644 index 5e5b5fc0..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.11.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.11 -sidebar_position: 59588 ---- - -### HarperDB 4.4.11 - -12/18/2024 - -- Fix for initial certification creation on upgrade -- Docker build fix diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.12.md b/docs/technical-details/release-notes/v4-tucker/4.4.12.md deleted file mode 100644 index 8efe840e..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.12.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.12 -sidebar_position: 59587 ---- - -### HarperDB 4.4.12 - -12/19/2024 - -- Move components installed by reference into hdb/components for consistency and compatibility with next.js -- Use npm install --force to ensure modules are installed diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.13.md b/docs/technical-details/release-notes/v4-tucker/4.4.13.md deleted file mode 100644 index cab28cc0..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.13.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.4.13 -sidebar_position: 59586 ---- - -### HarperDB 4.4.13 - -1/2/2025 - -- Fix for not using requestCert if the port doesn't need replication -- Fix for applying timeouts HTTP server for ancient node versions -- Updates for different replication configuration settings, including sharding and replication using stored credentials -- Mitigation crashing due GC'ed shared array buffers -- Fix for error handling with CLI failures -- Updated dependencies -- Fix for allow securePort to be set on authentication diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.14.md b/docs/technical-details/release-notes/v4-tucker/4.4.14.md deleted file mode 100644 index b44a173d..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.14.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.14 -sidebar_position: 59585 ---- - -### HarperDB 4.4.14 - -1/3/2025 - -- Fix for starting HTTP server if headersTimeout is omitted in the configuration -- Fix for avoiding ping timeouts for large/long-duration WS messages between nodes -- Don't report errors for component that only uses a directory -- Add flag for disabling WebSocket on REST component diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.15.md b/docs/technical-details/release-notes/v4-tucker/4.4.15.md deleted file mode 100644 index b6a8ee2b..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.15.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.15 -sidebar_position: 59584 ---- - -### HarperDB 4.4.15 - -1/8/2025 - -- Fix for manage the state of replication sequences for node -- Fix for better concurrency with ongoing replication -- Fix for accessing audit log entries diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.16.md b/docs/technical-details/release-notes/v4-tucker/4.4.16.md deleted file mode 100644 index d85de974..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.16.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.4.16 -sidebar_position: 59583 ---- - -### HarperDB 4.4.16 - -1/22/2025 - -- Fix for cleaning up old audit entries and associated deletion entries -- Allow CLI operations to be run when cloning is enabled -- Report table size in describe operations -- Fix for cleaning up symlinks when dropping components -- Fix for enumerating components when symlinks are used -- Add an option for using a specific installation command with deploys -- Add an API for registering an HTTP upgrade listener with `server.upgrade` diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.17.md b/docs/technical-details/release-notes/v4-tucker/4.4.17.md deleted file mode 100644 index 239f7729..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.17.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.17 -sidebar_position: 59582 ---- - -### HarperDB 4.4.17 - -1/29/2025 - -- Provide statistics on the size of the audit log store -- Fix handling of symlinks to HarperDB package that to avoid NPM's errors in restricted containers -- Add option for rolling/consecutive restarts for deployments -- Fix for enabling root CAs for replication authorization diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.18.md b/docs/technical-details/release-notes/v4-tucker/4.4.18.md deleted file mode 100644 index e7354587..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.18.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.18 -sidebar_position: 59581 ---- - -### HarperDB 4.4.18 - -1/29/2025 - -- Add option for disabling full table copy in replication -- Add option for startTime in route configuration -- Add/fix option to deploy with package from CLI diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.19.md b/docs/technical-details/release-notes/v4-tucker/4.4.19.md deleted file mode 100644 index 5a1cc14e..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.19.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.19 -sidebar_position: 59580 ---- - -### HarperDB 4.4.19 - -2/4/2025 - -- LMDB upgrade for free-list verification on commit -- Add check to avoid compacting database multiple times with compactOnStart -- Fix handling of denied/absent subscription -- Add support for including symlinked directories in packaging a deployed component diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.2.md b/docs/technical-details/release-notes/v4-tucker/4.4.2.md deleted file mode 100644 index 53dfbb7b..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.2.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.2 -sidebar_position: 59597 ---- - -### HarperDB 4.4.2 - -10/18/2024 - -- Republish of 4.4.1 with Git merge correction. diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.20.md b/docs/technical-details/release-notes/v4-tucker/4.4.20.md deleted file mode 100644 index 656de065..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.20.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.20 -sidebar_position: 59579 ---- - -### HarperDB 4.4.20 - -2/11/2025 - -- LMDB upgrade for improved handling of page boundaries with free-space lists diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.21.md b/docs/technical-details/release-notes/v4-tucker/4.4.21.md deleted file mode 100644 index c63d84a2..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.21.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.21 -sidebar_position: 59578 ---- - -### HarperDB 4.4.21 - -2/25/2025 - -- Fix for saving audit log entries for large keys (> 1KB) -- Security fix for handling missing passwords -- Skip bin links for NPM installation to avoid access issues diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.22.md b/docs/technical-details/release-notes/v4-tucker/4.4.22.md deleted file mode 100644 index d66163f9..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.22.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.22 -sidebar_position: 59577 ---- - -### HarperDB 4.4.22 - -3/5/2025 - -- Add new http configuration option `corsAccessControlAllowHeaders` diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.23.md b/docs/technical-details/release-notes/v4-tucker/4.4.23.md deleted file mode 100644 index 9048b3d6..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.23.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.23 -sidebar_position: 59576 ---- - -### HarperDB 4.4.23 - -3/7/2025 - -- Fix for subscriptions to children of segmented id -- Fix for better error reporting on NPM failures diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.24.md b/docs/technical-details/release-notes/v4-tucker/4.4.24.md deleted file mode 100644 index 324a2423..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.24.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.24 -sidebar_position: 59575 ---- - -### HarperDB 4.4.24 - -3/10/2025 - -- Use process.exit(0) to restart when enabled by env var -- Reset the cwd on thread restart diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.3.md b/docs/technical-details/release-notes/v4-tucker/4.4.3.md deleted file mode 100644 index 4e844820..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.3.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.4.3 -sidebar_position: 59596 ---- - -### HarperDB 4.4.3 - -10/25/2024 - -- Fix for notification of records through classes that override get for multi-tier caching -- Fix for CLI operations -- Support for longer route parameters in Fastify routes -- Fix for accessing `harperdb` package/module from user threads -- Improvements to clone node for cloning without credentials diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.4.md b/docs/technical-details/release-notes/v4-tucker/4.4.4.md deleted file mode 100644 index bbf0df8d..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.4 -sidebar_position: 59595 ---- - -### HarperDB 4.4.4 - -11/4/2024 - -- Re-introduce declarative roles and permissions -- Fix for OpenAPI endpoint -- Fix for exports of `harperdb` package/module diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.5.md b/docs/technical-details/release-notes/v4-tucker/4.4.5.md deleted file mode 100644 index 448687c6..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.5.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.4.5 -sidebar_position: 59594 ---- - -### HarperDB 4.4.5 - -11/15/2024 - -- Fix for DOS vulnerability in large headers with cache-control and replication headers -- Fix for handling a change in the schema type for sub-fields in a nested object -- Add support for content type handlers to return iterators -- Fix for session management with custom authentication handler -- Updates for Node.js V23 compatibility -- Fix for sorting on nested properties -- Fix for querying on not_equal to a null with object values diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.6.md b/docs/technical-details/release-notes/v4-tucker/4.4.6.md deleted file mode 100644 index 4cc0cc86..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.6.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.6 -sidebar_position: 59593 ---- - -### HarperDB 4.4.6 - -11/25/2024 - -- Fix queries with only sorting applied -- Fix for handling invalidation events propagating through sources -- Expanded CLI support for deploying packages -- Support for deploying large packages diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.7.md b/docs/technical-details/release-notes/v4-tucker/4.4.7.md deleted file mode 100644 index a4f6041f..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.7.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.7 -sidebar_position: 59592 ---- - -### HarperDB 4.4.7 - -11/27/2024 - -- Allow for package to deploy own modules -- Fix for preventing double sourcing of resources diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.8.md b/docs/technical-details/release-notes/v4-tucker/4.4.8.md deleted file mode 100644 index 493736a8..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.8.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.8 -sidebar_position: 59591 ---- - -### HarperDB 4.4.8 - -12/2/2024 - -- Add multiple node versions of published docker containers diff --git a/docs/technical-details/release-notes/v4-tucker/4.4.9.md b/docs/technical-details/release-notes/v4-tucker/4.4.9.md deleted file mode 100644 index 077e80cd..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.4.9.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.4.9 -sidebar_position: 59590 ---- - -### HarperDB 4.4.9 - -12/12/2024 - -- Change enableRootCAs to default to true -- Fixes for install and clone commands -- Add rejectUnauthorized to the CLI options -- Fixes for cloning -- Install modules in own component when deploying package by payload diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.0.md b/docs/technical-details/release-notes/v4-tucker/4.5.0.md deleted file mode 100644 index 2f8203fa..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.0.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: 4.5.0 -sidebar_position: 59499 ---- - -# 4.5.0 - -#### HarperDB 4.5.0 - -3/13/2025 - -### Blob Storage - -4.5 introduces a new [Blob storage system](../../reference/blob), that is designed to efficiently handle large binary objects, with built-in support for streaming large content/media in and out of storage. This provides significantly better performance and functionality for large unstructured data, such as HTML, images, video, and other large files. Components can leverage this functionality through the JavaScript `Blob` interface, and the new `createBlob` function. Blobs are fully replicated and integrated. Harper can also coerce strings to `Blob`s (when dictated by the field type), making it feasible to use blobs for large string data, including with MQTT messaging. - -### Password Hashing Upgrade - -4.5 adds two new password hashing algorithms for better security (to replace md5): -`sha256`: This is a solid general purpose of password hashing, with good security properties and excellent performance. This is the default algorithm in 4.5. -`argon2id`: This provides the highest level of security, and is the recommended algorithm that do not require frequent password verifications. However, it is more CPU intensive, and may not be suitable for environments with a high frequency of password verifications. - -### Resource and Storage Analytics - -4.5 includes numerous new analytics for resources and storage, including page faults, context switches, free space, disk usage, and other metrics. - -#### Default Replication Port - -The default port for replication has been changed from 9925 to 9933. - -### Property Forwarding - -Accessing record properties from resource instances should be accessible through standard property access syntax, regardless of whether the property was declared in a schema. Previously only properties declared in a schema were accessible through standard property access syntax. This change allows for more consistent and intuitive access to record properties, regardless of how they were defined. It is still recommended to declare properties in a schema for better performance and documentation. - -### Storage Reclamation - -Harper now includes functionality for automatically trying to clean up and evict non-essential data when storage is running low. When free space drops below 40% (configurable), Harper will start to: - -- Evict older entries from caching tables -- Evict older audit log entries -- Remove older rotated logs files - These efforts will become progressively more aggressive as free space decreases. - -### Expanded Sharding Functionality - -When sharding is being used, Harper can now honor write requests with residency information that will not be written to the local node's table. Harper also now allows nodes to be declaratively configured as part of a shard. - -### Certificate Revocation - -Certificates can now be revoked by configuring nodes with a list of revoked certificate serial numbers. - -### Built-in `loadEnv` Component - -There is a new `loadEnv` component loader that can be used to load environmental variables from a .env in a component. - -### Cluster Status Information - -The [`cluster_status` operation](../../../developers/operations-api/clustering) now includes new statistics for replication, including the timestamps of last received transactions, sent transactions, and committed transactions. - -### Improved URL path parsing - -Resources can be defined with nested paths and directly accessed by the exact path without requiring a trailing slash. The `id.property` syntax for accessing properties in URLs will only be applied to properties that are declared in a schema. This allows for URLs to generally include dots in paths without being interpreted as property access. A new [`directURLMapping` option/flag](../../../deployments/configuration) on resources that allows for more direct URL path handling as well. - -### `server.authenticateUser` API - -In addition to the `server.getUser` API that allows for retrieval of users by username, the `server.authenticateUser` API is now available which will _always_ verify the user by the provided password. - -#### Improved Message Delivery - -Performance of delivery of messages has been improved. - -### HTTP/2 - -HarperDB now supports HTTP/2 for all API endpoints. This can be enabled with the `http2` option in the configuration file. - -### `harperdb` symlink - -Using `import from 'harperdb'` will more consistently work when directly running a component locally. - -### Transaction Reuse - -By default, transactions can now be reused after calling `transaction.commit()`. - -### GraphQL configuration - -The GraphQL query endpoint can be configured to listen on different ports. GraphQL query endpoing is now also disabled by default, to avoid any conflicts. - -### Glob support for components - -Glob file handling for specifying files used by components has been improved for better consistency. - -### Table.getRecordCount - -`Table.getRecordCount()` is now available to get the number of records in a table. - -### Removal of record counts from REST API - -Previously the root path for a resource in the REST API would return a record count. However, this is a significant performance hazard and was never documented to exist, so this has been removed to ensure better performance and reliability. - -Note that downgrading from 4.5 to 4.4 is _not_ supported. diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.1.md b/docs/technical-details/release-notes/v4-tucker/4.5.1.md deleted file mode 100644 index ec431a8a..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.1.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.5.1 -sidebar_position: 59498 ---- - -### HarperDB 4.5.1 - -3/18/2025 - -- Fix/implementation for sharding data that is written for cache resolution -- Add support for replication.shard in configuration for defining local node's shard id -- Fix for source map handling in stack traces -- Improved error reporting for syntax errors in component code -- Improved logging on deployment and NPM installation -- Added shard information to cluster_status -- Fix for audit entry eviction when a table is deleted diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.10.md b/docs/technical-details/release-notes/v4-tucker/4.5.10.md deleted file mode 100644 index b74fbadb..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.10.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.10 -sidebar_position: 59489 ---- - -### HarperDB 4.5.10 - -5/20/2025 - -- Expose the `resources` map for being able to set and access custom resources -- Fix for cleaning up blob files that are used when a database is deleted diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.11.md b/docs/technical-details/release-notes/v4-tucker/4.5.11.md deleted file mode 100644 index d3f9d8fa..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.11.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.11 -sidebar_position: 59488 ---- - -### HarperDB 4.5.11 - -6/27/2025 - -- Fix bug (workaround Node.js bug) with assigning the ciphers to a server and applying to TLS connections -- Fix for handling TLS array when checking certificates configuration diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.12.md b/docs/technical-details/release-notes/v4-tucker/4.5.12.md deleted file mode 100644 index 2312329e..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.12.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.5.12 -sidebar_position: 59487 ---- - -### HarperDB 4.5.12 - -7/9/2025 - -- Fix for dynamically setting `harperdb` package symlink on deploy -- Assign shard numbers from each node's config rather than from routes -- Handle certificates without a common name, falling back to the SANs -- Properly clean up blobs that are only transiently used for replication -- Ensure that we always set up server.shards even when there are no TLS connections diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.13.md b/docs/technical-details/release-notes/v4-tucker/4.5.13.md deleted file mode 100644 index d4ef7ac7..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.13.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.5.13 -sidebar_position: 59486 ---- - -### HarperDB 4.5.13 - -7/12/2025 - -- Fix cleaning out audit entries when a blob has been removed diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.14.md b/docs/technical-details/release-notes/v4-tucker/4.5.14.md deleted file mode 100644 index d50482a6..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.14.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.5.14 -sidebar_position: 59485 ---- - -### HarperDB 4.5.14 - -7/15/2025 - -- Use proper back-pressure when copying a table for initial database sync diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.15.md b/docs/technical-details/release-notes/v4-tucker/4.5.15.md deleted file mode 100644 index 8e5b7821..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.15.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.15 -sidebar_position: 59484 ---- - -### HarperDB 4.5.15 - -7/21/2025 - -- Removed the `copyTablesToCatchUp` option and instead utilized the clone node designation of the leader node to copy tables -- Ensure that skipping large number of audit entries does not lock up the thread and cause a connection reset diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.16.md b/docs/technical-details/release-notes/v4-tucker/4.5.16.md deleted file mode 100644 index 829cd9d8..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.16.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.5.16 -sidebar_position: 59483 ---- - -### HarperDB 4.5.16 - -7/30/2025 - -- Do not free/remove the shared user buffer that is used by all threads as an atomic counter for ids (for blobs and incremented ids), but retain it as a stable allocated buffer diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.17.md b/docs/technical-details/release-notes/v4-tucker/4.5.17.md deleted file mode 100644 index deaca8a3..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.17.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.5.17 -sidebar_position: 59482 ---- - -### HarperDB 4.5.17 - -8/4/2025 - -- Ensure that blob paths exist when determining blob volume sizes -- Increase and make timeouts for blob transfers configurable -- Add debugging information on the record ID if a blob transfer times out -- Fix for copying tables when doing an initial clone node (will not affect an existing cluster) -- Fix for ensuring node IDs are not duplicated across subscriptions to different nodes. This eliminates the duplication of replication data -- Fix for building the local studio diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.18.md b/docs/technical-details/release-notes/v4-tucker/4.5.18.md deleted file mode 100644 index 684623d6..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.18.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 4.5.18 -sidebar_position: 59481 ---- - -### HarperDB 4.5.18 - -Release was incorrect version diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.19.md b/docs/technical-details/release-notes/v4-tucker/4.5.19.md deleted file mode 100644 index 5b87eb6b..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.19.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.5.19 -sidebar_position: 59480 ---- - -### HarperDB 4.5.19 - -8/5/2025 - -- Update subscription manager to only use failover subscriptions to nodes with the same shard -- Do not attempt to resolve a proxied request to the oneself -- Delay deletion of blobs when doing proxied requests of blobs diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.2.md b/docs/technical-details/release-notes/v4-tucker/4.5.2.md deleted file mode 100644 index 62468720..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.5.2 -sidebar_position: 59497 ---- - -### HarperDB 4.5.2 - -3/25/2025 - -- For defined schemas, don't allow updates from remote nodes that could cause conflicts and repeated schema change requests -- New harper-chrome docker container for accessing Chrome binaries for use with tools like Puppeteer -- Improved rolling restart handling of errors with reaching individual nodes -- Defined cleaner operation object to avoid accident leaking of credentials with logging diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.20.md b/docs/technical-details/release-notes/v4-tucker/4.5.20.md deleted file mode 100644 index 313d740a..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.20.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.5.20 -sidebar_position: 59479 ---- - -### HarperDB 4.5.20 - -8/7/2025 - -- Properly handle and aggregate multiple requests for the same blob using the same stream -- Added analytics for blob replication and replication egress transfer -- Added receiving status to indicate if there is a replication backlog or waiting for future transactions -- Fix for properly saving blob in a recently updated/relocated record diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.21.md b/docs/technical-details/release-notes/v4-tucker/4.5.21.md deleted file mode 100644 index 5692077b..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.21.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.21 -sidebar_position: 59478 ---- - -### HarperDB 4.5.21 - -8/8/2025 - -- Fix for small blobs (less than 8KB) having their contents swapped on repeated access -- Completely separate the on-demand request connections and the subscription replication connections for more robust connection management diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.22.md b/docs/technical-details/release-notes/v4-tucker/4.5.22.md deleted file mode 100644 index 0344bfbb..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.22.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.5.22 -sidebar_position: 59477 ---- - -### HarperDB 4.5.22 - -8/14/2025 - -- Cache the TLS context for replication to avoid high CPU usage of building new TLS contexts -- Cleanup subscription listeners that were accumulating -- Better handling of establishing connections without effecting failover connections diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.23.md b/docs/technical-details/release-notes/v4-tucker/4.5.23.md deleted file mode 100644 index 0555fd06..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.23.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.5.23 -sidebar_position: 59476 ---- - -### HarperDB 4.5.23 - -8/18/2025 - -- Fix issue with connection registration that was causing repeated connections to be established -- Increase timeout for retrieval connections -- Add support for disabling failover connections -- Add additional logging for blob errors in replication diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.3.md b/docs/technical-details/release-notes/v4-tucker/4.5.3.md deleted file mode 100644 index b0878089..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.3.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.3 -sidebar_position: 59496 ---- - -### HarperDB 4.5.3 - -4/3/2025 - -- Fix for immediately reloading updated certificates and private key files to ensure that certificates properly match the private key -- Fix for analytics of storage size when tables are deleted diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.4.md b/docs/technical-details/release-notes/v4-tucker/4.5.4.md deleted file mode 100644 index 2d334a06..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.5.4 -sidebar_position: 59495 ---- - -### HarperDB 4.5.4 - -4/11/2025 - -- Fix for replication of (non-retained) published messages -- Make cookie domain be configurable to allow for cookies shared across sub-hostnames -- Fix for on-demand loading of shared blobs diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.5.md b/docs/technical-details/release-notes/v4-tucker/4.5.5.md deleted file mode 100644 index 606f8063..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.5.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.5 -sidebar_position: 59494 ---- - -### HarperDB 4.5.5 - -4/15/2025 - -- Updates for better messaging with symlinks in Windows -- Fix for saving replicated blobs diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.6.md b/docs/technical-details/release-notes/v4-tucker/4.5.6.md deleted file mode 100644 index a711a988..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.6.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.5.6 -sidebar_position: 59493 ---- - -### HarperDB 4.5.6 - -4/17/2025 - -- Fix for changing the type of the primary key attribute -- Added a new `includeExpensiveRecordCountEstimates` property to the REST component for returning record count estimates -- Fix for dropping attributes diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.7.md b/docs/technical-details/release-notes/v4-tucker/4.5.7.md deleted file mode 100644 index ce785506..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.7.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.7 -sidebar_position: 59492 ---- - -### HarperDB 4.5.7 - -4/23/2025 - -- Fix for handling buffers from replicated sharded blob records to prevent overwriting while using -- Updated included studio version for fix for logging in diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.8.md b/docs/technical-details/release-notes/v4-tucker/4.5.8.md deleted file mode 100644 index 32f43190..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.8.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.5.8 -sidebar_position: 59491 ---- - -### HarperDB 4.5.8 - -4/30/2025 - -- Fix MQTT subscription topics with trailing slashes to ensure they are not treated as a wildcard -- Fix the arguments that are used for the default connect/subscribe calls so they pass the second argument from connect like `connect(incomingMessages, query) -> subscribe(query)` -- Add support for replication connections using any configured certificate authorities to verify the server certificates -- Added more descriptive error messages on errors in user residency functions diff --git a/docs/technical-details/release-notes/v4-tucker/4.5.9.md b/docs/technical-details/release-notes/v4-tucker/4.5.9.md deleted file mode 100644 index 9d6d13ef..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.5.9.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.5.9 -sidebar_position: 59490 ---- - -### HarperDB 4.5.9 - -5/14/2025 - -- Remove --no-bin-links directive for NPM that was causing installs of dependencies to fail diff --git a/docs/technical-details/release-notes/v4-tucker/4.6.0.md b/docs/technical-details/release-notes/v4-tucker/4.6.0.md deleted file mode 100644 index f1416c54..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.6.0.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: 4.6.0 -sidebar_position: 59399 ---- - -# 4.6.0 - -#### HarperDB 4.6.0 - -6/13/2025 - -### Vector Indexing: Hierarchical Navigable Small World - -Harper 4.6 now includes support for vector indexing, which allows for efficient and fast queries on large semantic data sets. Vector indexing is powered by the [Hierarchical Navigable Small World (HNSW) algorithm](https://arxiv.org/abs/1603.09320) and can be used to index any vector-valued property, and is particularly useful for vector text-embedding data. This provides powerful efficient vector-based searching for semantic and AI-based querying functionality. HNSW is a preferred algorithm for vector indexing and searching because it provides an excellent balance of recall and performance. - -### New Extension API with support for dynamic reloading - -4.6 introduces a new extension API with significant ergonomic improvements for creating new extension components that are more robust and dynamic. The new API also provides a mechanism for dynamic reloading of some files and configuration without restarts. - -### Logging Improvements - -4.6 includes significant expansions to logging configurability, allowing for specific logging configurations of individual components. This also leverages the new extension API to allow for dynamic reloading of logging configuration. With the more granular logging, logs can be directed to different files and/or different log levels. -The logger includes support for HTTP logging, which configurability for logging standard HTTP methods and paths as well headers, ids, and timing information. It also supports distinct logging configuration for different components. -The new logger is now based on the Node.js Console API, with improved the formatting of log messages for various types of objects. -An important change is that logging to standard out/error will _not_ include the timestamp. And console logging does not get logged to the log files by default. - -### Data Loader - -4.6 includes a new [data loader](../../../developers/applications/data-loader) that can be used to load data into HarperDB as part of a component. The data loader can be used to load data from JSON file and can be deployed and distributed with a component to provide a reliable mechanism for ensuring specific records are loaded into Harper. - -### Resource API Upgrades - -4.6 includes an upgraded form of the Resource API that can be selected with significant improvements in ease of use. - -### only-if-cached behavior - -Previously when the `only-in-cached` caching directive was used and the entry was not cached, Harper would return a 504, but still make a request to origin in the background. Now, Harper will no longer a request to origin for `only-if-cached`. diff --git a/docs/technical-details/release-notes/v4-tucker/4.6.1.md b/docs/technical-details/release-notes/v4-tucker/4.6.1.md deleted file mode 100644 index c073d5a2..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.6.1.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: 4.6.1 -sidebar_position: 59398 ---- - -# 4.6.1 - -7/10/2025 - -- Plugin API updates to use plugin nomenclature -- Fix for dynamically setting `harperdb` package symlink on deploy -- Assign shard numbers from each node's config rather than from routes -- Handle certificates without a common name, falling back to the SANs -- Properly clean up blobs that are only transiently used for replication -- Ensure that we always set up server.shards even when there are no TLS connections -- Fix for clone node getting the cluster status -- Properly initialize config on CLI operations to avoid path error -- Fix for lmdb for compiling for MacOS and using little-endian -- Allow secure cookies with localhost diff --git a/docs/technical-details/release-notes/v4-tucker/4.6.2.md b/docs/technical-details/release-notes/v4-tucker/4.6.2.md deleted file mode 100644 index 147dad18..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.6.2.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.6.2 -sidebar_position: 59397 ---- - -# 4.6.2 - -7/15/2025 - -- Use proper back-pressure when copying a table for initial database sync -- Fix cleaning out audit entries when a blob has been removed -- Fix for running CLI operations when a Harper DB is not installed diff --git a/docs/technical-details/release-notes/v4-tucker/4.6.3.md b/docs/technical-details/release-notes/v4-tucker/4.6.3.md deleted file mode 100644 index e0dce66a..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.6.3.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.6.3 -sidebar_position: 59396 ---- - -# 4.6.3 - -7/30/2025 - -- Fix for calling table.operation() -- Do not free/remove the shared user buffer that is used by all threads as an atomic counter for ids (for blobs and incremented ids), but retain it as a stable allocated buffer -- Removed the `copyTablesToCatchUp` option and instead utilized the clone node designation of the leader node to copy tables -- Ensure that skipping large number of audit entries does not lock up the thread and cause a connection reset diff --git a/docs/technical-details/release-notes/v4-tucker/4.6.4.md b/docs/technical-details/release-notes/v4-tucker/4.6.4.md deleted file mode 100644 index e929c493..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.6.4.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.6.4 -sidebar_position: 59395 ---- - -# 4.6.4 - -8/1/2025 - -- Fix for sending blobs on-demand without deleting before sent -- Fix for copying blobs in full table copy in a clone -- Freeze records in new resource mode -- Improvement in connection handling with disconnections diff --git a/docs/technical-details/release-notes/v4-tucker/4.6.5.md b/docs/technical-details/release-notes/v4-tucker/4.6.5.md deleted file mode 100644 index f762af7e..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.6.5.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.6.5 -sidebar_position: 59394 ---- - -# 4.6.5 - -8/7/2025 - -- Add more analytics for replication, including transfer for blobs -- Avoid attempts to connect to oneself for missing data -- Adjustments to logging diff --git a/docs/technical-details/release-notes/v4-tucker/4.6.6.md b/docs/technical-details/release-notes/v4-tucker/4.6.6.md deleted file mode 100644 index 9582ce14..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.6.6.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.6.6 -sidebar_position: 59393 ---- - -# 4.6.6 - -8/15/2025 - -- Fix the auditing of hdb_nodes on install to ensure full connection of nodes when joining -- Copy blob buffers to ensure that small buffers are not replaced with frequent usage -- Separate replication subscription connections from on-demand connection retrieval -- Fix for fail over connection handling diff --git a/docs/technical-details/release-notes/v4-tucker/4.7.0.md b/docs/technical-details/release-notes/v4-tucker/4.7.0.md deleted file mode 100644 index 586243aa..00000000 --- a/docs/technical-details/release-notes/v4-tucker/4.7.0.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.7.0 -sidebar_position: 59299 ---- - -# 4.7.0 - -8/15/2025 - -- A new component status monitoring collects status from each component from loading and any registered notification of status changes. -- OCSP is now supported, and can be used to invalidate TLS certificates used for replication and HTTP through an OCSP server. -- New analytics and licensing functionality has been added for integration with Fabric services. -- Further improvements to the plugin API diff --git a/docs/technical-details/release-notes/v4-tucker/index.md b/docs/technical-details/release-notes/v4-tucker/index.md deleted file mode 100644 index b00dd2ae..00000000 --- a/docs/technical-details/release-notes/v4-tucker/index.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Harper Tucker (Version 4) ---- - -# Harper Tucker (Version 4) - -HarperDB version 4 ([Tucker release](tucker)) represents major step forward in database technology. This release line has ground-breaking architectural advancements including: - -## [4.6](4.6.0) - -- Vector Indexing - 4.6 introduces a new Vector Indexing system based on Hierarchical Navigable Small World Graphs. -- New extension API - 4.6 introduces a new extension API for creating extensions components. -- Improved logging configurability - Logging can be dynamically updated and specifically configured for each component. -- Resource API - 4.6 has updated Resource APIs for ease of use. -- Data loader - 4.6 introduces a new data loader that allows for ensuring records exist as part of a component. - -## [4.5](4.5.0) - -- Blob Storage - 4.5 introduces a new [Blob storage system](../../../technical-details/reference/blob). -- Password Hashing Upgrade - two new password hashing algorithms for better security (to replace md5). -- New resource and storage Analytics - -## [4.4](4.4.0) - -- Native replication (codename "Plexus") which is faster, more efficient, secure, and reliable than the previous replication system and provides provisional sharding capabilities with a foundation for the future -- Computed properties that allow applications to define properties that are computed from other properties, allowing for composite properties that are calculated from other data stored in records without requiring actual storage of the computed value -- Custom indexing including composite, full-text indexing, and vector indexing - -## [4.3](4.3.0) - -- Relationships, joins, and broad new querying capabilities for complex and nested conditions, sorting, joining, and selecting with significant query optimizations -- More advanced transaction support for CRDTs and storage of large integers (with BigInt) -- Better management with new upgraded local studio and new CLI features - -## [4.2](4.2.0) - -- New component architecture and Resource API for advanced, robust custom database application development -- Real-time capabilites through MQTT, WebSockets, and Server-Sent Events -- REST interface for intuitive, fast, and standards-compliant HTTP interaction -- Native caching capabilities for high-performance cache scenarios -- Clone node functionality - -## [4.1](4.1.0) - -- New streaming iterators mechanism that allows query results to be delivered to clients _while_ querying results are being processed, for incredibly fast time-to-first-byte and concurrent processing/delivery -- New thread-based concurrency model for more efficient resource usage - -## [4.0](4.0.0) - -- New clustering technology that delivers robust, resilient and high-performance replication -- Major storage improvements with highly-efficient adaptive-structure modified MessagePack format, with on-demand deserialization capabilities - -Did you know our release names are dedicated to employee pups? For our fourth release, [meet Tucker!](v4-tucker/tucker) diff --git a/docs/technical-details/release-notes/v4-tucker/tucker.md b/docs/technical-details/release-notes/v4-tucker/tucker.md deleted file mode 100644 index 703d4e63..00000000 --- a/docs/technical-details/release-notes/v4-tucker/tucker.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Harper Tucker (Version 4) ---- - -# Harper Tucker (Version 4) - -Did you know our release names are dedicated to employee pups? For our fourth release, we have Tucker. - -![picture of grey and white dog](/dogs/tucker.png) - -_G’day, I’m Tucker. My dad is David Cockerill, a software engineer here at Harper. I am a 3-year-old Labrador Husky mix. I love to protect my dad from all the squirrels and rabbits we have in our yard. I have very ticklish feet and love belly rubs!_ diff --git a/redirects.ts b/redirects.ts index 60b9b904..5a0bc5cd 100644 --- a/redirects.ts +++ b/redirects.ts @@ -8,7 +8,29 @@ type RedirectRule = { // Release notes redirects (not affected by base path) function generateReleaseNotesRedirects(): RedirectRule[] { - return []; + // Generate redirects for all old release notes paths to new location + const versions = ['v1-alby', 'v2-penny', 'v3-monkey', 'v4-tucker']; + const redirects: RedirectRule[] = []; + + // Main release notes index - redirect from current version (4.6) path + redirects.push({ + from: '/docs/technical-details/release-notes', + to: '/release-notes', + }); + + // Also redirect from each versioned docs path + const docVersions = ['4.1', '4.2', '4.3', '4.4', '4.5', '4.6']; + for (const docVersion of docVersions) { + redirects.push({ + from: `/docs/${docVersion}/technical-details/release-notes`, + to: '/release-notes', + }); + } + + // Version index pages will be handled by the wildcard createRedirects function + // to avoid duplicates + + return redirects; } // Documentation redirects @@ -173,6 +195,21 @@ export const redirects = generateRedirects(''); export function createRedirects(existingPath: string, basePath: string = ''): string[] | undefined { const redirects: string[] = []; + // Handle release notes redirects from old location to new + if (existingPath.startsWith('/release-notes/')) { + // Extract the path after /release-notes/ + const subpath = existingPath.replace('/release-notes/', ''); + + // Add redirects from current version docs (4.6 is served at /docs/) + redirects.push(`/docs/technical-details/release-notes/${subpath}`); + + // Also redirect from all versioned docs paths + const versions = ['4.1', '4.2', '4.3', '4.4', '4.5', '4.6']; + for (const version of versions) { + redirects.push(`/docs/${version}/technical-details/release-notes/${subpath}`); + } + } + // Only create wildcard redirects for paths that aren't already explicitly defined // Check if this is a path we handle with wildcard redirects diff --git a/versioned_docs/version-4.1/release-notes/End-of-Life.md b/versioned_docs/version-4.1/release-notes/End-of-Life.md deleted file mode 100644 index 86853d5e..00000000 --- a/versioned_docs/version-4.1/release-notes/End-of-Life.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: HarperDB Software Lifecycle Schedules ---- - -# HarperDB Software Lifecycle Schedules - -The lifecycle schedules below form a part of HarperDB’s Support Policies. They include Major Releases and Minor Release that have reached their end of life date in the past 3 years. - -| **Release** | **Release Date** | **End of Life Date** | -| ----------- | ---------------- | -------------------- | -| 3.2 | 6/22 | 6/25 | -| 3.3 | 9/22 | 9/25 | -| 4.0 | 1/23 | 1/26 | -| 4.1 | 4/23 | 4/26 | diff --git a/versioned_docs/version-4.1/release-notes/index.md b/versioned_docs/version-4.1/release-notes/index.md deleted file mode 100644 index 2250bc44..00000000 --- a/versioned_docs/version-4.1/release-notes/index.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Release Notes ---- - -# Release Notes - -### Current Release - -[Meet Tucker](release-notes/v4-tucker/) Our 4th Release Pup - -[4.1.2 Tucker](release-notes/v4-tucker/4.1.2) - -[4.1.1 Tucker](release-notes/v4-tucker/4.1.1) - -[4.1.0 Tucker](release-notes/v4-tucker/4.1.0) - -[4.0.6 Tucker](release-notes/v4-tucker/4.0.6) - -[4.0.5 Tucker](release-notes/v4-tucker/4.0.5) - -[4.0.4 Tucker](release-notes/v4-tucker/4.0.4) - -[4.0.3 Tucker](release-notes/v4-tucker/4.0.3) - -[4.0.2 Tucker](release-notes/v4-tucker/4.0.2) - -[4.0.1 Tucker](release-notes/v4-tucker/4.0.1) - -[4.0.0 Tucker](release-notes/v4-tucker/4.0.0) - -### Past Releases - -[Meet Monkey](release-notes/v3-monkey/) Our 3rd Release Pup - -[3.2.1 Monkey](release-notes/v3-monkey/3.2.1) - -[3.2.0 Monkey](release-notes/v3-monkey/3.2.0) - -[3.1.5 Monkey](release-notes/v3-monkey/3.1.5) - -[3.1.4 Monkey](release-notes/v3-monkey/3.1.4) - -[3.1.3 Monkey](release-notes/v3-monkey/3.1.3) - -[3.1.2 Monkey](release-notes/v3-monkey/3.1.2) - -[3.1.1 Monkey](release-notes/v3-monkey/3.1.1) - -[3.1.0 Monkey](release-notes/v3-monkey/3.1.0) - -[3.0.0 Monkey](release-notes/v3-monkey/3.0.0) - ---- - -[Meet Penny](release-notes/v2-penny/) Our 2nd Release Pup - -[2.3.1 Penny](release-notes/v2-penny/2.3.1) - -[2.3.0 Penny](release-notes/v2-penny/2.3.0) - -[2.2.3 Penny](release-notes/v2-penny/2.2.3) - -[2.2.2 Penny](release-notes/v2-penny/2.2.2) - -[2.2.0 Penny](release-notes/v2-penny/2.2.0) - -[2.1.1 Penny](release-notes/v2-penny/2.1.1) - ---- - -[Meet Alby](release-notes/v1-alby/) Our 1st Release Pup - -[1.3.1 Alby](release-notes/v1-alby/1.3.1) - -[1.3.0 Alby](release-notes/v1-alby/1.3.0) - -[1.2.0 Alby](release-notes/v1-alby/1.2.0) - -[1.1.0 Alby](release-notes/v1-alby/1.1.0) diff --git a/versioned_docs/version-4.1/release-notes/v1-alby/1.1.0.md b/versioned_docs/version-4.1/release-notes/v1-alby/1.1.0.md deleted file mode 100644 index 2256a825..00000000 --- a/versioned_docs/version-4.1/release-notes/v1-alby/1.1.0.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: 1.1.0 -sidebar_position: 89899 ---- - -### HarperDB 1.1.0, Alby Release - -4/18/2018 - -**Features** - -- Users & Roles: - - Limit/Assign access to all HarperDB operations - - - Limit/Assign access to schemas, tables & attributes - - - Limit/Assign access to specific SQL operations (`INSERT`, `UPDATE`, `DELETE`, `SELECT`) - -- Enhanced SQL parser - - Added extensive ANSI SQL Support. - - Added Array function, which allows for converting relational data into Object/Hierarchical data - - `Distinct_Array` Function: allows for removing duplicates in the Array function. - - Enhanced SQL Validation: Improved validation around structure of SQL, validating the schema, etc.. - - 10x performance improvement on SQL statements. - -- Export Function: can now call a NoSQL/SQL search and have it export to CSV or JSON. - -- Added upgrade function to CLI - -- Added ability to perform bulk update from CSV - -- Created landing page for HarperDB. - -- Added CORS support to HarperDB - -**Fixes** - -- Fixed memory leak in CSV bulk loads - -- Corrected error when attempting to perform a `SQL DELETE` - -- Added further validation to NoSQL `UPDATE` to validate schema & table exist - -- Fixed install issue occurring when part of the install path does not exist, the install would silently fail. - -- Fixed issues with replicated data when one of the replicas is down - -- Removed logging of initial user’s credentials during install - -- Can now use reserved words as aliases in SQL - -- Removed user(s) password in results when calling `list_users` - -- Corrected forwarding of operations to other nodes in a cluster - -- Corrected lag in schema meta-data passing to other nodes in a cluster - -- Drop table & schema now move the table & schema or table to the trash folder under the Database folder for later permanent deletion. - -- Bulk inserts no longer halt the entire operation if n records already exist, instead the return includes the hashes of records that have been skipped. - -- Added ability to accept EULA from command line - -- Corrected `search_by_value` not searching on the correct attribute - -- Added ability to increase the timeout of a request by adding `SERVER_TIMEOUT_MS` to config/settings.js - -- Add error handling resulting from SQL calculations. - -- Standardized error responses as JSON. - -- Corrected internal process generation to not allow more processes than machine has cores. diff --git a/versioned_docs/version-4.1/release-notes/v1-alby/1.2.0.md b/versioned_docs/version-4.1/release-notes/v1-alby/1.2.0.md deleted file mode 100644 index a504a7ad..00000000 --- a/versioned_docs/version-4.1/release-notes/v1-alby/1.2.0.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: 1.2.0 -sidebar_position: 89799 ---- - -### HarperDB 1.2.0, Alby Release - -7/10/2018 - -**Features** - -- Time to Live: Conserve the resources of your edge device by setting data on devices to live for a specific period of time. -- Geo: HarperDB has implemented turf.js into its SQL parser to enable geo based analytics. -- Jobs: CSV Data loads, Exports & Time to Live now all run as back ground jobs. -- Exports: Perform queries that export into JSON or CSV and save to disk or S3. - -**Fixes** - -- Fixed issue where CSV data loads incorrectly report number of records loaded. -- Added validation to stop `BETWEEN` operations in SQL. -- Updated logging to not include internal variables in the logs. -- Cleaned up `add_role` response to not include internal variables. -- Removed old and unused dependencies. -- Build out further unit tests and integration tests. -- Fixed https to handle certificates properly. -- Improved stability of clustering & replication. -- Corrected issue where Objects and Arrays were not casting properly in `SQL SELECT` response. -- Fixed issue where Blob text was not being returned from `SQL SELECT`s. -- Fixed error being returned when querying on table with no data, now correctly returns empty array. -- Improved performance in SQL when searching on exact values. -- Fixed error when ./harperdb stop is called. -- Fixed logging issue causing instability in installer. -- Fixed `read_log` operation to accept date time. -- Added permissions checking to `export_to_s3`. -- Added ability to run SQL on `SELECT` without a `FROM`. -- Fixed issue where updating a user’s password was not encrypting properly. -- Fixed `user_guide.html` to point to readme on git repo. -- Created option to have HarperDB run as a foreground process. -- Updated `user_info` to return the correct role for a user. -- Fixed issue where HarperDB would not stop if the database root was deleted. -- Corrected error message on insert if an invalid schema is provided. -- Added permissions checks for user & role operations. diff --git a/versioned_docs/version-4.1/release-notes/v1-alby/1.3.0.md b/versioned_docs/version-4.1/release-notes/v1-alby/1.3.0.md deleted file mode 100644 index e3a5215f..00000000 --- a/versioned_docs/version-4.1/release-notes/v1-alby/1.3.0.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: 1.3.0 -sidebar_position: 89699 ---- - -### HarperDB 1.3.0, Alby Release - -11/2/2018 - -**Features** - -- Upgrade: Upgrade to newest version via command line. -- SQL Support: Added `IS NULL` for SQL parser. -- Added attribute validation to search operations. - -**Fixes** - -- Fixed `SELECT` calculations, i.e. `SELECT` 2+2. -- Fixed select OR not returning expected results. -- No longer allowing reserved words for schema and table names. -- Corrected process interruptions from improper SQL statements. -- Improved message handling between spawned processes that replace killed processes. -- Enhanced error handling for updates to tables that do not exist. -- Fixed error handling for NoSQL responses when `get_attributes` is provided with invalid attributes. -- Fixed issue with new columns not being updated properly in update statements. -- Now validating roles, tables and attributes when creating or updating roles. -- Fixed an issue where in some cases `undefined` was being returned after dropping a role diff --git a/versioned_docs/version-4.1/release-notes/v1-alby/1.3.1.md b/versioned_docs/version-4.1/release-notes/v1-alby/1.3.1.md deleted file mode 100644 index 56927389..00000000 --- a/versioned_docs/version-4.1/release-notes/v1-alby/1.3.1.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: 1.3.1 -sidebar_position: 89698 ---- - -### HarperDB 1.3.1, Alby Release - -2/26/2019 - -**Features** - -- Clustering connection direction appointment -- Foundations for threading/multi processing -- UUID autogen for hash attributes that were not provided -- Added cluster status operation - -**Bug Fixes and Enhancements** - -- More logging -- Clustering communication enhancements -- Clustering queue ordering by timestamps -- Cluster re connection enhancements -- Number of system core(s) detection -- Node LTS (10.15) compatibility -- Update/Alter users enhancements -- General performance enhancements -- Warning is logged if different versions of harperdb are connected via clustering -- Fixed need to restart after user creation/alteration -- Fixed SQL error that occurred on selecting from an empty table diff --git a/versioned_docs/version-4.1/release-notes/v1-alby/index.md b/versioned_docs/version-4.1/release-notes/v1-alby/index.md deleted file mode 100644 index 265fe04d..00000000 --- a/versioned_docs/version-4.1/release-notes/v1-alby/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: HarperDB Alby (Version 1) ---- - -# HarperDB Alby (Version 1) - -Did you know our release names are dedicated to employee pups? For our first release, Alby was our pup. - -Here is a bit about Alby: - -![picture of black dog](/img/v4.1/dogs/alby.webp) - -_Hi, I am Alby. My mom is Kaylan Stock, Director of Marketing at HarperDB. I am a 9-year-old Great Dane mix who loves sun bathing, going for swims, and wreaking havoc on the local squirrels. My favorite snack is whatever you are eating, and I love a good butt scratch!_ diff --git a/versioned_docs/version-4.1/release-notes/v2-penny/2.1.1.md b/versioned_docs/version-4.1/release-notes/v2-penny/2.1.1.md deleted file mode 100644 index c59337d7..00000000 --- a/versioned_docs/version-4.1/release-notes/v2-penny/2.1.1.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: 2.1.1 -sidebar_position: 79898 ---- - -### HarperDB 2.1.1, Penny Release - -05/22/2020 - -**Highlights** - -- CORE-1007 Added the ability to perform `SQL INSERT` & `UPDATE` with function calls & expressions on values. -- CORE-1023 Fixed minor bug in final SQL step incorrectly trying to translate ordinals to alias in `ORDER BY` statement. -- CORE-1020 Fixed bug allowing 'null' and 'undefined' string values to be passed in as valid hash values. -- CORE-1006 Added SQL functionality that enables `JOIN` statements across different schemas. -- CORE-1005 Implemented JSONata library to handle our JSON document search functionality in SQL, creating the `SEARCH_JSON` function. -- CORE-1009 Updated schema validation to allow all printable ASCII characters to be used in schema/table/attribute names, except, forward slashes and backticks. Same rules apply now for hash attribute values. -- CORE-1003 Fixed handling of ORDER BY statements with function aliases. -- CORE-1004 Fixed bug related to `SELECT*` on `JOIN` queries with table columns with the same name. -- CORE-996 Fixed an issue where the `transact_to_cluster` flag is lost for CSV URL loads, fixed an issue where new attributes created in CSV bulk load do not sync to the cluster. -- CORE-994 Added new operation `system_information`. This operation returns info & metrics for the OS, time, memory, cpu, disk, network. -- CORE-993 Added new custom date functions for AlaSQL & UTC updates. -- CORE-991 Changed jobs to spawn a new process which will run the intended job without impacting a main HarperDB process. -- CORE-992 HTTPS enabled by default. -- CORE-990 Updated `describe_table` to add the record count for the table for LMDB data storage. -- CORE-989 Killed the socket cluster processes prior to HarperDB processes to eliminate a false uptime. -- CORE-975 Updated time values set by SQL Date Functions to be in epoch format. -- CORE-974 Added date functions to `SQL SELECT` column alias functionality. diff --git a/versioned_docs/version-4.1/release-notes/v2-penny/2.2.0.md b/versioned_docs/version-4.1/release-notes/v2-penny/2.2.0.md deleted file mode 100644 index a669ca8b..00000000 --- a/versioned_docs/version-4.1/release-notes/v2-penny/2.2.0.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: 2.2.0 -sidebar_position: 79799 ---- - -### HarperDB 2.2.0, Penny Release - -08/24/2020 - -**Features/Updates** - -- CORE-997 Updated the data format for CSV data loads being sync'd across a cluster to take up less resources -- CORE-1018 Adds SQL functionality for `BETWEEN` statements -- CORE-1032 Updates permissions to allow regular users (i.e. non-super users) to call the `get_job` operation -- CORE-1036 On create/drop table we auto create/drop the related transactions environments for the schema.table -- CORE-1042 Built raw functions to write to a tables transaction log for insert/update/delete operations -- CORE-1057 Implemented write transaction into lmdb create/update/delete functions -- CORE-1048 Adds `SEARCH` wildcard handling for role permissions standards -- CORE-1059 Added config setting to disable transaction logging for an instance -- CORE-1076 Adds permissions filter to describe operations -- CORE-1043 Change clustering catchup to use the new transaction log -- CORE-1052 Removed word "master" from source -- CORE-1061 Added new operation called `delete_transactions_before` this will tail a transaction log for a specific schema / table -- CORE-1040 On HarperDB startup make sure all tables have a transaction environment -- CORE-1055 Added 2 new setting to change the server headersTimeout & keepAliveTimeout from the config file -- CORE-1044 Created new operation `read_transaction_log` which will allow a user to get transactions for a table by `timestamp`, `username`, or `hash_value` -- CORE-1043 Change clustering catchup to use the new transaction log -- CORE-1089 Added new attribute to `system_information` for table/transaction log data size in bytes & transaction log record count -- CORE-1101 Fix to store empty strings rather than considering them null & fix to be able to search on empty strings in SQL/NoSQL. -- CORE-1054 Updates permissions object to remove delete attribute permission and update table attribute permission key to `attribute_permissions` -- CORE-1092 Do not allow the `__createdtime__` to be updated -- CORE-1085 Updates create schema/table & drop schema/table/attribute operations permissions to require super user role and adds integration tests to validate -- CORE-1071 Updates response messages and status codes from `describe_schema` and `describe_table` operations to provide standard language/status code when a schema item is not found -- CORE-1049 Updates response message for SQL update op with no matching rows -- CORE-1096 Added tracking of the origin in the transaction log. This origin object stores the node name, timestamp of the transaction from the originating node & the user. - -**Bug Fixes** - -- CORE-1028 Fixes bug for simple `SQL SELECT` queries not returning aliases and incorrectly returning hash values when not requested in query -- CORE-1037 Fixed an issue where numbers with leading zero i.e. 00123 are converted to numbers rather than being honored as strings. -- CORE-1063 Updates permission error response shape to consolidate issues into individual objects per schema/table combo -- CORE-1098 Fixed an issue where transaction environments were remaining in the global cache after being dropped. -- CORE-1086 Fixed issue where responses from insert/update were incorrect with skipped records. -- CORE-1079 Fixes SQL bugs around invalid schema/table and special characters in `WHERE` clause diff --git a/versioned_docs/version-4.1/release-notes/v2-penny/2.2.2.md b/versioned_docs/version-4.1/release-notes/v2-penny/2.2.2.md deleted file mode 100644 index fca00967..00000000 --- a/versioned_docs/version-4.1/release-notes/v2-penny/2.2.2.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 2.2.2 -sidebar_position: 79797 ---- - -### HarperDB 2.2.2, Penny Release - -10/27/2020 - -- CORE-1154 Allowed transaction logging to be disabled even if clustering is enabled. -- CORE-1153 Fixed issue where `delete_files_before` was writing to transaction log. -- CORE-1152 Fixed issue where no more than 4 HarperDB forks would be created. -- CORE-1112 Adds handling for system timestamp attributes in permissions. -- CORE-1131 Adds better handling for checking perms on operations with action value in JSON. -- CORE-1113 Fixes validation bug checking for super user/cluster user permissions and other permissions. -- CORE-1135 Adds validation for valid keys in role API operations. -- CORE-1073 Adds new `import_from_s3` operation to API. diff --git a/versioned_docs/version-4.1/release-notes/v2-penny/2.2.3.md b/versioned_docs/version-4.1/release-notes/v2-penny/2.2.3.md deleted file mode 100644 index 06b89d4e..00000000 --- a/versioned_docs/version-4.1/release-notes/v2-penny/2.2.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 2.2.3 -sidebar_position: 79796 ---- - -### HarperDB 2.2.3, Penny Release - -11/16/2020 - -- CORE-1158 Performance improvements to core delete function and configuration of `delete_files_before` to run in batches with a pause into between. diff --git a/versioned_docs/version-4.1/release-notes/v2-penny/2.3.0.md b/versioned_docs/version-4.1/release-notes/v2-penny/2.3.0.md deleted file mode 100644 index a027eedb..00000000 --- a/versioned_docs/version-4.1/release-notes/v2-penny/2.3.0.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: 2.3.0 -sidebar_position: 79699 ---- - -### HarperDB 2.3.0, Penny Release - -12/03/2020 - -**Features/Updates** - -- CORE-1191, CORE-1190, CORE-1125, CORE-1157, CORE-1126, CORE-1140, CORE-1134, CORE-1123, CORE-1124, CORE-1122 Added JWT Authentication option (See documentation for more information) -- CORE-1128, CORE-1143, CORE-1140, CORE-1129 Added `upsert` operation -- CORE-1187 Added `get_configuration` operation which allows admins to view their configuration settings. -- CORE-1175 Added new internal LMDB function to copy an environment for use in future features. -- CORE-1166 Updated packages to address security vulnerabilities. - -**Bug Fixes** - -- CORE-1195 Modified `drop_attribute` to drop after data cleanse completes. -- CORE-1149 Fix SQL bug regarding self joins and updates alasql to 0.6.5 release. -- CORE-1168 Fix inconsistent invalid schema/table errors. -- CORE-1162 Fix bug which caused `delete_files_before` to cause tables to grow in size due to an open cursor issue. diff --git a/versioned_docs/version-4.1/release-notes/v2-penny/2.3.1.md b/versioned_docs/version-4.1/release-notes/v2-penny/2.3.1.md deleted file mode 100644 index 03df0186..00000000 --- a/versioned_docs/version-4.1/release-notes/v2-penny/2.3.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 2.3.1 -sidebar_position: 79698 ---- - -### HarperDB 2.3.1, Penny Release - -1/29/2021 - -**Bug Fixes** - -- CORE-1218 A bug in HarperDB 2.3.0 was identified related to manually calling the `create_attribute` operation. This bug caused secondary indexes to be overwritten by the most recently inserted or updated value for the index, thereby causing a search operation filtered with that index to only return the most recently inserted/updated row. Note, this issue does not affect attributes that are reflexively/automatically created. It only affects attributes created using `create_attribute`. To resolve this issue in 2.3.0 or earlier, drop and recreate your table using reflexive attribute creation. In 2.3.1, drop and recreate your table and use either reflexive attribute creation or `create_attribute`. -- CORE-1219 Increased maximum table attributes from 1000 to 10000 diff --git a/versioned_docs/version-4.1/release-notes/v2-penny/index.md b/versioned_docs/version-4.1/release-notes/v2-penny/index.md deleted file mode 100644 index 5ab6c2a5..00000000 --- a/versioned_docs/version-4.1/release-notes/v2-penny/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: HarperDB Penny (Version 2) ---- - -# HarperDB Penny (Version 2) - -Did you know our release names are dedicated to employee pups? For our second release, Penny was the star. - -Here is a bit about Penny: - -![picture of brindle dog](/img/v4.1/dogs/penny.webp) - -_Hi I am Penny! My dad is Kyle Bernhardy, the CTO of HarperDB. I am a nine-year-old Whippet who lives for running hard and fast while exploring the beautiful terrain of Colorado. My favorite activity is chasing birds along with afternoon snoozes in a sunny spot in my backyard._ diff --git a/versioned_docs/version-4.1/release-notes/v3-monkey/3.0.0.md b/versioned_docs/version-4.1/release-notes/v3-monkey/3.0.0.md deleted file mode 100644 index 10319747..00000000 --- a/versioned_docs/version-4.1/release-notes/v3-monkey/3.0.0.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: 3.0.0 -sidebar_position: 69999 ---- - -### HarperDB 3.0, Monkey Release - -5/18/2021 - -**Features/Updates** - -- CORE-1217, CORE-1226, CORE-1232 Create new `search_by_conditions` operation. -- CORE-1304 Upgrade to Node 12.22.1. -- CORE-1235 Adds new upgrade/install functionality. -- CORE-1206, CORE-1248, CORE-1252 Implement `lmdb-store` library for optimized performance. -- CORE-1062 Added alias operation for `delete_files_before`, named `delete_records_before`. -- CORE-1243 Change `HTTPS_ON` settings value to false by default. -- CORE-1189 Implement fastify web server, resulting in improved performance. -- CORE-1221 Update user API to use role name instead of role id. -- CORE-1225 Updated dependencies to eliminate npm security warnings. -- CORE-1241 Adds 3.0 update directive and refactors/fixes update functionality. - -**Bug Fixes** - -- CORE-1299 Remove all references to the `PROJECT_DIR` setting. This setting is problematic when using node version managers and upgrading the version of node and then installing a new instance of HarperDB. -- CORE-1288 Fix bug with drop table/schema that was causing 'env required' error log. -- CORE-1285 Update warning log when trying to create an attribute that already exists. -- CORE-1254 Added logic to manage data collisions in clustering. -- CORE-1212 Add pre-check to `drop_user` that returns error if user doesn't exist. -- CORE-1114 Update response code and message from `add_user` when user already exists. -- CORE-1111 Update response from `create_attribute` to match the create schema/table response. -- CORE-1205 Fixed bug that prevented schema/table from being dropped if name was a number or had a wildcard value in it. Updated validation for insert, upsert and update. diff --git a/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.0.md b/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.0.md deleted file mode 100644 index f14acb8e..00000000 --- a/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.0.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: 3.1.0 -sidebar_position: 69899 ---- - -### HarperDB 3.1.0, Monkey Release - -8/24/2021 - -**Features/Updates** - -- CORE-1320, CORE-1321, CORE-1323, CORE-1324 Version 1.0 of HarperDB Custom Functions -- CORE-1275, CORE-1276, CORE-1278, CORE-1279, CORE-1280, CORE-1282, CORE-1283, CORE-1305, CORE-1314 IPC server for communication between HarperDB processes, including HarperDB, HarperDB Clustering, and HarperDB Functions -- CORE-1352, CORE-1355, CORE-1356, CORE-1358 Implement pm2 for HarperDB process management -- CORE-1292, CORE-1308, CORE-1312, CORE-1334, CORE-1338 Updated installation process to start HarperDB immediately on install and to accept all config settings via environment variable or command line arguments -- CORE-1310 Updated licensing functionality -- CORE-1301 Updated validation for performance improvement -- CORE-1359 Add `hdb-response-time` header which returns the HarperDB response time in milliseconds -- CORE-1330, CORE-1309 New config settings: `LOG_TO_FILE`, `LOG_TO_STDSTREAMS`, `IPC_SERVER_PORT`, `RUN_IN_FOREGROUND`, `CUSTOM_FUNCTIONS`, `CUSTOM_FUNCTIONS_PORT`, `CUSTOM_FUNCTIONS_DIRECTORY`, `MAX_CUSTOM_FUNCTION_PROCESSES` - -**Bug Fixes** - -- CORE-1315 Corrected issue in HarperDB restart scenario -- CORE-1370 Update some of the validation error handlers so that they don't log full stack diff --git a/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.1.md b/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.1.md deleted file mode 100644 index 8f90dc10..00000000 --- a/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.1.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: 3.1.1 -sidebar_position: 69898 ---- - -### HarperDB 3.1.1, Monkey Release - -9/23/2021 - -**Features/Updates** - -- CORE-1393 Added utility function to add settings from env/cmd vars to the settings file on every run/restart -- CORE-1395 Create a setting which will allow to enable the local Studio to be served from an instance of HarperDB -- CORE-1397 Update the stock 404 response to not return the request URL -- General updates to optimize Docker container - -**Bug Fixes** - -- CORE-1399 Added fixes for complex SQL alias issues diff --git a/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.2.md b/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.2.md deleted file mode 100644 index 706e5956..00000000 --- a/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 3.1.2 -sidebar_position: 69897 ---- - -### HarperDB 3.1.2, Monkey Release - -10/21/2021 - -**Features/Updates** - -- Updated the installation ASCII art to reflect the new HarperDB logo - -**Bug Fixes** - -- CORE-1408 Corrects issue where `drop_attribute` was not properly setting the LMDB version number causing tables to behave unexpectedly diff --git a/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.3.md b/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.3.md deleted file mode 100644 index 1a7d3301..00000000 --- a/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.3 -sidebar_position: 69896 ---- - -### HarperDB 3.1.3, Monkey Release - -1/14/2022 - -**Bug Fixes** - -- CORE-1446 Fix for scans on indexes larger than 1 million entries causing queries to never return diff --git a/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.4.md b/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.4.md deleted file mode 100644 index 3fa86ead..00000000 --- a/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.4 -sidebar_position: 69895 ---- - -### HarperDB 3.1.4, Monkey Release - -2/24/2022 - -**Features/Updates** - -- CORE-1460 Added new setting `STORAGE_WRITE_ASYNC`. If this setting is true, LMDB will have faster write performance at the expense of not being crash safe. The default for this setting is false, which results in HarperDB being crash safe. diff --git a/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.5.md b/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.5.md deleted file mode 100644 index 23661928..00000000 --- a/versioned_docs/version-4.1/release-notes/v3-monkey/3.1.5.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.5 -sidebar_position: 69894 ---- - -### HarperDB 3.1.5, Monkey Release - -3/4/2022 - -**Features/Updates** - -- CORE-1498 Fixed incorrect autocasting of string that start with "0." that tries to convert to number but instead returns NaN. diff --git a/versioned_docs/version-4.1/release-notes/v3-monkey/3.2.0.md b/versioned_docs/version-4.1/release-notes/v3-monkey/3.2.0.md deleted file mode 100644 index fa215082..00000000 --- a/versioned_docs/version-4.1/release-notes/v3-monkey/3.2.0.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 3.2.0 -sidebar_position: 69799 ---- - -### HarperDB 3.2.0, Monkey Release - -3/25/2022 - -**Features/Updates** - -- CORE-1391 Bug fix related to orphaned HarperDB background processes. -- CORE-1509 Updated node version check, updated Node.js version, updated project dependencies. -- CORE-1518 Remove final call from logger. diff --git a/versioned_docs/version-4.1/release-notes/v3-monkey/3.2.1.md b/versioned_docs/version-4.1/release-notes/v3-monkey/3.2.1.md deleted file mode 100644 index 4cc983a4..00000000 --- a/versioned_docs/version-4.1/release-notes/v3-monkey/3.2.1.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.2.1 -sidebar_position: 69798 ---- - -### HarperDB 3.2.1, Monkey Release - -6/1/2022 - -**Features/Updates** - -- CORE-1573 Added logic to track the pid of the foreground process if running in foreground. Then on stop, use that pid to kill the process. Logic was also added to kill the pm2 daemon when stop is called. diff --git a/versioned_docs/version-4.1/release-notes/v3-monkey/3.3.0.md b/versioned_docs/version-4.1/release-notes/v3-monkey/3.3.0.md deleted file mode 100644 index 236704dd..00000000 --- a/versioned_docs/version-4.1/release-notes/v3-monkey/3.3.0.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.3.0 -sidebar_position: 69699 ---- - -### HarperDB 3.3.0 - Monkey - -- CORE-1595 Added new role type `structure_user`, this enables non-superusers to be able to create/drop schema/table/attribute. -- CORE-1501 Improved performance for drop_table. -- CORE-1599 Added two new operations for custom functions `install_node_modules` & `audit_node_modules`. -- CORE-1598 Added `skip_node_modules` flag to `package_custom_function_project` operation. This flag allows for not bundling project dependencies and deploying a smaller project to other nodes. Use this flag in tandem with `install_node_modules`. -- CORE-1707 Binaries are now included for Linux on AMD64, Linux on ARM64, and macOS. GCC, Make, Python are no longer required when installing on these platforms. diff --git a/versioned_docs/version-4.1/release-notes/v3-monkey/index.md b/versioned_docs/version-4.1/release-notes/v3-monkey/index.md deleted file mode 100644 index 84d3ac9e..00000000 --- a/versioned_docs/version-4.1/release-notes/v3-monkey/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: HarperDB Monkey (Version 3) ---- - -# HarperDB Monkey (Version 3) - -Did you know our release names are dedicated to employee pups? For our third release, we have Monkey. - -![picture of tan dog](/img/v4.1/dogs/monkey.webp) - -_Hi, I am Monkey, a.k.a. Monk, a.k.a. Monchichi. My dad is Aron Johnson, the Director of DevOps at HarperDB. I am an eight-year-old Australian Cattle dog mutt whose favorite pastime is hunting and collecting tennis balls from the park next to her home. I love burrowing in the Colorado snow, rolling in the cool grass on warm days, and cheese!_ diff --git a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.0.md b/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.0.md deleted file mode 100644 index b94ea2f8..00000000 --- a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.0.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: 4.0.0 -sidebar_position: 59999 ---- - -### HarperDB 4.0.0, Tucker Release - -11/2/2022 - -**Networking & Data Replication (Clustering)** - -The HarperDB clustering internals have been rewritten and the underlying technology for Clustering has been completely replaced with [NATS](https://nats.io/), an enterprise grade connective technology responsible for addressing, discovery and exchanging of messages that drive the common patterns in distributed systems. - -- CORE-1464, CORE-1470, : Remove SocketCluster dependencies and all code related to them. -- CORE-1465, CORE-1485, CORE-1537, CORE-1538, CORE-1558, CORE-1583, CORE_1665, CORE-1710, CORE-1801, CORE-1865 :Add nats-`server` code as dependency, on install of HarperDB download nats-`server` is possible else fallback to building from source code. -- CORE-1593, CORE-1761: Add `nats.js` as project dependency. -- CORE-1466: Build NATS configs on `harperdb run` based on HarperDB YAML configuration. -- CORE-1467, CORE-1508: Launch and manage NATS servers with PM2. -- CORE-1468, CORE-1507: Create a process which reads the work queue stream and processes transactions. -- CORE-1481, CORE-1529, CORE-1698, CORE-1502, CORE-1696: On upgrade to 4.0, update pre-existing clustering configurations, create table transaction streams, create work queue stream, update `hdb_nodes` table, create clustering folder structure, and rebuild self-signed certs. -- CORE-1494, CORE-1521, CORE-1755: Build out internals to interface with NATS. -- CORE-1504: Update existing hooks to save transactions to work with NATS. -- CORE-1514, CORE-1515, CORE-1516, CORE-1527, CORE-1532: Update `add_node`, `update_node`, and `remove_node` operations to no longer need host and port in payload. These operations now manage dynamically sourcing of table level transaction streams between nodes and work queues. -- CORE-1522: Create `NATSReplyService` process which handles the receiving NATS based requests from remote instances and sending back appropriate responses. -- CORE-1471, CORE-1568, CORE-1563, CORE-1534, CORE-1569: Update `cluster_status` operation. -- CORE-1611: Update pre-existing transaction log operations to be audit log operations. -- CORE-1541, CORE-1612, CORE-1613: Create translation log operations which interface with streams. -- CORE-1668: Update NATS serialization / deserialization to use MessagePack. -- CORE-1673: Add `system_info` param to `hdb_nodes` table and update on `add_node` and `cluster_status`. -- CORE-1477, CORE-1493, CORE-1557, CORE-1596, CORE-1577: Both a full HarperDB restart & just clustering restart call the NATS server with a reload directive to maintain full uptime while servers refresh. -- CORE-1474:HarperDB install adds clustering folder structure. -- CORE-1530: Post `drop_table` HarperDB purges the related transaction stream. -- CORE-1567: Set NATS config to always use TLS. -- CORE-1543: Removed the `transact_to_cluster` attribute from the bulk load operations. Now bulk loads always replicate. -- CORE-1533, CORE-1556, CORE-1561, CORE-1562, CORE-1564: New operation `configure_cluster`, this operation enables bulk publishing and subscription of multiple tables to multiple instances of HarperDB. -- CORE-1535: Create work queue stream on install of HarperDB. This stream receives transactions from remote instances of HarperDB which are then ingested in order. -- CORE-1551: Create transaction streams on the remote node if they do not exist when performing `add_node` or `update_node`. -- CORE-1594, CORE-1605, CORE-1749, CORE-1767, CORE-1770: Optimize the work queue stream and its consumer to be more performant and validate exact once delivery. -- CORE-1621, CORE-1692, CORE-1570, CORE-1693: NATS stream names are MD5 hashed to avoid characters that HarperDB allows, but NATS may not. -- CORE-1762: Add a new optional attribute to `add_node` and `update_node` named `opt_start_time`. This attribute sets a starting time to start synchronizing transactions. -- CORE-1785: Optimizations and bug fixes in regards to sourcing data from remote instances on HarperDB. -- CORE-1588: Created new operation `set_cluster_routes` to enable setting routes for instances of HarperDB to mesh together. -- CORE-1589: Created new operation `get_cluster_routes` to allow for retrieval of routes used to connect the instance of HarperDB to the mesh. -- CORE-1590: Created new operation `delete_cluster_routes` to allow for removal of routes used to connect the instance of HarperDB to the mesh. -- CORE-1667: Fix old environment variable `CLUSTERING_PORT` not mapping to new hub server port. -- CORE-1609: Allow `remove_node` to be called when the other node cannot be reached. -- CORE-1815: Add transaction lock to `add_node` and `update_node` to avoid concurrent nats source update bug. -- CORE-1848: Update stream configs if the node name has been changed in the YAML configuration. -- CORE-1873: Update `add_node` and `update_node` so that it auto-creates schema/table on both local and remote node respectively - -**Data Storage** - -We have made improvements to how we store, index, and retrieve data. - -- CORE-1619: Enabled new concurrent flushing technology for improved write performance. -- CORE-1701: Optimize search performance for `search_by_conditions` when executing multiple AND conditions. -- CORE-1652: Encode the values of secondary indices more efficiently for faster access. -- CORE-1670: Store updated timestamp in `lmdb.js`' version property. -- CORE-1651: Enabled multiple value indexing of array values which allows for the ability to search on specific elements in an array more efficiently. -- CORE-1649, CORE-1659: Large text values (larger than 255 bytes) are no longer stored in separate blob index. Now they are segmented and delimited in the same index to increase search performance. -- Complex objects and object arrays are no longer stored in a separate index to preserve storage and increase write throughput. -- CORE-1650, CORE-1724, CORE-1738: Improved internals around interpreting attribute values. -- CORE-1657: Deferred property decoding allows large objects to be stored, but individual attributes can be accessed (like with get_attributes) without incurring the cost of decoding the entire object. -- CORE-1658: Enable in-memory caching of records for even faster access to frequently accessed data. -- CORE-1693: Wrap updates in async transactions to ensure ACID-compliant updates. -- CORE-1653: Upgrade to 4.0 rebuilds tables to reflect changes made to index improvements. -- CORE-1753: Removed old `node-lmdb` dependency. -- CORE-1787: Freeze objects returned from queries. -- CORE-1821: Read the `WRITE_ASYNC` setting which enables LMDB nosync. - -**Logging** - -HarperDB has increased logging specificity by breaking out logs based on components logging. There are specific log files each for HarperDB Core, Custom Functions, Hub Server, Leaf Server, and more. - -- CORE-1497: Remove `pino` and `winston` dependencies. -- CORE-1426: All logging is output via `stdout` and `stderr`, our default logging is then picked up by PM2 which handles writing out to file. -- CORE-1431: Improved `read_log` operation validation. -- CORE-1433, CORE-1463: Added log rotation. -- CORE-1553, CORE-1555, CORE-1552, CORE-1554, CORE-1704: Performance gain by only serializing objects and arrays if the log is for the level defined in configuration. -- CORE-1436: Upgrade to 4.0 updates internals for logging changes. -- CORE-1428, CORE-1440, CORE-1442, CORE-1434, CORE-1435, CORE-1439, CORE-1482, CORE-1751, CORE-1752: Bug fixes, performance improvements and improved unit tests. -- CORE-1691: Convert non-PM2 managed log file writes to use Node.js `fs.appendFileSync` function. - -**Configuration** - -HarperDB has updated its configuration from a properties file to YAML. - -- CORE-1448, CORE-1449, CORE-1519, CORE-1587: Upgrade automatically converts the pre-existing settings file to YAML. -- CORE-1445, CORE-1534, CORE-1444, CORE-1858: Build out new logic to create, update, and interpret the YAML configuration file. -- Installer has updated prompts to reflect YAML settings. -- CORE-1447: Create an alias for the `configure_cluster` operation as `set_configuration`. -- CORE-1461, CORE-1462, CORE-1483: Unit test improvements. -- CORE-1492: Improvements to get_configuration and set_configuration operations. -- CORE-1503: Modify HarperDB configuration for more granular certificate definition. -- CORE-1591: Update `routes` IP param to `host` and to `leaf` config in `harperdb.conf` -- CORE-1519: Fix issue when switching between old and new versions of HarperDB we are getting the config parameter is undefined error on npm install. - -**Broad NodeJS and Platform Support** - -- CORE-1624: HarperDB can now run on multiple versions of NodeJS, from v14 to v19. We primarily test on v18, so that is the preferred version. - -**Windows 10 and 11** - -- CORE-1088: HarperDB now runs natively on Windows 10 and 11 without the need to run in a container or installed in WSL. Windows is only intended for evaluation and development purposes, not for production work loads. - -**Extra Changes and Bug Fixes** - -- CORE-1520: Refactor installer to remove all waterfall code and update to use Promises. -- CORE-1573: Stop the PM2 daemon and any logging processes when stopping hdb. -- CORE-1586: When HarperDB is running in foreground stop any additional logging processes from being spawned. -- CORE-1626: Update docker file to accommodate new `harperdb.conf` file. -- CORE-1592, CORE-1526, CORE-1660, CORE-1646, CORE-1640, CORE-1689, CORE-1711, CORE-1601, CORE-1726, CORE-1728, CORE-1736, CORE-1735, CORE-1745, CORE-1729, CORE-1748, CORE-1644, CORE-1750, CORE-1757, CORE-1727, CORE-1740, CORE-1730, CORE-1777, CORE-1778, CORE-1782, CORE-1775, CORE-1771, CORE-1774, CORE-1759, CORE-1772, CORE-1861, CORE-1862, CORE-1863, CORE-1870, CORE-1869:Changes for CI/CD pipeline and integration tests. -- CORE-1661: Fixed issue where old boot properties file caused an error when attempting to install 4.0.0. -- CORE-1697, CORE-1814, CORE-1855: Upgrade fastify dependency to new major version 4. -- CORE-1629: Jobs are now running as processes managed by the PM2 daemon. -- CORE-1733: Update LICENSE to reflect our EULA on our site. -- CORE-1606: Enable Custom Functions by default. -- CORE-1714: Include pre-built binaries for most common platforms (darwin-arm64, darwin-x64, linux-arm64, linux-x64, win32-x64). -- CORE-1628: Fix issue where setting license through environment variable not working. -- CORE-1602, CORE-1760, CORE-1838, CORE-1839, CORE-1847, CORE-1773: HarperDB Docker container improvements. -- CORE-1706: Add support for encoding HTTP responses with MessagePack. -- CORE-1709: Improve the way lmdb.js dependencies are installed. -- CORE-1758: Remove/update unnecessary HTTP headers. -- CORE-1756: On `npm install` and `harperdb install` change the node version check from an error to a warning if the installed Node.js version does not match our preferred version. -- CORE-1791: Optimizations to authenticated user caching. -- CORE-1794: Update README to discuss Windows support & Node.js versions -- CORE-1837: Fix issue where Custom Function directory was not being created on install. -- CORE-1742: Add more validation to audit log - check schema/table exists and log is enabled. -- CORE-1768: Fix issue where when running in foreground HarperDB process is not stopping on `harperdb stop`. -- CORE-1864: Fix to semver checks on upgrade. -- CORE-1850: Fix issue where a `cluster_user` type role could not be altered. diff --git a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.1.md b/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.1.md deleted file mode 100644 index 2a85f511..00000000 --- a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.0.1 -sidebar_position: 59998 ---- - -### HarperDB 4.0.1, Tucker Release - -01/20/2023 - -**Bug Fixes** - -- CORE-1992 Local studio was not loading because the path got mangled in the build. -- CORE-2001 Fixed deploy_custom_function_project after node update broke it. diff --git a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.2.md b/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.2.md deleted file mode 100644 index bedbd970..00000000 --- a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.0.2 -sidebar_position: 59997 ---- - -### HarperDB 4.0.2, Tucker Release - -01/24/2023 - -**Bug Fixes** - -- CORE-2003 Fix bug where if machine had one core thread config would default to zero. -- Update to lmdb 2.7.3 and msgpackr 1.7.0 diff --git a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.3.md b/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.3.md deleted file mode 100644 index ad1cbf8a..00000000 --- a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.3 -sidebar_position: 59996 ---- - -### HarperDB 4.0.3, Tucker Release - -01/26/2023 - -**Bug Fixes** - -- CORE-2007 Add update nodes 4.0.0 launch script to build script to fix clustering upgrade. diff --git a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.4.md b/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.4.md deleted file mode 100644 index 3f052465..00000000 --- a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.4 -sidebar_position: 59995 ---- - -### HarperDB 4.0.4, Tucker Release - -01/27/2023 - -**Bug Fixes** - -- CORE-2009 Fixed bug where add node was not being called when upgrading clustering. diff --git a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.5.md b/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.5.md deleted file mode 100644 index 1696d6d4..00000000 --- a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.5.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.0.5 -sidebar_position: 59994 ---- - -### HarperDB 4.0.5, Tucker Release - -02/15/2023 - -**Bug Fixes** - -- CORE-2029 Improved the upgrade process for handling existing user TLS certificates and correctly configuring TLS settings. Added a prompt to upgrade to determine if new certificates should be created or existing certificates should be kept/used. -- Fix the way NATS connections are honored in a local environment. -- Do not define the certificate authority path to NATS if it is not defined in the HarperDB config. diff --git a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.6.md b/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.6.md deleted file mode 100644 index 1cdc1bd7..00000000 --- a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.6.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.6 -sidebar_position: 59993 ---- - -### HarperDB 4.0.6, Tucker Release - -03/09/2023 - -**Bug Fixes** - -- Fixed a data serialization error that occurs when a large number of different record structures are persisted in a single table. diff --git a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.7.md b/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.7.md deleted file mode 100644 index c4d1fbbf..00000000 --- a/versioned_docs/version-4.1/release-notes/v4-tucker/4.0.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.7 -sidebar_position: 59992 ---- - -### HarperDB 4.0.7, Tucker Release - -03/10/2023 - -**Bug Fixes** - -- Update lmdb.js dependency diff --git a/versioned_docs/version-4.1/release-notes/v4-tucker/4.1.0.md b/versioned_docs/version-4.1/release-notes/v4-tucker/4.1.0.md deleted file mode 100644 index fbc0f41d..00000000 --- a/versioned_docs/version-4.1/release-notes/v4-tucker/4.1.0.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: 4.1.0 -sidebar_position: 59899 ---- - -### HarperDB 4.1.0, Tucker Release - -HarperDB 4.1 introduces the ability to use worker threads for concurrently handling HTTP requests. Previously this was handled by processes. This shift provides important benefits in terms of better control of traffic delegation with support for optimized load tracking and session affinity, better debuggability, and reduced memory footprint. - -This means debugging will be much easier for custom functions. If you install/run HarperDB locally, most modern IDEs like WebStorm and VSCode support worker thread debugging, so you can start HarperDB in your IDE, and set breakpoints in your custom functions and debug them. - -The associated routing functionality now includes session affinity support. This can be used to consistently route users to the same thread which can improve caching locality, performance, and fairness. This can be enabled in with the [`http.sessionAffinity` option in your configuration](../../configuration#session-affinity). - -HarperDB 4.1's NoSQL query handling has been revamped to consistently use iterators, which provide an extremely memory efficient mechanism for directly streaming query results to the network _as_ the query results are computed. This results in faster Time to First Byte (TTFB) (only the first record/value in a query needs to be computed before data can start to be sent), and less memory usage during querying (the entire query result does not need to be stored in memory). These iterators are also available in query results for custom functions and can provide means for custom function code to iteratively access data from the database without loading entire results. This should be a completely transparent upgrade, all HTTP APIs function the same, with the one exception that custom functions need to be aware that they can't access query results by `[index]` (they should use array methods or for-in loops to handle query results). - -4.1 includes configuration options for specifying the location of database storage files. This allows you to specifically locate database directories and files on different volumes for better flexibility and utilization of disks and storage volumes. See the [storage configuration](../../configuration#storage) and [schemas configuration](../../configuration#schemas) for information on how to configure these locations. - -Logging has been revamped and condensed into one `hdb.log` file. See [logging](../../logging) for more information. - -A new operation called `cluster_network` was added, this operation will ping the cluster and return a list of enmeshed nodes. - -Custom Functions will no longer automatically load static file routes, instead the `@fastify/static` plugin will need to be registered with the Custom Function server. See [Host A Static Web UI-static](../../custom-functions/host-static). - -Updates to S3 import and export mean that these operations now require the bucket `region` in the request. Also, if referencing a nested object it should be done in the `key` parameter. See examples [here](https://api.harperdb.io/#aa74bbdf-668c-4536-80f1-b91bb13e5024). - -Due to the AWS SDK v2 reaching end of life support we have updated to v3. This has caused some breaking changes in our operations `import_from_s3` and `export_to_s3`: - -- A new attribute `region` will need to be supplied -- The `bucket` attribute can no longer have trailing slashes. Slashes will now need to be in the `key`. - -Starting HarperDB without any command (just `harperdb`) now runs HarperDB like a standard process, in the foreground. This means you can use standard unix tooling for interacting with the process and is conducive for running HarperDB with systemd or any other process management tool. If you wish to have HarperDB launch itself in separate background process (and immediately terminate the shell process), you can do so by running `harperdb start`. - -Internal Tickets completed: - -- CORE-609 - Ensure that attribute names are always added to global schema as Strings -- CORE-1549 - Remove fastify-static code from Custom Functions server which auto serves content from "static" folder -- CORE-1655 - Iterator based queries -- CORE-1764 - Fix issue where describe_all operation returns an empty object for non super-users if schema(s) do not yet have table(s) -- CORE-1854 - Switch to using worker threads instead of processes for handling concurrency -- CORE-1877 - Extend the csv_url_load operation to allow for additional headers to be passed to the remote server when the csv is being downloaded -- CORE-1893 - Add last updated timestamp to describe operations -- CORE-1896 - Fix issue where Select \* from system.hdb_info returns wrong HDB version number after Instance Upgrade -- CORE-1904 - Fix issue when executing GEOJSON query in SQL -- CORE-1905 - Add HarperDB YAML configuration setting which defines the storage location of NATS streams -- CORE-1906 - Add HarperDB YAML configuration setting defining the storage location of tables. -- CORE-1655 - Streaming binary format serialization -- CORE-1943 - Add configuration option to set mount point for audit tables -- CORE-1921 - Update NATS transaction lifecycle to handle message deduplication in work queue streams. -- CORE-1963 - Update logging for better readability, reduced duplication, and request context information. -- CORE-1968 - In server\nats\natsIngestService.js remove the js_msg.working(); line to improve performance. -- CORE-1976 - Fix error when calling describe_table operation with no schema or table defined in payload. -- CORE-1983 - Fix issue where create_attribute operation does not validate request for required attributes -- CORE-2015 - Remove PM2 logs that get logged in console when starting HDB -- CORE-2048 - systemd script for 4.1 -- CORE-2052 - Include thread information in system_information for visibility of threads -- CORE-2061 - Add a better error msg when clustering is enabled without a cluster user set -- CORE-2068 - Create new log rotate logic since pm2 log-rotate no longer used -- CORE-2072 - Update to Node 18.15.0 -- CORE-2090 - Upgrade Testing from v4.0.x and v3.x to v4.1. -- CORE-2091 - Run the performance tests -- CORE-2092 - Allow for automatic patch version updates of certain packages -- CORE-2109 - Add verify option to clustering TLS configuration -- CORE-2111 - Update AWS SDK to v3 diff --git a/versioned_docs/version-4.1/release-notes/v4-tucker/4.1.1.md b/versioned_docs/version-4.1/release-notes/v4-tucker/4.1.1.md deleted file mode 100644 index 47230621..00000000 --- a/versioned_docs/version-4.1/release-notes/v4-tucker/4.1.1.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 4.1.1 -sidebar_position: 59898 ---- - -### HarperDB 4.1.1, Tucker Release - -06/16/2023 - -- HarperDB uses improved logic for determining default heap limits and thread counts. When running in a restricted container and on NodeJS 18.15+, HarperDB will use the constrained memory limit to determine heap limits for each thread. In more memory constrained servers with many CPU cores, a reduced default thread count will be used to ensure that excessive memory is not used by many workers. You may still define your own thread count (with `http`/`threads`) in the [configuration](../../configuration). -- An option has been added for [disabling the republishing NATS messages](../../configuration), which can provide improved replication performance in a fully connected network. -- Improvements to our OpenShift container. -- Dependency security updates. - -- **Bug Fixes** - -- Fixed a bug in reporting database metrics in the `system_information` operation. diff --git a/versioned_docs/version-4.1/release-notes/v4-tucker/4.1.2.md b/versioned_docs/version-4.1/release-notes/v4-tucker/4.1.2.md deleted file mode 100644 index fc5e16f4..00000000 --- a/versioned_docs/version-4.1/release-notes/v4-tucker/4.1.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.1.2 -sidebar_position: 59897 ---- - -### HarperDB 4.1.2, Tucker Release - -06/16/2023 - -- HarperDB has updated binary dependencies to support older glibc versions back 2.17. -- A new CLI command was added to get the current status of whether HarperDB is running and the cluster status. This is available with `harperdb status`. -- Improvements to our OpenShift container. -- Dependency security updates. diff --git a/versioned_docs/version-4.1/release-notes/v4-tucker/index.md b/versioned_docs/version-4.1/release-notes/v4-tucker/index.md deleted file mode 100644 index 0d8d3fd0..00000000 --- a/versioned_docs/version-4.1/release-notes/v4-tucker/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: HarperDB Tucker (Version 4) ---- - -# HarperDB Tucker (Version 4) - -Did you know our release names are dedicated to employee pups? For our fourth release, we have Tucker. - -![picture of grey and white dog](/img/v4.1/dogs/tucker.png) - -_G’day, I’m Tucker. My dad is David Cockerill, a software engineer here at HarperDB. I am a 3-year-old Labrador Husky mix. I love to protect my dad from all the squirrels and rabbits we have in our yard. I have very ticklish feet and love belly rubs!_ diff --git a/versioned_docs/version-4.2/index.md b/versioned_docs/version-4.2/index.md index 16228f18..c30bdbb5 100644 --- a/versioned_docs/version-4.2/index.md +++ b/versioned_docs/version-4.2/index.md @@ -9,7 +9,7 @@ HarperDB is a globally-distributed edge application platform. It reduces complex HarperDB's documentation covers installation, getting started, administrative operation APIs, security, and much more. Browse the topics at left, or choose one of the commonly used documentation sections below. :::info -Wondering what's new with HarperDB 4.2? Take a look at our latest [Release Notes](./technical-details/release-notes/v4-tucker/4.2.0). +Wondering what's new with HarperDB 4.2? Take a look at our latest [Release Notes](/release-notes/v4-tucker/4.2.0). ::: ## Getting Started diff --git a/versioned_docs/version-4.2/technical-details/release-notes/End-of-Life.md b/versioned_docs/version-4.2/technical-details/release-notes/End-of-Life.md deleted file mode 100644 index 86853d5e..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/End-of-Life.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: HarperDB Software Lifecycle Schedules ---- - -# HarperDB Software Lifecycle Schedules - -The lifecycle schedules below form a part of HarperDB’s Support Policies. They include Major Releases and Minor Release that have reached their end of life date in the past 3 years. - -| **Release** | **Release Date** | **End of Life Date** | -| ----------- | ---------------- | -------------------- | -| 3.2 | 6/22 | 6/25 | -| 3.3 | 9/22 | 9/25 | -| 4.0 | 1/23 | 1/26 | -| 4.1 | 4/23 | 4/26 | diff --git a/versioned_docs/version-4.2/technical-details/release-notes/index.md b/versioned_docs/version-4.2/technical-details/release-notes/index.md deleted file mode 100644 index e7aa9214..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/index.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: Release Notes ---- - -# Release Notes - -### Current Release - -[Meet Tucker](../../technical-details/release-notes/v4-tucker) Our 4th Release Pup - -[4.2.8 Tucker](release-notes/v4-tucker/) - -[4.2.7 Tucker](release-notes/v4-tucker/4.2.7) - -[4.2.6 Tucker](release-notes/v4-tucker/4.2.6) - -[4.2.5 Tucker](release-notes/v4-tucker/4.2.5) - -[4.2.4 Tucker](release-notes/v4-tucker/4.2.4) - -[4.2.3 Tucker](release-notes/v4-tucker/4.2.3) - -[4.2.2 Tucker](release-notes/v4-tucker/4.2.2) - -[4.2.1 Tucker](release-notes/v4-tucker/4.2.1) - -[4.2.0 Tucker](release-notes/v4-tucker/4.2.0) - -[4.1.2 Tucker](release-notes/v4-tucker/4.1.2) - -[4.1.1 Tucker](release-notes/v4-tucker/4.1.1) - -[4.1.0 Tucker](release-notes/v4-tucker/4.1.0) - -[4.0.7 Tucker](release-notes/v4-tucker/4.0.7) - -[4.0.6 Tucker](release-notes/v4-tucker/4.0.6) - -[4.0.5 Tucker](release-notes/v4-tucker/4.0.5) - -[4.0.4 Tucker](release-notes/v4-tucker/4.0.4) - -[4.0.3 Tucker](release-notes/v4-tucker/4.0.3) - -[4.0.2 Tucker](release-notes/v4-tucker/4.0.2) - -[4.0.1 Tucker](release-notes/v4-tucker/4.0.1) - -[4.0.0 Tucker](release-notes/v4-tucker/4.0.0) - -### Past Releases - -[Meet Monkey](../../technical-details/release-notes/v3-monkey) Our 3rd Release Pup - -[3.2.1 Monkey](release-notes/v3-monkey/3.2.1) - -[3.2.0 Monkey](release-notes/v3-monkey/3.2.0) - -[3.1.5 Monkey](release-notes/v3-monkey/3.1.5) - -[3.1.4 Monkey](release-notes/v3-monkey/3.1.4) - -[3.1.3 Monkey](release-notes/v3-monkey/3.1.3) - -[3.1.2 Monkey](release-notes/v3-monkey/3.1.2) - -[3.1.1 Monkey](release-notes/v3-monkey/3.1.1) - -[3.1.0 Monkey](release-notes/v3-monkey/3.1.0) - -[3.0.0 Monkey](release-notes/v3-monkey/3.0.0) - ---- - -[Meet Penny](../../technical-details/release-notes/v2-penny) Our 2nd Release Pup - -[2.3.1 Penny](release-notes/v2-penny/2.3.1) - -[2.3.0 Penny](release-notes/v2-penny/2.3.0) - -[2.2.3 Penny](release-notes/v2-penny/2.2.3) - -[2.2.2 Penny](release-notes/v2-penny/2.2.2) - -[2.2.0 Penny](release-notes/v2-penny/2.2.0) - -[2.1.1 Penny](release-notes/v2-penny/2.1.1) - ---- - -[Meet Alby](../../technical-details/release-notes/v1-alby) Our 1st Release Pup - -[1.3.1 Alby](release-notes/v1-alby/1.3.1) - -[1.3.0 Alby](release-notes/v1-alby/1.3.0) - -[1.2.0 Alby](release-notes/v1-alby/1.2.0) - -[1.1.0 Alby](release-notes/v1-alby/1.1.0) diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/1.1.0.md b/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/1.1.0.md deleted file mode 100644 index 2256a825..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/1.1.0.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: 1.1.0 -sidebar_position: 89899 ---- - -### HarperDB 1.1.0, Alby Release - -4/18/2018 - -**Features** - -- Users & Roles: - - Limit/Assign access to all HarperDB operations - - - Limit/Assign access to schemas, tables & attributes - - - Limit/Assign access to specific SQL operations (`INSERT`, `UPDATE`, `DELETE`, `SELECT`) - -- Enhanced SQL parser - - Added extensive ANSI SQL Support. - - Added Array function, which allows for converting relational data into Object/Hierarchical data - - `Distinct_Array` Function: allows for removing duplicates in the Array function. - - Enhanced SQL Validation: Improved validation around structure of SQL, validating the schema, etc.. - - 10x performance improvement on SQL statements. - -- Export Function: can now call a NoSQL/SQL search and have it export to CSV or JSON. - -- Added upgrade function to CLI - -- Added ability to perform bulk update from CSV - -- Created landing page for HarperDB. - -- Added CORS support to HarperDB - -**Fixes** - -- Fixed memory leak in CSV bulk loads - -- Corrected error when attempting to perform a `SQL DELETE` - -- Added further validation to NoSQL `UPDATE` to validate schema & table exist - -- Fixed install issue occurring when part of the install path does not exist, the install would silently fail. - -- Fixed issues with replicated data when one of the replicas is down - -- Removed logging of initial user’s credentials during install - -- Can now use reserved words as aliases in SQL - -- Removed user(s) password in results when calling `list_users` - -- Corrected forwarding of operations to other nodes in a cluster - -- Corrected lag in schema meta-data passing to other nodes in a cluster - -- Drop table & schema now move the table & schema or table to the trash folder under the Database folder for later permanent deletion. - -- Bulk inserts no longer halt the entire operation if n records already exist, instead the return includes the hashes of records that have been skipped. - -- Added ability to accept EULA from command line - -- Corrected `search_by_value` not searching on the correct attribute - -- Added ability to increase the timeout of a request by adding `SERVER_TIMEOUT_MS` to config/settings.js - -- Add error handling resulting from SQL calculations. - -- Standardized error responses as JSON. - -- Corrected internal process generation to not allow more processes than machine has cores. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/1.2.0.md b/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/1.2.0.md deleted file mode 100644 index a504a7ad..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/1.2.0.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: 1.2.0 -sidebar_position: 89799 ---- - -### HarperDB 1.2.0, Alby Release - -7/10/2018 - -**Features** - -- Time to Live: Conserve the resources of your edge device by setting data on devices to live for a specific period of time. -- Geo: HarperDB has implemented turf.js into its SQL parser to enable geo based analytics. -- Jobs: CSV Data loads, Exports & Time to Live now all run as back ground jobs. -- Exports: Perform queries that export into JSON or CSV and save to disk or S3. - -**Fixes** - -- Fixed issue where CSV data loads incorrectly report number of records loaded. -- Added validation to stop `BETWEEN` operations in SQL. -- Updated logging to not include internal variables in the logs. -- Cleaned up `add_role` response to not include internal variables. -- Removed old and unused dependencies. -- Build out further unit tests and integration tests. -- Fixed https to handle certificates properly. -- Improved stability of clustering & replication. -- Corrected issue where Objects and Arrays were not casting properly in `SQL SELECT` response. -- Fixed issue where Blob text was not being returned from `SQL SELECT`s. -- Fixed error being returned when querying on table with no data, now correctly returns empty array. -- Improved performance in SQL when searching on exact values. -- Fixed error when ./harperdb stop is called. -- Fixed logging issue causing instability in installer. -- Fixed `read_log` operation to accept date time. -- Added permissions checking to `export_to_s3`. -- Added ability to run SQL on `SELECT` without a `FROM`. -- Fixed issue where updating a user’s password was not encrypting properly. -- Fixed `user_guide.html` to point to readme on git repo. -- Created option to have HarperDB run as a foreground process. -- Updated `user_info` to return the correct role for a user. -- Fixed issue where HarperDB would not stop if the database root was deleted. -- Corrected error message on insert if an invalid schema is provided. -- Added permissions checks for user & role operations. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/1.3.0.md b/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/1.3.0.md deleted file mode 100644 index e3a5215f..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/1.3.0.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: 1.3.0 -sidebar_position: 89699 ---- - -### HarperDB 1.3.0, Alby Release - -11/2/2018 - -**Features** - -- Upgrade: Upgrade to newest version via command line. -- SQL Support: Added `IS NULL` for SQL parser. -- Added attribute validation to search operations. - -**Fixes** - -- Fixed `SELECT` calculations, i.e. `SELECT` 2+2. -- Fixed select OR not returning expected results. -- No longer allowing reserved words for schema and table names. -- Corrected process interruptions from improper SQL statements. -- Improved message handling between spawned processes that replace killed processes. -- Enhanced error handling for updates to tables that do not exist. -- Fixed error handling for NoSQL responses when `get_attributes` is provided with invalid attributes. -- Fixed issue with new columns not being updated properly in update statements. -- Now validating roles, tables and attributes when creating or updating roles. -- Fixed an issue where in some cases `undefined` was being returned after dropping a role diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/1.3.1.md b/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/1.3.1.md deleted file mode 100644 index 56927389..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/1.3.1.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: 1.3.1 -sidebar_position: 89698 ---- - -### HarperDB 1.3.1, Alby Release - -2/26/2019 - -**Features** - -- Clustering connection direction appointment -- Foundations for threading/multi processing -- UUID autogen for hash attributes that were not provided -- Added cluster status operation - -**Bug Fixes and Enhancements** - -- More logging -- Clustering communication enhancements -- Clustering queue ordering by timestamps -- Cluster re connection enhancements -- Number of system core(s) detection -- Node LTS (10.15) compatibility -- Update/Alter users enhancements -- General performance enhancements -- Warning is logged if different versions of harperdb are connected via clustering -- Fixed need to restart after user creation/alteration -- Fixed SQL error that occurred on selecting from an empty table diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/_category_.json b/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/_category_.json deleted file mode 100644 index 9eded684..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Alby (Version 1)", - "position": -1 -} diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/index.md b/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/index.md deleted file mode 100644 index ae17d022..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v1-alby/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: HarperDB Alby (Version 1) ---- - -# HarperDB Alby (Version 1) - -Did you know our release names are dedicated to employee pups? For our first release, Alby was our pup. - -Here is a bit about Alby: - -![picture of black dog](/img/v4.2/dogs/alby.webp) - -_Hi, I am Alby. My mom is Kaylan Stock, Director of Marketing at HarperDB. I am a 9-year-old Great Dane mix who loves sun bathing, going for swims, and wreaking havoc on the local squirrels. My favorite snack is whatever you are eating, and I love a good butt scratch!_ diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.1.1.md b/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.1.1.md deleted file mode 100644 index c59337d7..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.1.1.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: 2.1.1 -sidebar_position: 79898 ---- - -### HarperDB 2.1.1, Penny Release - -05/22/2020 - -**Highlights** - -- CORE-1007 Added the ability to perform `SQL INSERT` & `UPDATE` with function calls & expressions on values. -- CORE-1023 Fixed minor bug in final SQL step incorrectly trying to translate ordinals to alias in `ORDER BY` statement. -- CORE-1020 Fixed bug allowing 'null' and 'undefined' string values to be passed in as valid hash values. -- CORE-1006 Added SQL functionality that enables `JOIN` statements across different schemas. -- CORE-1005 Implemented JSONata library to handle our JSON document search functionality in SQL, creating the `SEARCH_JSON` function. -- CORE-1009 Updated schema validation to allow all printable ASCII characters to be used in schema/table/attribute names, except, forward slashes and backticks. Same rules apply now for hash attribute values. -- CORE-1003 Fixed handling of ORDER BY statements with function aliases. -- CORE-1004 Fixed bug related to `SELECT*` on `JOIN` queries with table columns with the same name. -- CORE-996 Fixed an issue where the `transact_to_cluster` flag is lost for CSV URL loads, fixed an issue where new attributes created in CSV bulk load do not sync to the cluster. -- CORE-994 Added new operation `system_information`. This operation returns info & metrics for the OS, time, memory, cpu, disk, network. -- CORE-993 Added new custom date functions for AlaSQL & UTC updates. -- CORE-991 Changed jobs to spawn a new process which will run the intended job without impacting a main HarperDB process. -- CORE-992 HTTPS enabled by default. -- CORE-990 Updated `describe_table` to add the record count for the table for LMDB data storage. -- CORE-989 Killed the socket cluster processes prior to HarperDB processes to eliminate a false uptime. -- CORE-975 Updated time values set by SQL Date Functions to be in epoch format. -- CORE-974 Added date functions to `SQL SELECT` column alias functionality. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.2.0.md b/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.2.0.md deleted file mode 100644 index a669ca8b..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.2.0.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: 2.2.0 -sidebar_position: 79799 ---- - -### HarperDB 2.2.0, Penny Release - -08/24/2020 - -**Features/Updates** - -- CORE-997 Updated the data format for CSV data loads being sync'd across a cluster to take up less resources -- CORE-1018 Adds SQL functionality for `BETWEEN` statements -- CORE-1032 Updates permissions to allow regular users (i.e. non-super users) to call the `get_job` operation -- CORE-1036 On create/drop table we auto create/drop the related transactions environments for the schema.table -- CORE-1042 Built raw functions to write to a tables transaction log for insert/update/delete operations -- CORE-1057 Implemented write transaction into lmdb create/update/delete functions -- CORE-1048 Adds `SEARCH` wildcard handling for role permissions standards -- CORE-1059 Added config setting to disable transaction logging for an instance -- CORE-1076 Adds permissions filter to describe operations -- CORE-1043 Change clustering catchup to use the new transaction log -- CORE-1052 Removed word "master" from source -- CORE-1061 Added new operation called `delete_transactions_before` this will tail a transaction log for a specific schema / table -- CORE-1040 On HarperDB startup make sure all tables have a transaction environment -- CORE-1055 Added 2 new setting to change the server headersTimeout & keepAliveTimeout from the config file -- CORE-1044 Created new operation `read_transaction_log` which will allow a user to get transactions for a table by `timestamp`, `username`, or `hash_value` -- CORE-1043 Change clustering catchup to use the new transaction log -- CORE-1089 Added new attribute to `system_information` for table/transaction log data size in bytes & transaction log record count -- CORE-1101 Fix to store empty strings rather than considering them null & fix to be able to search on empty strings in SQL/NoSQL. -- CORE-1054 Updates permissions object to remove delete attribute permission and update table attribute permission key to `attribute_permissions` -- CORE-1092 Do not allow the `__createdtime__` to be updated -- CORE-1085 Updates create schema/table & drop schema/table/attribute operations permissions to require super user role and adds integration tests to validate -- CORE-1071 Updates response messages and status codes from `describe_schema` and `describe_table` operations to provide standard language/status code when a schema item is not found -- CORE-1049 Updates response message for SQL update op with no matching rows -- CORE-1096 Added tracking of the origin in the transaction log. This origin object stores the node name, timestamp of the transaction from the originating node & the user. - -**Bug Fixes** - -- CORE-1028 Fixes bug for simple `SQL SELECT` queries not returning aliases and incorrectly returning hash values when not requested in query -- CORE-1037 Fixed an issue where numbers with leading zero i.e. 00123 are converted to numbers rather than being honored as strings. -- CORE-1063 Updates permission error response shape to consolidate issues into individual objects per schema/table combo -- CORE-1098 Fixed an issue where transaction environments were remaining in the global cache after being dropped. -- CORE-1086 Fixed issue where responses from insert/update were incorrect with skipped records. -- CORE-1079 Fixes SQL bugs around invalid schema/table and special characters in `WHERE` clause diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.2.2.md b/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.2.2.md deleted file mode 100644 index fca00967..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.2.2.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 2.2.2 -sidebar_position: 79797 ---- - -### HarperDB 2.2.2, Penny Release - -10/27/2020 - -- CORE-1154 Allowed transaction logging to be disabled even if clustering is enabled. -- CORE-1153 Fixed issue where `delete_files_before` was writing to transaction log. -- CORE-1152 Fixed issue where no more than 4 HarperDB forks would be created. -- CORE-1112 Adds handling for system timestamp attributes in permissions. -- CORE-1131 Adds better handling for checking perms on operations with action value in JSON. -- CORE-1113 Fixes validation bug checking for super user/cluster user permissions and other permissions. -- CORE-1135 Adds validation for valid keys in role API operations. -- CORE-1073 Adds new `import_from_s3` operation to API. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.2.3.md b/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.2.3.md deleted file mode 100644 index 06b89d4e..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.2.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 2.2.3 -sidebar_position: 79796 ---- - -### HarperDB 2.2.3, Penny Release - -11/16/2020 - -- CORE-1158 Performance improvements to core delete function and configuration of `delete_files_before` to run in batches with a pause into between. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.3.0.md b/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.3.0.md deleted file mode 100644 index a027eedb..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.3.0.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: 2.3.0 -sidebar_position: 79699 ---- - -### HarperDB 2.3.0, Penny Release - -12/03/2020 - -**Features/Updates** - -- CORE-1191, CORE-1190, CORE-1125, CORE-1157, CORE-1126, CORE-1140, CORE-1134, CORE-1123, CORE-1124, CORE-1122 Added JWT Authentication option (See documentation for more information) -- CORE-1128, CORE-1143, CORE-1140, CORE-1129 Added `upsert` operation -- CORE-1187 Added `get_configuration` operation which allows admins to view their configuration settings. -- CORE-1175 Added new internal LMDB function to copy an environment for use in future features. -- CORE-1166 Updated packages to address security vulnerabilities. - -**Bug Fixes** - -- CORE-1195 Modified `drop_attribute` to drop after data cleanse completes. -- CORE-1149 Fix SQL bug regarding self joins and updates alasql to 0.6.5 release. -- CORE-1168 Fix inconsistent invalid schema/table errors. -- CORE-1162 Fix bug which caused `delete_files_before` to cause tables to grow in size due to an open cursor issue. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.3.1.md b/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.3.1.md deleted file mode 100644 index 03df0186..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/2.3.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 2.3.1 -sidebar_position: 79698 ---- - -### HarperDB 2.3.1, Penny Release - -1/29/2021 - -**Bug Fixes** - -- CORE-1218 A bug in HarperDB 2.3.0 was identified related to manually calling the `create_attribute` operation. This bug caused secondary indexes to be overwritten by the most recently inserted or updated value for the index, thereby causing a search operation filtered with that index to only return the most recently inserted/updated row. Note, this issue does not affect attributes that are reflexively/automatically created. It only affects attributes created using `create_attribute`. To resolve this issue in 2.3.0 or earlier, drop and recreate your table using reflexive attribute creation. In 2.3.1, drop and recreate your table and use either reflexive attribute creation or `create_attribute`. -- CORE-1219 Increased maximum table attributes from 1000 to 10000 diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/_category_.json b/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/_category_.json deleted file mode 100644 index 28f86bc1..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Penny (Version 2)", - "position": -2 -} diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/index.md b/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/index.md deleted file mode 100644 index 23bd15ec..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v2-penny/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: HarperDB Penny (Version 2) ---- - -# HarperDB Penny (Version 2) - -Did you know our release names are dedicated to employee pups? For our second release, Penny was the star. - -Here is a bit about Penny: - -![picture of brindle dog](/img/v4.2/dogs/penny.webp) - -_Hi I am Penny! My dad is Kyle Bernhardy, the CTO of HarperDB. I am a nine-year-old Whippet who lives for running hard and fast while exploring the beautiful terrain of Colorado. My favorite activity is chasing birds along with afternoon snoozes in a sunny spot in my backyard._ diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.0.0.md b/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.0.0.md deleted file mode 100644 index 10319747..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.0.0.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: 3.0.0 -sidebar_position: 69999 ---- - -### HarperDB 3.0, Monkey Release - -5/18/2021 - -**Features/Updates** - -- CORE-1217, CORE-1226, CORE-1232 Create new `search_by_conditions` operation. -- CORE-1304 Upgrade to Node 12.22.1. -- CORE-1235 Adds new upgrade/install functionality. -- CORE-1206, CORE-1248, CORE-1252 Implement `lmdb-store` library for optimized performance. -- CORE-1062 Added alias operation for `delete_files_before`, named `delete_records_before`. -- CORE-1243 Change `HTTPS_ON` settings value to false by default. -- CORE-1189 Implement fastify web server, resulting in improved performance. -- CORE-1221 Update user API to use role name instead of role id. -- CORE-1225 Updated dependencies to eliminate npm security warnings. -- CORE-1241 Adds 3.0 update directive and refactors/fixes update functionality. - -**Bug Fixes** - -- CORE-1299 Remove all references to the `PROJECT_DIR` setting. This setting is problematic when using node version managers and upgrading the version of node and then installing a new instance of HarperDB. -- CORE-1288 Fix bug with drop table/schema that was causing 'env required' error log. -- CORE-1285 Update warning log when trying to create an attribute that already exists. -- CORE-1254 Added logic to manage data collisions in clustering. -- CORE-1212 Add pre-check to `drop_user` that returns error if user doesn't exist. -- CORE-1114 Update response code and message from `add_user` when user already exists. -- CORE-1111 Update response from `create_attribute` to match the create schema/table response. -- CORE-1205 Fixed bug that prevented schema/table from being dropped if name was a number or had a wildcard value in it. Updated validation for insert, upsert and update. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.0.md b/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.0.md deleted file mode 100644 index f14acb8e..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.0.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: 3.1.0 -sidebar_position: 69899 ---- - -### HarperDB 3.1.0, Monkey Release - -8/24/2021 - -**Features/Updates** - -- CORE-1320, CORE-1321, CORE-1323, CORE-1324 Version 1.0 of HarperDB Custom Functions -- CORE-1275, CORE-1276, CORE-1278, CORE-1279, CORE-1280, CORE-1282, CORE-1283, CORE-1305, CORE-1314 IPC server for communication between HarperDB processes, including HarperDB, HarperDB Clustering, and HarperDB Functions -- CORE-1352, CORE-1355, CORE-1356, CORE-1358 Implement pm2 for HarperDB process management -- CORE-1292, CORE-1308, CORE-1312, CORE-1334, CORE-1338 Updated installation process to start HarperDB immediately on install and to accept all config settings via environment variable or command line arguments -- CORE-1310 Updated licensing functionality -- CORE-1301 Updated validation for performance improvement -- CORE-1359 Add `hdb-response-time` header which returns the HarperDB response time in milliseconds -- CORE-1330, CORE-1309 New config settings: `LOG_TO_FILE`, `LOG_TO_STDSTREAMS`, `IPC_SERVER_PORT`, `RUN_IN_FOREGROUND`, `CUSTOM_FUNCTIONS`, `CUSTOM_FUNCTIONS_PORT`, `CUSTOM_FUNCTIONS_DIRECTORY`, `MAX_CUSTOM_FUNCTION_PROCESSES` - -**Bug Fixes** - -- CORE-1315 Corrected issue in HarperDB restart scenario -- CORE-1370 Update some of the validation error handlers so that they don't log full stack diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.1.md b/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.1.md deleted file mode 100644 index 8f90dc10..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.1.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: 3.1.1 -sidebar_position: 69898 ---- - -### HarperDB 3.1.1, Monkey Release - -9/23/2021 - -**Features/Updates** - -- CORE-1393 Added utility function to add settings from env/cmd vars to the settings file on every run/restart -- CORE-1395 Create a setting which will allow to enable the local Studio to be served from an instance of HarperDB -- CORE-1397 Update the stock 404 response to not return the request URL -- General updates to optimize Docker container - -**Bug Fixes** - -- CORE-1399 Added fixes for complex SQL alias issues diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.2.md b/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.2.md deleted file mode 100644 index 706e5956..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 3.1.2 -sidebar_position: 69897 ---- - -### HarperDB 3.1.2, Monkey Release - -10/21/2021 - -**Features/Updates** - -- Updated the installation ASCII art to reflect the new HarperDB logo - -**Bug Fixes** - -- CORE-1408 Corrects issue where `drop_attribute` was not properly setting the LMDB version number causing tables to behave unexpectedly diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.3.md b/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.3.md deleted file mode 100644 index 1a7d3301..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.3 -sidebar_position: 69896 ---- - -### HarperDB 3.1.3, Monkey Release - -1/14/2022 - -**Bug Fixes** - -- CORE-1446 Fix for scans on indexes larger than 1 million entries causing queries to never return diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.4.md b/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.4.md deleted file mode 100644 index 3fa86ead..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.4 -sidebar_position: 69895 ---- - -### HarperDB 3.1.4, Monkey Release - -2/24/2022 - -**Features/Updates** - -- CORE-1460 Added new setting `STORAGE_WRITE_ASYNC`. If this setting is true, LMDB will have faster write performance at the expense of not being crash safe. The default for this setting is false, which results in HarperDB being crash safe. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.5.md b/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.5.md deleted file mode 100644 index 23661928..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.1.5.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.5 -sidebar_position: 69894 ---- - -### HarperDB 3.1.5, Monkey Release - -3/4/2022 - -**Features/Updates** - -- CORE-1498 Fixed incorrect autocasting of string that start with "0." that tries to convert to number but instead returns NaN. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.2.0.md b/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.2.0.md deleted file mode 100644 index fa215082..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.2.0.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 3.2.0 -sidebar_position: 69799 ---- - -### HarperDB 3.2.0, Monkey Release - -3/25/2022 - -**Features/Updates** - -- CORE-1391 Bug fix related to orphaned HarperDB background processes. -- CORE-1509 Updated node version check, updated Node.js version, updated project dependencies. -- CORE-1518 Remove final call from logger. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.2.1.md b/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.2.1.md deleted file mode 100644 index 4cc983a4..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.2.1.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.2.1 -sidebar_position: 69798 ---- - -### HarperDB 3.2.1, Monkey Release - -6/1/2022 - -**Features/Updates** - -- CORE-1573 Added logic to track the pid of the foreground process if running in foreground. Then on stop, use that pid to kill the process. Logic was also added to kill the pm2 daemon when stop is called. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.3.0.md b/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.3.0.md deleted file mode 100644 index 236704dd..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/3.3.0.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.3.0 -sidebar_position: 69699 ---- - -### HarperDB 3.3.0 - Monkey - -- CORE-1595 Added new role type `structure_user`, this enables non-superusers to be able to create/drop schema/table/attribute. -- CORE-1501 Improved performance for drop_table. -- CORE-1599 Added two new operations for custom functions `install_node_modules` & `audit_node_modules`. -- CORE-1598 Added `skip_node_modules` flag to `package_custom_function_project` operation. This flag allows for not bundling project dependencies and deploying a smaller project to other nodes. Use this flag in tandem with `install_node_modules`. -- CORE-1707 Binaries are now included for Linux on AMD64, Linux on ARM64, and macOS. GCC, Make, Python are no longer required when installing on these platforms. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/_category_.json b/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/_category_.json deleted file mode 100644 index 71bea62a..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Monkey (Version 3)", - "position": -3 -} diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/index.md b/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/index.md deleted file mode 100644 index a05a2b6c..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v3-monkey/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: HarperDB Monkey (Version 3) ---- - -# HarperDB Monkey (Version 3) - -Did you know our release names are dedicated to employee pups? For our third release, we have Monkey. - -![picture of tan dog](/img/v4.2/dogs/monkey.webp) - -_Hi, I am Monkey, a.k.a. Monk, a.k.a. Monchichi. My dad is Aron Johnson, the Director of DevOps at HarperDB. I am an eight-year-old Australian Cattle dog mutt whose favorite pastime is hunting and collecting tennis balls from the park next to her home. I love burrowing in the Colorado snow, rolling in the cool grass on warm days, and cheese!_ diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.0.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.0.md deleted file mode 100644 index b94ea2f8..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.0.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: 4.0.0 -sidebar_position: 59999 ---- - -### HarperDB 4.0.0, Tucker Release - -11/2/2022 - -**Networking & Data Replication (Clustering)** - -The HarperDB clustering internals have been rewritten and the underlying technology for Clustering has been completely replaced with [NATS](https://nats.io/), an enterprise grade connective technology responsible for addressing, discovery and exchanging of messages that drive the common patterns in distributed systems. - -- CORE-1464, CORE-1470, : Remove SocketCluster dependencies and all code related to them. -- CORE-1465, CORE-1485, CORE-1537, CORE-1538, CORE-1558, CORE-1583, CORE_1665, CORE-1710, CORE-1801, CORE-1865 :Add nats-`server` code as dependency, on install of HarperDB download nats-`server` is possible else fallback to building from source code. -- CORE-1593, CORE-1761: Add `nats.js` as project dependency. -- CORE-1466: Build NATS configs on `harperdb run` based on HarperDB YAML configuration. -- CORE-1467, CORE-1508: Launch and manage NATS servers with PM2. -- CORE-1468, CORE-1507: Create a process which reads the work queue stream and processes transactions. -- CORE-1481, CORE-1529, CORE-1698, CORE-1502, CORE-1696: On upgrade to 4.0, update pre-existing clustering configurations, create table transaction streams, create work queue stream, update `hdb_nodes` table, create clustering folder structure, and rebuild self-signed certs. -- CORE-1494, CORE-1521, CORE-1755: Build out internals to interface with NATS. -- CORE-1504: Update existing hooks to save transactions to work with NATS. -- CORE-1514, CORE-1515, CORE-1516, CORE-1527, CORE-1532: Update `add_node`, `update_node`, and `remove_node` operations to no longer need host and port in payload. These operations now manage dynamically sourcing of table level transaction streams between nodes and work queues. -- CORE-1522: Create `NATSReplyService` process which handles the receiving NATS based requests from remote instances and sending back appropriate responses. -- CORE-1471, CORE-1568, CORE-1563, CORE-1534, CORE-1569: Update `cluster_status` operation. -- CORE-1611: Update pre-existing transaction log operations to be audit log operations. -- CORE-1541, CORE-1612, CORE-1613: Create translation log operations which interface with streams. -- CORE-1668: Update NATS serialization / deserialization to use MessagePack. -- CORE-1673: Add `system_info` param to `hdb_nodes` table and update on `add_node` and `cluster_status`. -- CORE-1477, CORE-1493, CORE-1557, CORE-1596, CORE-1577: Both a full HarperDB restart & just clustering restart call the NATS server with a reload directive to maintain full uptime while servers refresh. -- CORE-1474:HarperDB install adds clustering folder structure. -- CORE-1530: Post `drop_table` HarperDB purges the related transaction stream. -- CORE-1567: Set NATS config to always use TLS. -- CORE-1543: Removed the `transact_to_cluster` attribute from the bulk load operations. Now bulk loads always replicate. -- CORE-1533, CORE-1556, CORE-1561, CORE-1562, CORE-1564: New operation `configure_cluster`, this operation enables bulk publishing and subscription of multiple tables to multiple instances of HarperDB. -- CORE-1535: Create work queue stream on install of HarperDB. This stream receives transactions from remote instances of HarperDB which are then ingested in order. -- CORE-1551: Create transaction streams on the remote node if they do not exist when performing `add_node` or `update_node`. -- CORE-1594, CORE-1605, CORE-1749, CORE-1767, CORE-1770: Optimize the work queue stream and its consumer to be more performant and validate exact once delivery. -- CORE-1621, CORE-1692, CORE-1570, CORE-1693: NATS stream names are MD5 hashed to avoid characters that HarperDB allows, but NATS may not. -- CORE-1762: Add a new optional attribute to `add_node` and `update_node` named `opt_start_time`. This attribute sets a starting time to start synchronizing transactions. -- CORE-1785: Optimizations and bug fixes in regards to sourcing data from remote instances on HarperDB. -- CORE-1588: Created new operation `set_cluster_routes` to enable setting routes for instances of HarperDB to mesh together. -- CORE-1589: Created new operation `get_cluster_routes` to allow for retrieval of routes used to connect the instance of HarperDB to the mesh. -- CORE-1590: Created new operation `delete_cluster_routes` to allow for removal of routes used to connect the instance of HarperDB to the mesh. -- CORE-1667: Fix old environment variable `CLUSTERING_PORT` not mapping to new hub server port. -- CORE-1609: Allow `remove_node` to be called when the other node cannot be reached. -- CORE-1815: Add transaction lock to `add_node` and `update_node` to avoid concurrent nats source update bug. -- CORE-1848: Update stream configs if the node name has been changed in the YAML configuration. -- CORE-1873: Update `add_node` and `update_node` so that it auto-creates schema/table on both local and remote node respectively - -**Data Storage** - -We have made improvements to how we store, index, and retrieve data. - -- CORE-1619: Enabled new concurrent flushing technology for improved write performance. -- CORE-1701: Optimize search performance for `search_by_conditions` when executing multiple AND conditions. -- CORE-1652: Encode the values of secondary indices more efficiently for faster access. -- CORE-1670: Store updated timestamp in `lmdb.js`' version property. -- CORE-1651: Enabled multiple value indexing of array values which allows for the ability to search on specific elements in an array more efficiently. -- CORE-1649, CORE-1659: Large text values (larger than 255 bytes) are no longer stored in separate blob index. Now they are segmented and delimited in the same index to increase search performance. -- Complex objects and object arrays are no longer stored in a separate index to preserve storage and increase write throughput. -- CORE-1650, CORE-1724, CORE-1738: Improved internals around interpreting attribute values. -- CORE-1657: Deferred property decoding allows large objects to be stored, but individual attributes can be accessed (like with get_attributes) without incurring the cost of decoding the entire object. -- CORE-1658: Enable in-memory caching of records for even faster access to frequently accessed data. -- CORE-1693: Wrap updates in async transactions to ensure ACID-compliant updates. -- CORE-1653: Upgrade to 4.0 rebuilds tables to reflect changes made to index improvements. -- CORE-1753: Removed old `node-lmdb` dependency. -- CORE-1787: Freeze objects returned from queries. -- CORE-1821: Read the `WRITE_ASYNC` setting which enables LMDB nosync. - -**Logging** - -HarperDB has increased logging specificity by breaking out logs based on components logging. There are specific log files each for HarperDB Core, Custom Functions, Hub Server, Leaf Server, and more. - -- CORE-1497: Remove `pino` and `winston` dependencies. -- CORE-1426: All logging is output via `stdout` and `stderr`, our default logging is then picked up by PM2 which handles writing out to file. -- CORE-1431: Improved `read_log` operation validation. -- CORE-1433, CORE-1463: Added log rotation. -- CORE-1553, CORE-1555, CORE-1552, CORE-1554, CORE-1704: Performance gain by only serializing objects and arrays if the log is for the level defined in configuration. -- CORE-1436: Upgrade to 4.0 updates internals for logging changes. -- CORE-1428, CORE-1440, CORE-1442, CORE-1434, CORE-1435, CORE-1439, CORE-1482, CORE-1751, CORE-1752: Bug fixes, performance improvements and improved unit tests. -- CORE-1691: Convert non-PM2 managed log file writes to use Node.js `fs.appendFileSync` function. - -**Configuration** - -HarperDB has updated its configuration from a properties file to YAML. - -- CORE-1448, CORE-1449, CORE-1519, CORE-1587: Upgrade automatically converts the pre-existing settings file to YAML. -- CORE-1445, CORE-1534, CORE-1444, CORE-1858: Build out new logic to create, update, and interpret the YAML configuration file. -- Installer has updated prompts to reflect YAML settings. -- CORE-1447: Create an alias for the `configure_cluster` operation as `set_configuration`. -- CORE-1461, CORE-1462, CORE-1483: Unit test improvements. -- CORE-1492: Improvements to get_configuration and set_configuration operations. -- CORE-1503: Modify HarperDB configuration for more granular certificate definition. -- CORE-1591: Update `routes` IP param to `host` and to `leaf` config in `harperdb.conf` -- CORE-1519: Fix issue when switching between old and new versions of HarperDB we are getting the config parameter is undefined error on npm install. - -**Broad NodeJS and Platform Support** - -- CORE-1624: HarperDB can now run on multiple versions of NodeJS, from v14 to v19. We primarily test on v18, so that is the preferred version. - -**Windows 10 and 11** - -- CORE-1088: HarperDB now runs natively on Windows 10 and 11 without the need to run in a container or installed in WSL. Windows is only intended for evaluation and development purposes, not for production work loads. - -**Extra Changes and Bug Fixes** - -- CORE-1520: Refactor installer to remove all waterfall code and update to use Promises. -- CORE-1573: Stop the PM2 daemon and any logging processes when stopping hdb. -- CORE-1586: When HarperDB is running in foreground stop any additional logging processes from being spawned. -- CORE-1626: Update docker file to accommodate new `harperdb.conf` file. -- CORE-1592, CORE-1526, CORE-1660, CORE-1646, CORE-1640, CORE-1689, CORE-1711, CORE-1601, CORE-1726, CORE-1728, CORE-1736, CORE-1735, CORE-1745, CORE-1729, CORE-1748, CORE-1644, CORE-1750, CORE-1757, CORE-1727, CORE-1740, CORE-1730, CORE-1777, CORE-1778, CORE-1782, CORE-1775, CORE-1771, CORE-1774, CORE-1759, CORE-1772, CORE-1861, CORE-1862, CORE-1863, CORE-1870, CORE-1869:Changes for CI/CD pipeline and integration tests. -- CORE-1661: Fixed issue where old boot properties file caused an error when attempting to install 4.0.0. -- CORE-1697, CORE-1814, CORE-1855: Upgrade fastify dependency to new major version 4. -- CORE-1629: Jobs are now running as processes managed by the PM2 daemon. -- CORE-1733: Update LICENSE to reflect our EULA on our site. -- CORE-1606: Enable Custom Functions by default. -- CORE-1714: Include pre-built binaries for most common platforms (darwin-arm64, darwin-x64, linux-arm64, linux-x64, win32-x64). -- CORE-1628: Fix issue where setting license through environment variable not working. -- CORE-1602, CORE-1760, CORE-1838, CORE-1839, CORE-1847, CORE-1773: HarperDB Docker container improvements. -- CORE-1706: Add support for encoding HTTP responses with MessagePack. -- CORE-1709: Improve the way lmdb.js dependencies are installed. -- CORE-1758: Remove/update unnecessary HTTP headers. -- CORE-1756: On `npm install` and `harperdb install` change the node version check from an error to a warning if the installed Node.js version does not match our preferred version. -- CORE-1791: Optimizations to authenticated user caching. -- CORE-1794: Update README to discuss Windows support & Node.js versions -- CORE-1837: Fix issue where Custom Function directory was not being created on install. -- CORE-1742: Add more validation to audit log - check schema/table exists and log is enabled. -- CORE-1768: Fix issue where when running in foreground HarperDB process is not stopping on `harperdb stop`. -- CORE-1864: Fix to semver checks on upgrade. -- CORE-1850: Fix issue where a `cluster_user` type role could not be altered. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.1.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.1.md deleted file mode 100644 index 2a85f511..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.0.1 -sidebar_position: 59998 ---- - -### HarperDB 4.0.1, Tucker Release - -01/20/2023 - -**Bug Fixes** - -- CORE-1992 Local studio was not loading because the path got mangled in the build. -- CORE-2001 Fixed deploy_custom_function_project after node update broke it. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.2.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.2.md deleted file mode 100644 index bedbd970..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.0.2 -sidebar_position: 59997 ---- - -### HarperDB 4.0.2, Tucker Release - -01/24/2023 - -**Bug Fixes** - -- CORE-2003 Fix bug where if machine had one core thread config would default to zero. -- Update to lmdb 2.7.3 and msgpackr 1.7.0 diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.3.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.3.md deleted file mode 100644 index ad1cbf8a..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.3 -sidebar_position: 59996 ---- - -### HarperDB 4.0.3, Tucker Release - -01/26/2023 - -**Bug Fixes** - -- CORE-2007 Add update nodes 4.0.0 launch script to build script to fix clustering upgrade. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.4.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.4.md deleted file mode 100644 index 3f052465..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.4 -sidebar_position: 59995 ---- - -### HarperDB 4.0.4, Tucker Release - -01/27/2023 - -**Bug Fixes** - -- CORE-2009 Fixed bug where add node was not being called when upgrading clustering. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.5.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.5.md deleted file mode 100644 index 1696d6d4..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.5.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.0.5 -sidebar_position: 59994 ---- - -### HarperDB 4.0.5, Tucker Release - -02/15/2023 - -**Bug Fixes** - -- CORE-2029 Improved the upgrade process for handling existing user TLS certificates and correctly configuring TLS settings. Added a prompt to upgrade to determine if new certificates should be created or existing certificates should be kept/used. -- Fix the way NATS connections are honored in a local environment. -- Do not define the certificate authority path to NATS if it is not defined in the HarperDB config. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.6.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.6.md deleted file mode 100644 index 1cdc1bd7..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.6.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.6 -sidebar_position: 59993 ---- - -### HarperDB 4.0.6, Tucker Release - -03/09/2023 - -**Bug Fixes** - -- Fixed a data serialization error that occurs when a large number of different record structures are persisted in a single table. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.7.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.7.md deleted file mode 100644 index c4d1fbbf..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.0.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.7 -sidebar_position: 59992 ---- - -### HarperDB 4.0.7, Tucker Release - -03/10/2023 - -**Bug Fixes** - -- Update lmdb.js dependency diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.1.0.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.1.0.md deleted file mode 100644 index c0e4ad8a..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.1.0.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: 4.1.0 -sidebar_position: 59899 ---- - -# 4.1.0 - -HarperDB 4.1 introduces the ability to use worker threads for concurrently handling HTTP requests. Previously this was handled by processes. This shift provides important benefits in terms of better control of traffic delegation with support for optimized load tracking and session affinity, better debuggability, and reduced memory footprint. - -This means debugging will be much easier for custom functions. If you install/run HarperDB locally, most modern IDEs like WebStorm and VSCode support worker thread debugging, so you can start HarperDB in your IDE, and set breakpoints in your custom functions and debug them. - -The associated routing functionality now includes session affinity support. This can be used to consistently route users to the same thread which can improve caching locality, performance, and fairness. This can be enabled in with the [`http.sessionAffinity` option in your configurationsecurity configuration. - -HarperDB 4.1's NoSQL query handling has been revamped to consistently use iterators, which provide an extremely memory efficient mechanism for directly streaming query results to the network _as_ the query results are computed. This results in faster Time to First Byte (TTFB) (only the first record/value in a query needs to be computed before data can start to be sent), and less memory usage during querying (the entire query result does not need to be stored in memory). These iterators are also available in query results for custom functions and can provide means for custom function code to iteratively access data from the database without loading entire results. This should be a completely transparent upgrade, all HTTP APIs function the same, with the one exception that custom functions need to be aware that they can't access query results by `[index]` (they should use array methods or for-in loops to handle query results). - -4.1 includes configuration options for specifying the location of database storage files. This allows you to specifically locate database directories and files on different volumes for better flexibility and utilization of disks and storage volumes. See the [storage configuration](../../../../deployments/configuration#storage) and [databases configuration](../../../../deployments/configuration#databases) for information on how to configure these locations. - -Logging has been revamped and condensed into one `hdb.log` file. See [logginglogging for more information. - -A new operation called `cluster_network` was added, this operation will ping the cluster and return a list of enmeshed nodes. - -Custom Functions will no longer automatically load static file routes, instead the `@fastify/static` plugin will need to be registered with the Custom Function server. See [Host A Static Web UI-static](https://docs.harperdb.io/docs/v/4.1/custom-functions/host-static). - -Updates to S3 import and export mean that these operations now require the bucket `region` in the request. Also, if referencing a nested object it should be done in the `key` parameter. See examples [here](https://api.harperdb.io/#aa74bbdf-668c-4536-80f1-b91bb13e5024). - -Due to the AWS SDK v2 reaching end of life support we have updated to v3. This has caused some breaking changes in our operations `import_from_s3` and `export_to_s3`: - -- A new attribute `region` will need to be supplied -- The `bucket` attribute can no longer have trailing slashes. Slashes will now need to be in the `key`. - -Starting HarperDB without any command (just `harperdb`) now runs HarperDB like a standard process, in the foreground. This means you can use standard unix tooling for interacting with the process and is conducive for running HarperDB with systemd or any other process management tool. If you wish to have HarperDB launch itself in separate background process (and immediately terminate the shell process), you can do so by running `harperdb start`. - -Internal Tickets completed: - -- CORE-609 - Ensure that attribute names are always added to global schema as Strings -- CORE-1549 - Remove fastify-static code from Custom Functions server which auto serves content from "static" folder -- CORE-1655 - Iterator based queries -- CORE-1764 - Fix issue where describe_all operation returns an empty object for non super-users if schema(s) do not yet have table(s) -- CORE-1854 - Switch to using worker threads instead of processes for handling concurrency -- CORE-1877 - Extend the csv_url_load operation to allow for additional headers to be passed to the remote server when the csv is being downloaded -- CORE-1893 - Add last updated timestamp to describe operations -- CORE-1896 - Fix issue where Select \* from system.hdb_info returns wrong HDB version number after Instance Upgrade -- CORE-1904 - Fix issue when executing GEOJSON query in SQL -- CORE-1905 - Add HarperDB YAML configuration setting which defines the storage location of NATS streams -- CORE-1906 - Add HarperDB YAML configuration setting defining the storage location of tables. -- CORE-1655 - Streaming binary format serialization -- CORE-1943 - Add configuration option to set mount point for audit tables -- CORE-1921 - Update NATS transaction lifecycle to handle message deduplication in work queue streams. -- CORE-1963 - Update logging for better readability, reduced duplication, and request context information. -- CORE-1968 - In server\nats\natsIngestService.js remove the js_msg.working(); line to improve performance. -- CORE-1976 - Fix error when calling describe_table operation with no schema or table defined in payload. -- CORE-1983 - Fix issue where create_attribute operation does not validate request for required attributes -- CORE-2015 - Remove PM2 logs that get logged in console when starting HDB -- CORE-2048 - systemd script for 4.1 -- CORE-2052 - Include thread information in system_information for visibility of threads -- CORE-2061 - Add a better error msg when clustering is enabled without a cluster user set -- CORE-2068 - Create new log rotate logic since pm2 log-rotate no longer used -- CORE-2072 - Update to Node 18.15.0 -- CORE-2090 - Upgrade Testing from v4.0.x and v3.x to v4.1. -- CORE-2091 - Run the performance tests -- CORE-2092 - Allow for automatic patch version updates of certain packages -- CORE-2109 - Add verify option to clustering TLS configuration -- CORE-2111 - Update AWS SDK to v3 diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.1.1.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.1.1.md deleted file mode 100644 index 54163b63..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.1.1.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.1.1 -sidebar_position: 59898 ---- - -# 4.1.1 - -06/16/2023 - -- HarperDB uses improved logic for determining default heap limits and thread counts. When running in a restricted container and on NodeJS 18.15+, HarperDB will use the constrained memory limit to determine heap limits for each thread. In more memory constrained servers with many CPU cores, a reduced default thread count will be used to ensure that excessive memory is not used by many workers. You may still define your own thread count (with `http`/`threads`) in the [configuration](../../../deployments/configuration). -- An option has been added for [disabling the republishing NATS messages](../../../deployments/configuration), which can provide improved replication performance in a fully connected network. -- Improvements to our OpenShift container. -- Dependency security updates. -- **Bug Fixes** -- Fixed a bug in reporting database metrics in the `system_information` operation. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.1.2.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.1.2.md deleted file mode 100644 index fc5e16f4..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.1.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.1.2 -sidebar_position: 59897 ---- - -### HarperDB 4.1.2, Tucker Release - -06/16/2023 - -- HarperDB has updated binary dependencies to support older glibc versions back 2.17. -- A new CLI command was added to get the current status of whether HarperDB is running and the cluster status. This is available with `harperdb status`. -- Improvements to our OpenShift container. -- Dependency security updates. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.0.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.0.md deleted file mode 100644 index e13d1cbe..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.0.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: 4.2.0 -sidebar_position: 59799 ---- - -# 4.2.0 - -#### HarperDB 4.2.0 - -HarperDB 4.2 introduces a new interface to accessing our core database engine with faster access, well-typed idiomatic JavaScript interfaces, ergonomic object mapping, and real-time data subscriptions. 4.2 also had adopted a new component architecture for building extensions to deliver customized external data sources, authentication, file handlers, content types, and more. These architectural upgrades lead to several key new HarperDB capabilities including a new REST interface, advanced caching, real-time messaging and publish/subscribe functionality through MQTT, WebSockets, and Server-Sent Events. - -4.2 also introduces configurable database schemas, using GraphQL Schema syntax. The new component structure is also configuration-driven, providing easy, low-code paths to building applications. [Check out our new getting starting guide](../../../getting-started) to see how easy it is to get started with HarperDB apps. - -### Resource API - -The [Resource API](../../reference/resource) is the new interface for accessing data in HarperDB. It utilizes a uniform interface for accessing data in HarperDB database/tables and is designed to easily be implemented or extended for defining customized application logic for table access or defining custom external data sources. This API has support for connecting resources together for caching and delivering data change and message notifications in real-time. The [Resource API documentation details this interface](../../reference/resource). - -### Component Architecture - -HarperDB's custom functions have evolved towards a [full component architecture](../../../developers/components); our internal functionality is defined as components, and this can be used in a modular way in conjunction with user components. These can all easily be configured and loaded through configuration files, and there is now a [well-defined interface for creating your own components](../../../developers/components/writing-extensions). Components can easily be deployed/installed into HarperDB using [NPM and Github references as well](../../../developers/components/installing). - -### Configurable Database Schemas - -HarperDB applications or components support [schema definitions using GraphQL schema syntax](../../../../developers/applications/defining-schemas). This makes it easy to define your table and attribute structure and gives you control over which attributes should be indexed and what types they should be. With schemas in configuration, these schemas can be bundled with an application and deployed together with application code. - -### REST Interface - -HarperDB 4.2 introduces a new REST interface for accessing data through best-practice HTTP APIs using intuitive paths and standards-based methods and headers that directly map to our Resource API. This new interface provides fast and easy access to data via queries through GET requests, modifications of data through PUTs, customized actions through POSTs and more. With standards-based header support built-in, this works seamlessly with external caches (including browser caches) for accelerated performance and reduced network transfers. - -### Real-Time - -HarperDB 4.2 now provides standard interfaces for subscribing to data changes and receiving notifications of changes and messages in real-time. Using these new real-time messaging capabilities with structured data provides a powerful integrated platform for both database style data updates and querying along with message delivery. [Real-time messaging](../../../../developers/real-time) of data is available through several protocols: - -#### MQTT - -4.2 now includes MQTT support which is a publish and subscribe messaging protocol, designed for efficiency (designed to be efficient enough for even small Internet of Things devices). This allows clients to connect to HarperDB and publish messages through our data center and subscribe to messages and data for real-time delivery. 4.2 implements support for QoS 0 and 1, along with durable sessions. - -#### WebSockets - -HarperDB now also supports WebSockets. This can be used as a transport for MQTT or as a connection for custom connection handling. - -#### Server-Sent Events - -HarperDB also includes support for Server-Sent Events. This is a very easy-to-use browser API that allows web sites/applications to connect to HarperDB and subscribe to data changes with minimal effort over standard HTTP. - -### Database Structure - -HarperDB databases contain a collection of tables, and these tables are now contained in a single transactionally-consistent database file. This means reads and writes can be performed transactionally and atomically across tables (as long as they are in the same database). Multi-table transactions are replicated as single atomic transactions as well. Audit logs are also maintained in the same database with atomic consistency as well. - -Databases are now entirely encapsulated in a file, which means they can be moved/copied to another database without requiring any separate metadata updates in the system tables. - -### Clone Node - -HarperDB includes new functionality for adding new HarperDB nodes in a cluster. New instances can be configured to clone from a leader node, performing and copying a database snapshot from a leader node, and self-configuring from the leader node as well, to facilitate accelerated deployment of new nodes for fast horizontal scaling to meet demand needs. [See the documentation on Clone Node for more information.](../../../../administration/cloning) - -### Operations API terminology updates - -Any operation that used the `schema` property was updated to make this property optional and alternately support `database` as the property for specifying the database (formerly 'schema'). If both `schema` and `database` are absent, operation defaults to using the `data` database. Term 'primary key' now used in place of 'hash'. noSQL operation `search_by_hash` updated to `search_by_id`. - -Support was added for defining a table with `primary_key` instead of `hash_attribute`. - -## Configuration - -There have been significant changes to `harperdb-config.yaml`, however none of these changes should affect pre-4.2 versions. If you upgrade to 4.2 any existing configuration should be backwards compatible and will not need to be updated. - -`harperdb-config.yaml` has had some configuration values added, removed, renamed and defaults changed. Please refer to [harperdb-config.yaml](../../../deployments/configuration) for the most current configuration parameters. - -- The `http` element has been expanded. - - `compressionThreshold` was added. - - All `customFunction` configuration now lives here, except for the `tls` section. -- `threads` has moved out of the `http` element and now is its own top level element. -- `authentication` section was moved out of the `operationsApi` section and is now its own top level element/section. -- `analytics.aggregatePeriod` was added. -- Default logging level was changed to `warn`. -- Default clustering log level was changed to `info`. -- `clustering.republishMessages` now defaults to `false`. -- `operationsApi.foreground` was removed. To start HarperDB in the foreground, from the CLI run `harperdb`. -- Made `operationsApi` configuration optional. Any config not defined here will default to the `http` section. -- Added a `securePort` parameter to `operationsApi` and `http` used for setting the https port. -- Added a new top level `tls` section. -- Removed `customFunctions.enabled`, `customFunctions.network.https`, `operationsApi.network.https` and `operationsApi.nodeEnv`. -- Added an element called `componentRoot` which replaces `customFunctions.root`. -- Updated custom pathing to use `databases` instead of `schemas`. -- Added `logging.auditAuthEvents.logFailed` and `logging.auditAuthEvents.logSuccessful` for enabling logging of auth events. -- A new `mqtt` section was added. - -### Socket Management - -HarperDB now uses socket sharing to distribute incoming connections to different threads (`SO_REUSEPORT`). This is considered to be the most performant mechanism available for multi-threaded socket handling. This does mean that we have deprecated session-affinity based socket delegation. - -HarperDB now also supports more flexible port configurations: application endpoints and WebSockets run on 9926 by default, but these can be separated, or application endpoints can be configured to run on the same port as the operations API for a single port configuration. - -### Sessions - -HarperDB now supports cookie-based sessions for authentication for web clients. This can be used with the standard authentication mechanisms to login, and then cookies can be used to preserve the authenticated session. This is generally a more secure way of maintaining authentication in browsers, without having to rely on storing credentials. - -### Dev Mode - -HarperDB can now directly run a HarperDB application from any location using `harperdb run /path/to/app` or `harperdb dev /path/to/app`. The latter starts in dev mode, with logging directly to the console, debugging enabled, and auto-restarting with any changes in your application files. Dev mode is recommended for local application and component development. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.1.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.1.md deleted file mode 100644 index c792a637..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.1.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.2.1 -sidebar_position: 59798 ---- - -### HarperDB 4.2.1, Tucker Release - -11/3/2023 - -- Downgrade NATS 2.10.3 back to 2.10.1 due to regression in connection handling. -- Handle package names with underscores. -- Improved validation of queries and comparators -- Avoid double replication on transactions with multiple commits -- Added file metadata on get_component_file diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.2.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.2.md deleted file mode 100644 index 9cfa957e..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.2.2 -sidebar_position: 59797 ---- - -### HarperDB 4.2.2, Tucker Release - -11/8/2023 - -- Increase timeouts for NATS connections. -- Fix for database snapshots for backups (and for clone node). -- Fix application of permissions for default tables exposed through REST. -- Log replication failures with record information. -- Fix application of authorization/permissions for MQTT commands. -- Fix copying of local components in clone node. -- Fix calculation of overlapping start time in clone node. diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.3.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.3.md deleted file mode 100644 index edecd686..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.3.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.2.3 -sidebar_position: 59796 ---- - -### HarperDB 4.2.3, Tucker Release - -11/15/2023 - -- When setting setting securePort, disable unsecure port setting on same port -- Fix `harperdb status` when pid file is missing -- Fix/include missing icons/fonts from local studio -- Fix crash that can occur when concurrently accessing records > 16KB -- Apply a lower heap limit to better ensure that memory leaks are quickly caught/mitigated diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.4.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.4.md deleted file mode 100644 index 14d268b5..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.4.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.2.4 -sidebar_position: 59795 ---- - -### HarperDB 4.2.4, Tucker Release - -11/16/2023 - -- Prevent coercion of strings to numbers in SQL queries (in WHERE clause) -- Address fastify deprecation warning about accessing config diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.5.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.5.md deleted file mode 100644 index 1b6bf143..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.5.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.2.5 -sidebar_position: 59794 ---- - -### HarperDB 4.2.5, Tucker Release - -11/22/2023 - -- Disable compression on server-sent events to ensure messages are immediately sent (not queued for later deliver) -- Update geoNear function to tolerate null values -- lmdb-js fix to ensure prefetched keys are pinned in memory until retrieved -- Add header to indicate start of a new authenticated session (for studio to identify authenticated sessions) diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.6.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.6.md deleted file mode 100644 index 50abde53..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.6.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.2.6 -sidebar_position: 59793 ---- - -### HarperDB 4.2.6, Tucker Release - -11/29/2023 - -- Update various geo SQL functions to tolerate invalid values -- Properly report component installation/load errors in `get_components` (for studio to load components after an installation failure) diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.7.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.7.md deleted file mode 100644 index 5d75e134..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.2.7 -sidebar_position: 59792 ---- - -### HarperDB 4.2.7 - -12/6/2023 - -- Add support for cloning over the top of an existing HarperDB instance -- Add health checks for NATS consumer with ability to restart consumer loops for better resiliency -- Revert Fastify autoload module due to a regression that had caused EcmaScript modules for Fastify route modules to fail to load on Windows diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.8.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.8.md deleted file mode 100644 index 21127797..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/4.2.8.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.2.8 -sidebar_position: 59791 ---- - -### HarperDB 4.2.8 - -12/19/2023 - -- Added support CLI command line arguments for clone node -- Added support for cloning a node without enabling clustering -- Clear NATS client cache on closed event -- Fix check for attribute permissions so that an empty attribute permissions array is treated as a table level permission definition -- Improve speed of cross-node health checks -- Fix for using `database` in describe operations diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/_category_.json b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/_category_.json deleted file mode 100644 index d20b2f9a..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Tucker (Version 4)", - "position": -4 -} diff --git a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/index.md b/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/index.md deleted file mode 100644 index f2f48c98..00000000 --- a/versioned_docs/version-4.2/technical-details/release-notes/v4-tucker/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: HarperDB Tucker (Version 4) ---- - -# HarperDB Tucker (Version 4) - -Did you know our release names are dedicated to employee pups? For our fourth release, we have Tucker. - -![picture of grey and white dog](/img/v4.2/dogs/tucker.png) - -_G’day, I’m Tucker. My dad is David Cockerill, a software engineer here at HarperDB. I am a 3-year-old Labrador Husky mix. I love to protect my dad from all the squirrels and rabbits we have in our yard. I have very ticklish feet and love belly rubs!_ diff --git a/versioned_docs/version-4.3/index.md b/versioned_docs/version-4.3/index.md index 21d1fe7a..b2024654 100644 --- a/versioned_docs/version-4.3/index.md +++ b/versioned_docs/version-4.3/index.md @@ -9,7 +9,7 @@ HarperDB is a globally-distributed edge application platform. It reduces complex HarperDB's documentation covers installation, getting started, administrative operation APIs, security, and much more. Browse the topics at left, or choose one of the commonly used documentation sections below. :::info -Wondering what's new with HarperDB 4.3? Take a look at our latest [Release Notes](./technical-details/release-notes/v4-tucker/4.3.0). +Wondering what's new with HarperDB 4.3? Take a look at our latest [Release Notes](/release-notes/v4-tucker/4.3.0). ::: ## Getting Started diff --git a/versioned_docs/version-4.3/technical-details/release-notes/End-of-Life.md b/versioned_docs/version-4.3/technical-details/release-notes/End-of-Life.md deleted file mode 100644 index 86853d5e..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/End-of-Life.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: HarperDB Software Lifecycle Schedules ---- - -# HarperDB Software Lifecycle Schedules - -The lifecycle schedules below form a part of HarperDB’s Support Policies. They include Major Releases and Minor Release that have reached their end of life date in the past 3 years. - -| **Release** | **Release Date** | **End of Life Date** | -| ----------- | ---------------- | -------------------- | -| 3.2 | 6/22 | 6/25 | -| 3.3 | 9/22 | 9/25 | -| 4.0 | 1/23 | 1/26 | -| 4.1 | 4/23 | 4/26 | diff --git a/versioned_docs/version-4.3/technical-details/release-notes/index.md b/versioned_docs/version-4.3/technical-details/release-notes/index.md deleted file mode 100644 index 4233bfb7..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/index.md +++ /dev/null @@ -1,173 +0,0 @@ ---- -title: Release Notes ---- - -# Release Notes - -### Current Release - -[Meet Tucker](release-notes/v4-tucker/) Our 4th Release Pup - -[4.3.36 Tucker](release-notes/v4-tucker/4.3.36) - -[4.3.35 Tucker](release-notes/v4-tucker/4.3.35) - -[4.3.34 Tucker](release-notes/v4-tucker/4.3.34) - -[4.3.33 Tucker](release-notes/v4-tucker/4.3.33) - -[4.3.32 Tucker](release-notes/v4-tucker/4.3.32) - -[4.3.31 Tucker](release-notes/v4-tucker/4.3.31) - -[4.3.30 Tucker](release-notes/v4-tucker/4.3.30) - -[4.3.29 Tucker](release-notes/v4-tucker/4.3.29) - -[4.3.28 Tucker](release-notes/v4-tucker/4.3.28) - -[4.3.27 Tucker](release-notes/v4-tucker/4.3.27) - -[4.3.26 Tucker](release-notes/v4-tucker/4.3.26) - -[4.3.25 Tucker](release-notes/v4-tucker/4.3.25) - -[4.3.24 Tucker](release-notes/v4-tucker/4.3.24) - -[4.3.23 Tucker](release-notes/v4-tucker/4.3.23) - -[4.3.22 Tucker](release-notes/v4-tucker/4.3.22) - -[4.3.21 Tucker](release-notes/v4-tucker/4.3.21) - -[4.3.20 Tucker](release-notes/v4-tucker/4.3.20) - -[4.3.19 Tucker](release-notes/v4-tucker/4.3.19) - -[4.3.18 Tucker](release-notes/v4-tucker/4.3.18) - -[4.3.17 Tucker](release-notes/v4-tucker/4.3.17) - -[4.3.16 Tucker](release-notes/v4-tucker/4.3.16) - -[4.3.15 Tucker](release-notes/v4-tucker/4.3.15) - -[4.3.14 Tucker](release-notes/v4-tucker/4.3.14) - -[4.3.13 Tucker](release-notes/v4-tucker/4.3.13) - -[4.3.12 Tucker](release-notes/v4-tucker/4.3.12) - -[4.3.11 Tucker](release-notes/v4-tucker/4.3.11) - -[4.3.10 Tucker](release-notes/v4-tucker/4.3.10) - -[4.3.9 Tucker](release-notes/v4-tucker/4.3.9) - -[4.3.8 Tucker](release-notes/v4-tucker/4.3.8) - -[4.3.7 Tucker](release-notes/v4-tucker/4.3.7) - -[4.3.6 Tucker](release-notes/v4-tucker/4.3.6) - -[4.3.5 Tucker](release-notes/v4-tucker/4.3.5) - -[4.3.4 Tucker](release-notes/v4-tucker/4.3.4) - -[4.3.3 Tucker](release-notes/v4-tucker/4.3.3) - -[4.3.2 Tucker](release-notes/v4-tucker/4.3.2) - -[4.3.1 Tucker](release-notes/v4-tucker/4.3.1) - -[4.3.0 Tucker](release-notes/v4-tucker/4.3.0) - -[4.2.8 Tucker](release-notes/v4-tucker/4.2.8) - -[4.2.7 Tucker](release-notes/v4-tucker/4.2.7) - -[4.2.6 Tucker](release-notes/v4-tucker/4.2.6) - -[4.2.5 Tucker](release-notes/v4-tucker/4.2.5) - -[4.2.4 Tucker](release-notes/v4-tucker/4.2.4) - -[4.2.3 Tucker](release-notes/v4-tucker/4.2.3) - -[4.2.2 Tucker](release-notes/v4-tucker/4.2.2) - -[4.2.1 Tucker](release-notes/v4-tucker/4.2.1) - -[4.2.0 Tucker](release-notes/v4-tucker/4.2.0) - -[4.1.2 Tucker](release-notes/v4-tucker/4.1.2) - -[4.1.1 Tucker](release-notes/v4-tucker/4.1.1) - -[4.1.0 Tucker](release-notes/v4-tucker/4.1.0) - -[4.0.7 Tucker](release-notes/v4-tucker/4.0.7) - -[4.0.6 Tucker](release-notes/v4-tucker/4.0.6) - -[4.0.5 Tucker](release-notes/v4-tucker/4.0.5) - -[4.0.4 Tucker](release-notes/v4-tucker/4.0.4) - -[4.0.3 Tucker](release-notes/v4-tucker/4.0.3) - -[4.0.2 Tucker](release-notes/v4-tucker/4.0.2) - -[4.0.1 Tucker](release-notes/v4-tucker/4.0.1) - -[4.0.0 Tucker](release-notes/v4-tucker/4.0.0) - -### Past Releases - -[Meet Monkey](release-notes/v3-monkey/) Our 3rd Release Pup - -[3.2.1 Monkey](release-notes/v3-monkey/3.2.1) - -[3.2.0 Monkey](release-notes/v3-monkey/3.2.0) - -[3.1.5 Monkey](release-notes/v3-monkey/3.1.5) - -[3.1.4 Monkey](release-notes/v3-monkey/3.1.4) - -[3.1.3 Monkey](release-notes/v3-monkey/3.1.3) - -[3.1.2 Monkey](release-notes/v3-monkey/3.1.2) - -[3.1.1 Monkey](release-notes/v3-monkey/3.1.1) - -[3.1.0 Monkey](release-notes/v3-monkey/3.1.0) - -[3.0.0 Monkey](release-notes/v3-monkey/3.0.0) - ---- - -[Meet Penny](release-notes/v2-penny/) Our 2nd Release Pup - -[2.3.1 Penny](release-notes/v2-penny/2.3.1) - -[2.3.0 Penny](release-notes/v2-penny/2.3.0) - -[2.2.3 Penny](release-notes/v2-penny/2.2.3) - -[2.2.2 Penny](release-notes/v2-penny/2.2.2) - -[2.2.0 Penny](release-notes/v2-penny/2.2.0) - -[2.1.1 Penny](release-notes/v2-penny/2.1.1) - ---- - -[Meet Alby](release-notes/v1-alby/) Our 1st Release Pup - -[1.3.1 Alby](release-notes/v1-alby/1.3.1) - -[1.3.0 Alby](release-notes/v1-alby/1.3.0) - -[1.2.0 Alby](release-notes/v1-alby/1.2.0) - -[1.1.0 Alby](release-notes/v1-alby/1.1.0) diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/1.1.0.md b/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/1.1.0.md deleted file mode 100644 index 2256a825..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/1.1.0.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: 1.1.0 -sidebar_position: 89899 ---- - -### HarperDB 1.1.0, Alby Release - -4/18/2018 - -**Features** - -- Users & Roles: - - Limit/Assign access to all HarperDB operations - - - Limit/Assign access to schemas, tables & attributes - - - Limit/Assign access to specific SQL operations (`INSERT`, `UPDATE`, `DELETE`, `SELECT`) - -- Enhanced SQL parser - - Added extensive ANSI SQL Support. - - Added Array function, which allows for converting relational data into Object/Hierarchical data - - `Distinct_Array` Function: allows for removing duplicates in the Array function. - - Enhanced SQL Validation: Improved validation around structure of SQL, validating the schema, etc.. - - 10x performance improvement on SQL statements. - -- Export Function: can now call a NoSQL/SQL search and have it export to CSV or JSON. - -- Added upgrade function to CLI - -- Added ability to perform bulk update from CSV - -- Created landing page for HarperDB. - -- Added CORS support to HarperDB - -**Fixes** - -- Fixed memory leak in CSV bulk loads - -- Corrected error when attempting to perform a `SQL DELETE` - -- Added further validation to NoSQL `UPDATE` to validate schema & table exist - -- Fixed install issue occurring when part of the install path does not exist, the install would silently fail. - -- Fixed issues with replicated data when one of the replicas is down - -- Removed logging of initial user’s credentials during install - -- Can now use reserved words as aliases in SQL - -- Removed user(s) password in results when calling `list_users` - -- Corrected forwarding of operations to other nodes in a cluster - -- Corrected lag in schema meta-data passing to other nodes in a cluster - -- Drop table & schema now move the table & schema or table to the trash folder under the Database folder for later permanent deletion. - -- Bulk inserts no longer halt the entire operation if n records already exist, instead the return includes the hashes of records that have been skipped. - -- Added ability to accept EULA from command line - -- Corrected `search_by_value` not searching on the correct attribute - -- Added ability to increase the timeout of a request by adding `SERVER_TIMEOUT_MS` to config/settings.js - -- Add error handling resulting from SQL calculations. - -- Standardized error responses as JSON. - -- Corrected internal process generation to not allow more processes than machine has cores. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/1.2.0.md b/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/1.2.0.md deleted file mode 100644 index a504a7ad..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/1.2.0.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: 1.2.0 -sidebar_position: 89799 ---- - -### HarperDB 1.2.0, Alby Release - -7/10/2018 - -**Features** - -- Time to Live: Conserve the resources of your edge device by setting data on devices to live for a specific period of time. -- Geo: HarperDB has implemented turf.js into its SQL parser to enable geo based analytics. -- Jobs: CSV Data loads, Exports & Time to Live now all run as back ground jobs. -- Exports: Perform queries that export into JSON or CSV and save to disk or S3. - -**Fixes** - -- Fixed issue where CSV data loads incorrectly report number of records loaded. -- Added validation to stop `BETWEEN` operations in SQL. -- Updated logging to not include internal variables in the logs. -- Cleaned up `add_role` response to not include internal variables. -- Removed old and unused dependencies. -- Build out further unit tests and integration tests. -- Fixed https to handle certificates properly. -- Improved stability of clustering & replication. -- Corrected issue where Objects and Arrays were not casting properly in `SQL SELECT` response. -- Fixed issue where Blob text was not being returned from `SQL SELECT`s. -- Fixed error being returned when querying on table with no data, now correctly returns empty array. -- Improved performance in SQL when searching on exact values. -- Fixed error when ./harperdb stop is called. -- Fixed logging issue causing instability in installer. -- Fixed `read_log` operation to accept date time. -- Added permissions checking to `export_to_s3`. -- Added ability to run SQL on `SELECT` without a `FROM`. -- Fixed issue where updating a user’s password was not encrypting properly. -- Fixed `user_guide.html` to point to readme on git repo. -- Created option to have HarperDB run as a foreground process. -- Updated `user_info` to return the correct role for a user. -- Fixed issue where HarperDB would not stop if the database root was deleted. -- Corrected error message on insert if an invalid schema is provided. -- Added permissions checks for user & role operations. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/1.3.0.md b/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/1.3.0.md deleted file mode 100644 index e3a5215f..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/1.3.0.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: 1.3.0 -sidebar_position: 89699 ---- - -### HarperDB 1.3.0, Alby Release - -11/2/2018 - -**Features** - -- Upgrade: Upgrade to newest version via command line. -- SQL Support: Added `IS NULL` for SQL parser. -- Added attribute validation to search operations. - -**Fixes** - -- Fixed `SELECT` calculations, i.e. `SELECT` 2+2. -- Fixed select OR not returning expected results. -- No longer allowing reserved words for schema and table names. -- Corrected process interruptions from improper SQL statements. -- Improved message handling between spawned processes that replace killed processes. -- Enhanced error handling for updates to tables that do not exist. -- Fixed error handling for NoSQL responses when `get_attributes` is provided with invalid attributes. -- Fixed issue with new columns not being updated properly in update statements. -- Now validating roles, tables and attributes when creating or updating roles. -- Fixed an issue where in some cases `undefined` was being returned after dropping a role diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/1.3.1.md b/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/1.3.1.md deleted file mode 100644 index 56927389..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/1.3.1.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: 1.3.1 -sidebar_position: 89698 ---- - -### HarperDB 1.3.1, Alby Release - -2/26/2019 - -**Features** - -- Clustering connection direction appointment -- Foundations for threading/multi processing -- UUID autogen for hash attributes that were not provided -- Added cluster status operation - -**Bug Fixes and Enhancements** - -- More logging -- Clustering communication enhancements -- Clustering queue ordering by timestamps -- Cluster re connection enhancements -- Number of system core(s) detection -- Node LTS (10.15) compatibility -- Update/Alter users enhancements -- General performance enhancements -- Warning is logged if different versions of harperdb are connected via clustering -- Fixed need to restart after user creation/alteration -- Fixed SQL error that occurred on selecting from an empty table diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/_category_.json b/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/_category_.json deleted file mode 100644 index 9eded684..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Alby (Version 1)", - "position": -1 -} diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/index.md b/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/index.md deleted file mode 100644 index a813fc17..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v1-alby/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: HarperDB Alby (Version 1) ---- - -# HarperDB Alby (Version 1) - -Did you know our release names are dedicated to employee pups? For our first release, Alby was our pup. - -Here is a bit about Alby: - -![picture of black dog](/img/v4.3/dogs/alby.webp) - -_Hi, I am Alby. My mom is Kaylan Stock, Director of Marketing at HarperDB. I am a 9-year-old Great Dane mix who loves sun bathing, going for swims, and wreaking havoc on the local squirrels. My favorite snack is whatever you are eating, and I love a good butt scratch!_ diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.1.1.md b/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.1.1.md deleted file mode 100644 index c59337d7..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.1.1.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: 2.1.1 -sidebar_position: 79898 ---- - -### HarperDB 2.1.1, Penny Release - -05/22/2020 - -**Highlights** - -- CORE-1007 Added the ability to perform `SQL INSERT` & `UPDATE` with function calls & expressions on values. -- CORE-1023 Fixed minor bug in final SQL step incorrectly trying to translate ordinals to alias in `ORDER BY` statement. -- CORE-1020 Fixed bug allowing 'null' and 'undefined' string values to be passed in as valid hash values. -- CORE-1006 Added SQL functionality that enables `JOIN` statements across different schemas. -- CORE-1005 Implemented JSONata library to handle our JSON document search functionality in SQL, creating the `SEARCH_JSON` function. -- CORE-1009 Updated schema validation to allow all printable ASCII characters to be used in schema/table/attribute names, except, forward slashes and backticks. Same rules apply now for hash attribute values. -- CORE-1003 Fixed handling of ORDER BY statements with function aliases. -- CORE-1004 Fixed bug related to `SELECT*` on `JOIN` queries with table columns with the same name. -- CORE-996 Fixed an issue where the `transact_to_cluster` flag is lost for CSV URL loads, fixed an issue where new attributes created in CSV bulk load do not sync to the cluster. -- CORE-994 Added new operation `system_information`. This operation returns info & metrics for the OS, time, memory, cpu, disk, network. -- CORE-993 Added new custom date functions for AlaSQL & UTC updates. -- CORE-991 Changed jobs to spawn a new process which will run the intended job without impacting a main HarperDB process. -- CORE-992 HTTPS enabled by default. -- CORE-990 Updated `describe_table` to add the record count for the table for LMDB data storage. -- CORE-989 Killed the socket cluster processes prior to HarperDB processes to eliminate a false uptime. -- CORE-975 Updated time values set by SQL Date Functions to be in epoch format. -- CORE-974 Added date functions to `SQL SELECT` column alias functionality. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.2.0.md b/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.2.0.md deleted file mode 100644 index a669ca8b..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.2.0.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: 2.2.0 -sidebar_position: 79799 ---- - -### HarperDB 2.2.0, Penny Release - -08/24/2020 - -**Features/Updates** - -- CORE-997 Updated the data format for CSV data loads being sync'd across a cluster to take up less resources -- CORE-1018 Adds SQL functionality for `BETWEEN` statements -- CORE-1032 Updates permissions to allow regular users (i.e. non-super users) to call the `get_job` operation -- CORE-1036 On create/drop table we auto create/drop the related transactions environments for the schema.table -- CORE-1042 Built raw functions to write to a tables transaction log for insert/update/delete operations -- CORE-1057 Implemented write transaction into lmdb create/update/delete functions -- CORE-1048 Adds `SEARCH` wildcard handling for role permissions standards -- CORE-1059 Added config setting to disable transaction logging for an instance -- CORE-1076 Adds permissions filter to describe operations -- CORE-1043 Change clustering catchup to use the new transaction log -- CORE-1052 Removed word "master" from source -- CORE-1061 Added new operation called `delete_transactions_before` this will tail a transaction log for a specific schema / table -- CORE-1040 On HarperDB startup make sure all tables have a transaction environment -- CORE-1055 Added 2 new setting to change the server headersTimeout & keepAliveTimeout from the config file -- CORE-1044 Created new operation `read_transaction_log` which will allow a user to get transactions for a table by `timestamp`, `username`, or `hash_value` -- CORE-1043 Change clustering catchup to use the new transaction log -- CORE-1089 Added new attribute to `system_information` for table/transaction log data size in bytes & transaction log record count -- CORE-1101 Fix to store empty strings rather than considering them null & fix to be able to search on empty strings in SQL/NoSQL. -- CORE-1054 Updates permissions object to remove delete attribute permission and update table attribute permission key to `attribute_permissions` -- CORE-1092 Do not allow the `__createdtime__` to be updated -- CORE-1085 Updates create schema/table & drop schema/table/attribute operations permissions to require super user role and adds integration tests to validate -- CORE-1071 Updates response messages and status codes from `describe_schema` and `describe_table` operations to provide standard language/status code when a schema item is not found -- CORE-1049 Updates response message for SQL update op with no matching rows -- CORE-1096 Added tracking of the origin in the transaction log. This origin object stores the node name, timestamp of the transaction from the originating node & the user. - -**Bug Fixes** - -- CORE-1028 Fixes bug for simple `SQL SELECT` queries not returning aliases and incorrectly returning hash values when not requested in query -- CORE-1037 Fixed an issue where numbers with leading zero i.e. 00123 are converted to numbers rather than being honored as strings. -- CORE-1063 Updates permission error response shape to consolidate issues into individual objects per schema/table combo -- CORE-1098 Fixed an issue where transaction environments were remaining in the global cache after being dropped. -- CORE-1086 Fixed issue where responses from insert/update were incorrect with skipped records. -- CORE-1079 Fixes SQL bugs around invalid schema/table and special characters in `WHERE` clause diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.2.2.md b/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.2.2.md deleted file mode 100644 index fca00967..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.2.2.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 2.2.2 -sidebar_position: 79797 ---- - -### HarperDB 2.2.2, Penny Release - -10/27/2020 - -- CORE-1154 Allowed transaction logging to be disabled even if clustering is enabled. -- CORE-1153 Fixed issue where `delete_files_before` was writing to transaction log. -- CORE-1152 Fixed issue where no more than 4 HarperDB forks would be created. -- CORE-1112 Adds handling for system timestamp attributes in permissions. -- CORE-1131 Adds better handling for checking perms on operations with action value in JSON. -- CORE-1113 Fixes validation bug checking for super user/cluster user permissions and other permissions. -- CORE-1135 Adds validation for valid keys in role API operations. -- CORE-1073 Adds new `import_from_s3` operation to API. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.2.3.md b/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.2.3.md deleted file mode 100644 index 06b89d4e..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.2.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 2.2.3 -sidebar_position: 79796 ---- - -### HarperDB 2.2.3, Penny Release - -11/16/2020 - -- CORE-1158 Performance improvements to core delete function and configuration of `delete_files_before` to run in batches with a pause into between. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.3.0.md b/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.3.0.md deleted file mode 100644 index a027eedb..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.3.0.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: 2.3.0 -sidebar_position: 79699 ---- - -### HarperDB 2.3.0, Penny Release - -12/03/2020 - -**Features/Updates** - -- CORE-1191, CORE-1190, CORE-1125, CORE-1157, CORE-1126, CORE-1140, CORE-1134, CORE-1123, CORE-1124, CORE-1122 Added JWT Authentication option (See documentation for more information) -- CORE-1128, CORE-1143, CORE-1140, CORE-1129 Added `upsert` operation -- CORE-1187 Added `get_configuration` operation which allows admins to view their configuration settings. -- CORE-1175 Added new internal LMDB function to copy an environment for use in future features. -- CORE-1166 Updated packages to address security vulnerabilities. - -**Bug Fixes** - -- CORE-1195 Modified `drop_attribute` to drop after data cleanse completes. -- CORE-1149 Fix SQL bug regarding self joins and updates alasql to 0.6.5 release. -- CORE-1168 Fix inconsistent invalid schema/table errors. -- CORE-1162 Fix bug which caused `delete_files_before` to cause tables to grow in size due to an open cursor issue. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.3.1.md b/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.3.1.md deleted file mode 100644 index 03df0186..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/2.3.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 2.3.1 -sidebar_position: 79698 ---- - -### HarperDB 2.3.1, Penny Release - -1/29/2021 - -**Bug Fixes** - -- CORE-1218 A bug in HarperDB 2.3.0 was identified related to manually calling the `create_attribute` operation. This bug caused secondary indexes to be overwritten by the most recently inserted or updated value for the index, thereby causing a search operation filtered with that index to only return the most recently inserted/updated row. Note, this issue does not affect attributes that are reflexively/automatically created. It only affects attributes created using `create_attribute`. To resolve this issue in 2.3.0 or earlier, drop and recreate your table using reflexive attribute creation. In 2.3.1, drop and recreate your table and use either reflexive attribute creation or `create_attribute`. -- CORE-1219 Increased maximum table attributes from 1000 to 10000 diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/_category_.json b/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/_category_.json deleted file mode 100644 index 28f86bc1..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Penny (Version 2)", - "position": -2 -} diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/index.md b/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/index.md deleted file mode 100644 index 89a91cb7..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v2-penny/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: HarperDB Penny (Version 2) ---- - -# HarperDB Penny (Version 2) - -Did you know our release names are dedicated to employee pups? For our second release, Penny was the star. - -Here is a bit about Penny: - -![picture of brindle dog](/img/v4.3/dogs/penny.webp) - -_Hi I am Penny! My dad is Kyle Bernhardy, the CTO of HarperDB. I am a nine-year-old Whippet who lives for running hard and fast while exploring the beautiful terrain of Colorado. My favorite activity is chasing birds along with afternoon snoozes in a sunny spot in my backyard._ diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.0.0.md b/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.0.0.md deleted file mode 100644 index 10319747..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.0.0.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: 3.0.0 -sidebar_position: 69999 ---- - -### HarperDB 3.0, Monkey Release - -5/18/2021 - -**Features/Updates** - -- CORE-1217, CORE-1226, CORE-1232 Create new `search_by_conditions` operation. -- CORE-1304 Upgrade to Node 12.22.1. -- CORE-1235 Adds new upgrade/install functionality. -- CORE-1206, CORE-1248, CORE-1252 Implement `lmdb-store` library for optimized performance. -- CORE-1062 Added alias operation for `delete_files_before`, named `delete_records_before`. -- CORE-1243 Change `HTTPS_ON` settings value to false by default. -- CORE-1189 Implement fastify web server, resulting in improved performance. -- CORE-1221 Update user API to use role name instead of role id. -- CORE-1225 Updated dependencies to eliminate npm security warnings. -- CORE-1241 Adds 3.0 update directive and refactors/fixes update functionality. - -**Bug Fixes** - -- CORE-1299 Remove all references to the `PROJECT_DIR` setting. This setting is problematic when using node version managers and upgrading the version of node and then installing a new instance of HarperDB. -- CORE-1288 Fix bug with drop table/schema that was causing 'env required' error log. -- CORE-1285 Update warning log when trying to create an attribute that already exists. -- CORE-1254 Added logic to manage data collisions in clustering. -- CORE-1212 Add pre-check to `drop_user` that returns error if user doesn't exist. -- CORE-1114 Update response code and message from `add_user` when user already exists. -- CORE-1111 Update response from `create_attribute` to match the create schema/table response. -- CORE-1205 Fixed bug that prevented schema/table from being dropped if name was a number or had a wildcard value in it. Updated validation for insert, upsert and update. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.0.md b/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.0.md deleted file mode 100644 index f14acb8e..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.0.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: 3.1.0 -sidebar_position: 69899 ---- - -### HarperDB 3.1.0, Monkey Release - -8/24/2021 - -**Features/Updates** - -- CORE-1320, CORE-1321, CORE-1323, CORE-1324 Version 1.0 of HarperDB Custom Functions -- CORE-1275, CORE-1276, CORE-1278, CORE-1279, CORE-1280, CORE-1282, CORE-1283, CORE-1305, CORE-1314 IPC server for communication between HarperDB processes, including HarperDB, HarperDB Clustering, and HarperDB Functions -- CORE-1352, CORE-1355, CORE-1356, CORE-1358 Implement pm2 for HarperDB process management -- CORE-1292, CORE-1308, CORE-1312, CORE-1334, CORE-1338 Updated installation process to start HarperDB immediately on install and to accept all config settings via environment variable or command line arguments -- CORE-1310 Updated licensing functionality -- CORE-1301 Updated validation for performance improvement -- CORE-1359 Add `hdb-response-time` header which returns the HarperDB response time in milliseconds -- CORE-1330, CORE-1309 New config settings: `LOG_TO_FILE`, `LOG_TO_STDSTREAMS`, `IPC_SERVER_PORT`, `RUN_IN_FOREGROUND`, `CUSTOM_FUNCTIONS`, `CUSTOM_FUNCTIONS_PORT`, `CUSTOM_FUNCTIONS_DIRECTORY`, `MAX_CUSTOM_FUNCTION_PROCESSES` - -**Bug Fixes** - -- CORE-1315 Corrected issue in HarperDB restart scenario -- CORE-1370 Update some of the validation error handlers so that they don't log full stack diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.1.md b/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.1.md deleted file mode 100644 index 8f90dc10..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.1.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: 3.1.1 -sidebar_position: 69898 ---- - -### HarperDB 3.1.1, Monkey Release - -9/23/2021 - -**Features/Updates** - -- CORE-1393 Added utility function to add settings from env/cmd vars to the settings file on every run/restart -- CORE-1395 Create a setting which will allow to enable the local Studio to be served from an instance of HarperDB -- CORE-1397 Update the stock 404 response to not return the request URL -- General updates to optimize Docker container - -**Bug Fixes** - -- CORE-1399 Added fixes for complex SQL alias issues diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.2.md b/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.2.md deleted file mode 100644 index 706e5956..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 3.1.2 -sidebar_position: 69897 ---- - -### HarperDB 3.1.2, Monkey Release - -10/21/2021 - -**Features/Updates** - -- Updated the installation ASCII art to reflect the new HarperDB logo - -**Bug Fixes** - -- CORE-1408 Corrects issue where `drop_attribute` was not properly setting the LMDB version number causing tables to behave unexpectedly diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.3.md b/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.3.md deleted file mode 100644 index 1a7d3301..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.3 -sidebar_position: 69896 ---- - -### HarperDB 3.1.3, Monkey Release - -1/14/2022 - -**Bug Fixes** - -- CORE-1446 Fix for scans on indexes larger than 1 million entries causing queries to never return diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.4.md b/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.4.md deleted file mode 100644 index 3fa86ead..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.4 -sidebar_position: 69895 ---- - -### HarperDB 3.1.4, Monkey Release - -2/24/2022 - -**Features/Updates** - -- CORE-1460 Added new setting `STORAGE_WRITE_ASYNC`. If this setting is true, LMDB will have faster write performance at the expense of not being crash safe. The default for this setting is false, which results in HarperDB being crash safe. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.5.md b/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.5.md deleted file mode 100644 index 23661928..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.1.5.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.5 -sidebar_position: 69894 ---- - -### HarperDB 3.1.5, Monkey Release - -3/4/2022 - -**Features/Updates** - -- CORE-1498 Fixed incorrect autocasting of string that start with "0." that tries to convert to number but instead returns NaN. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.2.0.md b/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.2.0.md deleted file mode 100644 index fa215082..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.2.0.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 3.2.0 -sidebar_position: 69799 ---- - -### HarperDB 3.2.0, Monkey Release - -3/25/2022 - -**Features/Updates** - -- CORE-1391 Bug fix related to orphaned HarperDB background processes. -- CORE-1509 Updated node version check, updated Node.js version, updated project dependencies. -- CORE-1518 Remove final call from logger. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.2.1.md b/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.2.1.md deleted file mode 100644 index 4cc983a4..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.2.1.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.2.1 -sidebar_position: 69798 ---- - -### HarperDB 3.2.1, Monkey Release - -6/1/2022 - -**Features/Updates** - -- CORE-1573 Added logic to track the pid of the foreground process if running in foreground. Then on stop, use that pid to kill the process. Logic was also added to kill the pm2 daemon when stop is called. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.3.0.md b/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.3.0.md deleted file mode 100644 index 236704dd..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/3.3.0.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.3.0 -sidebar_position: 69699 ---- - -### HarperDB 3.3.0 - Monkey - -- CORE-1595 Added new role type `structure_user`, this enables non-superusers to be able to create/drop schema/table/attribute. -- CORE-1501 Improved performance for drop_table. -- CORE-1599 Added two new operations for custom functions `install_node_modules` & `audit_node_modules`. -- CORE-1598 Added `skip_node_modules` flag to `package_custom_function_project` operation. This flag allows for not bundling project dependencies and deploying a smaller project to other nodes. Use this flag in tandem with `install_node_modules`. -- CORE-1707 Binaries are now included for Linux on AMD64, Linux on ARM64, and macOS. GCC, Make, Python are no longer required when installing on these platforms. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/_category_.json b/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/_category_.json deleted file mode 100644 index 71bea62a..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Monkey (Version 3)", - "position": -3 -} diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/index.md b/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/index.md deleted file mode 100644 index a5589f20..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v3-monkey/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: HarperDB Monkey (Version 3) ---- - -# HarperDB Monkey (Version 3) - -Did you know our release names are dedicated to employee pups? For our third release, we have Monkey. - -![picture of tan dog](/img/v4.3/dogs/monkey.webp) - -_Hi, I am Monkey, a.k.a. Monk, a.k.a. Monchichi. My dad is Aron Johnson, the Director of DevOps at HarperDB. I am an eight-year-old Australian Cattle dog mutt whose favorite pastime is hunting and collecting tennis balls from the park next to her home. I love burrowing in the Colorado snow, rolling in the cool grass on warm days, and cheese!_ diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.0.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.0.md deleted file mode 100644 index b94ea2f8..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.0.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: 4.0.0 -sidebar_position: 59999 ---- - -### HarperDB 4.0.0, Tucker Release - -11/2/2022 - -**Networking & Data Replication (Clustering)** - -The HarperDB clustering internals have been rewritten and the underlying technology for Clustering has been completely replaced with [NATS](https://nats.io/), an enterprise grade connective technology responsible for addressing, discovery and exchanging of messages that drive the common patterns in distributed systems. - -- CORE-1464, CORE-1470, : Remove SocketCluster dependencies and all code related to them. -- CORE-1465, CORE-1485, CORE-1537, CORE-1538, CORE-1558, CORE-1583, CORE_1665, CORE-1710, CORE-1801, CORE-1865 :Add nats-`server` code as dependency, on install of HarperDB download nats-`server` is possible else fallback to building from source code. -- CORE-1593, CORE-1761: Add `nats.js` as project dependency. -- CORE-1466: Build NATS configs on `harperdb run` based on HarperDB YAML configuration. -- CORE-1467, CORE-1508: Launch and manage NATS servers with PM2. -- CORE-1468, CORE-1507: Create a process which reads the work queue stream and processes transactions. -- CORE-1481, CORE-1529, CORE-1698, CORE-1502, CORE-1696: On upgrade to 4.0, update pre-existing clustering configurations, create table transaction streams, create work queue stream, update `hdb_nodes` table, create clustering folder structure, and rebuild self-signed certs. -- CORE-1494, CORE-1521, CORE-1755: Build out internals to interface with NATS. -- CORE-1504: Update existing hooks to save transactions to work with NATS. -- CORE-1514, CORE-1515, CORE-1516, CORE-1527, CORE-1532: Update `add_node`, `update_node`, and `remove_node` operations to no longer need host and port in payload. These operations now manage dynamically sourcing of table level transaction streams between nodes and work queues. -- CORE-1522: Create `NATSReplyService` process which handles the receiving NATS based requests from remote instances and sending back appropriate responses. -- CORE-1471, CORE-1568, CORE-1563, CORE-1534, CORE-1569: Update `cluster_status` operation. -- CORE-1611: Update pre-existing transaction log operations to be audit log operations. -- CORE-1541, CORE-1612, CORE-1613: Create translation log operations which interface with streams. -- CORE-1668: Update NATS serialization / deserialization to use MessagePack. -- CORE-1673: Add `system_info` param to `hdb_nodes` table and update on `add_node` and `cluster_status`. -- CORE-1477, CORE-1493, CORE-1557, CORE-1596, CORE-1577: Both a full HarperDB restart & just clustering restart call the NATS server with a reload directive to maintain full uptime while servers refresh. -- CORE-1474:HarperDB install adds clustering folder structure. -- CORE-1530: Post `drop_table` HarperDB purges the related transaction stream. -- CORE-1567: Set NATS config to always use TLS. -- CORE-1543: Removed the `transact_to_cluster` attribute from the bulk load operations. Now bulk loads always replicate. -- CORE-1533, CORE-1556, CORE-1561, CORE-1562, CORE-1564: New operation `configure_cluster`, this operation enables bulk publishing and subscription of multiple tables to multiple instances of HarperDB. -- CORE-1535: Create work queue stream on install of HarperDB. This stream receives transactions from remote instances of HarperDB which are then ingested in order. -- CORE-1551: Create transaction streams on the remote node if they do not exist when performing `add_node` or `update_node`. -- CORE-1594, CORE-1605, CORE-1749, CORE-1767, CORE-1770: Optimize the work queue stream and its consumer to be more performant and validate exact once delivery. -- CORE-1621, CORE-1692, CORE-1570, CORE-1693: NATS stream names are MD5 hashed to avoid characters that HarperDB allows, but NATS may not. -- CORE-1762: Add a new optional attribute to `add_node` and `update_node` named `opt_start_time`. This attribute sets a starting time to start synchronizing transactions. -- CORE-1785: Optimizations and bug fixes in regards to sourcing data from remote instances on HarperDB. -- CORE-1588: Created new operation `set_cluster_routes` to enable setting routes for instances of HarperDB to mesh together. -- CORE-1589: Created new operation `get_cluster_routes` to allow for retrieval of routes used to connect the instance of HarperDB to the mesh. -- CORE-1590: Created new operation `delete_cluster_routes` to allow for removal of routes used to connect the instance of HarperDB to the mesh. -- CORE-1667: Fix old environment variable `CLUSTERING_PORT` not mapping to new hub server port. -- CORE-1609: Allow `remove_node` to be called when the other node cannot be reached. -- CORE-1815: Add transaction lock to `add_node` and `update_node` to avoid concurrent nats source update bug. -- CORE-1848: Update stream configs if the node name has been changed in the YAML configuration. -- CORE-1873: Update `add_node` and `update_node` so that it auto-creates schema/table on both local and remote node respectively - -**Data Storage** - -We have made improvements to how we store, index, and retrieve data. - -- CORE-1619: Enabled new concurrent flushing technology for improved write performance. -- CORE-1701: Optimize search performance for `search_by_conditions` when executing multiple AND conditions. -- CORE-1652: Encode the values of secondary indices more efficiently for faster access. -- CORE-1670: Store updated timestamp in `lmdb.js`' version property. -- CORE-1651: Enabled multiple value indexing of array values which allows for the ability to search on specific elements in an array more efficiently. -- CORE-1649, CORE-1659: Large text values (larger than 255 bytes) are no longer stored in separate blob index. Now they are segmented and delimited in the same index to increase search performance. -- Complex objects and object arrays are no longer stored in a separate index to preserve storage and increase write throughput. -- CORE-1650, CORE-1724, CORE-1738: Improved internals around interpreting attribute values. -- CORE-1657: Deferred property decoding allows large objects to be stored, but individual attributes can be accessed (like with get_attributes) without incurring the cost of decoding the entire object. -- CORE-1658: Enable in-memory caching of records for even faster access to frequently accessed data. -- CORE-1693: Wrap updates in async transactions to ensure ACID-compliant updates. -- CORE-1653: Upgrade to 4.0 rebuilds tables to reflect changes made to index improvements. -- CORE-1753: Removed old `node-lmdb` dependency. -- CORE-1787: Freeze objects returned from queries. -- CORE-1821: Read the `WRITE_ASYNC` setting which enables LMDB nosync. - -**Logging** - -HarperDB has increased logging specificity by breaking out logs based on components logging. There are specific log files each for HarperDB Core, Custom Functions, Hub Server, Leaf Server, and more. - -- CORE-1497: Remove `pino` and `winston` dependencies. -- CORE-1426: All logging is output via `stdout` and `stderr`, our default logging is then picked up by PM2 which handles writing out to file. -- CORE-1431: Improved `read_log` operation validation. -- CORE-1433, CORE-1463: Added log rotation. -- CORE-1553, CORE-1555, CORE-1552, CORE-1554, CORE-1704: Performance gain by only serializing objects and arrays if the log is for the level defined in configuration. -- CORE-1436: Upgrade to 4.0 updates internals for logging changes. -- CORE-1428, CORE-1440, CORE-1442, CORE-1434, CORE-1435, CORE-1439, CORE-1482, CORE-1751, CORE-1752: Bug fixes, performance improvements and improved unit tests. -- CORE-1691: Convert non-PM2 managed log file writes to use Node.js `fs.appendFileSync` function. - -**Configuration** - -HarperDB has updated its configuration from a properties file to YAML. - -- CORE-1448, CORE-1449, CORE-1519, CORE-1587: Upgrade automatically converts the pre-existing settings file to YAML. -- CORE-1445, CORE-1534, CORE-1444, CORE-1858: Build out new logic to create, update, and interpret the YAML configuration file. -- Installer has updated prompts to reflect YAML settings. -- CORE-1447: Create an alias for the `configure_cluster` operation as `set_configuration`. -- CORE-1461, CORE-1462, CORE-1483: Unit test improvements. -- CORE-1492: Improvements to get_configuration and set_configuration operations. -- CORE-1503: Modify HarperDB configuration for more granular certificate definition. -- CORE-1591: Update `routes` IP param to `host` and to `leaf` config in `harperdb.conf` -- CORE-1519: Fix issue when switching between old and new versions of HarperDB we are getting the config parameter is undefined error on npm install. - -**Broad NodeJS and Platform Support** - -- CORE-1624: HarperDB can now run on multiple versions of NodeJS, from v14 to v19. We primarily test on v18, so that is the preferred version. - -**Windows 10 and 11** - -- CORE-1088: HarperDB now runs natively on Windows 10 and 11 without the need to run in a container or installed in WSL. Windows is only intended for evaluation and development purposes, not for production work loads. - -**Extra Changes and Bug Fixes** - -- CORE-1520: Refactor installer to remove all waterfall code and update to use Promises. -- CORE-1573: Stop the PM2 daemon and any logging processes when stopping hdb. -- CORE-1586: When HarperDB is running in foreground stop any additional logging processes from being spawned. -- CORE-1626: Update docker file to accommodate new `harperdb.conf` file. -- CORE-1592, CORE-1526, CORE-1660, CORE-1646, CORE-1640, CORE-1689, CORE-1711, CORE-1601, CORE-1726, CORE-1728, CORE-1736, CORE-1735, CORE-1745, CORE-1729, CORE-1748, CORE-1644, CORE-1750, CORE-1757, CORE-1727, CORE-1740, CORE-1730, CORE-1777, CORE-1778, CORE-1782, CORE-1775, CORE-1771, CORE-1774, CORE-1759, CORE-1772, CORE-1861, CORE-1862, CORE-1863, CORE-1870, CORE-1869:Changes for CI/CD pipeline and integration tests. -- CORE-1661: Fixed issue where old boot properties file caused an error when attempting to install 4.0.0. -- CORE-1697, CORE-1814, CORE-1855: Upgrade fastify dependency to new major version 4. -- CORE-1629: Jobs are now running as processes managed by the PM2 daemon. -- CORE-1733: Update LICENSE to reflect our EULA on our site. -- CORE-1606: Enable Custom Functions by default. -- CORE-1714: Include pre-built binaries for most common platforms (darwin-arm64, darwin-x64, linux-arm64, linux-x64, win32-x64). -- CORE-1628: Fix issue where setting license through environment variable not working. -- CORE-1602, CORE-1760, CORE-1838, CORE-1839, CORE-1847, CORE-1773: HarperDB Docker container improvements. -- CORE-1706: Add support for encoding HTTP responses with MessagePack. -- CORE-1709: Improve the way lmdb.js dependencies are installed. -- CORE-1758: Remove/update unnecessary HTTP headers. -- CORE-1756: On `npm install` and `harperdb install` change the node version check from an error to a warning if the installed Node.js version does not match our preferred version. -- CORE-1791: Optimizations to authenticated user caching. -- CORE-1794: Update README to discuss Windows support & Node.js versions -- CORE-1837: Fix issue where Custom Function directory was not being created on install. -- CORE-1742: Add more validation to audit log - check schema/table exists and log is enabled. -- CORE-1768: Fix issue where when running in foreground HarperDB process is not stopping on `harperdb stop`. -- CORE-1864: Fix to semver checks on upgrade. -- CORE-1850: Fix issue where a `cluster_user` type role could not be altered. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.1.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.1.md deleted file mode 100644 index 2a85f511..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.0.1 -sidebar_position: 59998 ---- - -### HarperDB 4.0.1, Tucker Release - -01/20/2023 - -**Bug Fixes** - -- CORE-1992 Local studio was not loading because the path got mangled in the build. -- CORE-2001 Fixed deploy_custom_function_project after node update broke it. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.2.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.2.md deleted file mode 100644 index bedbd970..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.0.2 -sidebar_position: 59997 ---- - -### HarperDB 4.0.2, Tucker Release - -01/24/2023 - -**Bug Fixes** - -- CORE-2003 Fix bug where if machine had one core thread config would default to zero. -- Update to lmdb 2.7.3 and msgpackr 1.7.0 diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.3.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.3.md deleted file mode 100644 index ad1cbf8a..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.3 -sidebar_position: 59996 ---- - -### HarperDB 4.0.3, Tucker Release - -01/26/2023 - -**Bug Fixes** - -- CORE-2007 Add update nodes 4.0.0 launch script to build script to fix clustering upgrade. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.4.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.4.md deleted file mode 100644 index 3f052465..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.4 -sidebar_position: 59995 ---- - -### HarperDB 4.0.4, Tucker Release - -01/27/2023 - -**Bug Fixes** - -- CORE-2009 Fixed bug where add node was not being called when upgrading clustering. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.5.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.5.md deleted file mode 100644 index 1696d6d4..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.5.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.0.5 -sidebar_position: 59994 ---- - -### HarperDB 4.0.5, Tucker Release - -02/15/2023 - -**Bug Fixes** - -- CORE-2029 Improved the upgrade process for handling existing user TLS certificates and correctly configuring TLS settings. Added a prompt to upgrade to determine if new certificates should be created or existing certificates should be kept/used. -- Fix the way NATS connections are honored in a local environment. -- Do not define the certificate authority path to NATS if it is not defined in the HarperDB config. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.6.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.6.md deleted file mode 100644 index 1cdc1bd7..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.6.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.6 -sidebar_position: 59993 ---- - -### HarperDB 4.0.6, Tucker Release - -03/09/2023 - -**Bug Fixes** - -- Fixed a data serialization error that occurs when a large number of different record structures are persisted in a single table. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.7.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.7.md deleted file mode 100644 index c4d1fbbf..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.0.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.7 -sidebar_position: 59992 ---- - -### HarperDB 4.0.7, Tucker Release - -03/10/2023 - -**Bug Fixes** - -- Update lmdb.js dependency diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.1.0.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.1.0.md deleted file mode 100644 index ef982cf7..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.1.0.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: 4.1.0 -sidebar_position: 59899 ---- - -# 4.1.0 - -HarperDB 4.1 introduces the ability to use worker threads for concurrently handling HTTP requests. Previously this was handled by processes. This shift provides important benefits in terms of better control of traffic delegation with support for optimized load tracking and session affinity, better debuggability, and reduced memory footprint. - -This means debugging will be much easier for custom functions. If you install/run HarperDB locally, most modern IDEs like WebStorm and VSCode support worker thread debugging, so you can start HarperDB in your IDE, and set breakpoints in your custom functions and debug them. - -The associated routing functionality now includes session affinity support. This can be used to consistently route users to the same thread which can improve caching locality, performance, and fairness. This can be enabled in with the [`http.sessionAffinity` option in your configurationsecurity configuration. - -HarperDB 4.1's NoSQL query handling has been revamped to consistently use iterators, which provide an extremely memory efficient mechanism for directly streaming query results to the network _as_ the query results are computed. This results in faster Time to First Byte (TTFB) (only the first record/value in a query needs to be computed before data can start to be sent), and less memory usage during querying (the entire query result does not need to be stored in memory). These iterators are also available in query results for custom functions and can provide means for custom function code to iteratively access data from the database without loading entire results. This should be a completely transparent upgrade, all HTTP APIs function the same, with the one exception that custom functions need to be aware that they can't access query results by `[index]` (they should use array methods or for-in loops to handle query results). - -4.1 includes configuration options for specifying the location of database storage files. This allows you to specifically locate database directories and files on different volumes for better flexibility and utilization of disks and storage volumes. See the [storage configuration](../../../deployments/configuration#storage) and [databases configuration](../../../deployments/configuration#databases) for information on how to configure these locations. - -Logging has been revamped and condensed into one `hdb.log` file. See [logginglogging for more information. - -A new operation called `cluster_network` was added, this operation will ping the cluster and return a list of enmeshed nodes. - -Custom Functions will no longer automatically load static file routes, instead the `@fastify/static` plugin will need to be registered with the Custom Function server. See [Host A Static Web UI-static](https://docs.harperdb.io/docs/v/4.1/custom-functions/host-static). - -Updates to S3 import and export mean that these operations now require the bucket `region` in the request. Also, if referencing a nested object it should be done in the `key` parameter. See examples [here](../../../developers/operations-api/bulk-operations#import-from-s3). - -Due to the AWS SDK v2 reaching end of life support we have updated to v3. This has caused some breaking changes in our operations `import_from_s3` and `export_to_s3`: - -- A new attribute `region` will need to be supplied -- The `bucket` attribute can no longer have trailing slashes. Slashes will now need to be in the `key`. - -Starting HarperDB without any command (just `harperdb`) now runs HarperDB like a standard process, in the foreground. This means you can use standard unix tooling for interacting with the process and is conducive for running HarperDB with systemd or any other process management tool. If you wish to have HarperDB launch itself in separate background process (and immediately terminate the shell process), you can do so by running `harperdb start`. - -Internal Tickets completed: - -- CORE-609 - Ensure that attribute names are always added to global schema as Strings -- CORE-1549 - Remove fastify-static code from Custom Functions server which auto serves content from "static" folder -- CORE-1655 - Iterator based queries -- CORE-1764 - Fix issue where describe_all operation returns an empty object for non super-users if schema(s) do not yet have table(s) -- CORE-1854 - Switch to using worker threads instead of processes for handling concurrency -- CORE-1877 - Extend the csv_url_load operation to allow for additional headers to be passed to the remote server when the csv is being downloaded -- CORE-1893 - Add last updated timestamp to describe operations -- CORE-1896 - Fix issue where Select \* from system.hdb_info returns wrong HDB version number after Instance Upgrade -- CORE-1904 - Fix issue when executing GEOJSON query in SQL -- CORE-1905 - Add HarperDB YAML configuration setting which defines the storage location of NATS streams -- CORE-1906 - Add HarperDB YAML configuration setting defining the storage location of tables. -- CORE-1655 - Streaming binary format serialization -- CORE-1943 - Add configuration option to set mount point for audit tables -- CORE-1921 - Update NATS transaction lifecycle to handle message deduplication in work queue streams. -- CORE-1963 - Update logging for better readability, reduced duplication, and request context information. -- CORE-1968 - In server\nats\natsIngestService.js remove the js_msg.working(); line to improve performance. -- CORE-1976 - Fix error when calling describe_table operation with no schema or table defined in payload. -- CORE-1983 - Fix issue where create_attribute operation does not validate request for required attributes -- CORE-2015 - Remove PM2 logs that get logged in console when starting HDB -- CORE-2048 - systemd script for 4.1 -- CORE-2052 - Include thread information in system_information for visibility of threads -- CORE-2061 - Add a better error msg when clustering is enabled without a cluster user set -- CORE-2068 - Create new log rotate logic since pm2 log-rotate no longer used -- CORE-2072 - Update to Node 18.15.0 -- CORE-2090 - Upgrade Testing from v4.0.x and v3.x to v4.1. -- CORE-2091 - Run the performance tests -- CORE-2092 - Allow for automatic patch version updates of certain packages -- CORE-2109 - Add verify option to clustering TLS configuration -- CORE-2111 - Update AWS SDK to v3 diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.1.1.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.1.1.md deleted file mode 100644 index 54163b63..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.1.1.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.1.1 -sidebar_position: 59898 ---- - -# 4.1.1 - -06/16/2023 - -- HarperDB uses improved logic for determining default heap limits and thread counts. When running in a restricted container and on NodeJS 18.15+, HarperDB will use the constrained memory limit to determine heap limits for each thread. In more memory constrained servers with many CPU cores, a reduced default thread count will be used to ensure that excessive memory is not used by many workers. You may still define your own thread count (with `http`/`threads`) in the [configuration](../../../deployments/configuration). -- An option has been added for [disabling the republishing NATS messages](../../../deployments/configuration), which can provide improved replication performance in a fully connected network. -- Improvements to our OpenShift container. -- Dependency security updates. -- **Bug Fixes** -- Fixed a bug in reporting database metrics in the `system_information` operation. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.1.2.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.1.2.md deleted file mode 100644 index fc5e16f4..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.1.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.1.2 -sidebar_position: 59897 ---- - -### HarperDB 4.1.2, Tucker Release - -06/16/2023 - -- HarperDB has updated binary dependencies to support older glibc versions back 2.17. -- A new CLI command was added to get the current status of whether HarperDB is running and the cluster status. This is available with `harperdb status`. -- Improvements to our OpenShift container. -- Dependency security updates. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.0.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.0.md deleted file mode 100644 index e13d1cbe..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.0.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: 4.2.0 -sidebar_position: 59799 ---- - -# 4.2.0 - -#### HarperDB 4.2.0 - -HarperDB 4.2 introduces a new interface to accessing our core database engine with faster access, well-typed idiomatic JavaScript interfaces, ergonomic object mapping, and real-time data subscriptions. 4.2 also had adopted a new component architecture for building extensions to deliver customized external data sources, authentication, file handlers, content types, and more. These architectural upgrades lead to several key new HarperDB capabilities including a new REST interface, advanced caching, real-time messaging and publish/subscribe functionality through MQTT, WebSockets, and Server-Sent Events. - -4.2 also introduces configurable database schemas, using GraphQL Schema syntax. The new component structure is also configuration-driven, providing easy, low-code paths to building applications. [Check out our new getting starting guide](../../../getting-started) to see how easy it is to get started with HarperDB apps. - -### Resource API - -The [Resource API](../../reference/resource) is the new interface for accessing data in HarperDB. It utilizes a uniform interface for accessing data in HarperDB database/tables and is designed to easily be implemented or extended for defining customized application logic for table access or defining custom external data sources. This API has support for connecting resources together for caching and delivering data change and message notifications in real-time. The [Resource API documentation details this interface](../../reference/resource). - -### Component Architecture - -HarperDB's custom functions have evolved towards a [full component architecture](../../../developers/components); our internal functionality is defined as components, and this can be used in a modular way in conjunction with user components. These can all easily be configured and loaded through configuration files, and there is now a [well-defined interface for creating your own components](../../../developers/components/writing-extensions). Components can easily be deployed/installed into HarperDB using [NPM and Github references as well](../../../developers/components/installing). - -### Configurable Database Schemas - -HarperDB applications or components support [schema definitions using GraphQL schema syntax](../../../../developers/applications/defining-schemas). This makes it easy to define your table and attribute structure and gives you control over which attributes should be indexed and what types they should be. With schemas in configuration, these schemas can be bundled with an application and deployed together with application code. - -### REST Interface - -HarperDB 4.2 introduces a new REST interface for accessing data through best-practice HTTP APIs using intuitive paths and standards-based methods and headers that directly map to our Resource API. This new interface provides fast and easy access to data via queries through GET requests, modifications of data through PUTs, customized actions through POSTs and more. With standards-based header support built-in, this works seamlessly with external caches (including browser caches) for accelerated performance and reduced network transfers. - -### Real-Time - -HarperDB 4.2 now provides standard interfaces for subscribing to data changes and receiving notifications of changes and messages in real-time. Using these new real-time messaging capabilities with structured data provides a powerful integrated platform for both database style data updates and querying along with message delivery. [Real-time messaging](../../../../developers/real-time) of data is available through several protocols: - -#### MQTT - -4.2 now includes MQTT support which is a publish and subscribe messaging protocol, designed for efficiency (designed to be efficient enough for even small Internet of Things devices). This allows clients to connect to HarperDB and publish messages through our data center and subscribe to messages and data for real-time delivery. 4.2 implements support for QoS 0 and 1, along with durable sessions. - -#### WebSockets - -HarperDB now also supports WebSockets. This can be used as a transport for MQTT or as a connection for custom connection handling. - -#### Server-Sent Events - -HarperDB also includes support for Server-Sent Events. This is a very easy-to-use browser API that allows web sites/applications to connect to HarperDB and subscribe to data changes with minimal effort over standard HTTP. - -### Database Structure - -HarperDB databases contain a collection of tables, and these tables are now contained in a single transactionally-consistent database file. This means reads and writes can be performed transactionally and atomically across tables (as long as they are in the same database). Multi-table transactions are replicated as single atomic transactions as well. Audit logs are also maintained in the same database with atomic consistency as well. - -Databases are now entirely encapsulated in a file, which means they can be moved/copied to another database without requiring any separate metadata updates in the system tables. - -### Clone Node - -HarperDB includes new functionality for adding new HarperDB nodes in a cluster. New instances can be configured to clone from a leader node, performing and copying a database snapshot from a leader node, and self-configuring from the leader node as well, to facilitate accelerated deployment of new nodes for fast horizontal scaling to meet demand needs. [See the documentation on Clone Node for more information.](../../../../administration/cloning) - -### Operations API terminology updates - -Any operation that used the `schema` property was updated to make this property optional and alternately support `database` as the property for specifying the database (formerly 'schema'). If both `schema` and `database` are absent, operation defaults to using the `data` database. Term 'primary key' now used in place of 'hash'. noSQL operation `search_by_hash` updated to `search_by_id`. - -Support was added for defining a table with `primary_key` instead of `hash_attribute`. - -## Configuration - -There have been significant changes to `harperdb-config.yaml`, however none of these changes should affect pre-4.2 versions. If you upgrade to 4.2 any existing configuration should be backwards compatible and will not need to be updated. - -`harperdb-config.yaml` has had some configuration values added, removed, renamed and defaults changed. Please refer to [harperdb-config.yaml](../../../deployments/configuration) for the most current configuration parameters. - -- The `http` element has been expanded. - - `compressionThreshold` was added. - - All `customFunction` configuration now lives here, except for the `tls` section. -- `threads` has moved out of the `http` element and now is its own top level element. -- `authentication` section was moved out of the `operationsApi` section and is now its own top level element/section. -- `analytics.aggregatePeriod` was added. -- Default logging level was changed to `warn`. -- Default clustering log level was changed to `info`. -- `clustering.republishMessages` now defaults to `false`. -- `operationsApi.foreground` was removed. To start HarperDB in the foreground, from the CLI run `harperdb`. -- Made `operationsApi` configuration optional. Any config not defined here will default to the `http` section. -- Added a `securePort` parameter to `operationsApi` and `http` used for setting the https port. -- Added a new top level `tls` section. -- Removed `customFunctions.enabled`, `customFunctions.network.https`, `operationsApi.network.https` and `operationsApi.nodeEnv`. -- Added an element called `componentRoot` which replaces `customFunctions.root`. -- Updated custom pathing to use `databases` instead of `schemas`. -- Added `logging.auditAuthEvents.logFailed` and `logging.auditAuthEvents.logSuccessful` for enabling logging of auth events. -- A new `mqtt` section was added. - -### Socket Management - -HarperDB now uses socket sharing to distribute incoming connections to different threads (`SO_REUSEPORT`). This is considered to be the most performant mechanism available for multi-threaded socket handling. This does mean that we have deprecated session-affinity based socket delegation. - -HarperDB now also supports more flexible port configurations: application endpoints and WebSockets run on 9926 by default, but these can be separated, or application endpoints can be configured to run on the same port as the operations API for a single port configuration. - -### Sessions - -HarperDB now supports cookie-based sessions for authentication for web clients. This can be used with the standard authentication mechanisms to login, and then cookies can be used to preserve the authenticated session. This is generally a more secure way of maintaining authentication in browsers, without having to rely on storing credentials. - -### Dev Mode - -HarperDB can now directly run a HarperDB application from any location using `harperdb run /path/to/app` or `harperdb dev /path/to/app`. The latter starts in dev mode, with logging directly to the console, debugging enabled, and auto-restarting with any changes in your application files. Dev mode is recommended for local application and component development. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.1.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.1.md deleted file mode 100644 index c792a637..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.1.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.2.1 -sidebar_position: 59798 ---- - -### HarperDB 4.2.1, Tucker Release - -11/3/2023 - -- Downgrade NATS 2.10.3 back to 2.10.1 due to regression in connection handling. -- Handle package names with underscores. -- Improved validation of queries and comparators -- Avoid double replication on transactions with multiple commits -- Added file metadata on get_component_file diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.2.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.2.md deleted file mode 100644 index 9cfa957e..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.2.2 -sidebar_position: 59797 ---- - -### HarperDB 4.2.2, Tucker Release - -11/8/2023 - -- Increase timeouts for NATS connections. -- Fix for database snapshots for backups (and for clone node). -- Fix application of permissions for default tables exposed through REST. -- Log replication failures with record information. -- Fix application of authorization/permissions for MQTT commands. -- Fix copying of local components in clone node. -- Fix calculation of overlapping start time in clone node. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.3.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.3.md deleted file mode 100644 index edecd686..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.3.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.2.3 -sidebar_position: 59796 ---- - -### HarperDB 4.2.3, Tucker Release - -11/15/2023 - -- When setting setting securePort, disable unsecure port setting on same port -- Fix `harperdb status` when pid file is missing -- Fix/include missing icons/fonts from local studio -- Fix crash that can occur when concurrently accessing records > 16KB -- Apply a lower heap limit to better ensure that memory leaks are quickly caught/mitigated diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.4.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.4.md deleted file mode 100644 index 14d268b5..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.4.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.2.4 -sidebar_position: 59795 ---- - -### HarperDB 4.2.4, Tucker Release - -11/16/2023 - -- Prevent coercion of strings to numbers in SQL queries (in WHERE clause) -- Address fastify deprecation warning about accessing config diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.5.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.5.md deleted file mode 100644 index 1b6bf143..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.5.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.2.5 -sidebar_position: 59794 ---- - -### HarperDB 4.2.5, Tucker Release - -11/22/2023 - -- Disable compression on server-sent events to ensure messages are immediately sent (not queued for later deliver) -- Update geoNear function to tolerate null values -- lmdb-js fix to ensure prefetched keys are pinned in memory until retrieved -- Add header to indicate start of a new authenticated session (for studio to identify authenticated sessions) diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.6.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.6.md deleted file mode 100644 index 50abde53..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.6.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.2.6 -sidebar_position: 59793 ---- - -### HarperDB 4.2.6, Tucker Release - -11/29/2023 - -- Update various geo SQL functions to tolerate invalid values -- Properly report component installation/load errors in `get_components` (for studio to load components after an installation failure) diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.7.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.7.md deleted file mode 100644 index 5d75e134..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.2.7 -sidebar_position: 59792 ---- - -### HarperDB 4.2.7 - -12/6/2023 - -- Add support for cloning over the top of an existing HarperDB instance -- Add health checks for NATS consumer with ability to restart consumer loops for better resiliency -- Revert Fastify autoload module due to a regression that had caused EcmaScript modules for Fastify route modules to fail to load on Windows diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.8.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.8.md deleted file mode 100644 index 21127797..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.2.8.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.2.8 -sidebar_position: 59791 ---- - -### HarperDB 4.2.8 - -12/19/2023 - -- Added support CLI command line arguments for clone node -- Added support for cloning a node without enabling clustering -- Clear NATS client cache on closed event -- Fix check for attribute permissions so that an empty attribute permissions array is treated as a table level permission definition -- Improve speed of cross-node health checks -- Fix for using `database` in describe operations diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.0.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.0.md deleted file mode 100644 index fe82e818..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.0.md +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: 4.3.0 -sidebar_position: 59699 ---- - -### HarperDB 4.3.0, Tucker Release - -3/19/2024 - -### Relationships and Joins - -HarperDB now supports defining relationships between tables. These relationships can be defined as one-to-many, many-to-one, or many-to-many, and use a foreign key to record the relationship between records from different tables. An example of how to use this to define a many-to-one and one-to-many relationships between a product and brand table: - -```graphql -type Product @table { - id: ID @primaryKey - name: String @indexed - # foreign key used to reference a brand - brandId: ID @indexed - # many-to-one relationship to brand - brand: Related @relation(from: "brandId") -} -type Brand @table { - id: ID @primaryKey - name: String @indexed - # one-to-many relationship of brand to products of that brand - products: Product @relation(to: "brandId") -} -``` - -This relationships model can be used in queries and selects, which will automatically "join" the data from the tables. For example, you could search for products by brand name: - -```http -/Product?brand.name=Microsoft -``` - -HarperDB also now supports querying with a sort order. Multiple sort orders can be provided breaking ties. Nested select have also been added, which also utilizes joins when related records are referenced. For example: - -```http -/Product?brand.name=Microsoft&sort(price)&select(name,brand{name,size}) -``` - -See the [schema definition documentation](../../../../developers/applications/defining-schemas) for more information on defining relationships, and the [REST documentation for more information on queries](../../../../developers/rest). - -### OpenAPI Specification - -A new default endpoint `GET /openapi` was added for describing endpoints configured through a GraphQL schema. - -### Query Optimizations - -HarperDB has also made numerous improvements to query planning and execution for high performance query results with a broader range of queries. - -### Indexing Nulls - -New tables and indexes now support indexing null values, enabling queries by null (as well as queries for non-null values). For example, you can query by nulls with the REST interface: - -```http -GET /Table/?attribute=null -``` - -Note, that existing indexes will remain without null value indexing, and can only support indexing/querying by nulls if they are rebuilt (removed and re-added). - -### CLI Expansion - -The HarperDB now supports an expansive set of commands that execute operations from the operations API. For example, you can list users from the command line: - -```bash -harperdb list_users -``` - -### BigInt Support - -HarperDB now supports `BigInt` attributes/values with integers (with full precision) up to 1000 bits (or 10^301). These can be used as primary keys or standard attributes, and can be used in queries or other operations. Within JSON documents, you can simply use standard JSON integer numbers with up to 300 digits, and large BigInt integers will be returned as standard JSON numbers. - -### Local Studio Upgrade - -HarperDB has upgraded the local studio to match the same version that is offered on [https://studio.harperdb.io](https://studio.harperdb.io). The local studio now has the full robust feature set of the online version. - -## MQTT - -### mTLS Support - -HarperDB now supports mTLS based authentication for HTTP, WebSockets, and MQTT. See the [configuration documentation for more information](../../../deployments/configuration). - -### Single-Level Wildcards - -HarperDB's MQTT service now supports single-level wildcards (`+`), which facilitates a great range of subscriptions. - -### Retain handling - -HarperDB's MQTT now supports the retain handling flags for subscriptions that are made using MQTT v5. - -### CRDT - -HarperDB now supports basic conflict-free data type (CRDT) updates that allow properties to be individually updated and merged when separate properties are updated on different threads or nodes. Individual property CRDT updates are automatically performed when you update individual properties through the resource API. Individual property CRDT updates are used when making `PATCH` requests through the REST API. - -The CRDT functionality also supports explicit incrementation to merge multiple parallel incrementation requests with proper summing. See the [Resource API for more information](../../../technical-details/reference/resource). - -### Configuration Improvements - -The configuration has improved support for detecting port conflicts, handling paths for fastify routes, and now includes support for specifying a heap limit and TLS ciphers. See the [configuration documentation for more information](../../../deployments/configuration). - -### Balanced Audit Log Cleanup - -Audit log cleanup has been improved to reduce resource consumption during scheduled cleanups. - -### `export_*` support for `search_by_conditions` - -The `export_local` and `export_to_s3` operations now support `search_by_conditions` as one of the allowed search operators. - -## Storage Performance Improvements - -Significant improvements were made to handling of free-space to decrease free-space fragmentation and improve performance of reusing free-space for new data. This includes prioritizing reuse of recently released free-space for more better memory/caching utilization. - -### Compact Database - -In addition to storage improvements, HarperDB now includes functionality for [compacting a database](../../../deployments/harperdb-cli) (while offline), which can be used to eliminate all free-space to reset any fragmentation. - -### Compression - -Compression is now enabled by default for all records over 4KB. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.1.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.1.md deleted file mode 100644 index 870968bd..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.1.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.1 -sidebar_position: 59698 ---- - -### HarperDB 4.3.1 - -3/25/2024 - -- Fix Fastify warning about responseTime usage -- Add access to the MQTT topic in the context -- Fix for ensuring local NATS streams are created diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.10.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.10.md deleted file mode 100644 index 7badf0cc..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.10.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.3.10 -sidebar_position: 59689 ---- - -### HarperDB 4.3.10 - -5/5/2024 - -- Provide a `data` property on the request/context with deserialized data from the request body for any request including methods that don't typically have a request body -- Ensure that CRDTs are not double applied after committing a transaction -- Delete MQTT will after publishing even if it fails to publish -- Improve transaction retry logic to use async non-optimistic transactions after multiple retries diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.11.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.11.md deleted file mode 100644 index 82b47381..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.11.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.11 -sidebar_position: 59688 ---- - -### HarperDB 4.3.11 - -5/15/2024 - -- Add support for multiple certificates with SNI-based selection of certificates for HTTPS/TLS -- Fix warning in Node v22 diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.12.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.12.md deleted file mode 100644 index 3f016e25..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.12.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.12 -sidebar_position: 59687 ---- - -### HarperDB 4.3.12 - -5/16/2024 - -- Fix for handling ciphers in multiple certificates -- Allow each certificate config to have multiple hostnames diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.13.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.13.md deleted file mode 100644 index e7833e0a..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.13.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.13 -sidebar_position: 59686 ---- - -### HarperDB 4.3.13 - -5/22/2024 - -- Fix for handling HTTPS/TLS with IP address targets (no hostname) where SNI is not available -- Fix for memory leak when a node is down and consumers are trying to reconnect -- Faster cross-thread notification mechanism for transaction events diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.14.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.14.md deleted file mode 100644 index 0bf4e9c8..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.14.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.14 -sidebar_position: 59685 ---- - -### HarperDB 4.3.14 - -5/24/2024 - -- Fix application of ciphers to multi-certificate TLS configuration diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.15.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.15.md deleted file mode 100644 index 48321fb6..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.15.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.15 -sidebar_position: 59684 ---- - -### HarperDB 4.3.15 - -5/29/2024 - -- Add support for wildcards in hostnames for SNI -- Properly apply ciphers settings on multiple TLS configurations diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.16.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.16.md deleted file mode 100644 index 195e27b7..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.16.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.16 -sidebar_position: 59683 ---- - -### HarperDB 4.3.16 - -6/3/2024 - -- Properly shim legacy TLS configuration with new multi-certificate support -- Show the changed filenames when an application is reloaded diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.17.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.17.md deleted file mode 100644 index 27a0f4cb..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.17.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.3.17 -sidebar_position: 59682 ---- - -### HarperDB 4.3.17 - -6/13/2024 - -- Add MQTT analytics of incoming messages and separate by QoS level -- Ensure that any installed `harperdb` package in components is relinked to running harperdb. -- Upgrade storage to more efficiently avoid storage increases -- Fix to improve database metrics in system_information -- Fix for pathing on Windows with extension modules -- Add ability to define a range of listening threads diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.18.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.18.md deleted file mode 100644 index 052b3821..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.18.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.18 -sidebar_position: 59681 ---- - -### HarperDB 4.3.18 - -6/18/2024 - -- Immediately terminate an MQTT connection when there is a keep-alive timeout. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.19.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.19.md deleted file mode 100644 index 2676c9f6..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.19.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.19 -sidebar_position: 59680 ---- - -### HarperDB 4.3.19 - -7/2/2024 - -- Properly return records for the existing value for subscriptions used for retained messages, so they are correctly serialized. -- Ensure that deploy components empty the target directory for a clean installation and expansion of a `package` sub-directory. -- Ensure that we do not double load components that are referenced by symlink from node_modules and in components directory. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.2.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.2.md deleted file mode 100644 index ca273c5e..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.3.2 -sidebar_position: 59697 ---- - -### HarperDB 4.3.2 - -3/29/2024 - -- Clone node updates to individually clone missing parts -- Fixes for publishing OpenShift container -- Increase purge stream timeout -- Fixed declaration of analytics schema so queries work before a restart -- Fix for iterating queries when deleted records exist -- LMDB stability upgrade -- Fix for cleanup of last will in MQTT diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.20.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.20.md deleted file mode 100644 index d090990b..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.20.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: 4.3.20 -sidebar_position: 59679 ---- - -### HarperDB 4.3.20 - -7/11/2024 - -- The restart_service operation is now executed as a job, making it possible to track the progress of a restart (which is performed as a rolling restart of threads) -- Disable Nagle's algorithm for TCP connections to improve performance -- Append Server-Timing header if a fastify route has already added one -- Avoid symlinking the harperdb directory to itself -- Fix for deleting an empty database -- Upgrade ws and pm2 packages for security vulnerabilities -- Improved TypeScript definitions for Resource and Context. -- The context of a source can set `noCacheStore` to avoid caching the results of a retrieval from source -- Better error reporting of MQTT parsing errors and termination of connections for compliance diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.21.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.21.md deleted file mode 100644 index 7afefd12..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.21.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.21 -sidebar_position: 59678 ---- - -### HarperDB 4.3.21 - -8/21/2024 - -- Fixed an issue with iterating/serializing query results with a `limit`. -- Fixed an issue that was preventing the caching of structured records in memory. -- Fixed and added several TypeScript exported types including `tables`, `databases`, `Query`, and `Context`. -- Fixed logging warnings about license limits after a license is updated. -- Don't register a certificate as the default certificate for non-SNI connections unless it lists an IP address in the SAN field. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.22.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.22.md deleted file mode 100644 index a4bc2003..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.22.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.3.22 -sidebar_position: 59677 ---- - -### HarperDB 4.3.22 - -9/6/2024 - -- Adding improved back-pressure handling for large subscriptions and backlogs with durable MQTT sessions -- Allow .extension in URL paths to indicate both preferred encoding and decoding -- Added support for multi-part ids in query parameters -- Limit describe calls by time before using statistical sampling -- Proper cleanup of a transaction when it is aborted due to running out of available read transactions -- Updates to release/builds diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.23.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.23.md deleted file mode 100644 index 7496c1d1..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.23.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.23 -sidebar_position: 59676 ---- - -### HarperDB 4.3.23 - -9/12/2024 - -- Avoid long-running read transactions on subscription catch-ups -- Reverted change to setting default certificate for IP address only -- Better handling of last-will messages on startup diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.24.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.24.md deleted file mode 100644 index 435c15ec..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.24.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.24 -sidebar_position: 59675 ---- - -### HarperDB 4.3.24 - -9/12/2024 - -- Fix for querying for large strings (over 255 characters) diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.25.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.25.md deleted file mode 100644 index 601d9ec0..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.25.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.3.25 -sidebar_position: 59674 ---- - -### HarperDB 4.3.25 - -9/24/2024 - -- Add analytics for replication latency -- Fix iteration issue over asynchronous joined queries -- Local studio fix for loading applications in insecure context (HTTP) -- Local studio fix for loading configuration tab diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.26.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.26.md deleted file mode 100644 index c0dacf54..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.26.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.26 -sidebar_position: 59673 ---- - -### HarperDB 4.3.26 - -9/27/2024 - -- Fixed a security issue that allowed users to bypass access controls with the operations API -- Previously expiration handling was limited to tables with a source, but now it can be applied to any table diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.27.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.27.md deleted file mode 100644 index 0bbd448a..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.27.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.27 -sidebar_position: 59672 ---- - -### HarperDB 4.3.27 - -10/2/2024 - -- Fixed handling HTTP upgrade with Connection header that does not use Upgrade as the sole value (for Firefox) -- Added metrics for requests by status code -- Properly remove attributes from the stored metadata when removed from GraphQL schema -- Fixed a regression in clustering retrieval of schema description -- Fix attribute validation/handling to ensure that sequential ids can be assigned with insert/upsert operations diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.28.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.28.md deleted file mode 100644 index 361d416d..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.28.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.28 -sidebar_position: 59671 ---- - -### HarperDB 4.3.28 - -10/3/2024 - -- Tolerate user with no role when building NATS config -- Change metrics for requests by status code to be prefixed with "response\_" -- Log error `cause`, and other properties, when available. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.29.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.29.md deleted file mode 100644 index 5537df8b..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.29.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 4.3.29 -sidebar_position: 59670 ---- - -### HarperDB 4.3.29 - -10/7/2024 - -- Avoid unnecessary cookie session creation without explicit login -- Added support for caching directives in operations API -- Fixed issue with creating metadata for table with no primary key -- Local studio upgrade: - - Added support for "cache only" mode to view table data without origin resolution - - Added partial support for cookie-based authentication - - Added support for browsing tables with no primary key - - Improved performance for sorting tables diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.3.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.3.md deleted file mode 100644 index 38175dda..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.3 -sidebar_position: 59696 ---- - -### HarperDB 4.3.3 - -4/01/2024 - -- Improve MQTT logging by properly logging auth failures, logging disconnections diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.30.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.30.md deleted file mode 100644 index e005db97..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.30.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.30 -sidebar_position: 59669 ---- - -### HarperDB 4.3.30 - -10/9/2024 - -- Properly assign transaction timestamp to writes from cache resolutions (ensuring that latencies can be calculated on replicating nodes) diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.31.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.31.md deleted file mode 100644 index 80cab2b9..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.31.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.31 -sidebar_position: 59668 ---- - -### HarperDB 4.3.31 - -10/10/2024 - -- Reset the restart limit for manual restarts to ensure that NATS process will continue to restart after more than 10 manual restarts -- Only apply caching directives (from headers) to tables/resources that are configured to be caching, sourced from another resource -- Catch/tolerate errors on serializing objects for logging diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.32.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.32.md deleted file mode 100644 index 0b5893b4..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.32.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.32 -sidebar_position: 59667 ---- - -### HarperDB 4.3.32 - -10/16/2024 - -- Fix a memory leak when cluster_network closes a hub connection -- Improved MQTT error handling, with less verbose logging of more common errors, and treat a missing subscription as an invalid/missing topic -- Record analytics and server-timing header even when cache resolution fails diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.33.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.33.md deleted file mode 100644 index 7707a562..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.33.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.33 -sidebar_position: 59666 ---- - -### HarperDB 4.3.33 - -10/24/2024 - -- Change the default maximum length for a fastify route parameter from 100 to 1000 characters. diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.34.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.34.md deleted file mode 100644 index 2bd65833..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.34.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.34 -sidebar_position: 59665 ---- - -### HarperDB 4.3.34 - -10/24/2024 - -- lmdb-js upgrade diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.35.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.35.md deleted file mode 100644 index f8dd7b73..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.35.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.35 -sidebar_position: 59664 ---- - -### HarperDB 4.3.35 - -11/12/2024 - -- Upgrades for supporting Node.js V23 -- Fix for handling a change in the schema for nested data structures diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.36.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.36.md deleted file mode 100644 index 6ecd342b..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.36.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.36 -sidebar_position: 59663 ---- - -### HarperDB 4.3.35 - -11/14/2024 - -- lmdb-js upgrade for better free-space management diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.4.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.4.md deleted file mode 100644 index 0c96732f..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.4.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.4 -sidebar_position: 59695 ---- - -### HarperDB 4.3.4 - -4/9/2024 - -- Fixed a buffer overrun issue with decompressing compressed data -- Better keep-alive of transactions with long running queries diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.5.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.5.md deleted file mode 100644 index 60888785..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.5.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.5 -sidebar_position: 59694 ---- - -### HarperDB 4.3.5 - -4/10/2024 - -- Fixed a buffer overrun issue with decompressing compressed data diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.6.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.6.md deleted file mode 100644 index 54a4739a..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.6.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.6 -sidebar_position: 59693 ---- - -### HarperDB 4.3.6 - -4/12/2024 - -- Fixed parsing of dates from epoch millisecond times in queries -- Fixed CRDT incrementation of different data types -- Adjustments to text/plain content type q-value handling -- Fixed parsing of passwords with a colon -- Added MQTT events for connections, authorization, and disconnections diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.7.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.7.md deleted file mode 100644 index df9fb331..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.7.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.7 -sidebar_position: 59692 ---- - -### HarperDB 4.3.7 - -4/16/2024 - -- Fixed transaction handling to stay on open on long compaction operations -- Fixed handling of sorting on non-indexed attributes -- Storage stability improvements -- Fixed authentication/authorization of WebSockets connection and use of cookies -- Fixes for clone node operations diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.8.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.8.md deleted file mode 100644 index 0e4c5b6c..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.8.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.8 -sidebar_position: 59691 ---- - -### HarperDB 4.3.8 - -4/26/2024 - -- Added support for the MQTT keep-alive feature (disconnecting if no control messages are received within keep-alive window) -- Improved handling of write queue timeouts, with configurability -- Fixed a memory leak that can occur with NATS reconnections after heartbeat misses -- Fixed a bug in clone node with a null port -- Add error events to MQTT events system diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.9.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.9.md deleted file mode 100644 index 17c95934..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/4.3.9.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.9 -sidebar_position: 59690 ---- - -### HarperDB 4.3.9 - -4/30/2024 - -- lmdb-js upgrade diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/_category_.json b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/_category_.json deleted file mode 100644 index d20b2f9a..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Tucker (Version 4)", - "position": -4 -} diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/index.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/index.md deleted file mode 100644 index a791a635..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/index.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: HarperDB Tucker (Version 4) ---- - -# HarperDB Tucker (Version 4) - -HarperDB version 4 ([Tucker release](v4-tucker/tucker)) represents major step forward in database technology. This release line has ground-breaking architectural advancements including: - -## [4.0](v4-tucker/4.0.0) - -- New clustering technology that delivers robust, resilient and high-performance replication -- Major storage improvements with highly-efficient adaptive-structure modified MessagePack format, with on-demand deserialization capabilities - -## [4.1](v4-tucker/4.1.0) - -- New streaming iterators mechanism that allows query results to be delivered to clients _while_ querying results are being processed, for incredibly fast time-to-first-byte and concurrent processing/delivery -- New thread-based concurrency model for more efficient resource usage - -## [4.2](v4-tucker/4.2.0) - -- New component architecture and Resource API for advanced, robust custom database application development -- Real-time capabilites through MQTT, WebSockets, and Server-Sent Events -- REST interface for intuitive, fast, and standards-compliant HTTP interaction -- Native caching capabilities for high-performance cache scenarios -- Clone node functionality - -## [4.3](v4-tucker/4.3.0) - -- Relationships, joins, and broad new querying capabilites for complex and nested conditions, sorting, joining, and selecting with significant query optimizations -- More advanced transaction support for CRDTs and storage of large integers (with BigInt) -- Better management with new upgraded local studio and new CLI features - -Did you know our release names are dedicated to employee pups? For our fourth release, [meet Tucker!](v4-tucker/tucker) diff --git a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/tucker.md b/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/tucker.md deleted file mode 100644 index e8dc0a36..00000000 --- a/versioned_docs/version-4.3/technical-details/release-notes/v4-tucker/tucker.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: HarperDB Tucker (Version 4) ---- - -# HarperDB Tucker (Version 4) - -Did you know our release names are dedicated to employee pups? For our fourth release, we have Tucker. - -![picture of grey and white dog](/img/v4.3/dogs/tucker.png) - -_G’day, I’m Tucker. My dad is David Cockerill, a software engineer here at HarperDB. I am a 3-year-old Labrador Husky mix. I love to protect my dad from all the squirrels and rabbits we have in our yard. I have very ticklish feet and love belly rubs!_ diff --git a/versioned_docs/version-4.4/technical-details/release-notes/index.md b/versioned_docs/version-4.4/technical-details/release-notes/index.md deleted file mode 100644 index 7d7ece67..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/index.md +++ /dev/null @@ -1,231 +0,0 @@ ---- -title: Release Notes ---- - -# Release Notes - -### Current Release - -[Meet Tucker](release-notes/v4-tucker/) Our 4th Release Pup - -[4.4.26 Tucker](release-notes/v4-tucker/4.4.26) - -[4.4.25 Tucker](release-notes/v4-tucker/4.4.25) - -[4.4.24 Tucker](release-notes/v4-tucker/4.4.24) - -[4.4.23 Tucker](release-notes/v4-tucker/4.4.23) - -[4.4.22 Tucker](release-notes/v4-tucker/4.4.22) - -[4.4.21 Tucker](release-notes/v4-tucker/4.4.21) - -[4.4.20 Tucker](release-notes/v4-tucker/4.4.20) - -[4.4.19 Tucker](release-notes/v4-tucker/4.4.19) - -[4.4.18 Tucker](release-notes/v4-tucker/4.4.18) - -[4.4.17 Tucker](release-notes/v4-tucker/4.4.17) - -[4.4.16 Tucker](release-notes/v4-tucker/4.4.16) - -[4.4.15 Tucker](release-notes/v4-tucker/4.4.15) - -[4.4.14 Tucker](release-notes/v4-tucker/4.4.14) - -[4.4.13 Tucker](release-notes/v4-tucker/4.4.13) - -[4.4.12 Tucker](release-notes/v4-tucker/4.4.12) - -[4.4.11 Tucker](release-notes/v4-tucker/4.4.11) - -[4.4.10 Tucker](release-notes/v4-tucker/4.4.10) - -[4.4.9 Tucker](release-notes/v4-tucker/4.4.9) - -[4.4.8 Tucker](release-notes/v4-tucker/4.4.8) - -[4.4.7 Tucker](release-notes/v4-tucker/4.4.7) - -[4.4.6 Tucker](release-notes/v4-tucker/4.4.6) - -[4.4.5 Tucker](release-notes/v4-tucker/4.4.5) - -[4.4.4 Tucker](release-notes/v4-tucker/4.4.4) - -[4.4.4 Tucker](release-notes/v4-tucker/4.4.3) - -[4.4.2 Tucker](release-notes/v4-tucker/4.4.2) - -[4.4.1 Tucker](release-notes/v4-tucker/4.4.1) - -[4.4.0 Tucker](release-notes/v4-tucker/4.4.0) - -[4.3.38 Tucker](release-notes/v4-tucker/4.3.38) - -[4.3.37 Tucker](release-notes/v4-tucker/4.3.37) - -[4.3.36 Tucker](release-notes/v4-tucker/4.3.36) - -[4.3.35 Tucker](release-notes/v4-tucker/4.3.35) - -[4.3.34 Tucker](release-notes/v4-tucker/4.3.34) - -[4.3.33 Tucker](release-notes/v4-tucker/4.3.33) - -[4.3.32 Tucker](release-notes/v4-tucker/4.3.32) - -[4.3.31 Tucker](release-notes/v4-tucker/4.3.31) - -[4.3.30 Tucker](release-notes/v4-tucker/4.3.30) - -[4.3.29 Tucker](release-notes/v4-tucker/4.3.29) - -[4.3.28 Tucker](release-notes/v4-tucker/4.3.28) - -[4.3.27 Tucker](release-notes/v4-tucker/4.3.27) - -[4.3.26 Tucker](release-notes/v4-tucker/4.3.26) - -[4.3.25 Tucker](release-notes/v4-tucker/4.3.25) - -[4.3.24 Tucker](release-notes/v4-tucker/4.3.24) - -[4.3.23 Tucker](release-notes/v4-tucker/4.3.23) - -[4.3.22 Tucker](release-notes/v4-tucker/4.3.22) - -[4.3.21 Tucker](release-notes/v4-tucker/4.3.21) - -[4.3.20 Tucker](release-notes/v4-tucker/4.3.20) - -[4.3.19 Tucker](release-notes/v4-tucker/4.3.19) - -[4.3.18 Tucker](release-notes/v4-tucker/4.3.18) - -[4.3.17 Tucker](release-notes/v4-tucker/4.3.17) - -[4.3.16 Tucker](release-notes/v4-tucker/4.3.16) - -[4.3.15 Tucker](release-notes/v4-tucker/4.3.15) - -[4.3.14 Tucker](release-notes/v4-tucker/4.3.14) - -[4.3.13 Tucker](release-notes/v4-tucker/4.3.13) - -[4.3.12 Tucker](release-notes/v4-tucker/4.3.12) - -[4.3.11 Tucker](release-notes/v4-tucker/4.3.11) - -[4.3.10 Tucker](release-notes/v4-tucker/4.3.10) - -[4.3.9 Tucker](release-notes/v4-tucker/4.3.9) - -[4.3.8 Tucker](release-notes/v4-tucker/4.3.8) - -[4.3.7 Tucker](release-notes/v4-tucker/4.3.7) - -[4.3.6 Tucker](release-notes/v4-tucker/4.3.6) - -[4.3.5 Tucker](release-notes/v4-tucker/4.3.5) - -[4.3.4 Tucker](release-notes/v4-tucker/4.3.4) - -[4.3.3 Tucker](release-notes/v4-tucker/4.3.3) - -[4.3.2 Tucker](release-notes/v4-tucker/4.3.2) - -[4.3.1 Tucker](release-notes/v4-tucker/4.3.1) - -[4.3.0 Tucker](release-notes/v4-tucker/4.3.0) - -[4.2.8 Tucker](release-notes/v4-tucker/4.2.8) - -[4.2.7 Tucker](release-notes/v4-tucker/4.2.7) - -[4.2.6 Tucker](release-notes/v4-tucker/4.2.6) - -[4.2.5 Tucker](release-notes/v4-tucker/4.2.5) - -[4.2.4 Tucker](release-notes/v4-tucker/4.2.4) - -[4.2.3 Tucker](release-notes/v4-tucker/4.2.3) - -[4.2.2 Tucker](release-notes/v4-tucker/4.2.2) - -[4.2.1 Tucker](release-notes/v4-tucker/4.2.1) - -[4.2.0 Tucker](release-notes/v4-tucker/4.2.0) - -[4.1.2 Tucker](release-notes/v4-tucker/4.1.2) - -[4.1.1 Tucker](release-notes/v4-tucker/4.1.1) - -[4.1.0 Tucker](release-notes/v4-tucker/4.1.0) - -[4.0.7 Tucker](release-notes/v4-tucker/4.0.7) - -[4.0.6 Tucker](release-notes/v4-tucker/4.0.6) - -[4.0.5 Tucker](release-notes/v4-tucker/4.0.5) - -[4.0.4 Tucker](release-notes/v4-tucker/4.0.4) - -[4.0.3 Tucker](release-notes/v4-tucker/4.0.3) - -[4.0.2 Tucker](release-notes/v4-tucker/4.0.2) - -[4.0.1 Tucker](release-notes/v4-tucker/4.0.1) - -[4.0.0 Tucker](release-notes/v4-tucker/4.0.0) - -### Past Releases - -[Meet Monkey](release-notes/v3-monkey/) Our 3rd Release Pup - -[3.2.1 Monkey](release-notes/v3-monkey/3.2.1) - -[3.2.0 Monkey](release-notes/v3-monkey/3.2.0) - -[3.1.5 Monkey](release-notes/v3-monkey/3.1.5) - -[3.1.4 Monkey](release-notes/v3-monkey/3.1.4) - -[3.1.3 Monkey](release-notes/v3-monkey/3.1.3) - -[3.1.2 Monkey](release-notes/v3-monkey/3.1.2) - -[3.1.1 Monkey](release-notes/v3-monkey/3.1.1) - -[3.1.0 Monkey](release-notes/v3-monkey/3.1.0) - -[3.0.0 Monkey](release-notes/v3-monkey/3.0.0) - ---- - -[Meet Penny](release-notes/v2-penny/) Our 2nd Release Pup - -[2.3.1 Penny](release-notes/v2-penny/2.3.1) - -[2.3.0 Penny](release-notes/v2-penny/2.3.0) - -[2.2.3 Penny](release-notes/v2-penny/2.2.3) - -[2.2.2 Penny](release-notes/v2-penny/2.2.2) - -[2.2.0 Penny](release-notes/v2-penny/2.2.0) - -[2.1.1 Penny](release-notes/v2-penny/2.1.1) - ---- - -[Meet Alby](release-notes/v1-alby/) Our 1st Release Pup - -[1.3.1 Alby](release-notes/v1-alby/1.3.1) - -[1.3.0 Alby](release-notes/v1-alby/1.3.0) - -[1.2.0 Alby](release-notes/v1-alby/1.2.0) - -[1.1.0 Alby](release-notes/v1-alby/1.1.0) diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/1.1.0.md b/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/1.1.0.md deleted file mode 100644 index 2256a825..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/1.1.0.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: 1.1.0 -sidebar_position: 89899 ---- - -### HarperDB 1.1.0, Alby Release - -4/18/2018 - -**Features** - -- Users & Roles: - - Limit/Assign access to all HarperDB operations - - - Limit/Assign access to schemas, tables & attributes - - - Limit/Assign access to specific SQL operations (`INSERT`, `UPDATE`, `DELETE`, `SELECT`) - -- Enhanced SQL parser - - Added extensive ANSI SQL Support. - - Added Array function, which allows for converting relational data into Object/Hierarchical data - - `Distinct_Array` Function: allows for removing duplicates in the Array function. - - Enhanced SQL Validation: Improved validation around structure of SQL, validating the schema, etc.. - - 10x performance improvement on SQL statements. - -- Export Function: can now call a NoSQL/SQL search and have it export to CSV or JSON. - -- Added upgrade function to CLI - -- Added ability to perform bulk update from CSV - -- Created landing page for HarperDB. - -- Added CORS support to HarperDB - -**Fixes** - -- Fixed memory leak in CSV bulk loads - -- Corrected error when attempting to perform a `SQL DELETE` - -- Added further validation to NoSQL `UPDATE` to validate schema & table exist - -- Fixed install issue occurring when part of the install path does not exist, the install would silently fail. - -- Fixed issues with replicated data when one of the replicas is down - -- Removed logging of initial user’s credentials during install - -- Can now use reserved words as aliases in SQL - -- Removed user(s) password in results when calling `list_users` - -- Corrected forwarding of operations to other nodes in a cluster - -- Corrected lag in schema meta-data passing to other nodes in a cluster - -- Drop table & schema now move the table & schema or table to the trash folder under the Database folder for later permanent deletion. - -- Bulk inserts no longer halt the entire operation if n records already exist, instead the return includes the hashes of records that have been skipped. - -- Added ability to accept EULA from command line - -- Corrected `search_by_value` not searching on the correct attribute - -- Added ability to increase the timeout of a request by adding `SERVER_TIMEOUT_MS` to config/settings.js - -- Add error handling resulting from SQL calculations. - -- Standardized error responses as JSON. - -- Corrected internal process generation to not allow more processes than machine has cores. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/1.2.0.md b/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/1.2.0.md deleted file mode 100644 index a504a7ad..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/1.2.0.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: 1.2.0 -sidebar_position: 89799 ---- - -### HarperDB 1.2.0, Alby Release - -7/10/2018 - -**Features** - -- Time to Live: Conserve the resources of your edge device by setting data on devices to live for a specific period of time. -- Geo: HarperDB has implemented turf.js into its SQL parser to enable geo based analytics. -- Jobs: CSV Data loads, Exports & Time to Live now all run as back ground jobs. -- Exports: Perform queries that export into JSON or CSV and save to disk or S3. - -**Fixes** - -- Fixed issue where CSV data loads incorrectly report number of records loaded. -- Added validation to stop `BETWEEN` operations in SQL. -- Updated logging to not include internal variables in the logs. -- Cleaned up `add_role` response to not include internal variables. -- Removed old and unused dependencies. -- Build out further unit tests and integration tests. -- Fixed https to handle certificates properly. -- Improved stability of clustering & replication. -- Corrected issue where Objects and Arrays were not casting properly in `SQL SELECT` response. -- Fixed issue where Blob text was not being returned from `SQL SELECT`s. -- Fixed error being returned when querying on table with no data, now correctly returns empty array. -- Improved performance in SQL when searching on exact values. -- Fixed error when ./harperdb stop is called. -- Fixed logging issue causing instability in installer. -- Fixed `read_log` operation to accept date time. -- Added permissions checking to `export_to_s3`. -- Added ability to run SQL on `SELECT` without a `FROM`. -- Fixed issue where updating a user’s password was not encrypting properly. -- Fixed `user_guide.html` to point to readme on git repo. -- Created option to have HarperDB run as a foreground process. -- Updated `user_info` to return the correct role for a user. -- Fixed issue where HarperDB would not stop if the database root was deleted. -- Corrected error message on insert if an invalid schema is provided. -- Added permissions checks for user & role operations. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/1.3.0.md b/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/1.3.0.md deleted file mode 100644 index e3a5215f..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/1.3.0.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: 1.3.0 -sidebar_position: 89699 ---- - -### HarperDB 1.3.0, Alby Release - -11/2/2018 - -**Features** - -- Upgrade: Upgrade to newest version via command line. -- SQL Support: Added `IS NULL` for SQL parser. -- Added attribute validation to search operations. - -**Fixes** - -- Fixed `SELECT` calculations, i.e. `SELECT` 2+2. -- Fixed select OR not returning expected results. -- No longer allowing reserved words for schema and table names. -- Corrected process interruptions from improper SQL statements. -- Improved message handling between spawned processes that replace killed processes. -- Enhanced error handling for updates to tables that do not exist. -- Fixed error handling for NoSQL responses when `get_attributes` is provided with invalid attributes. -- Fixed issue with new columns not being updated properly in update statements. -- Now validating roles, tables and attributes when creating or updating roles. -- Fixed an issue where in some cases `undefined` was being returned after dropping a role diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/1.3.1.md b/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/1.3.1.md deleted file mode 100644 index 56927389..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/1.3.1.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: 1.3.1 -sidebar_position: 89698 ---- - -### HarperDB 1.3.1, Alby Release - -2/26/2019 - -**Features** - -- Clustering connection direction appointment -- Foundations for threading/multi processing -- UUID autogen for hash attributes that were not provided -- Added cluster status operation - -**Bug Fixes and Enhancements** - -- More logging -- Clustering communication enhancements -- Clustering queue ordering by timestamps -- Cluster re connection enhancements -- Number of system core(s) detection -- Node LTS (10.15) compatibility -- Update/Alter users enhancements -- General performance enhancements -- Warning is logged if different versions of harperdb are connected via clustering -- Fixed need to restart after user creation/alteration -- Fixed SQL error that occurred on selecting from an empty table diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/_category_.json b/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/_category_.json deleted file mode 100644 index 9eded684..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Alby (Version 1)", - "position": -1 -} diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/index.md b/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/index.md deleted file mode 100644 index 60659623..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v1-alby/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: HarperDB Alby (Version 1) ---- - -# HarperDB Alby (Version 1) - -Did you know our release names are dedicated to employee pups? For our first release, Alby was our pup. - -Here is a bit about Alby: - -![picture of black dog](/img/v4.4/dogs/alby.webp) - -_Hi, I am Alby. My mom is Kaylan Stock, Director of Marketing at HarperDB. I am a 9-year-old Great Dane mix who loves sun bathing, going for swims, and wreaking havoc on the local squirrels. My favorite snack is whatever you are eating, and I love a good butt scratch!_ diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.1.1.md b/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.1.1.md deleted file mode 100644 index c59337d7..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.1.1.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: 2.1.1 -sidebar_position: 79898 ---- - -### HarperDB 2.1.1, Penny Release - -05/22/2020 - -**Highlights** - -- CORE-1007 Added the ability to perform `SQL INSERT` & `UPDATE` with function calls & expressions on values. -- CORE-1023 Fixed minor bug in final SQL step incorrectly trying to translate ordinals to alias in `ORDER BY` statement. -- CORE-1020 Fixed bug allowing 'null' and 'undefined' string values to be passed in as valid hash values. -- CORE-1006 Added SQL functionality that enables `JOIN` statements across different schemas. -- CORE-1005 Implemented JSONata library to handle our JSON document search functionality in SQL, creating the `SEARCH_JSON` function. -- CORE-1009 Updated schema validation to allow all printable ASCII characters to be used in schema/table/attribute names, except, forward slashes and backticks. Same rules apply now for hash attribute values. -- CORE-1003 Fixed handling of ORDER BY statements with function aliases. -- CORE-1004 Fixed bug related to `SELECT*` on `JOIN` queries with table columns with the same name. -- CORE-996 Fixed an issue where the `transact_to_cluster` flag is lost for CSV URL loads, fixed an issue where new attributes created in CSV bulk load do not sync to the cluster. -- CORE-994 Added new operation `system_information`. This operation returns info & metrics for the OS, time, memory, cpu, disk, network. -- CORE-993 Added new custom date functions for AlaSQL & UTC updates. -- CORE-991 Changed jobs to spawn a new process which will run the intended job without impacting a main HarperDB process. -- CORE-992 HTTPS enabled by default. -- CORE-990 Updated `describe_table` to add the record count for the table for LMDB data storage. -- CORE-989 Killed the socket cluster processes prior to HarperDB processes to eliminate a false uptime. -- CORE-975 Updated time values set by SQL Date Functions to be in epoch format. -- CORE-974 Added date functions to `SQL SELECT` column alias functionality. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.2.0.md b/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.2.0.md deleted file mode 100644 index a669ca8b..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.2.0.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: 2.2.0 -sidebar_position: 79799 ---- - -### HarperDB 2.2.0, Penny Release - -08/24/2020 - -**Features/Updates** - -- CORE-997 Updated the data format for CSV data loads being sync'd across a cluster to take up less resources -- CORE-1018 Adds SQL functionality for `BETWEEN` statements -- CORE-1032 Updates permissions to allow regular users (i.e. non-super users) to call the `get_job` operation -- CORE-1036 On create/drop table we auto create/drop the related transactions environments for the schema.table -- CORE-1042 Built raw functions to write to a tables transaction log for insert/update/delete operations -- CORE-1057 Implemented write transaction into lmdb create/update/delete functions -- CORE-1048 Adds `SEARCH` wildcard handling for role permissions standards -- CORE-1059 Added config setting to disable transaction logging for an instance -- CORE-1076 Adds permissions filter to describe operations -- CORE-1043 Change clustering catchup to use the new transaction log -- CORE-1052 Removed word "master" from source -- CORE-1061 Added new operation called `delete_transactions_before` this will tail a transaction log for a specific schema / table -- CORE-1040 On HarperDB startup make sure all tables have a transaction environment -- CORE-1055 Added 2 new setting to change the server headersTimeout & keepAliveTimeout from the config file -- CORE-1044 Created new operation `read_transaction_log` which will allow a user to get transactions for a table by `timestamp`, `username`, or `hash_value` -- CORE-1043 Change clustering catchup to use the new transaction log -- CORE-1089 Added new attribute to `system_information` for table/transaction log data size in bytes & transaction log record count -- CORE-1101 Fix to store empty strings rather than considering them null & fix to be able to search on empty strings in SQL/NoSQL. -- CORE-1054 Updates permissions object to remove delete attribute permission and update table attribute permission key to `attribute_permissions` -- CORE-1092 Do not allow the `__createdtime__` to be updated -- CORE-1085 Updates create schema/table & drop schema/table/attribute operations permissions to require super user role and adds integration tests to validate -- CORE-1071 Updates response messages and status codes from `describe_schema` and `describe_table` operations to provide standard language/status code when a schema item is not found -- CORE-1049 Updates response message for SQL update op with no matching rows -- CORE-1096 Added tracking of the origin in the transaction log. This origin object stores the node name, timestamp of the transaction from the originating node & the user. - -**Bug Fixes** - -- CORE-1028 Fixes bug for simple `SQL SELECT` queries not returning aliases and incorrectly returning hash values when not requested in query -- CORE-1037 Fixed an issue where numbers with leading zero i.e. 00123 are converted to numbers rather than being honored as strings. -- CORE-1063 Updates permission error response shape to consolidate issues into individual objects per schema/table combo -- CORE-1098 Fixed an issue where transaction environments were remaining in the global cache after being dropped. -- CORE-1086 Fixed issue where responses from insert/update were incorrect with skipped records. -- CORE-1079 Fixes SQL bugs around invalid schema/table and special characters in `WHERE` clause diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.2.2.md b/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.2.2.md deleted file mode 100644 index fca00967..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.2.2.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 2.2.2 -sidebar_position: 79797 ---- - -### HarperDB 2.2.2, Penny Release - -10/27/2020 - -- CORE-1154 Allowed transaction logging to be disabled even if clustering is enabled. -- CORE-1153 Fixed issue where `delete_files_before` was writing to transaction log. -- CORE-1152 Fixed issue where no more than 4 HarperDB forks would be created. -- CORE-1112 Adds handling for system timestamp attributes in permissions. -- CORE-1131 Adds better handling for checking perms on operations with action value in JSON. -- CORE-1113 Fixes validation bug checking for super user/cluster user permissions and other permissions. -- CORE-1135 Adds validation for valid keys in role API operations. -- CORE-1073 Adds new `import_from_s3` operation to API. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.2.3.md b/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.2.3.md deleted file mode 100644 index 06b89d4e..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.2.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 2.2.3 -sidebar_position: 79796 ---- - -### HarperDB 2.2.3, Penny Release - -11/16/2020 - -- CORE-1158 Performance improvements to core delete function and configuration of `delete_files_before` to run in batches with a pause into between. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.3.0.md b/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.3.0.md deleted file mode 100644 index a027eedb..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.3.0.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: 2.3.0 -sidebar_position: 79699 ---- - -### HarperDB 2.3.0, Penny Release - -12/03/2020 - -**Features/Updates** - -- CORE-1191, CORE-1190, CORE-1125, CORE-1157, CORE-1126, CORE-1140, CORE-1134, CORE-1123, CORE-1124, CORE-1122 Added JWT Authentication option (See documentation for more information) -- CORE-1128, CORE-1143, CORE-1140, CORE-1129 Added `upsert` operation -- CORE-1187 Added `get_configuration` operation which allows admins to view their configuration settings. -- CORE-1175 Added new internal LMDB function to copy an environment for use in future features. -- CORE-1166 Updated packages to address security vulnerabilities. - -**Bug Fixes** - -- CORE-1195 Modified `drop_attribute` to drop after data cleanse completes. -- CORE-1149 Fix SQL bug regarding self joins and updates alasql to 0.6.5 release. -- CORE-1168 Fix inconsistent invalid schema/table errors. -- CORE-1162 Fix bug which caused `delete_files_before` to cause tables to grow in size due to an open cursor issue. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.3.1.md b/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.3.1.md deleted file mode 100644 index 03df0186..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/2.3.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 2.3.1 -sidebar_position: 79698 ---- - -### HarperDB 2.3.1, Penny Release - -1/29/2021 - -**Bug Fixes** - -- CORE-1218 A bug in HarperDB 2.3.0 was identified related to manually calling the `create_attribute` operation. This bug caused secondary indexes to be overwritten by the most recently inserted or updated value for the index, thereby causing a search operation filtered with that index to only return the most recently inserted/updated row. Note, this issue does not affect attributes that are reflexively/automatically created. It only affects attributes created using `create_attribute`. To resolve this issue in 2.3.0 or earlier, drop and recreate your table using reflexive attribute creation. In 2.3.1, drop and recreate your table and use either reflexive attribute creation or `create_attribute`. -- CORE-1219 Increased maximum table attributes from 1000 to 10000 diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/_category_.json b/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/_category_.json deleted file mode 100644 index 28f86bc1..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Penny (Version 2)", - "position": -2 -} diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/index.md b/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/index.md deleted file mode 100644 index 30b06241..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v2-penny/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: HarperDB Penny (Version 2) ---- - -# HarperDB Penny (Version 2) - -Did you know our release names are dedicated to employee pups? For our second release, Penny was the star. - -Here is a bit about Penny: - -![picture of brindle dog](/img/v4.4/dogs/penny.webp) - -_Hi I am Penny! My dad is Kyle Bernhardy, the CTO of HarperDB. I am a nine-year-old Whippet who lives for running hard and fast while exploring the beautiful terrain of Colorado. My favorite activity is chasing birds along with afternoon snoozes in a sunny spot in my backyard._ diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.0.0.md b/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.0.0.md deleted file mode 100644 index 10319747..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.0.0.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: 3.0.0 -sidebar_position: 69999 ---- - -### HarperDB 3.0, Monkey Release - -5/18/2021 - -**Features/Updates** - -- CORE-1217, CORE-1226, CORE-1232 Create new `search_by_conditions` operation. -- CORE-1304 Upgrade to Node 12.22.1. -- CORE-1235 Adds new upgrade/install functionality. -- CORE-1206, CORE-1248, CORE-1252 Implement `lmdb-store` library for optimized performance. -- CORE-1062 Added alias operation for `delete_files_before`, named `delete_records_before`. -- CORE-1243 Change `HTTPS_ON` settings value to false by default. -- CORE-1189 Implement fastify web server, resulting in improved performance. -- CORE-1221 Update user API to use role name instead of role id. -- CORE-1225 Updated dependencies to eliminate npm security warnings. -- CORE-1241 Adds 3.0 update directive and refactors/fixes update functionality. - -**Bug Fixes** - -- CORE-1299 Remove all references to the `PROJECT_DIR` setting. This setting is problematic when using node version managers and upgrading the version of node and then installing a new instance of HarperDB. -- CORE-1288 Fix bug with drop table/schema that was causing 'env required' error log. -- CORE-1285 Update warning log when trying to create an attribute that already exists. -- CORE-1254 Added logic to manage data collisions in clustering. -- CORE-1212 Add pre-check to `drop_user` that returns error if user doesn't exist. -- CORE-1114 Update response code and message from `add_user` when user already exists. -- CORE-1111 Update response from `create_attribute` to match the create schema/table response. -- CORE-1205 Fixed bug that prevented schema/table from being dropped if name was a number or had a wildcard value in it. Updated validation for insert, upsert and update. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.0.md b/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.0.md deleted file mode 100644 index f14acb8e..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.0.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: 3.1.0 -sidebar_position: 69899 ---- - -### HarperDB 3.1.0, Monkey Release - -8/24/2021 - -**Features/Updates** - -- CORE-1320, CORE-1321, CORE-1323, CORE-1324 Version 1.0 of HarperDB Custom Functions -- CORE-1275, CORE-1276, CORE-1278, CORE-1279, CORE-1280, CORE-1282, CORE-1283, CORE-1305, CORE-1314 IPC server for communication between HarperDB processes, including HarperDB, HarperDB Clustering, and HarperDB Functions -- CORE-1352, CORE-1355, CORE-1356, CORE-1358 Implement pm2 for HarperDB process management -- CORE-1292, CORE-1308, CORE-1312, CORE-1334, CORE-1338 Updated installation process to start HarperDB immediately on install and to accept all config settings via environment variable or command line arguments -- CORE-1310 Updated licensing functionality -- CORE-1301 Updated validation for performance improvement -- CORE-1359 Add `hdb-response-time` header which returns the HarperDB response time in milliseconds -- CORE-1330, CORE-1309 New config settings: `LOG_TO_FILE`, `LOG_TO_STDSTREAMS`, `IPC_SERVER_PORT`, `RUN_IN_FOREGROUND`, `CUSTOM_FUNCTIONS`, `CUSTOM_FUNCTIONS_PORT`, `CUSTOM_FUNCTIONS_DIRECTORY`, `MAX_CUSTOM_FUNCTION_PROCESSES` - -**Bug Fixes** - -- CORE-1315 Corrected issue in HarperDB restart scenario -- CORE-1370 Update some of the validation error handlers so that they don't log full stack diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.1.md b/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.1.md deleted file mode 100644 index 8f90dc10..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.1.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: 3.1.1 -sidebar_position: 69898 ---- - -### HarperDB 3.1.1, Monkey Release - -9/23/2021 - -**Features/Updates** - -- CORE-1393 Added utility function to add settings from env/cmd vars to the settings file on every run/restart -- CORE-1395 Create a setting which will allow to enable the local Studio to be served from an instance of HarperDB -- CORE-1397 Update the stock 404 response to not return the request URL -- General updates to optimize Docker container - -**Bug Fixes** - -- CORE-1399 Added fixes for complex SQL alias issues diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.2.md b/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.2.md deleted file mode 100644 index 706e5956..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 3.1.2 -sidebar_position: 69897 ---- - -### HarperDB 3.1.2, Monkey Release - -10/21/2021 - -**Features/Updates** - -- Updated the installation ASCII art to reflect the new HarperDB logo - -**Bug Fixes** - -- CORE-1408 Corrects issue where `drop_attribute` was not properly setting the LMDB version number causing tables to behave unexpectedly diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.3.md b/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.3.md deleted file mode 100644 index 1a7d3301..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.3 -sidebar_position: 69896 ---- - -### HarperDB 3.1.3, Monkey Release - -1/14/2022 - -**Bug Fixes** - -- CORE-1446 Fix for scans on indexes larger than 1 million entries causing queries to never return diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.4.md b/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.4.md deleted file mode 100644 index 3fa86ead..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.4 -sidebar_position: 69895 ---- - -### HarperDB 3.1.4, Monkey Release - -2/24/2022 - -**Features/Updates** - -- CORE-1460 Added new setting `STORAGE_WRITE_ASYNC`. If this setting is true, LMDB will have faster write performance at the expense of not being crash safe. The default for this setting is false, which results in HarperDB being crash safe. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.5.md b/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.5.md deleted file mode 100644 index 23661928..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.1.5.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.5 -sidebar_position: 69894 ---- - -### HarperDB 3.1.5, Monkey Release - -3/4/2022 - -**Features/Updates** - -- CORE-1498 Fixed incorrect autocasting of string that start with "0." that tries to convert to number but instead returns NaN. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.2.0.md b/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.2.0.md deleted file mode 100644 index fa215082..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.2.0.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 3.2.0 -sidebar_position: 69799 ---- - -### HarperDB 3.2.0, Monkey Release - -3/25/2022 - -**Features/Updates** - -- CORE-1391 Bug fix related to orphaned HarperDB background processes. -- CORE-1509 Updated node version check, updated Node.js version, updated project dependencies. -- CORE-1518 Remove final call from logger. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.2.1.md b/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.2.1.md deleted file mode 100644 index 4cc983a4..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.2.1.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.2.1 -sidebar_position: 69798 ---- - -### HarperDB 3.2.1, Monkey Release - -6/1/2022 - -**Features/Updates** - -- CORE-1573 Added logic to track the pid of the foreground process if running in foreground. Then on stop, use that pid to kill the process. Logic was also added to kill the pm2 daemon when stop is called. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.3.0.md b/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.3.0.md deleted file mode 100644 index 236704dd..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/3.3.0.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.3.0 -sidebar_position: 69699 ---- - -### HarperDB 3.3.0 - Monkey - -- CORE-1595 Added new role type `structure_user`, this enables non-superusers to be able to create/drop schema/table/attribute. -- CORE-1501 Improved performance for drop_table. -- CORE-1599 Added two new operations for custom functions `install_node_modules` & `audit_node_modules`. -- CORE-1598 Added `skip_node_modules` flag to `package_custom_function_project` operation. This flag allows for not bundling project dependencies and deploying a smaller project to other nodes. Use this flag in tandem with `install_node_modules`. -- CORE-1707 Binaries are now included for Linux on AMD64, Linux on ARM64, and macOS. GCC, Make, Python are no longer required when installing on these platforms. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/_category_.json b/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/_category_.json deleted file mode 100644 index 71bea62a..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Monkey (Version 3)", - "position": -3 -} diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/index.md b/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/index.md deleted file mode 100644 index e9f2b84c..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v3-monkey/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: HarperDB Monkey (Version 3) ---- - -# HarperDB Monkey (Version 3) - -Did you know our release names are dedicated to employee pups? For our third release, we have Monkey. - -![picture of tan dog](/img/v4.4/dogs/monkey.webp) - -_Hi, I am Monkey, a.k.a. Monk, a.k.a. Monchichi. My dad is Aron Johnson, the Director of DevOps at HarperDB. I am an eight-year-old Australian Cattle dog mutt whose favorite pastime is hunting and collecting tennis balls from the park next to her home. I love burrowing in the Colorado snow, rolling in the cool grass on warm days, and cheese!_ diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.0.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.0.md deleted file mode 100644 index b94ea2f8..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.0.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: 4.0.0 -sidebar_position: 59999 ---- - -### HarperDB 4.0.0, Tucker Release - -11/2/2022 - -**Networking & Data Replication (Clustering)** - -The HarperDB clustering internals have been rewritten and the underlying technology for Clustering has been completely replaced with [NATS](https://nats.io/), an enterprise grade connective technology responsible for addressing, discovery and exchanging of messages that drive the common patterns in distributed systems. - -- CORE-1464, CORE-1470, : Remove SocketCluster dependencies and all code related to them. -- CORE-1465, CORE-1485, CORE-1537, CORE-1538, CORE-1558, CORE-1583, CORE_1665, CORE-1710, CORE-1801, CORE-1865 :Add nats-`server` code as dependency, on install of HarperDB download nats-`server` is possible else fallback to building from source code. -- CORE-1593, CORE-1761: Add `nats.js` as project dependency. -- CORE-1466: Build NATS configs on `harperdb run` based on HarperDB YAML configuration. -- CORE-1467, CORE-1508: Launch and manage NATS servers with PM2. -- CORE-1468, CORE-1507: Create a process which reads the work queue stream and processes transactions. -- CORE-1481, CORE-1529, CORE-1698, CORE-1502, CORE-1696: On upgrade to 4.0, update pre-existing clustering configurations, create table transaction streams, create work queue stream, update `hdb_nodes` table, create clustering folder structure, and rebuild self-signed certs. -- CORE-1494, CORE-1521, CORE-1755: Build out internals to interface with NATS. -- CORE-1504: Update existing hooks to save transactions to work with NATS. -- CORE-1514, CORE-1515, CORE-1516, CORE-1527, CORE-1532: Update `add_node`, `update_node`, and `remove_node` operations to no longer need host and port in payload. These operations now manage dynamically sourcing of table level transaction streams between nodes and work queues. -- CORE-1522: Create `NATSReplyService` process which handles the receiving NATS based requests from remote instances and sending back appropriate responses. -- CORE-1471, CORE-1568, CORE-1563, CORE-1534, CORE-1569: Update `cluster_status` operation. -- CORE-1611: Update pre-existing transaction log operations to be audit log operations. -- CORE-1541, CORE-1612, CORE-1613: Create translation log operations which interface with streams. -- CORE-1668: Update NATS serialization / deserialization to use MessagePack. -- CORE-1673: Add `system_info` param to `hdb_nodes` table and update on `add_node` and `cluster_status`. -- CORE-1477, CORE-1493, CORE-1557, CORE-1596, CORE-1577: Both a full HarperDB restart & just clustering restart call the NATS server with a reload directive to maintain full uptime while servers refresh. -- CORE-1474:HarperDB install adds clustering folder structure. -- CORE-1530: Post `drop_table` HarperDB purges the related transaction stream. -- CORE-1567: Set NATS config to always use TLS. -- CORE-1543: Removed the `transact_to_cluster` attribute from the bulk load operations. Now bulk loads always replicate. -- CORE-1533, CORE-1556, CORE-1561, CORE-1562, CORE-1564: New operation `configure_cluster`, this operation enables bulk publishing and subscription of multiple tables to multiple instances of HarperDB. -- CORE-1535: Create work queue stream on install of HarperDB. This stream receives transactions from remote instances of HarperDB which are then ingested in order. -- CORE-1551: Create transaction streams on the remote node if they do not exist when performing `add_node` or `update_node`. -- CORE-1594, CORE-1605, CORE-1749, CORE-1767, CORE-1770: Optimize the work queue stream and its consumer to be more performant and validate exact once delivery. -- CORE-1621, CORE-1692, CORE-1570, CORE-1693: NATS stream names are MD5 hashed to avoid characters that HarperDB allows, but NATS may not. -- CORE-1762: Add a new optional attribute to `add_node` and `update_node` named `opt_start_time`. This attribute sets a starting time to start synchronizing transactions. -- CORE-1785: Optimizations and bug fixes in regards to sourcing data from remote instances on HarperDB. -- CORE-1588: Created new operation `set_cluster_routes` to enable setting routes for instances of HarperDB to mesh together. -- CORE-1589: Created new operation `get_cluster_routes` to allow for retrieval of routes used to connect the instance of HarperDB to the mesh. -- CORE-1590: Created new operation `delete_cluster_routes` to allow for removal of routes used to connect the instance of HarperDB to the mesh. -- CORE-1667: Fix old environment variable `CLUSTERING_PORT` not mapping to new hub server port. -- CORE-1609: Allow `remove_node` to be called when the other node cannot be reached. -- CORE-1815: Add transaction lock to `add_node` and `update_node` to avoid concurrent nats source update bug. -- CORE-1848: Update stream configs if the node name has been changed in the YAML configuration. -- CORE-1873: Update `add_node` and `update_node` so that it auto-creates schema/table on both local and remote node respectively - -**Data Storage** - -We have made improvements to how we store, index, and retrieve data. - -- CORE-1619: Enabled new concurrent flushing technology for improved write performance. -- CORE-1701: Optimize search performance for `search_by_conditions` when executing multiple AND conditions. -- CORE-1652: Encode the values of secondary indices more efficiently for faster access. -- CORE-1670: Store updated timestamp in `lmdb.js`' version property. -- CORE-1651: Enabled multiple value indexing of array values which allows for the ability to search on specific elements in an array more efficiently. -- CORE-1649, CORE-1659: Large text values (larger than 255 bytes) are no longer stored in separate blob index. Now they are segmented and delimited in the same index to increase search performance. -- Complex objects and object arrays are no longer stored in a separate index to preserve storage and increase write throughput. -- CORE-1650, CORE-1724, CORE-1738: Improved internals around interpreting attribute values. -- CORE-1657: Deferred property decoding allows large objects to be stored, but individual attributes can be accessed (like with get_attributes) without incurring the cost of decoding the entire object. -- CORE-1658: Enable in-memory caching of records for even faster access to frequently accessed data. -- CORE-1693: Wrap updates in async transactions to ensure ACID-compliant updates. -- CORE-1653: Upgrade to 4.0 rebuilds tables to reflect changes made to index improvements. -- CORE-1753: Removed old `node-lmdb` dependency. -- CORE-1787: Freeze objects returned from queries. -- CORE-1821: Read the `WRITE_ASYNC` setting which enables LMDB nosync. - -**Logging** - -HarperDB has increased logging specificity by breaking out logs based on components logging. There are specific log files each for HarperDB Core, Custom Functions, Hub Server, Leaf Server, and more. - -- CORE-1497: Remove `pino` and `winston` dependencies. -- CORE-1426: All logging is output via `stdout` and `stderr`, our default logging is then picked up by PM2 which handles writing out to file. -- CORE-1431: Improved `read_log` operation validation. -- CORE-1433, CORE-1463: Added log rotation. -- CORE-1553, CORE-1555, CORE-1552, CORE-1554, CORE-1704: Performance gain by only serializing objects and arrays if the log is for the level defined in configuration. -- CORE-1436: Upgrade to 4.0 updates internals for logging changes. -- CORE-1428, CORE-1440, CORE-1442, CORE-1434, CORE-1435, CORE-1439, CORE-1482, CORE-1751, CORE-1752: Bug fixes, performance improvements and improved unit tests. -- CORE-1691: Convert non-PM2 managed log file writes to use Node.js `fs.appendFileSync` function. - -**Configuration** - -HarperDB has updated its configuration from a properties file to YAML. - -- CORE-1448, CORE-1449, CORE-1519, CORE-1587: Upgrade automatically converts the pre-existing settings file to YAML. -- CORE-1445, CORE-1534, CORE-1444, CORE-1858: Build out new logic to create, update, and interpret the YAML configuration file. -- Installer has updated prompts to reflect YAML settings. -- CORE-1447: Create an alias for the `configure_cluster` operation as `set_configuration`. -- CORE-1461, CORE-1462, CORE-1483: Unit test improvements. -- CORE-1492: Improvements to get_configuration and set_configuration operations. -- CORE-1503: Modify HarperDB configuration for more granular certificate definition. -- CORE-1591: Update `routes` IP param to `host` and to `leaf` config in `harperdb.conf` -- CORE-1519: Fix issue when switching between old and new versions of HarperDB we are getting the config parameter is undefined error on npm install. - -**Broad NodeJS and Platform Support** - -- CORE-1624: HarperDB can now run on multiple versions of NodeJS, from v14 to v19. We primarily test on v18, so that is the preferred version. - -**Windows 10 and 11** - -- CORE-1088: HarperDB now runs natively on Windows 10 and 11 without the need to run in a container or installed in WSL. Windows is only intended for evaluation and development purposes, not for production work loads. - -**Extra Changes and Bug Fixes** - -- CORE-1520: Refactor installer to remove all waterfall code and update to use Promises. -- CORE-1573: Stop the PM2 daemon and any logging processes when stopping hdb. -- CORE-1586: When HarperDB is running in foreground stop any additional logging processes from being spawned. -- CORE-1626: Update docker file to accommodate new `harperdb.conf` file. -- CORE-1592, CORE-1526, CORE-1660, CORE-1646, CORE-1640, CORE-1689, CORE-1711, CORE-1601, CORE-1726, CORE-1728, CORE-1736, CORE-1735, CORE-1745, CORE-1729, CORE-1748, CORE-1644, CORE-1750, CORE-1757, CORE-1727, CORE-1740, CORE-1730, CORE-1777, CORE-1778, CORE-1782, CORE-1775, CORE-1771, CORE-1774, CORE-1759, CORE-1772, CORE-1861, CORE-1862, CORE-1863, CORE-1870, CORE-1869:Changes for CI/CD pipeline and integration tests. -- CORE-1661: Fixed issue where old boot properties file caused an error when attempting to install 4.0.0. -- CORE-1697, CORE-1814, CORE-1855: Upgrade fastify dependency to new major version 4. -- CORE-1629: Jobs are now running as processes managed by the PM2 daemon. -- CORE-1733: Update LICENSE to reflect our EULA on our site. -- CORE-1606: Enable Custom Functions by default. -- CORE-1714: Include pre-built binaries for most common platforms (darwin-arm64, darwin-x64, linux-arm64, linux-x64, win32-x64). -- CORE-1628: Fix issue where setting license through environment variable not working. -- CORE-1602, CORE-1760, CORE-1838, CORE-1839, CORE-1847, CORE-1773: HarperDB Docker container improvements. -- CORE-1706: Add support for encoding HTTP responses with MessagePack. -- CORE-1709: Improve the way lmdb.js dependencies are installed. -- CORE-1758: Remove/update unnecessary HTTP headers. -- CORE-1756: On `npm install` and `harperdb install` change the node version check from an error to a warning if the installed Node.js version does not match our preferred version. -- CORE-1791: Optimizations to authenticated user caching. -- CORE-1794: Update README to discuss Windows support & Node.js versions -- CORE-1837: Fix issue where Custom Function directory was not being created on install. -- CORE-1742: Add more validation to audit log - check schema/table exists and log is enabled. -- CORE-1768: Fix issue where when running in foreground HarperDB process is not stopping on `harperdb stop`. -- CORE-1864: Fix to semver checks on upgrade. -- CORE-1850: Fix issue where a `cluster_user` type role could not be altered. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.1.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.1.md deleted file mode 100644 index 2a85f511..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.0.1 -sidebar_position: 59998 ---- - -### HarperDB 4.0.1, Tucker Release - -01/20/2023 - -**Bug Fixes** - -- CORE-1992 Local studio was not loading because the path got mangled in the build. -- CORE-2001 Fixed deploy_custom_function_project after node update broke it. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.2.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.2.md deleted file mode 100644 index bedbd970..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.0.2 -sidebar_position: 59997 ---- - -### HarperDB 4.0.2, Tucker Release - -01/24/2023 - -**Bug Fixes** - -- CORE-2003 Fix bug where if machine had one core thread config would default to zero. -- Update to lmdb 2.7.3 and msgpackr 1.7.0 diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.3.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.3.md deleted file mode 100644 index ad1cbf8a..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.3 -sidebar_position: 59996 ---- - -### HarperDB 4.0.3, Tucker Release - -01/26/2023 - -**Bug Fixes** - -- CORE-2007 Add update nodes 4.0.0 launch script to build script to fix clustering upgrade. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.4.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.4.md deleted file mode 100644 index 3f052465..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.4 -sidebar_position: 59995 ---- - -### HarperDB 4.0.4, Tucker Release - -01/27/2023 - -**Bug Fixes** - -- CORE-2009 Fixed bug where add node was not being called when upgrading clustering. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.5.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.5.md deleted file mode 100644 index 1696d6d4..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.5.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.0.5 -sidebar_position: 59994 ---- - -### HarperDB 4.0.5, Tucker Release - -02/15/2023 - -**Bug Fixes** - -- CORE-2029 Improved the upgrade process for handling existing user TLS certificates and correctly configuring TLS settings. Added a prompt to upgrade to determine if new certificates should be created or existing certificates should be kept/used. -- Fix the way NATS connections are honored in a local environment. -- Do not define the certificate authority path to NATS if it is not defined in the HarperDB config. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.6.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.6.md deleted file mode 100644 index 1cdc1bd7..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.6.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.6 -sidebar_position: 59993 ---- - -### HarperDB 4.0.6, Tucker Release - -03/09/2023 - -**Bug Fixes** - -- Fixed a data serialization error that occurs when a large number of different record structures are persisted in a single table. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.7.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.7.md deleted file mode 100644 index c4d1fbbf..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.0.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.7 -sidebar_position: 59992 ---- - -### HarperDB 4.0.7, Tucker Release - -03/10/2023 - -**Bug Fixes** - -- Update lmdb.js dependency diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.1.0.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.1.0.md deleted file mode 100644 index d8b1d8b4..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.1.0.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: 4.1.0 -sidebar_position: 59899 ---- - -# 4.1.0 - -HarperDB 4.1 introduces the ability to use worker threads for concurrently handling HTTP requests. Previously this was handled by processes. This shift provides important benefits in terms of better control of traffic delegation with support for optimized load tracking and session affinity, better debuggability, and reduced memory footprint. - -This means debugging will be much easier for custom functions. If you install/run HarperDB locally, most modern IDEs like WebStorm and VSCode support worker thread debugging, so you can start HarperDB in your IDE, and set breakpoints in your custom functions and debug them. - -The associated routing functionality now includes session affinity support. This can be used to consistently route users to the same thread which can improve caching locality, performance, and fairness. This can be enabled in with the [`http.sessionAffinity` option in your configuration](../../../deployments/configuration#http). - -HarperDB 4.1's NoSQL query handling has been revamped to consistently use iterators, which provide an extremely memory efficient mechanism for directly streaming query results to the network _as_ the query results are computed. This results in faster Time to First Byte (TTFB) (only the first record/value in a query needs to be computed before data can start to be sent), and less memory usage during querying (the entire query result does not need to be stored in memory). These iterators are also available in query results for custom functions and can provide means for custom function code to iteratively access data from the database without loading entire results. This should be a completely transparent upgrade, all HTTP APIs function the same, with the one exception that custom functions need to be aware that they can't access query results by `[index]` (they should use array methods or for-in loops to handle query results). - -4.1 includes configuration options for specifying the location of database storage files. This allows you to specifically locate database directories and files on different volumes for better flexibility and utilization of disks and storage volumes. See the [storage configuration](../../../../deployments/configuration#storage) and [schemas configuration](../../../../deployments/configuration#schemas) for information on how to configure these locations. - -Logging has been revamped and condensed into one `hdb.log` file. See [logginglogging for more information. - -A new operation called `cluster_network` was added, this operation will ping the cluster and return a list of enmeshed nodes. - -Custom Functions will no longer automatically load static file routes, instead the `@fastify/static` plugin will need to be registered with the Custom Function server. See [Host A Static Web UI-static](https://docs.harperdb.io/docs/v/4.1/custom-functions/host-static). - -Updates to S3 import and export mean that these operations now require the bucket `region` in the request. Also, if referencing a nested object it should be done in the `key` parameter. See examples [here](../../../developers/operations-api/bulk-operations#import-from-s3). - -Due to the AWS SDK v2 reaching end of life support we have updated to v3. This has caused some breaking changes in our operations `import_from_s3` and `export_to_s3`: - -- A new attribute `region` will need to be supplied -- The `bucket` attribute can no longer have trailing slashes. Slashes will now need to be in the `key`. - -Starting HarperDB without any command (just `harperdb`) now runs HarperDB like a standard process, in the foreground. This means you can use standard unix tooling for interacting with the process and is conducive for running HarperDB with systemd or any other process management tool. If you wish to have HarperDB launch itself in separate background process (and immediately terminate the shell process), you can do so by running `harperdb start`. - -Internal Tickets completed: - -- CORE-609 - Ensure that attribute names are always added to global schema as Strings -- CORE-1549 - Remove fastify-static code from Custom Functions server which auto serves content from "static" folder -- CORE-1655 - Iterator based queries -- CORE-1764 - Fix issue where describe_all operation returns an empty object for non super-users if schema(s) do not yet have table(s) -- CORE-1854 - Switch to using worker threads instead of processes for handling concurrency -- CORE-1877 - Extend the csv_url_load operation to allow for additional headers to be passed to the remote server when the csv is being downloaded -- CORE-1893 - Add last updated timestamp to describe operations -- CORE-1896 - Fix issue where Select \* from system.hdb_info returns wrong HDB version number after Instance Upgrade -- CORE-1904 - Fix issue when executing GEOJSON query in SQL -- CORE-1905 - Add HarperDB YAML configuration setting which defines the storage location of NATS streams -- CORE-1906 - Add HarperDB YAML configuration setting defining the storage location of tables. -- CORE-1655 - Streaming binary format serialization -- CORE-1943 - Add configuration option to set mount point for audit tables -- CORE-1921 - Update NATS transaction lifecycle to handle message deduplication in work queue streams. -- CORE-1963 - Update logging for better readability, reduced duplication, and request context information. -- CORE-1968 - In server\nats\natsIngestService.js remove the js_msg.working(); line to improve performance. -- CORE-1976 - Fix error when calling describe_table operation with no schema or table defined in payload. -- CORE-1983 - Fix issue where create_attribute operation does not validate request for required attributes -- CORE-2015 - Remove PM2 logs that get logged in console when starting HDB -- CORE-2048 - systemd script for 4.1 -- CORE-2052 - Include thread information in system_information for visibility of threads -- CORE-2061 - Add a better error msg when clustering is enabled without a cluster user set -- CORE-2068 - Create new log rotate logic since pm2 log-rotate no longer used -- CORE-2072 - Update to Node 18.15.0 -- CORE-2090 - Upgrade Testing from v4.0.x and v3.x to v4.1. -- CORE-2091 - Run the performance tests -- CORE-2092 - Allow for automatic patch version updates of certain packages -- CORE-2109 - Add verify option to clustering TLS configuration -- CORE-2111 - Update AWS SDK to v3 diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.1.1.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.1.1.md deleted file mode 100644 index 54163b63..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.1.1.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.1.1 -sidebar_position: 59898 ---- - -# 4.1.1 - -06/16/2023 - -- HarperDB uses improved logic for determining default heap limits and thread counts. When running in a restricted container and on NodeJS 18.15+, HarperDB will use the constrained memory limit to determine heap limits for each thread. In more memory constrained servers with many CPU cores, a reduced default thread count will be used to ensure that excessive memory is not used by many workers. You may still define your own thread count (with `http`/`threads`) in the [configuration](../../../deployments/configuration). -- An option has been added for [disabling the republishing NATS messages](../../../deployments/configuration), which can provide improved replication performance in a fully connected network. -- Improvements to our OpenShift container. -- Dependency security updates. -- **Bug Fixes** -- Fixed a bug in reporting database metrics in the `system_information` operation. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.1.2.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.1.2.md deleted file mode 100644 index fc5e16f4..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.1.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.1.2 -sidebar_position: 59897 ---- - -### HarperDB 4.1.2, Tucker Release - -06/16/2023 - -- HarperDB has updated binary dependencies to support older glibc versions back 2.17. -- A new CLI command was added to get the current status of whether HarperDB is running and the cluster status. This is available with `harperdb status`. -- Improvements to our OpenShift container. -- Dependency security updates. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.0.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.0.md deleted file mode 100644 index 265ad57d..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.0.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: 4.2.0 -sidebar_position: 59799 ---- - -# 4.2.0 - -#### HarperDB 4.2.0 - -HarperDB 4.2 introduces a new interface to accessing our core database engine with faster access, well-typed idiomatic JavaScript interfaces, ergonomic object mapping, and real-time data subscriptions. 4.2 also had adopted a new component architecture for building extensions to deliver customized external data sources, authentication, file handlers, content types, and more. These architectural upgrades lead to several key new HarperDB capabilities including a new REST interface, advanced caching, real-time messaging and publish/subscribe functionality through MQTT, WebSockets, and Server-Sent Events. - -4.2 also introduces configurable database schemas, using GraphQL Schema syntax. The new component structure is also configuration-driven, providing easy, low-code paths to building applications. [Check out our new getting starting guide](../../../getting-started) to see how easy it is to get started with HarperDB apps. - -### Resource API - -The [Resource API](../../reference/resource) is the new interface for accessing data in HarperDB. It utilizes a uniform interface for accessing data in HarperDB database/tables and is designed to easily be implemented or extended for defining customized application logic for table access or defining custom external data sources. This API has support for connecting resources together for caching and delivering data change and message notifications in real-time. The [Resource API documentation details this interface](../../reference/resource). - -### Component Architecture - -HarperDB's custom functions have evolved towards a [full component architecture](../../../developers/components); our internal functionality is defined as components, and this can be used in a modular way in conjunction with user components. These can all easily be configured and loaded through configuration files, and there is now a [well-defined interface for creating your own components. Components can easily be deployed/installed into HarperDB using [NPM and Github references as well. - -### Configurable Database Schemas - -HarperDB applications or components support [schema definitions using GraphQL schema syntax](../../../../developers/applications/defining-schemas). This makes it easy to define your table and attribute structure and gives you control over which attributes should be indexed and what types they should be. With schemas in configuration, these schemas can be bundled with an application and deployed together with application code. - -### REST Interface - -HarperDB 4.2 introduces a new REST interface for accessing data through best-practice HTTP APIs using intuitive paths and standards-based methods and headers that directly map to our Resource API. This new interface provides fast and easy access to data via queries through GET requests, modifications of data through PUTs, customized actions through POSTs and more. With standards-based header support built-in, this works seamlessly with external caches (including browser caches) for accelerated performance and reduced network transfers. - -### Real-Time - -HarperDB 4.2 now provides standard interfaces for subscribing to data changes and receiving notifications of changes and messages in real-time. Using these new real-time messaging capabilities with structured data provides a powerful integrated platform for both database style data updates and querying along with message delivery. [Real-time messaging](../../../../developers/real-time) of data is available through several protocols: - -#### MQTT - -4.2 now includes MQTT support which is a publish and subscribe messaging protocol, designed for efficiency (designed to be efficient enough for even small Internet of Things devices). This allows clients to connect to HarperDB and publish messages through our data center and subscribe to messages and data for real-time delivery. 4.2 implements support for QoS 0 and 1, along with durable sessions. - -#### WebSockets - -HarperDB now also supports WebSockets. This can be used as a transport for MQTT or as a connection for custom connection handling. - -#### Server-Sent Events - -HarperDB also includes support for Server-Sent Events. This is a very easy-to-use browser API that allows web sites/applications to connect to HarperDB and subscribe to data changes with minimal effort over standard HTTP. - -### Database Structure - -HarperDB databases contain a collection of tables, and these tables are now contained in a single transactionally-consistent database file. This means reads and writes can be performed transactionally and atomically across tables (as long as they are in the same database). Multi-table transactions are replicated as single atomic transactions as well. Audit logs are also maintained in the same database with atomic consistency as well. - -Databases are now entirely encapsulated in a file, which means they can be moved/copied to another database without requiring any separate metadata updates in the system tables. - -### Clone Node - -HarperDB includes new functionality for adding new HarperDB nodes in a cluster. New instances can be configured to clone from a leader node, performing and copying a database snapshot from a leader node, and self-configuring from the leader node as well, to facilitate accelerated deployment of new nodes for fast horizontal scaling to meet demand needs. [See the documentation on Clone Node for more information.](../../../../administration/cloning) - -### Operations API terminology updates - -Any operation that used the `schema` property was updated to make this property optional and alternately support `database` as the property for specifying the database (formerly 'schema'). If both `schema` and `database` are absent, operation defaults to using the `data` database. Term 'primary key' now used in place of 'hash'. noSQL operation `search_by_hash` updated to `search_by_id`. - -Support was added for defining a table with `primary_key` instead of `hash_attribute`. - -## Configuration - -There have been significant changes to `harperdb-config.yaml`, however none of these changes should affect pre-4.2 versions. If you upgrade to 4.2 any existing configuration should be backwards compatible and will not need to be updated. - -`harperdb-config.yaml` has had some configuration values added, removed, renamed and defaults changed. Please refer to [harperdb-config.yaml](../../../deployments/configuration) for the most current configuration parameters. - -- The `http` element has been expanded. - - `compressionThreshold` was added. - - All `customFunction` configuration now lives here, except for the `tls` section. -- `threads` has moved out of the `http` element and now is its own top level element. -- `authentication` section was moved out of the `operationsApi` section and is now its own top level element/section. -- `analytics.aggregatePeriod` was added. -- Default logging level was changed to `warn`. -- Default clustering log level was changed to `info`. -- `clustering.republishMessages` now defaults to `false`. -- `operationsApi.foreground` was removed. To start HarperDB in the foreground, from the CLI run `harperdb`. -- Made `operationsApi` configuration optional. Any config not defined here will default to the `http` section. -- Added a `securePort` parameter to `operationsApi` and `http` used for setting the https port. -- Added a new top level `tls` section. -- Removed `customFunctions.enabled`, `customFunctions.network.https`, `operationsApi.network.https` and `operationsApi.nodeEnv`. -- Added an element called `componentRoot` which replaces `customFunctions.root`. -- Updated custom pathing to use `databases` instead of `schemas`. -- Added `logging.auditAuthEvents.logFailed` and `logging.auditAuthEvents.logSuccessful` for enabling logging of auth events. -- A new `mqtt` section was added. - -### Socket Management - -HarperDB now uses socket sharing to distribute incoming connections to different threads (`SO_REUSEPORT`). This is considered to be the most performant mechanism available for multi-threaded socket handling. This does mean that we have deprecated session-affinity based socket delegation. - -HarperDB now also supports more flexible port configurations: application endpoints and WebSockets run on 9926 by default, but these can be separated, or application endpoints can be configured to run on the same port as the operations API for a single port configuration. - -### Sessions - -HarperDB now supports cookie-based sessions for authentication for web clients. This can be used with the standard authentication mechanisms to login, and then cookies can be used to preserve the authenticated session. This is generally a more secure way of maintaining authentication in browsers, without having to rely on storing credentials. - -### Dev Mode - -HarperDB can now directly run a HarperDB application from any location using `harperdb run /path/to/app` or `harperdb dev /path/to/app`. The latter starts in dev mode, with logging directly to the console, debugging enabled, and auto-restarting with any changes in your application files. Dev mode is recommended for local application and component development. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.1.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.1.md deleted file mode 100644 index c792a637..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.1.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.2.1 -sidebar_position: 59798 ---- - -### HarperDB 4.2.1, Tucker Release - -11/3/2023 - -- Downgrade NATS 2.10.3 back to 2.10.1 due to regression in connection handling. -- Handle package names with underscores. -- Improved validation of queries and comparators -- Avoid double replication on transactions with multiple commits -- Added file metadata on get_component_file diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.2.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.2.md deleted file mode 100644 index 9cfa957e..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.2.2 -sidebar_position: 59797 ---- - -### HarperDB 4.2.2, Tucker Release - -11/8/2023 - -- Increase timeouts for NATS connections. -- Fix for database snapshots for backups (and for clone node). -- Fix application of permissions for default tables exposed through REST. -- Log replication failures with record information. -- Fix application of authorization/permissions for MQTT commands. -- Fix copying of local components in clone node. -- Fix calculation of overlapping start time in clone node. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.3.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.3.md deleted file mode 100644 index edecd686..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.3.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.2.3 -sidebar_position: 59796 ---- - -### HarperDB 4.2.3, Tucker Release - -11/15/2023 - -- When setting setting securePort, disable unsecure port setting on same port -- Fix `harperdb status` when pid file is missing -- Fix/include missing icons/fonts from local studio -- Fix crash that can occur when concurrently accessing records > 16KB -- Apply a lower heap limit to better ensure that memory leaks are quickly caught/mitigated diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.4.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.4.md deleted file mode 100644 index 14d268b5..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.4.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.2.4 -sidebar_position: 59795 ---- - -### HarperDB 4.2.4, Tucker Release - -11/16/2023 - -- Prevent coercion of strings to numbers in SQL queries (in WHERE clause) -- Address fastify deprecation warning about accessing config diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.5.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.5.md deleted file mode 100644 index 1b6bf143..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.5.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.2.5 -sidebar_position: 59794 ---- - -### HarperDB 4.2.5, Tucker Release - -11/22/2023 - -- Disable compression on server-sent events to ensure messages are immediately sent (not queued for later deliver) -- Update geoNear function to tolerate null values -- lmdb-js fix to ensure prefetched keys are pinned in memory until retrieved -- Add header to indicate start of a new authenticated session (for studio to identify authenticated sessions) diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.6.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.6.md deleted file mode 100644 index 50abde53..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.6.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.2.6 -sidebar_position: 59793 ---- - -### HarperDB 4.2.6, Tucker Release - -11/29/2023 - -- Update various geo SQL functions to tolerate invalid values -- Properly report component installation/load errors in `get_components` (for studio to load components after an installation failure) diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.7.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.7.md deleted file mode 100644 index 5d75e134..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.2.7 -sidebar_position: 59792 ---- - -### HarperDB 4.2.7 - -12/6/2023 - -- Add support for cloning over the top of an existing HarperDB instance -- Add health checks for NATS consumer with ability to restart consumer loops for better resiliency -- Revert Fastify autoload module due to a regression that had caused EcmaScript modules for Fastify route modules to fail to load on Windows diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.8.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.8.md deleted file mode 100644 index 21127797..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.2.8.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.2.8 -sidebar_position: 59791 ---- - -### HarperDB 4.2.8 - -12/19/2023 - -- Added support CLI command line arguments for clone node -- Added support for cloning a node without enabling clustering -- Clear NATS client cache on closed event -- Fix check for attribute permissions so that an empty attribute permissions array is treated as a table level permission definition -- Improve speed of cross-node health checks -- Fix for using `database` in describe operations diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.0.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.0.md deleted file mode 100644 index 6b8db941..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.0.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: 4.3.0 -sidebar_position: 59699 ---- - -# 4.3.0 - -#### HarperDB 4.3.0, Tucker Release - -3/19/2024 - -#### Relationships and Joins - -HarperDB now supports defining relationships between tables. These relationships can be defined as one-to-many, many-to-one, or many-to-many, and use a foreign key to record the relationship between records from different tables. An example of how to use this to define a many-to-one and one-to-many relationships between a product and brand table: - -```graphql -type Product @table { - id: ID @primaryKey - name: String @indexed - # foreign key used to reference a brand - brandId: ID @indexed - # many-to-one relationship to brand - brand: Related @relation(from: "brandId") -} -type Brand @table { - id: ID @primaryKey - name: String @indexed - # one-to-many relationship of brand to products of that brand - products: Product @relation(to: "brandId") -} -``` - -This relationships model can be used in queries and selects, which will automatically "join" the data from the tables. For example, you could search for products by brand name: - -```http -/Product?brand.name=Microsoft -``` - -HarperDB also now supports querying with a sort order. Multiple sort orders can be provided breaking ties. Nested select have also been added, which also utilizes joins when related records are referenced. For example: - -```http -/Product?brand.name=Microsoft&sort(price)&select(name,brand{name,size}) -``` - -See the [schema definition documentation](../../../../developers/applications/defining-schemas) for more information on defining relationships, and the [REST documentation for more information on queries](../../../../developers/rest). - -#### OpenAPI Specification - -A new default endpoint `GET /openapi` was added for describing endpoints configured through a GraphQL schema. - -#### Query Optimizations - -HarperDB has also made numerous improvements to query planning and execution for high performance query results with a broader range of queries. - -#### Indexing Nulls - -New tables and indexes now support indexing null values, enabling queries by null (as well as queries for non-null values). For example, you can query by nulls with the REST interface: - -```http -GET /Table/?attribute=null -``` - -Note, that existing indexes will remain without null value indexing, and can only support indexing/querying by nulls if they are rebuilt (removed and re-added). - -#### CLI Expansion - -The HarperDB now supports an expansive set of commands that execute operations from the operations API. For example, you can list users from the command line: - -```bash -harperdb list_users -``` - -#### BigInt Support - -HarperDB now supports `BigInt` attributes/values with integers (with full precision) up to 1000 bits (or 10^301). These can be used as primary keys or standard attributes, and can be used in queries or other operations. Within JSON documents, you can simply use standard JSON integer numbers with up to 300 digits, and large BigInt integers will be returned as standard JSON numbers. - -#### Local Studio Upgrade - -HarperDB has upgraded the local studio to match the same version that is offered on [https://studio.harperdb.io](https://studio.harperdb.io). The local studio now has the full robust feature set of the online version. - -### MQTT - -#### mTLS Support - -HarperDB now supports mTLS based authentication for HTTP, WebSockets, and MQTT. See the [configuration documentation for more information](../../../deployments/configuration). - -#### Single-Level Wildcards - -HarperDB's MQTT service now supports single-level wildcards (`+`), which facilitates a great range of subscriptions. - -#### Retain handling - -HarperDB's MQTT now supports the retain handling flags for subscriptions that are made using MQTT v5. - -#### CRDT - -HarperDB now supports basic conflict-free data type (CRDT) updates that allow properties to be individually updated and merged when separate properties are updated on different threads or nodes. Individual property CRDT updates are automatically performed when you update individual properties through the resource API. Individual property CRDT updates are used when making `PATCH` requests through the REST API. - -The CRDT functionality also supports explicit incrementation to merge multiple parallel incrementation requests with proper summing. See the [Resource API for more information](../../reference/resource). - -#### Configuration Improvements - -The configuration has improved support for detecting port conflicts, handling paths for fastify routes, and now includes support for specifying a heap limit and TLS ciphers. See the [configuration documentation for more information](../../../deployments/configuration). - -#### Balanced Audit Log Cleanup - -Audit log cleanup has been improved to reduce resource consumption during scheduled cleanups. - -#### `export_*` support for `search_by_conditions` - -The `export_local` and `export_to_s3` operations now support `search_by_conditions` as one of the allowed search operators. - -### Storage Performance Improvements - -Significant improvements were made to handling of free-space to decrease free-space fragmentation and improve performance of reusing free-space for new data. This includes prioritizing reuse of recently released free-space for more better memory/caching utilization. - -#### Compact Database - -In addition to storage improvements, HarperDB now includes functionality for [compacting a database](../../../deployments/harper-cli) (while offline), which can be used to eliminate all free-space to reset any fragmentation. - -#### Compression - -Compression is now enabled by default for all records over 4KB. - -To learn more on how to configure compression visit [configuration](https://docs.harperdb.io/docs/v/4.3/deployments/configuration). diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.1.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.1.md deleted file mode 100644 index 870968bd..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.1.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.1 -sidebar_position: 59698 ---- - -### HarperDB 4.3.1 - -3/25/2024 - -- Fix Fastify warning about responseTime usage -- Add access to the MQTT topic in the context -- Fix for ensuring local NATS streams are created diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.10.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.10.md deleted file mode 100644 index 7badf0cc..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.10.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.3.10 -sidebar_position: 59689 ---- - -### HarperDB 4.3.10 - -5/5/2024 - -- Provide a `data` property on the request/context with deserialized data from the request body for any request including methods that don't typically have a request body -- Ensure that CRDTs are not double applied after committing a transaction -- Delete MQTT will after publishing even if it fails to publish -- Improve transaction retry logic to use async non-optimistic transactions after multiple retries diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.11.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.11.md deleted file mode 100644 index 82b47381..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.11.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.11 -sidebar_position: 59688 ---- - -### HarperDB 4.3.11 - -5/15/2024 - -- Add support for multiple certificates with SNI-based selection of certificates for HTTPS/TLS -- Fix warning in Node v22 diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.12.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.12.md deleted file mode 100644 index 3f016e25..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.12.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.12 -sidebar_position: 59687 ---- - -### HarperDB 4.3.12 - -5/16/2024 - -- Fix for handling ciphers in multiple certificates -- Allow each certificate config to have multiple hostnames diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.13.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.13.md deleted file mode 100644 index e7833e0a..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.13.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.13 -sidebar_position: 59686 ---- - -### HarperDB 4.3.13 - -5/22/2024 - -- Fix for handling HTTPS/TLS with IP address targets (no hostname) where SNI is not available -- Fix for memory leak when a node is down and consumers are trying to reconnect -- Faster cross-thread notification mechanism for transaction events diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.14.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.14.md deleted file mode 100644 index 0bf4e9c8..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.14.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.14 -sidebar_position: 59685 ---- - -### HarperDB 4.3.14 - -5/24/2024 - -- Fix application of ciphers to multi-certificate TLS configuration diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.15.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.15.md deleted file mode 100644 index 48321fb6..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.15.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.15 -sidebar_position: 59684 ---- - -### HarperDB 4.3.15 - -5/29/2024 - -- Add support for wildcards in hostnames for SNI -- Properly apply ciphers settings on multiple TLS configurations diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.16.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.16.md deleted file mode 100644 index 195e27b7..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.16.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.16 -sidebar_position: 59683 ---- - -### HarperDB 4.3.16 - -6/3/2024 - -- Properly shim legacy TLS configuration with new multi-certificate support -- Show the changed filenames when an application is reloaded diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.17.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.17.md deleted file mode 100644 index 27a0f4cb..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.17.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.3.17 -sidebar_position: 59682 ---- - -### HarperDB 4.3.17 - -6/13/2024 - -- Add MQTT analytics of incoming messages and separate by QoS level -- Ensure that any installed `harperdb` package in components is relinked to running harperdb. -- Upgrade storage to more efficiently avoid storage increases -- Fix to improve database metrics in system_information -- Fix for pathing on Windows with extension modules -- Add ability to define a range of listening threads diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.18.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.18.md deleted file mode 100644 index 052b3821..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.18.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.18 -sidebar_position: 59681 ---- - -### HarperDB 4.3.18 - -6/18/2024 - -- Immediately terminate an MQTT connection when there is a keep-alive timeout. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.19.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.19.md deleted file mode 100644 index 2676c9f6..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.19.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.19 -sidebar_position: 59680 ---- - -### HarperDB 4.3.19 - -7/2/2024 - -- Properly return records for the existing value for subscriptions used for retained messages, so they are correctly serialized. -- Ensure that deploy components empty the target directory for a clean installation and expansion of a `package` sub-directory. -- Ensure that we do not double load components that are referenced by symlink from node_modules and in components directory. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.2.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.2.md deleted file mode 100644 index ca273c5e..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.3.2 -sidebar_position: 59697 ---- - -### HarperDB 4.3.2 - -3/29/2024 - -- Clone node updates to individually clone missing parts -- Fixes for publishing OpenShift container -- Increase purge stream timeout -- Fixed declaration of analytics schema so queries work before a restart -- Fix for iterating queries when deleted records exist -- LMDB stability upgrade -- Fix for cleanup of last will in MQTT diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.20.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.20.md deleted file mode 100644 index d090990b..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.20.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: 4.3.20 -sidebar_position: 59679 ---- - -### HarperDB 4.3.20 - -7/11/2024 - -- The restart_service operation is now executed as a job, making it possible to track the progress of a restart (which is performed as a rolling restart of threads) -- Disable Nagle's algorithm for TCP connections to improve performance -- Append Server-Timing header if a fastify route has already added one -- Avoid symlinking the harperdb directory to itself -- Fix for deleting an empty database -- Upgrade ws and pm2 packages for security vulnerabilities -- Improved TypeScript definitions for Resource and Context. -- The context of a source can set `noCacheStore` to avoid caching the results of a retrieval from source -- Better error reporting of MQTT parsing errors and termination of connections for compliance diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.21.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.21.md deleted file mode 100644 index 7afefd12..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.21.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.21 -sidebar_position: 59678 ---- - -### HarperDB 4.3.21 - -8/21/2024 - -- Fixed an issue with iterating/serializing query results with a `limit`. -- Fixed an issue that was preventing the caching of structured records in memory. -- Fixed and added several TypeScript exported types including `tables`, `databases`, `Query`, and `Context`. -- Fixed logging warnings about license limits after a license is updated. -- Don't register a certificate as the default certificate for non-SNI connections unless it lists an IP address in the SAN field. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.22.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.22.md deleted file mode 100644 index a4bc2003..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.22.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.3.22 -sidebar_position: 59677 ---- - -### HarperDB 4.3.22 - -9/6/2024 - -- Adding improved back-pressure handling for large subscriptions and backlogs with durable MQTT sessions -- Allow .extension in URL paths to indicate both preferred encoding and decoding -- Added support for multi-part ids in query parameters -- Limit describe calls by time before using statistical sampling -- Proper cleanup of a transaction when it is aborted due to running out of available read transactions -- Updates to release/builds diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.23.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.23.md deleted file mode 100644 index 7496c1d1..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.23.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.23 -sidebar_position: 59676 ---- - -### HarperDB 4.3.23 - -9/12/2024 - -- Avoid long-running read transactions on subscription catch-ups -- Reverted change to setting default certificate for IP address only -- Better handling of last-will messages on startup diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.24.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.24.md deleted file mode 100644 index 435c15ec..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.24.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.24 -sidebar_position: 59675 ---- - -### HarperDB 4.3.24 - -9/12/2024 - -- Fix for querying for large strings (over 255 characters) diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.25.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.25.md deleted file mode 100644 index 601d9ec0..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.25.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.3.25 -sidebar_position: 59674 ---- - -### HarperDB 4.3.25 - -9/24/2024 - -- Add analytics for replication latency -- Fix iteration issue over asynchronous joined queries -- Local studio fix for loading applications in insecure context (HTTP) -- Local studio fix for loading configuration tab diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.26.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.26.md deleted file mode 100644 index c0dacf54..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.26.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.26 -sidebar_position: 59673 ---- - -### HarperDB 4.3.26 - -9/27/2024 - -- Fixed a security issue that allowed users to bypass access controls with the operations API -- Previously expiration handling was limited to tables with a source, but now it can be applied to any table diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.27.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.27.md deleted file mode 100644 index 0bbd448a..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.27.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.27 -sidebar_position: 59672 ---- - -### HarperDB 4.3.27 - -10/2/2024 - -- Fixed handling HTTP upgrade with Connection header that does not use Upgrade as the sole value (for Firefox) -- Added metrics for requests by status code -- Properly remove attributes from the stored metadata when removed from GraphQL schema -- Fixed a regression in clustering retrieval of schema description -- Fix attribute validation/handling to ensure that sequential ids can be assigned with insert/upsert operations diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.28.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.28.md deleted file mode 100644 index 361d416d..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.28.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.28 -sidebar_position: 59671 ---- - -### HarperDB 4.3.28 - -10/3/2024 - -- Tolerate user with no role when building NATS config -- Change metrics for requests by status code to be prefixed with "response\_" -- Log error `cause`, and other properties, when available. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.29.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.29.md deleted file mode 100644 index 5537df8b..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.29.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 4.3.29 -sidebar_position: 59670 ---- - -### HarperDB 4.3.29 - -10/7/2024 - -- Avoid unnecessary cookie session creation without explicit login -- Added support for caching directives in operations API -- Fixed issue with creating metadata for table with no primary key -- Local studio upgrade: - - Added support for "cache only" mode to view table data without origin resolution - - Added partial support for cookie-based authentication - - Added support for browsing tables with no primary key - - Improved performance for sorting tables diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.3.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.3.md deleted file mode 100644 index 38175dda..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.3 -sidebar_position: 59696 ---- - -### HarperDB 4.3.3 - -4/01/2024 - -- Improve MQTT logging by properly logging auth failures, logging disconnections diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.30.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.30.md deleted file mode 100644 index e005db97..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.30.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.30 -sidebar_position: 59669 ---- - -### HarperDB 4.3.30 - -10/9/2024 - -- Properly assign transaction timestamp to writes from cache resolutions (ensuring that latencies can be calculated on replicating nodes) diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.31.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.31.md deleted file mode 100644 index 80cab2b9..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.31.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.31 -sidebar_position: 59668 ---- - -### HarperDB 4.3.31 - -10/10/2024 - -- Reset the restart limit for manual restarts to ensure that NATS process will continue to restart after more than 10 manual restarts -- Only apply caching directives (from headers) to tables/resources that are configured to be caching, sourced from another resource -- Catch/tolerate errors on serializing objects for logging diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.32.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.32.md deleted file mode 100644 index 0b5893b4..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.32.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.32 -sidebar_position: 59667 ---- - -### HarperDB 4.3.32 - -10/16/2024 - -- Fix a memory leak when cluster_network closes a hub connection -- Improved MQTT error handling, with less verbose logging of more common errors, and treat a missing subscription as an invalid/missing topic -- Record analytics and server-timing header even when cache resolution fails diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.33.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.33.md deleted file mode 100644 index 7707a562..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.33.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.33 -sidebar_position: 59666 ---- - -### HarperDB 4.3.33 - -10/24/2024 - -- Change the default maximum length for a fastify route parameter from 100 to 1000 characters. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.34.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.34.md deleted file mode 100644 index 2bd65833..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.34.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.34 -sidebar_position: 59665 ---- - -### HarperDB 4.3.34 - -10/24/2024 - -- lmdb-js upgrade diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.35.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.35.md deleted file mode 100644 index f8dd7b73..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.35.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.35 -sidebar_position: 59664 ---- - -### HarperDB 4.3.35 - -11/12/2024 - -- Upgrades for supporting Node.js V23 -- Fix for handling a change in the schema for nested data structures diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.36.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.36.md deleted file mode 100644 index 2eb8e636..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.36.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.36 -sidebar_position: 59663 ---- - -### HarperDB 4.3.36 - -11/14/2024 - -- lmdb-js upgrade for better free-space management diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.37.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.37.md deleted file mode 100644 index f36e1c32..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.37.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.37 -sidebar_position: 59662 ---- - -### HarperDB 4.3.37 - -12/6/2024 - -- lmdb-js upgrade for preventing crashes with shared user buffers diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.38.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.38.md deleted file mode 100644 index d1fce0f8..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.38.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.38 -sidebar_position: 59661 ---- - -### HarperDB 4.3.38 - -1/10/2025 - -- Fixes for audit log cleanup diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.4.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.4.md deleted file mode 100644 index 0c96732f..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.4.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.4 -sidebar_position: 59695 ---- - -### HarperDB 4.3.4 - -4/9/2024 - -- Fixed a buffer overrun issue with decompressing compressed data -- Better keep-alive of transactions with long running queries diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.5.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.5.md deleted file mode 100644 index 60888785..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.5.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.5 -sidebar_position: 59694 ---- - -### HarperDB 4.3.5 - -4/10/2024 - -- Fixed a buffer overrun issue with decompressing compressed data diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.6.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.6.md deleted file mode 100644 index 54a4739a..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.6.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.6 -sidebar_position: 59693 ---- - -### HarperDB 4.3.6 - -4/12/2024 - -- Fixed parsing of dates from epoch millisecond times in queries -- Fixed CRDT incrementation of different data types -- Adjustments to text/plain content type q-value handling -- Fixed parsing of passwords with a colon -- Added MQTT events for connections, authorization, and disconnections diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.7.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.7.md deleted file mode 100644 index df9fb331..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.7.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.7 -sidebar_position: 59692 ---- - -### HarperDB 4.3.7 - -4/16/2024 - -- Fixed transaction handling to stay on open on long compaction operations -- Fixed handling of sorting on non-indexed attributes -- Storage stability improvements -- Fixed authentication/authorization of WebSockets connection and use of cookies -- Fixes for clone node operations diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.8.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.8.md deleted file mode 100644 index 0e4c5b6c..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.8.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.8 -sidebar_position: 59691 ---- - -### HarperDB 4.3.8 - -4/26/2024 - -- Added support for the MQTT keep-alive feature (disconnecting if no control messages are received within keep-alive window) -- Improved handling of write queue timeouts, with configurability -- Fixed a memory leak that can occur with NATS reconnections after heartbeat misses -- Fixed a bug in clone node with a null port -- Add error events to MQTT events system diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.9.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.9.md deleted file mode 100644 index 17c95934..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.3.9.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.9 -sidebar_position: 59690 ---- - -### HarperDB 4.3.9 - -4/30/2024 - -- lmdb-js upgrade diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.0.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.0.md deleted file mode 100644 index 7e06f7cf..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.0.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: 4.4.0 -sidebar_position: 59599 ---- - -# 4.4.0 - -#### HarperDB 4.4.0 - -10/14/2024 - -### Native Replication - -HarperDB has a completely [new native replication system](../../../developers/replication/) which is faster, more efficient, secure, and reliable than the previous replication system. The new system (codenamed "Plexus") uses direct WebSocket connections between servers with highly optimized encoding and is driven by direct tracking audit/transaction log for efficient and flexible data transfer. This replication has improved resilience with the ability to reach consensus consistency when one node goes down through cross-node catch-up. Network connections can be performed over the existing operations API port or a separate port, for improved configurability. - -The native replication system is much easier to configure, with multiple options for authentication and security, including PKI/mTLS security that is highly robust and easy to use in conjunction with existing PKI certificates. Replication can be configured through explicit subscriptions or for automated replication of all data in a database. With automated replication, gossiping is used to automatically discover and connect to other nodes in the cluster. - -#### Sharding - -The new replication system also includes provisional support for [sharding](../../../developers/replication/sharding). This sharding mechanism paves the way for greater scalability and performance, by allow data to be distributed across multiple nodes. - -#### Replicated Operations - -Certain operations can now be replicated across the cluster, including the deployment and management of components. This allows for a more seamless experience when managing a cluster of HarperDB instances. Restarts can also be "replicated", and if used, will perform a rolling restart of all the nodes in a cluster. - -### Computed Properties - -Computed properties allow applications to define properties that are computed from other properties, allowing for composite properties that are calculated from other data stored in records without requiring actual storage of the computed value. For example, you could have a computed property for a full name based on first and last, or age/duration based on a date. Computed properties are also foundational for custom indexes. See the [schema documentation](../../../../developers/applications/defining-schemas), [Resource API](../../reference/resource), and our blog post on [computed properties](https://www.harperdb.io/development/tutorials/how-to-create-custom-indexes-with-computed-properties) for more information. - -### Custom Indexing - -Custom indexes can now be defined using computed properties to allow for unlimited possibilities of indexing, including composite, full-text indexing, vector indexing. Again, see the [schema documentation](../../../../developers/applications/defining-schemas) for more information. - -### Native Graph Support - -HarperDB now includes provisional support for native [GraphQL querying functionality](../../reference/graphql). This allows for querying of graph data using GraphQL syntax. This is provisional and some APIs may be updated in the future. - -### Dynamic Certificate Management - -Certificates are now stored in system tables and can be dynamically managed. Certificates can be added, replaced, and deleted without restarting HarperDB. This includes both standard certificates and certificate authorities, as well as private keys (private keys are not stored in table, they securely stored in a file). - -#### Status Report on Startup - -On startup, HarperDB will now print out an informative status of all running services and ports they are listening on. - -#### Support for Response object - -Resource methods can now return a `Response` object (or an object with `headers` and `status`) to allow for more control over the response. - -### Auto-incrementing Primary Keys - -Primary keys can now be auto-incrementing, allowing for automatic generation of numeric primary keys on insert/creation. Primary keys defined with `ID` or `String` will continue to use GUIDs for auto-assigned primary keys, which occurs on insert or creation if the primary key is not provided. However, for keys that are defined as `Any`, `Int`, or `Long`, the primary key will be assigned using auto-incrementation. This is significantly more efficient than GUIDs since the key only requires 8 bytes of storage instead of 31 bytes, and doesn't require random number generation. - -#### Developer/Production Mode for Configuration - -When using interactive installation (when configuration is not provided through arguments or env vars), HarperDB now provides an option for developer or production mode with a set of default configuration for each mode better suited for developer or production environments. - -**Export by Protocol** - -Exported resources can be configured to be specifically exported by protocol (REST, MQTT, etc.) for more granular control over what is exported where. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.1.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.1.md deleted file mode 100644 index 5c1e2037..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.1 -sidebar_position: 59598 ---- - -### HarperDB 4.4.1 - -10/17/2024 - -- Fix issue where non-RSA keys were not being parsed correctly on startup. -- Fix a memory leak when cluster_network closes a hub connection -- Improved MQTT error handling, with less verbose logging of more common errors, and treat a missing subscription as an invalid/missing topic -- Record analytics and server-timing header even when cache resolution fails diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.10.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.10.md deleted file mode 100644 index 6d8aad2c..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.10.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.10 -sidebar_position: 59589 ---- - -### HarperDB 4.4.10 - -12/17/2024 - -- Fix for deploying packages and detecting node_modules directory diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.11.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.11.md deleted file mode 100644 index 5e5b5fc0..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.11.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.11 -sidebar_position: 59588 ---- - -### HarperDB 4.4.11 - -12/18/2024 - -- Fix for initial certification creation on upgrade -- Docker build fix diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.12.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.12.md deleted file mode 100644 index 8efe840e..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.12.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.12 -sidebar_position: 59587 ---- - -### HarperDB 4.4.12 - -12/19/2024 - -- Move components installed by reference into hdb/components for consistency and compatibility with next.js -- Use npm install --force to ensure modules are installed diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.13.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.13.md deleted file mode 100644 index cab28cc0..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.13.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.4.13 -sidebar_position: 59586 ---- - -### HarperDB 4.4.13 - -1/2/2025 - -- Fix for not using requestCert if the port doesn't need replication -- Fix for applying timeouts HTTP server for ancient node versions -- Updates for different replication configuration settings, including sharding and replication using stored credentials -- Mitigation crashing due GC'ed shared array buffers -- Fix for error handling with CLI failures -- Updated dependencies -- Fix for allow securePort to be set on authentication diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.14.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.14.md deleted file mode 100644 index b44a173d..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.14.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.14 -sidebar_position: 59585 ---- - -### HarperDB 4.4.14 - -1/3/2025 - -- Fix for starting HTTP server if headersTimeout is omitted in the configuration -- Fix for avoiding ping timeouts for large/long-duration WS messages between nodes -- Don't report errors for component that only uses a directory -- Add flag for disabling WebSocket on REST component diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.15.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.15.md deleted file mode 100644 index b6a8ee2b..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.15.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.15 -sidebar_position: 59584 ---- - -### HarperDB 4.4.15 - -1/8/2025 - -- Fix for manage the state of replication sequences for node -- Fix for better concurrency with ongoing replication -- Fix for accessing audit log entries diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.16.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.16.md deleted file mode 100644 index d85de974..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.16.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.4.16 -sidebar_position: 59583 ---- - -### HarperDB 4.4.16 - -1/22/2025 - -- Fix for cleaning up old audit entries and associated deletion entries -- Allow CLI operations to be run when cloning is enabled -- Report table size in describe operations -- Fix for cleaning up symlinks when dropping components -- Fix for enumerating components when symlinks are used -- Add an option for using a specific installation command with deploys -- Add an API for registering an HTTP upgrade listener with `server.upgrade` diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.17.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.17.md deleted file mode 100644 index 239f7729..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.17.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.17 -sidebar_position: 59582 ---- - -### HarperDB 4.4.17 - -1/29/2025 - -- Provide statistics on the size of the audit log store -- Fix handling of symlinks to HarperDB package that to avoid NPM's errors in restricted containers -- Add option for rolling/consecutive restarts for deployments -- Fix for enabling root CAs for replication authorization diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.18.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.18.md deleted file mode 100644 index e7354587..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.18.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.18 -sidebar_position: 59581 ---- - -### HarperDB 4.4.18 - -1/29/2025 - -- Add option for disabling full table copy in replication -- Add option for startTime in route configuration -- Add/fix option to deploy with package from CLI diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.19.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.19.md deleted file mode 100644 index 5a1cc14e..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.19.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.19 -sidebar_position: 59580 ---- - -### HarperDB 4.4.19 - -2/4/2025 - -- LMDB upgrade for free-list verification on commit -- Add check to avoid compacting database multiple times with compactOnStart -- Fix handling of denied/absent subscription -- Add support for including symlinked directories in packaging a deployed component diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.2.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.2.md deleted file mode 100644 index 53dfbb7b..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.2.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.2 -sidebar_position: 59597 ---- - -### HarperDB 4.4.2 - -10/18/2024 - -- Republish of 4.4.1 with Git merge correction. diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.20.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.20.md deleted file mode 100644 index 656de065..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.20.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.20 -sidebar_position: 59579 ---- - -### HarperDB 4.4.20 - -2/11/2025 - -- LMDB upgrade for improved handling of page boundaries with free-space lists diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.21.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.21.md deleted file mode 100644 index c63d84a2..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.21.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.21 -sidebar_position: 59578 ---- - -### HarperDB 4.4.21 - -2/25/2025 - -- Fix for saving audit log entries for large keys (> 1KB) -- Security fix for handling missing passwords -- Skip bin links for NPM installation to avoid access issues diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.22.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.22.md deleted file mode 100644 index d66163f9..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.22.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.22 -sidebar_position: 59577 ---- - -### HarperDB 4.4.22 - -3/5/2025 - -- Add new http configuration option `corsAccessControlAllowHeaders` diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.23.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.23.md deleted file mode 100644 index 9048b3d6..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.23.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.23 -sidebar_position: 59576 ---- - -### HarperDB 4.4.23 - -3/7/2025 - -- Fix for subscriptions to children of segmented id -- Fix for better error reporting on NPM failures diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.24.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.24.md deleted file mode 100644 index 324a2423..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.24.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.24 -sidebar_position: 59575 ---- - -### HarperDB 4.4.24 - -3/10/2025 - -- Use process.exit(0) to restart when enabled by env var -- Reset the cwd on thread restart diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.25.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.25.md deleted file mode 100644 index 8420ae5b..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.25.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.25 -sidebar_position: 59574 ---- - -### HarperDB 4.4.25 - -4/3/2025 - -- Fix for immediately reloading updated certificates and private key files to ensure that certificates properly match the private key diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.26.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.26.md deleted file mode 100644 index b2db0691..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.26.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.26 -sidebar_position: 59573 ---- - -### Harper 4.4.26 - -5/12/2025 - -- Fix replication of messages with Plexus -- Rebrand HarperDB as Harper -- Add support for enabling heapSnapshotNearLimit via `--heapsnapshot-near-heap-limit` param / `THREADS_HEAPSNAPSHOTNEARLIMIT` env var diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.3.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.3.md deleted file mode 100644 index 4e844820..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.3.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.4.3 -sidebar_position: 59596 ---- - -### HarperDB 4.4.3 - -10/25/2024 - -- Fix for notification of records through classes that override get for multi-tier caching -- Fix for CLI operations -- Support for longer route parameters in Fastify routes -- Fix for accessing `harperdb` package/module from user threads -- Improvements to clone node for cloning without credentials diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.4.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.4.md deleted file mode 100644 index bbf0df8d..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.4 -sidebar_position: 59595 ---- - -### HarperDB 4.4.4 - -11/4/2024 - -- Re-introduce declarative roles and permissions -- Fix for OpenAPI endpoint -- Fix for exports of `harperdb` package/module diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.5.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.5.md deleted file mode 100644 index 448687c6..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.5.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.4.5 -sidebar_position: 59594 ---- - -### HarperDB 4.4.5 - -11/15/2024 - -- Fix for DOS vulnerability in large headers with cache-control and replication headers -- Fix for handling a change in the schema type for sub-fields in a nested object -- Add support for content type handlers to return iterators -- Fix for session management with custom authentication handler -- Updates for Node.js V23 compatibility -- Fix for sorting on nested properties -- Fix for querying on not_equal to a null with object values diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.6.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.6.md deleted file mode 100644 index 4cc0cc86..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.6.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.6 -sidebar_position: 59593 ---- - -### HarperDB 4.4.6 - -11/25/2024 - -- Fix queries with only sorting applied -- Fix for handling invalidation events propagating through sources -- Expanded CLI support for deploying packages -- Support for deploying large packages diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.7.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.7.md deleted file mode 100644 index a4f6041f..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.7.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.7 -sidebar_position: 59592 ---- - -### HarperDB 4.4.7 - -11/27/2024 - -- Allow for package to deploy own modules -- Fix for preventing double sourcing of resources diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.8.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.8.md deleted file mode 100644 index 493736a8..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.8.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.8 -sidebar_position: 59591 ---- - -### HarperDB 4.4.8 - -12/2/2024 - -- Add multiple node versions of published docker containers diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.9.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.9.md deleted file mode 100644 index 077e80cd..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/4.4.9.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.4.9 -sidebar_position: 59590 ---- - -### HarperDB 4.4.9 - -12/12/2024 - -- Change enableRootCAs to default to true -- Fixes for install and clone commands -- Add rejectUnauthorized to the CLI options -- Fixes for cloning -- Install modules in own component when deploying package by payload diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/_category_.json b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/_category_.json deleted file mode 100644 index d20b2f9a..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Tucker (Version 4)", - "position": -4 -} diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/index.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/index.md deleted file mode 100644 index d2c805c2..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/index.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: Harper Tucker (Version 4) ---- - -# Harper Tucker (Version 4) - -HarperDB version 4 ([Tucker release](v4-tucker/tucker)) represents major step forward in database technology. This release line has ground-breaking architectural advancements including: - -## [4.4](v4-tucker/4.4.0) - -- Native replication (codename "Plexus") which is faster, more efficient, secure, and reliable than the previous replication system and provides provisional sharding capabilities with a foundation for the future -- Computed properties that allow applications to define properties that are computed from other properties, allowing for composite properties that are calculated from other data stored in records without requiring actual storage of the computed value -- Custom indexing including composite, full-text indexing, and vector indexing - -## [4.3](v4-tucker/4.3.0) - -- Relationships, joins, and broad new querying capabilities for complex and nested conditions, sorting, joining, and selecting with significant query optimizations -- More advanced transaction support for CRDTs and storage of large integers (with BigInt) -- Better management with new upgraded local studio and new CLI features - -## [4.2](v4-tucker/4.2.0) - -- New component architecture and Resource API for advanced, robust custom database application development -- Real-time capabilites through MQTT, WebSockets, and Server-Sent Events -- REST interface for intuitive, fast, and standards-compliant HTTP interaction -- Native caching capabilities for high-performance cache scenarios -- Clone node functionality - -## [4.1](v4-tucker/4.1.0) - -- New streaming iterators mechanism that allows query results to be delivered to clients _while_ querying results are being processed, for incredibly fast time-to-first-byte and concurrent processing/delivery -- New thread-based concurrency model for more efficient resource usage - -## [4.0](v4-tucker/4.0.0) - -- New clustering technology that delivers robust, resilient and high-performance replication -- Major storage improvements with highly-efficient adaptive-structure modified MessagePack format, with on-demand deserialization capabilities - -Did you know our release names are dedicated to employee pups? For our fourth release, [meet Tucker!](v4-tucker/tucker) diff --git a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/tucker.md b/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/tucker.md deleted file mode 100644 index db4b3e0f..00000000 --- a/versioned_docs/version-4.4/technical-details/release-notes/v4-tucker/tucker.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Harper Tucker (Version 4) ---- - -# Harper Tucker (Version 4) - -Did you know our release names are dedicated to employee pups? For our fourth release, we have Tucker. - -![picture of grey and white dog](/img/v4.4/dogs/tucker.png) - -_G’day, I’m Tucker. My dad is David Cockerill, a software engineer here at Harper. I am a 3-year-old Labrador Husky mix. I love to protect my dad from all the squirrels and rabbits we have in our yard. I have very ticklish feet and love belly rubs!_ diff --git a/versioned_docs/version-4.5/technical-details/release-notes/index.md b/versioned_docs/version-4.5/technical-details/release-notes/index.md deleted file mode 100644 index b215a5d9..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/index.md +++ /dev/null @@ -1,281 +0,0 @@ ---- -title: Release Notes ---- - -# Release Notes - -### Current Release - -[Meet Tucker](release-notes/v4-tucker/) Our 4th Release Pup - -[4.5.23 Tucker](release-notes/v4-tucker/4.5.23) - -[4.5.22 Tucker](release-notes/v4-tucker/4.5.22) - -[4.5.21 Tucker](release-notes/v4-tucker/4.5.21) - -[4.5.20 Tucker](release-notes/v4-tucker/4.5.20) - -[4.5.19 Tucker](release-notes/v4-tucker/4.5.19) - -[4.5.18 Tucker](release-notes/v4-tucker/4.5.18) - -[4.5.17 Tucker](release-notes/v4-tucker/4.5.17) - -[4.5.16 Tucker](release-notes/v4-tucker/4.5.16) - -[4.5.15 Tucker](release-notes/v4-tucker/4.5.15) - -[4.5.14 Tucker](release-notes/v4-tucker/4.5.14) - -[4.5.13 Tucker](release-notes/v4-tucker/4.5.13) - -[4.5.12 Tucker](release-notes/v4-tucker/4.5.12) - -[4.5.11 Tucker](release-notes/v4-tucker/4.5.11) - -[4.5.10 Tucker](release-notes/v4-tucker/4.5.10) - -[4.5.9 Tucker](release-notes/v4-tucker/4.5.9) - -[4.5.8 Tucker](release-notes/v4-tucker/4.5.8) - -[4.5.7 Tucker](release-notes/v4-tucker/4.5.7) - -[4.5.6 Tucker](release-notes/v4-tucker/4.5.6) - -[4.5.5 Tucker](release-notes/v4-tucker/4.5.5) - -[4.5.4 Tucker](release-notes/v4-tucker/4.5.4) - -[4.5.3 Tucker](release-notes/v4-tucker/4.5.3) - -[4.5.2 Tucker](release-notes/v4-tucker/4.5.2) - -[4.5.1 Tucker](release-notes/v4-tucker/4.5.1) - -[4.5.0 Tucker](release-notes/v4-tucker/4.5.0) - -[4.4.24 Tucker](release-notes/v4-tucker/4.4.24) - -[4.4.23 Tucker](release-notes/v4-tucker/4.4.23) - -[4.4.22 Tucker](release-notes/v4-tucker/4.4.22) - -[4.4.21 Tucker](release-notes/v4-tucker/4.4.21) - -[4.4.20 Tucker](release-notes/v4-tucker/4.4.20) - -[4.4.19 Tucker](release-notes/v4-tucker/4.4.19) - -[4.4.21 Tucker](release-notes/v4-tucker/4.4.21) - -[4.4.20 Tucker](release-notes/v4-tucker/4.4.20) - -[4.4.19 Tucker](release-notes/v4-tucker/4.4.19) - -[4.4.18 Tucker](release-notes/v4-tucker/4.4.18) - -[4.4.17 Tucker](release-notes/v4-tucker/4.4.17) - -[4.4.16 Tucker](release-notes/v4-tucker/4.4.16) - -[4.4.15 Tucker](release-notes/v4-tucker/4.4.15) - -[4.4.14 Tucker](release-notes/v4-tucker/4.4.14) - -[4.4.13 Tucker](release-notes/v4-tucker/4.4.13) - -[4.4.12 Tucker](release-notes/v4-tucker/4.4.12) - -[4.4.11 Tucker](release-notes/v4-tucker/4.4.11) - -[4.4.10 Tucker](release-notes/v4-tucker/4.4.10) - -[4.4.9 Tucker](release-notes/v4-tucker/4.4.9) - -[4.4.8 Tucker](release-notes/v4-tucker/4.4.8) - -[4.4.7 Tucker](release-notes/v4-tucker/4.4.7) - -[4.4.6 Tucker](release-notes/v4-tucker/4.4.6) - -[4.4.5 Tucker](release-notes/v4-tucker/4.4.5) - -[4.4.4 Tucker](release-notes/v4-tucker/4.4.4) - -[4.4.4 Tucker](release-notes/v4-tucker/4.4.3) - -[4.4.2 Tucker](release-notes/v4-tucker/4.4.2) - -[4.4.1 Tucker](release-notes/v4-tucker/4.4.1) - -[4.4.0 Tucker](release-notes/v4-tucker/4.4.0) - -[4.3.38 Tucker](release-notes/v4-tucker/4.3.38) - -[4.3.37 Tucker](release-notes/v4-tucker/4.3.37) - -[4.3.36 Tucker](release-notes/v4-tucker/4.3.36) - -[4.3.35 Tucker](release-notes/v4-tucker/4.3.35) - -[4.3.34 Tucker](release-notes/v4-tucker/4.3.34) - -[4.3.33 Tucker](release-notes/v4-tucker/4.3.33) - -[4.3.32 Tucker](release-notes/v4-tucker/4.3.32) - -[4.3.31 Tucker](release-notes/v4-tucker/4.3.31) - -[4.3.30 Tucker](release-notes/v4-tucker/4.3.30) - -[4.3.29 Tucker](release-notes/v4-tucker/4.3.29) - -[4.3.28 Tucker](release-notes/v4-tucker/4.3.28) - -[4.3.27 Tucker](release-notes/v4-tucker/4.3.27) - -[4.3.26 Tucker](release-notes/v4-tucker/4.3.26) - -[4.3.25 Tucker](release-notes/v4-tucker/4.3.25) - -[4.3.24 Tucker](release-notes/v4-tucker/4.3.24) - -[4.3.23 Tucker](release-notes/v4-tucker/4.3.23) - -[4.3.22 Tucker](release-notes/v4-tucker/4.3.22) - -[4.3.21 Tucker](release-notes/v4-tucker/4.3.21) - -[4.3.20 Tucker](release-notes/v4-tucker/4.3.20) - -[4.3.19 Tucker](release-notes/v4-tucker/4.3.19) - -[4.3.18 Tucker](release-notes/v4-tucker/4.3.18) - -[4.3.17 Tucker](release-notes/v4-tucker/4.3.17) - -[4.3.16 Tucker](release-notes/v4-tucker/4.3.16) - -[4.3.15 Tucker](release-notes/v4-tucker/4.3.15) - -[4.3.14 Tucker](release-notes/v4-tucker/4.3.14) - -[4.3.13 Tucker](release-notes/v4-tucker/4.3.13) - -[4.3.12 Tucker](release-notes/v4-tucker/4.3.12) - -[4.3.11 Tucker](release-notes/v4-tucker/4.3.11) - -[4.3.10 Tucker](release-notes/v4-tucker/4.3.10) - -[4.3.9 Tucker](release-notes/v4-tucker/4.3.9) - -[4.3.8 Tucker](release-notes/v4-tucker/4.3.8) - -[4.3.7 Tucker](release-notes/v4-tucker/4.3.7) - -[4.3.6 Tucker](release-notes/v4-tucker/4.3.6) - -[4.3.5 Tucker](release-notes/v4-tucker/4.3.5) - -[4.3.4 Tucker](release-notes/v4-tucker/4.3.4) - -[4.3.3 Tucker](release-notes/v4-tucker/4.3.3) - -[4.3.2 Tucker](release-notes/v4-tucker/4.3.2) - -[4.3.1 Tucker](release-notes/v4-tucker/4.3.1) - -[4.3.0 Tucker](release-notes/v4-tucker/4.3.0) - -[4.2.8 Tucker](release-notes/v4-tucker/4.2.8) - -[4.2.7 Tucker](release-notes/v4-tucker/4.2.7) - -[4.2.6 Tucker](release-notes/v4-tucker/4.2.6) - -[4.2.5 Tucker](release-notes/v4-tucker/4.2.5) - -[4.2.4 Tucker](release-notes/v4-tucker/4.2.4) - -[4.2.3 Tucker](release-notes/v4-tucker/4.2.3) - -[4.2.2 Tucker](release-notes/v4-tucker/4.2.2) - -[4.2.1 Tucker](release-notes/v4-tucker/4.2.1) - -[4.2.0 Tucker](release-notes/v4-tucker/4.2.0) - -[4.1.2 Tucker](release-notes/v4-tucker/4.1.2) - -[4.1.1 Tucker](release-notes/v4-tucker/4.1.1) - -[4.1.0 Tucker](release-notes/v4-tucker/4.1.0) - -[4.0.7 Tucker](release-notes/v4-tucker/4.0.7) - -[4.0.6 Tucker](release-notes/v4-tucker/4.0.6) - -[4.0.5 Tucker](release-notes/v4-tucker/4.0.5) - -[4.0.4 Tucker](release-notes/v4-tucker/4.0.4) - -[4.0.3 Tucker](release-notes/v4-tucker/4.0.3) - -[4.0.2 Tucker](release-notes/v4-tucker/4.0.2) - -[4.0.1 Tucker](release-notes/v4-tucker/4.0.1) - -[4.0.0 Tucker](release-notes/v4-tucker/4.0.0) - -### Past Releases - -[Meet Monkey](release-notes/v3-monkey/) Our 3rd Release Pup - -[3.2.1 Monkey](release-notes/v3-monkey/3.2.1) - -[3.2.0 Monkey](release-notes/v3-monkey/3.2.0) - -[3.1.5 Monkey](release-notes/v3-monkey/3.1.5) - -[3.1.4 Monkey](release-notes/v3-monkey/3.1.4) - -[3.1.3 Monkey](release-notes/v3-monkey/3.1.3) - -[3.1.2 Monkey](release-notes/v3-monkey/3.1.2) - -[3.1.1 Monkey](release-notes/v3-monkey/3.1.1) - -[3.1.0 Monkey](release-notes/v3-monkey/3.1.0) - -[3.0.0 Monkey](release-notes/v3-monkey/3.0.0) - ---- - -[Meet Penny](release-notes/v2-penny/) Our 2nd Release Pup - -[2.3.1 Penny](release-notes/v2-penny/2.3.1) - -[2.3.0 Penny](release-notes/v2-penny/2.3.0) - -[2.2.3 Penny](release-notes/v2-penny/2.2.3) - -[2.2.2 Penny](release-notes/v2-penny/2.2.2) - -[2.2.0 Penny](release-notes/v2-penny/2.2.0) - -[2.1.1 Penny](release-notes/v2-penny/2.1.1) - ---- - -[Meet Alby](release-notes/v1-alby/) Our 1st Release Pup - -[1.3.1 Alby](release-notes/v1-alby/1.3.1) - -[1.3.0 Alby](release-notes/v1-alby/1.3.0) - -[1.2.0 Alby](release-notes/v1-alby/1.2.0) - -[1.1.0 Alby](release-notes/v1-alby/1.1.0) diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/1.1.0.md b/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/1.1.0.md deleted file mode 100644 index 2256a825..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/1.1.0.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: 1.1.0 -sidebar_position: 89899 ---- - -### HarperDB 1.1.0, Alby Release - -4/18/2018 - -**Features** - -- Users & Roles: - - Limit/Assign access to all HarperDB operations - - - Limit/Assign access to schemas, tables & attributes - - - Limit/Assign access to specific SQL operations (`INSERT`, `UPDATE`, `DELETE`, `SELECT`) - -- Enhanced SQL parser - - Added extensive ANSI SQL Support. - - Added Array function, which allows for converting relational data into Object/Hierarchical data - - `Distinct_Array` Function: allows for removing duplicates in the Array function. - - Enhanced SQL Validation: Improved validation around structure of SQL, validating the schema, etc.. - - 10x performance improvement on SQL statements. - -- Export Function: can now call a NoSQL/SQL search and have it export to CSV or JSON. - -- Added upgrade function to CLI - -- Added ability to perform bulk update from CSV - -- Created landing page for HarperDB. - -- Added CORS support to HarperDB - -**Fixes** - -- Fixed memory leak in CSV bulk loads - -- Corrected error when attempting to perform a `SQL DELETE` - -- Added further validation to NoSQL `UPDATE` to validate schema & table exist - -- Fixed install issue occurring when part of the install path does not exist, the install would silently fail. - -- Fixed issues with replicated data when one of the replicas is down - -- Removed logging of initial user’s credentials during install - -- Can now use reserved words as aliases in SQL - -- Removed user(s) password in results when calling `list_users` - -- Corrected forwarding of operations to other nodes in a cluster - -- Corrected lag in schema meta-data passing to other nodes in a cluster - -- Drop table & schema now move the table & schema or table to the trash folder under the Database folder for later permanent deletion. - -- Bulk inserts no longer halt the entire operation if n records already exist, instead the return includes the hashes of records that have been skipped. - -- Added ability to accept EULA from command line - -- Corrected `search_by_value` not searching on the correct attribute - -- Added ability to increase the timeout of a request by adding `SERVER_TIMEOUT_MS` to config/settings.js - -- Add error handling resulting from SQL calculations. - -- Standardized error responses as JSON. - -- Corrected internal process generation to not allow more processes than machine has cores. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/1.2.0.md b/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/1.2.0.md deleted file mode 100644 index a504a7ad..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/1.2.0.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: 1.2.0 -sidebar_position: 89799 ---- - -### HarperDB 1.2.0, Alby Release - -7/10/2018 - -**Features** - -- Time to Live: Conserve the resources of your edge device by setting data on devices to live for a specific period of time. -- Geo: HarperDB has implemented turf.js into its SQL parser to enable geo based analytics. -- Jobs: CSV Data loads, Exports & Time to Live now all run as back ground jobs. -- Exports: Perform queries that export into JSON or CSV and save to disk or S3. - -**Fixes** - -- Fixed issue where CSV data loads incorrectly report number of records loaded. -- Added validation to stop `BETWEEN` operations in SQL. -- Updated logging to not include internal variables in the logs. -- Cleaned up `add_role` response to not include internal variables. -- Removed old and unused dependencies. -- Build out further unit tests and integration tests. -- Fixed https to handle certificates properly. -- Improved stability of clustering & replication. -- Corrected issue where Objects and Arrays were not casting properly in `SQL SELECT` response. -- Fixed issue where Blob text was not being returned from `SQL SELECT`s. -- Fixed error being returned when querying on table with no data, now correctly returns empty array. -- Improved performance in SQL when searching on exact values. -- Fixed error when ./harperdb stop is called. -- Fixed logging issue causing instability in installer. -- Fixed `read_log` operation to accept date time. -- Added permissions checking to `export_to_s3`. -- Added ability to run SQL on `SELECT` without a `FROM`. -- Fixed issue where updating a user’s password was not encrypting properly. -- Fixed `user_guide.html` to point to readme on git repo. -- Created option to have HarperDB run as a foreground process. -- Updated `user_info` to return the correct role for a user. -- Fixed issue where HarperDB would not stop if the database root was deleted. -- Corrected error message on insert if an invalid schema is provided. -- Added permissions checks for user & role operations. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/1.3.0.md b/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/1.3.0.md deleted file mode 100644 index e3a5215f..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/1.3.0.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: 1.3.0 -sidebar_position: 89699 ---- - -### HarperDB 1.3.0, Alby Release - -11/2/2018 - -**Features** - -- Upgrade: Upgrade to newest version via command line. -- SQL Support: Added `IS NULL` for SQL parser. -- Added attribute validation to search operations. - -**Fixes** - -- Fixed `SELECT` calculations, i.e. `SELECT` 2+2. -- Fixed select OR not returning expected results. -- No longer allowing reserved words for schema and table names. -- Corrected process interruptions from improper SQL statements. -- Improved message handling between spawned processes that replace killed processes. -- Enhanced error handling for updates to tables that do not exist. -- Fixed error handling for NoSQL responses when `get_attributes` is provided with invalid attributes. -- Fixed issue with new columns not being updated properly in update statements. -- Now validating roles, tables and attributes when creating or updating roles. -- Fixed an issue where in some cases `undefined` was being returned after dropping a role diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/1.3.1.md b/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/1.3.1.md deleted file mode 100644 index 56927389..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/1.3.1.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: 1.3.1 -sidebar_position: 89698 ---- - -### HarperDB 1.3.1, Alby Release - -2/26/2019 - -**Features** - -- Clustering connection direction appointment -- Foundations for threading/multi processing -- UUID autogen for hash attributes that were not provided -- Added cluster status operation - -**Bug Fixes and Enhancements** - -- More logging -- Clustering communication enhancements -- Clustering queue ordering by timestamps -- Cluster re connection enhancements -- Number of system core(s) detection -- Node LTS (10.15) compatibility -- Update/Alter users enhancements -- General performance enhancements -- Warning is logged if different versions of harperdb are connected via clustering -- Fixed need to restart after user creation/alteration -- Fixed SQL error that occurred on selecting from an empty table diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/_category_.json b/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/_category_.json deleted file mode 100644 index 9eded684..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Alby (Version 1)", - "position": -1 -} diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/index.md b/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/index.md deleted file mode 100644 index 00d63978..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v1-alby/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: HarperDB Alby (Version 1) ---- - -# HarperDB Alby (Version 1) - -Did you know our release names are dedicated to employee pups? For our first release, Alby was our pup. - -Here is a bit about Alby: - -![picture of black dog](/img/v4.5/dogs/alby.webp) - -_Hi, I am Alby. My mom is Kaylan Stock, Director of Marketing at HarperDB. I am a 9-year-old Great Dane mix who loves sun bathing, going for swims, and wreaking havoc on the local squirrels. My favorite snack is whatever you are eating, and I love a good butt scratch!_ diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.1.1.md b/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.1.1.md deleted file mode 100644 index c59337d7..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.1.1.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: 2.1.1 -sidebar_position: 79898 ---- - -### HarperDB 2.1.1, Penny Release - -05/22/2020 - -**Highlights** - -- CORE-1007 Added the ability to perform `SQL INSERT` & `UPDATE` with function calls & expressions on values. -- CORE-1023 Fixed minor bug in final SQL step incorrectly trying to translate ordinals to alias in `ORDER BY` statement. -- CORE-1020 Fixed bug allowing 'null' and 'undefined' string values to be passed in as valid hash values. -- CORE-1006 Added SQL functionality that enables `JOIN` statements across different schemas. -- CORE-1005 Implemented JSONata library to handle our JSON document search functionality in SQL, creating the `SEARCH_JSON` function. -- CORE-1009 Updated schema validation to allow all printable ASCII characters to be used in schema/table/attribute names, except, forward slashes and backticks. Same rules apply now for hash attribute values. -- CORE-1003 Fixed handling of ORDER BY statements with function aliases. -- CORE-1004 Fixed bug related to `SELECT*` on `JOIN` queries with table columns with the same name. -- CORE-996 Fixed an issue where the `transact_to_cluster` flag is lost for CSV URL loads, fixed an issue where new attributes created in CSV bulk load do not sync to the cluster. -- CORE-994 Added new operation `system_information`. This operation returns info & metrics for the OS, time, memory, cpu, disk, network. -- CORE-993 Added new custom date functions for AlaSQL & UTC updates. -- CORE-991 Changed jobs to spawn a new process which will run the intended job without impacting a main HarperDB process. -- CORE-992 HTTPS enabled by default. -- CORE-990 Updated `describe_table` to add the record count for the table for LMDB data storage. -- CORE-989 Killed the socket cluster processes prior to HarperDB processes to eliminate a false uptime. -- CORE-975 Updated time values set by SQL Date Functions to be in epoch format. -- CORE-974 Added date functions to `SQL SELECT` column alias functionality. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.2.0.md b/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.2.0.md deleted file mode 100644 index a669ca8b..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.2.0.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: 2.2.0 -sidebar_position: 79799 ---- - -### HarperDB 2.2.0, Penny Release - -08/24/2020 - -**Features/Updates** - -- CORE-997 Updated the data format for CSV data loads being sync'd across a cluster to take up less resources -- CORE-1018 Adds SQL functionality for `BETWEEN` statements -- CORE-1032 Updates permissions to allow regular users (i.e. non-super users) to call the `get_job` operation -- CORE-1036 On create/drop table we auto create/drop the related transactions environments for the schema.table -- CORE-1042 Built raw functions to write to a tables transaction log for insert/update/delete operations -- CORE-1057 Implemented write transaction into lmdb create/update/delete functions -- CORE-1048 Adds `SEARCH` wildcard handling for role permissions standards -- CORE-1059 Added config setting to disable transaction logging for an instance -- CORE-1076 Adds permissions filter to describe operations -- CORE-1043 Change clustering catchup to use the new transaction log -- CORE-1052 Removed word "master" from source -- CORE-1061 Added new operation called `delete_transactions_before` this will tail a transaction log for a specific schema / table -- CORE-1040 On HarperDB startup make sure all tables have a transaction environment -- CORE-1055 Added 2 new setting to change the server headersTimeout & keepAliveTimeout from the config file -- CORE-1044 Created new operation `read_transaction_log` which will allow a user to get transactions for a table by `timestamp`, `username`, or `hash_value` -- CORE-1043 Change clustering catchup to use the new transaction log -- CORE-1089 Added new attribute to `system_information` for table/transaction log data size in bytes & transaction log record count -- CORE-1101 Fix to store empty strings rather than considering them null & fix to be able to search on empty strings in SQL/NoSQL. -- CORE-1054 Updates permissions object to remove delete attribute permission and update table attribute permission key to `attribute_permissions` -- CORE-1092 Do not allow the `__createdtime__` to be updated -- CORE-1085 Updates create schema/table & drop schema/table/attribute operations permissions to require super user role and adds integration tests to validate -- CORE-1071 Updates response messages and status codes from `describe_schema` and `describe_table` operations to provide standard language/status code when a schema item is not found -- CORE-1049 Updates response message for SQL update op with no matching rows -- CORE-1096 Added tracking of the origin in the transaction log. This origin object stores the node name, timestamp of the transaction from the originating node & the user. - -**Bug Fixes** - -- CORE-1028 Fixes bug for simple `SQL SELECT` queries not returning aliases and incorrectly returning hash values when not requested in query -- CORE-1037 Fixed an issue where numbers with leading zero i.e. 00123 are converted to numbers rather than being honored as strings. -- CORE-1063 Updates permission error response shape to consolidate issues into individual objects per schema/table combo -- CORE-1098 Fixed an issue where transaction environments were remaining in the global cache after being dropped. -- CORE-1086 Fixed issue where responses from insert/update were incorrect with skipped records. -- CORE-1079 Fixes SQL bugs around invalid schema/table and special characters in `WHERE` clause diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.2.2.md b/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.2.2.md deleted file mode 100644 index fca00967..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.2.2.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 2.2.2 -sidebar_position: 79797 ---- - -### HarperDB 2.2.2, Penny Release - -10/27/2020 - -- CORE-1154 Allowed transaction logging to be disabled even if clustering is enabled. -- CORE-1153 Fixed issue where `delete_files_before` was writing to transaction log. -- CORE-1152 Fixed issue where no more than 4 HarperDB forks would be created. -- CORE-1112 Adds handling for system timestamp attributes in permissions. -- CORE-1131 Adds better handling for checking perms on operations with action value in JSON. -- CORE-1113 Fixes validation bug checking for super user/cluster user permissions and other permissions. -- CORE-1135 Adds validation for valid keys in role API operations. -- CORE-1073 Adds new `import_from_s3` operation to API. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.2.3.md b/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.2.3.md deleted file mode 100644 index 06b89d4e..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.2.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 2.2.3 -sidebar_position: 79796 ---- - -### HarperDB 2.2.3, Penny Release - -11/16/2020 - -- CORE-1158 Performance improvements to core delete function and configuration of `delete_files_before` to run in batches with a pause into between. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.3.0.md b/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.3.0.md deleted file mode 100644 index a027eedb..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.3.0.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: 2.3.0 -sidebar_position: 79699 ---- - -### HarperDB 2.3.0, Penny Release - -12/03/2020 - -**Features/Updates** - -- CORE-1191, CORE-1190, CORE-1125, CORE-1157, CORE-1126, CORE-1140, CORE-1134, CORE-1123, CORE-1124, CORE-1122 Added JWT Authentication option (See documentation for more information) -- CORE-1128, CORE-1143, CORE-1140, CORE-1129 Added `upsert` operation -- CORE-1187 Added `get_configuration` operation which allows admins to view their configuration settings. -- CORE-1175 Added new internal LMDB function to copy an environment for use in future features. -- CORE-1166 Updated packages to address security vulnerabilities. - -**Bug Fixes** - -- CORE-1195 Modified `drop_attribute` to drop after data cleanse completes. -- CORE-1149 Fix SQL bug regarding self joins and updates alasql to 0.6.5 release. -- CORE-1168 Fix inconsistent invalid schema/table errors. -- CORE-1162 Fix bug which caused `delete_files_before` to cause tables to grow in size due to an open cursor issue. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.3.1.md b/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.3.1.md deleted file mode 100644 index 03df0186..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/2.3.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 2.3.1 -sidebar_position: 79698 ---- - -### HarperDB 2.3.1, Penny Release - -1/29/2021 - -**Bug Fixes** - -- CORE-1218 A bug in HarperDB 2.3.0 was identified related to manually calling the `create_attribute` operation. This bug caused secondary indexes to be overwritten by the most recently inserted or updated value for the index, thereby causing a search operation filtered with that index to only return the most recently inserted/updated row. Note, this issue does not affect attributes that are reflexively/automatically created. It only affects attributes created using `create_attribute`. To resolve this issue in 2.3.0 or earlier, drop and recreate your table using reflexive attribute creation. In 2.3.1, drop and recreate your table and use either reflexive attribute creation or `create_attribute`. -- CORE-1219 Increased maximum table attributes from 1000 to 10000 diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/_category_.json b/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/_category_.json deleted file mode 100644 index 28f86bc1..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Penny (Version 2)", - "position": -2 -} diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/index.md b/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/index.md deleted file mode 100644 index 37b3ffde..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v2-penny/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: HarperDB Penny (Version 2) ---- - -# HarperDB Penny (Version 2) - -Did you know our release names are dedicated to employee pups? For our second release, Penny was the star. - -Here is a bit about Penny: - -![picture of brindle dog](/img/v4.5/dogs/penny.webp) - -_Hi I am Penny! My dad is Kyle Bernhardy, the CTO of HarperDB. I am a nine-year-old Whippet who lives for running hard and fast while exploring the beautiful terrain of Colorado. My favorite activity is chasing birds along with afternoon snoozes in a sunny spot in my backyard._ diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.0.0.md b/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.0.0.md deleted file mode 100644 index 10319747..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.0.0.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: 3.0.0 -sidebar_position: 69999 ---- - -### HarperDB 3.0, Monkey Release - -5/18/2021 - -**Features/Updates** - -- CORE-1217, CORE-1226, CORE-1232 Create new `search_by_conditions` operation. -- CORE-1304 Upgrade to Node 12.22.1. -- CORE-1235 Adds new upgrade/install functionality. -- CORE-1206, CORE-1248, CORE-1252 Implement `lmdb-store` library for optimized performance. -- CORE-1062 Added alias operation for `delete_files_before`, named `delete_records_before`. -- CORE-1243 Change `HTTPS_ON` settings value to false by default. -- CORE-1189 Implement fastify web server, resulting in improved performance. -- CORE-1221 Update user API to use role name instead of role id. -- CORE-1225 Updated dependencies to eliminate npm security warnings. -- CORE-1241 Adds 3.0 update directive and refactors/fixes update functionality. - -**Bug Fixes** - -- CORE-1299 Remove all references to the `PROJECT_DIR` setting. This setting is problematic when using node version managers and upgrading the version of node and then installing a new instance of HarperDB. -- CORE-1288 Fix bug with drop table/schema that was causing 'env required' error log. -- CORE-1285 Update warning log when trying to create an attribute that already exists. -- CORE-1254 Added logic to manage data collisions in clustering. -- CORE-1212 Add pre-check to `drop_user` that returns error if user doesn't exist. -- CORE-1114 Update response code and message from `add_user` when user already exists. -- CORE-1111 Update response from `create_attribute` to match the create schema/table response. -- CORE-1205 Fixed bug that prevented schema/table from being dropped if name was a number or had a wildcard value in it. Updated validation for insert, upsert and update. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.0.md b/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.0.md deleted file mode 100644 index f14acb8e..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.0.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: 3.1.0 -sidebar_position: 69899 ---- - -### HarperDB 3.1.0, Monkey Release - -8/24/2021 - -**Features/Updates** - -- CORE-1320, CORE-1321, CORE-1323, CORE-1324 Version 1.0 of HarperDB Custom Functions -- CORE-1275, CORE-1276, CORE-1278, CORE-1279, CORE-1280, CORE-1282, CORE-1283, CORE-1305, CORE-1314 IPC server for communication between HarperDB processes, including HarperDB, HarperDB Clustering, and HarperDB Functions -- CORE-1352, CORE-1355, CORE-1356, CORE-1358 Implement pm2 for HarperDB process management -- CORE-1292, CORE-1308, CORE-1312, CORE-1334, CORE-1338 Updated installation process to start HarperDB immediately on install and to accept all config settings via environment variable or command line arguments -- CORE-1310 Updated licensing functionality -- CORE-1301 Updated validation for performance improvement -- CORE-1359 Add `hdb-response-time` header which returns the HarperDB response time in milliseconds -- CORE-1330, CORE-1309 New config settings: `LOG_TO_FILE`, `LOG_TO_STDSTREAMS`, `IPC_SERVER_PORT`, `RUN_IN_FOREGROUND`, `CUSTOM_FUNCTIONS`, `CUSTOM_FUNCTIONS_PORT`, `CUSTOM_FUNCTIONS_DIRECTORY`, `MAX_CUSTOM_FUNCTION_PROCESSES` - -**Bug Fixes** - -- CORE-1315 Corrected issue in HarperDB restart scenario -- CORE-1370 Update some of the validation error handlers so that they don't log full stack diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.1.md b/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.1.md deleted file mode 100644 index 8f90dc10..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.1.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: 3.1.1 -sidebar_position: 69898 ---- - -### HarperDB 3.1.1, Monkey Release - -9/23/2021 - -**Features/Updates** - -- CORE-1393 Added utility function to add settings from env/cmd vars to the settings file on every run/restart -- CORE-1395 Create a setting which will allow to enable the local Studio to be served from an instance of HarperDB -- CORE-1397 Update the stock 404 response to not return the request URL -- General updates to optimize Docker container - -**Bug Fixes** - -- CORE-1399 Added fixes for complex SQL alias issues diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.2.md b/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.2.md deleted file mode 100644 index 706e5956..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 3.1.2 -sidebar_position: 69897 ---- - -### HarperDB 3.1.2, Monkey Release - -10/21/2021 - -**Features/Updates** - -- Updated the installation ASCII art to reflect the new HarperDB logo - -**Bug Fixes** - -- CORE-1408 Corrects issue where `drop_attribute` was not properly setting the LMDB version number causing tables to behave unexpectedly diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.3.md b/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.3.md deleted file mode 100644 index 1a7d3301..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.3 -sidebar_position: 69896 ---- - -### HarperDB 3.1.3, Monkey Release - -1/14/2022 - -**Bug Fixes** - -- CORE-1446 Fix for scans on indexes larger than 1 million entries causing queries to never return diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.4.md b/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.4.md deleted file mode 100644 index 3fa86ead..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.4 -sidebar_position: 69895 ---- - -### HarperDB 3.1.4, Monkey Release - -2/24/2022 - -**Features/Updates** - -- CORE-1460 Added new setting `STORAGE_WRITE_ASYNC`. If this setting is true, LMDB will have faster write performance at the expense of not being crash safe. The default for this setting is false, which results in HarperDB being crash safe. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.5.md b/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.5.md deleted file mode 100644 index 23661928..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.1.5.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.5 -sidebar_position: 69894 ---- - -### HarperDB 3.1.5, Monkey Release - -3/4/2022 - -**Features/Updates** - -- CORE-1498 Fixed incorrect autocasting of string that start with "0." that tries to convert to number but instead returns NaN. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.2.0.md b/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.2.0.md deleted file mode 100644 index fa215082..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.2.0.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 3.2.0 -sidebar_position: 69799 ---- - -### HarperDB 3.2.0, Monkey Release - -3/25/2022 - -**Features/Updates** - -- CORE-1391 Bug fix related to orphaned HarperDB background processes. -- CORE-1509 Updated node version check, updated Node.js version, updated project dependencies. -- CORE-1518 Remove final call from logger. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.2.1.md b/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.2.1.md deleted file mode 100644 index 4cc983a4..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.2.1.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.2.1 -sidebar_position: 69798 ---- - -### HarperDB 3.2.1, Monkey Release - -6/1/2022 - -**Features/Updates** - -- CORE-1573 Added logic to track the pid of the foreground process if running in foreground. Then on stop, use that pid to kill the process. Logic was also added to kill the pm2 daemon when stop is called. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.3.0.md b/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.3.0.md deleted file mode 100644 index 236704dd..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/3.3.0.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.3.0 -sidebar_position: 69699 ---- - -### HarperDB 3.3.0 - Monkey - -- CORE-1595 Added new role type `structure_user`, this enables non-superusers to be able to create/drop schema/table/attribute. -- CORE-1501 Improved performance for drop_table. -- CORE-1599 Added two new operations for custom functions `install_node_modules` & `audit_node_modules`. -- CORE-1598 Added `skip_node_modules` flag to `package_custom_function_project` operation. This flag allows for not bundling project dependencies and deploying a smaller project to other nodes. Use this flag in tandem with `install_node_modules`. -- CORE-1707 Binaries are now included for Linux on AMD64, Linux on ARM64, and macOS. GCC, Make, Python are no longer required when installing on these platforms. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/_category_.json b/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/_category_.json deleted file mode 100644 index 71bea62a..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Monkey (Version 3)", - "position": -3 -} diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/index.md b/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/index.md deleted file mode 100644 index 4c61ed0e..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v3-monkey/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: HarperDB Monkey (Version 3) ---- - -# HarperDB Monkey (Version 3) - -Did you know our release names are dedicated to employee pups? For our third release, we have Monkey. - -![picture of tan dog](/img/v4.5/dogs/monkey.webp) - -_Hi, I am Monkey, a.k.a. Monk, a.k.a. Monchichi. My dad is Aron Johnson, the Director of DevOps at HarperDB. I am an eight-year-old Australian Cattle dog mutt whose favorite pastime is hunting and collecting tennis balls from the park next to her home. I love burrowing in the Colorado snow, rolling in the cool grass on warm days, and cheese!_ diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.0.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.0.md deleted file mode 100644 index b94ea2f8..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.0.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: 4.0.0 -sidebar_position: 59999 ---- - -### HarperDB 4.0.0, Tucker Release - -11/2/2022 - -**Networking & Data Replication (Clustering)** - -The HarperDB clustering internals have been rewritten and the underlying technology for Clustering has been completely replaced with [NATS](https://nats.io/), an enterprise grade connective technology responsible for addressing, discovery and exchanging of messages that drive the common patterns in distributed systems. - -- CORE-1464, CORE-1470, : Remove SocketCluster dependencies and all code related to them. -- CORE-1465, CORE-1485, CORE-1537, CORE-1538, CORE-1558, CORE-1583, CORE_1665, CORE-1710, CORE-1801, CORE-1865 :Add nats-`server` code as dependency, on install of HarperDB download nats-`server` is possible else fallback to building from source code. -- CORE-1593, CORE-1761: Add `nats.js` as project dependency. -- CORE-1466: Build NATS configs on `harperdb run` based on HarperDB YAML configuration. -- CORE-1467, CORE-1508: Launch and manage NATS servers with PM2. -- CORE-1468, CORE-1507: Create a process which reads the work queue stream and processes transactions. -- CORE-1481, CORE-1529, CORE-1698, CORE-1502, CORE-1696: On upgrade to 4.0, update pre-existing clustering configurations, create table transaction streams, create work queue stream, update `hdb_nodes` table, create clustering folder structure, and rebuild self-signed certs. -- CORE-1494, CORE-1521, CORE-1755: Build out internals to interface with NATS. -- CORE-1504: Update existing hooks to save transactions to work with NATS. -- CORE-1514, CORE-1515, CORE-1516, CORE-1527, CORE-1532: Update `add_node`, `update_node`, and `remove_node` operations to no longer need host and port in payload. These operations now manage dynamically sourcing of table level transaction streams between nodes and work queues. -- CORE-1522: Create `NATSReplyService` process which handles the receiving NATS based requests from remote instances and sending back appropriate responses. -- CORE-1471, CORE-1568, CORE-1563, CORE-1534, CORE-1569: Update `cluster_status` operation. -- CORE-1611: Update pre-existing transaction log operations to be audit log operations. -- CORE-1541, CORE-1612, CORE-1613: Create translation log operations which interface with streams. -- CORE-1668: Update NATS serialization / deserialization to use MessagePack. -- CORE-1673: Add `system_info` param to `hdb_nodes` table and update on `add_node` and `cluster_status`. -- CORE-1477, CORE-1493, CORE-1557, CORE-1596, CORE-1577: Both a full HarperDB restart & just clustering restart call the NATS server with a reload directive to maintain full uptime while servers refresh. -- CORE-1474:HarperDB install adds clustering folder structure. -- CORE-1530: Post `drop_table` HarperDB purges the related transaction stream. -- CORE-1567: Set NATS config to always use TLS. -- CORE-1543: Removed the `transact_to_cluster` attribute from the bulk load operations. Now bulk loads always replicate. -- CORE-1533, CORE-1556, CORE-1561, CORE-1562, CORE-1564: New operation `configure_cluster`, this operation enables bulk publishing and subscription of multiple tables to multiple instances of HarperDB. -- CORE-1535: Create work queue stream on install of HarperDB. This stream receives transactions from remote instances of HarperDB which are then ingested in order. -- CORE-1551: Create transaction streams on the remote node if they do not exist when performing `add_node` or `update_node`. -- CORE-1594, CORE-1605, CORE-1749, CORE-1767, CORE-1770: Optimize the work queue stream and its consumer to be more performant and validate exact once delivery. -- CORE-1621, CORE-1692, CORE-1570, CORE-1693: NATS stream names are MD5 hashed to avoid characters that HarperDB allows, but NATS may not. -- CORE-1762: Add a new optional attribute to `add_node` and `update_node` named `opt_start_time`. This attribute sets a starting time to start synchronizing transactions. -- CORE-1785: Optimizations and bug fixes in regards to sourcing data from remote instances on HarperDB. -- CORE-1588: Created new operation `set_cluster_routes` to enable setting routes for instances of HarperDB to mesh together. -- CORE-1589: Created new operation `get_cluster_routes` to allow for retrieval of routes used to connect the instance of HarperDB to the mesh. -- CORE-1590: Created new operation `delete_cluster_routes` to allow for removal of routes used to connect the instance of HarperDB to the mesh. -- CORE-1667: Fix old environment variable `CLUSTERING_PORT` not mapping to new hub server port. -- CORE-1609: Allow `remove_node` to be called when the other node cannot be reached. -- CORE-1815: Add transaction lock to `add_node` and `update_node` to avoid concurrent nats source update bug. -- CORE-1848: Update stream configs if the node name has been changed in the YAML configuration. -- CORE-1873: Update `add_node` and `update_node` so that it auto-creates schema/table on both local and remote node respectively - -**Data Storage** - -We have made improvements to how we store, index, and retrieve data. - -- CORE-1619: Enabled new concurrent flushing technology for improved write performance. -- CORE-1701: Optimize search performance for `search_by_conditions` when executing multiple AND conditions. -- CORE-1652: Encode the values of secondary indices more efficiently for faster access. -- CORE-1670: Store updated timestamp in `lmdb.js`' version property. -- CORE-1651: Enabled multiple value indexing of array values which allows for the ability to search on specific elements in an array more efficiently. -- CORE-1649, CORE-1659: Large text values (larger than 255 bytes) are no longer stored in separate blob index. Now they are segmented and delimited in the same index to increase search performance. -- Complex objects and object arrays are no longer stored in a separate index to preserve storage and increase write throughput. -- CORE-1650, CORE-1724, CORE-1738: Improved internals around interpreting attribute values. -- CORE-1657: Deferred property decoding allows large objects to be stored, but individual attributes can be accessed (like with get_attributes) without incurring the cost of decoding the entire object. -- CORE-1658: Enable in-memory caching of records for even faster access to frequently accessed data. -- CORE-1693: Wrap updates in async transactions to ensure ACID-compliant updates. -- CORE-1653: Upgrade to 4.0 rebuilds tables to reflect changes made to index improvements. -- CORE-1753: Removed old `node-lmdb` dependency. -- CORE-1787: Freeze objects returned from queries. -- CORE-1821: Read the `WRITE_ASYNC` setting which enables LMDB nosync. - -**Logging** - -HarperDB has increased logging specificity by breaking out logs based on components logging. There are specific log files each for HarperDB Core, Custom Functions, Hub Server, Leaf Server, and more. - -- CORE-1497: Remove `pino` and `winston` dependencies. -- CORE-1426: All logging is output via `stdout` and `stderr`, our default logging is then picked up by PM2 which handles writing out to file. -- CORE-1431: Improved `read_log` operation validation. -- CORE-1433, CORE-1463: Added log rotation. -- CORE-1553, CORE-1555, CORE-1552, CORE-1554, CORE-1704: Performance gain by only serializing objects and arrays if the log is for the level defined in configuration. -- CORE-1436: Upgrade to 4.0 updates internals for logging changes. -- CORE-1428, CORE-1440, CORE-1442, CORE-1434, CORE-1435, CORE-1439, CORE-1482, CORE-1751, CORE-1752: Bug fixes, performance improvements and improved unit tests. -- CORE-1691: Convert non-PM2 managed log file writes to use Node.js `fs.appendFileSync` function. - -**Configuration** - -HarperDB has updated its configuration from a properties file to YAML. - -- CORE-1448, CORE-1449, CORE-1519, CORE-1587: Upgrade automatically converts the pre-existing settings file to YAML. -- CORE-1445, CORE-1534, CORE-1444, CORE-1858: Build out new logic to create, update, and interpret the YAML configuration file. -- Installer has updated prompts to reflect YAML settings. -- CORE-1447: Create an alias for the `configure_cluster` operation as `set_configuration`. -- CORE-1461, CORE-1462, CORE-1483: Unit test improvements. -- CORE-1492: Improvements to get_configuration and set_configuration operations. -- CORE-1503: Modify HarperDB configuration for more granular certificate definition. -- CORE-1591: Update `routes` IP param to `host` and to `leaf` config in `harperdb.conf` -- CORE-1519: Fix issue when switching between old and new versions of HarperDB we are getting the config parameter is undefined error on npm install. - -**Broad NodeJS and Platform Support** - -- CORE-1624: HarperDB can now run on multiple versions of NodeJS, from v14 to v19. We primarily test on v18, so that is the preferred version. - -**Windows 10 and 11** - -- CORE-1088: HarperDB now runs natively on Windows 10 and 11 without the need to run in a container or installed in WSL. Windows is only intended for evaluation and development purposes, not for production work loads. - -**Extra Changes and Bug Fixes** - -- CORE-1520: Refactor installer to remove all waterfall code and update to use Promises. -- CORE-1573: Stop the PM2 daemon and any logging processes when stopping hdb. -- CORE-1586: When HarperDB is running in foreground stop any additional logging processes from being spawned. -- CORE-1626: Update docker file to accommodate new `harperdb.conf` file. -- CORE-1592, CORE-1526, CORE-1660, CORE-1646, CORE-1640, CORE-1689, CORE-1711, CORE-1601, CORE-1726, CORE-1728, CORE-1736, CORE-1735, CORE-1745, CORE-1729, CORE-1748, CORE-1644, CORE-1750, CORE-1757, CORE-1727, CORE-1740, CORE-1730, CORE-1777, CORE-1778, CORE-1782, CORE-1775, CORE-1771, CORE-1774, CORE-1759, CORE-1772, CORE-1861, CORE-1862, CORE-1863, CORE-1870, CORE-1869:Changes for CI/CD pipeline and integration tests. -- CORE-1661: Fixed issue where old boot properties file caused an error when attempting to install 4.0.0. -- CORE-1697, CORE-1814, CORE-1855: Upgrade fastify dependency to new major version 4. -- CORE-1629: Jobs are now running as processes managed by the PM2 daemon. -- CORE-1733: Update LICENSE to reflect our EULA on our site. -- CORE-1606: Enable Custom Functions by default. -- CORE-1714: Include pre-built binaries for most common platforms (darwin-arm64, darwin-x64, linux-arm64, linux-x64, win32-x64). -- CORE-1628: Fix issue where setting license through environment variable not working. -- CORE-1602, CORE-1760, CORE-1838, CORE-1839, CORE-1847, CORE-1773: HarperDB Docker container improvements. -- CORE-1706: Add support for encoding HTTP responses with MessagePack. -- CORE-1709: Improve the way lmdb.js dependencies are installed. -- CORE-1758: Remove/update unnecessary HTTP headers. -- CORE-1756: On `npm install` and `harperdb install` change the node version check from an error to a warning if the installed Node.js version does not match our preferred version. -- CORE-1791: Optimizations to authenticated user caching. -- CORE-1794: Update README to discuss Windows support & Node.js versions -- CORE-1837: Fix issue where Custom Function directory was not being created on install. -- CORE-1742: Add more validation to audit log - check schema/table exists and log is enabled. -- CORE-1768: Fix issue where when running in foreground HarperDB process is not stopping on `harperdb stop`. -- CORE-1864: Fix to semver checks on upgrade. -- CORE-1850: Fix issue where a `cluster_user` type role could not be altered. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.1.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.1.md deleted file mode 100644 index 2a85f511..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.0.1 -sidebar_position: 59998 ---- - -### HarperDB 4.0.1, Tucker Release - -01/20/2023 - -**Bug Fixes** - -- CORE-1992 Local studio was not loading because the path got mangled in the build. -- CORE-2001 Fixed deploy_custom_function_project after node update broke it. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.2.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.2.md deleted file mode 100644 index bedbd970..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.0.2 -sidebar_position: 59997 ---- - -### HarperDB 4.0.2, Tucker Release - -01/24/2023 - -**Bug Fixes** - -- CORE-2003 Fix bug where if machine had one core thread config would default to zero. -- Update to lmdb 2.7.3 and msgpackr 1.7.0 diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.3.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.3.md deleted file mode 100644 index ad1cbf8a..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.3 -sidebar_position: 59996 ---- - -### HarperDB 4.0.3, Tucker Release - -01/26/2023 - -**Bug Fixes** - -- CORE-2007 Add update nodes 4.0.0 launch script to build script to fix clustering upgrade. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.4.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.4.md deleted file mode 100644 index 3f052465..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.4 -sidebar_position: 59995 ---- - -### HarperDB 4.0.4, Tucker Release - -01/27/2023 - -**Bug Fixes** - -- CORE-2009 Fixed bug where add node was not being called when upgrading clustering. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.5.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.5.md deleted file mode 100644 index 1696d6d4..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.5.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.0.5 -sidebar_position: 59994 ---- - -### HarperDB 4.0.5, Tucker Release - -02/15/2023 - -**Bug Fixes** - -- CORE-2029 Improved the upgrade process for handling existing user TLS certificates and correctly configuring TLS settings. Added a prompt to upgrade to determine if new certificates should be created or existing certificates should be kept/used. -- Fix the way NATS connections are honored in a local environment. -- Do not define the certificate authority path to NATS if it is not defined in the HarperDB config. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.6.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.6.md deleted file mode 100644 index 1cdc1bd7..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.6.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.6 -sidebar_position: 59993 ---- - -### HarperDB 4.0.6, Tucker Release - -03/09/2023 - -**Bug Fixes** - -- Fixed a data serialization error that occurs when a large number of different record structures are persisted in a single table. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.7.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.7.md deleted file mode 100644 index c4d1fbbf..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.0.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.7 -sidebar_position: 59992 ---- - -### HarperDB 4.0.7, Tucker Release - -03/10/2023 - -**Bug Fixes** - -- Update lmdb.js dependency diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.1.0.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.1.0.md deleted file mode 100644 index d8b1d8b4..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.1.0.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: 4.1.0 -sidebar_position: 59899 ---- - -# 4.1.0 - -HarperDB 4.1 introduces the ability to use worker threads for concurrently handling HTTP requests. Previously this was handled by processes. This shift provides important benefits in terms of better control of traffic delegation with support for optimized load tracking and session affinity, better debuggability, and reduced memory footprint. - -This means debugging will be much easier for custom functions. If you install/run HarperDB locally, most modern IDEs like WebStorm and VSCode support worker thread debugging, so you can start HarperDB in your IDE, and set breakpoints in your custom functions and debug them. - -The associated routing functionality now includes session affinity support. This can be used to consistently route users to the same thread which can improve caching locality, performance, and fairness. This can be enabled in with the [`http.sessionAffinity` option in your configuration](../../../deployments/configuration#http). - -HarperDB 4.1's NoSQL query handling has been revamped to consistently use iterators, which provide an extremely memory efficient mechanism for directly streaming query results to the network _as_ the query results are computed. This results in faster Time to First Byte (TTFB) (only the first record/value in a query needs to be computed before data can start to be sent), and less memory usage during querying (the entire query result does not need to be stored in memory). These iterators are also available in query results for custom functions and can provide means for custom function code to iteratively access data from the database without loading entire results. This should be a completely transparent upgrade, all HTTP APIs function the same, with the one exception that custom functions need to be aware that they can't access query results by `[index]` (they should use array methods or for-in loops to handle query results). - -4.1 includes configuration options for specifying the location of database storage files. This allows you to specifically locate database directories and files on different volumes for better flexibility and utilization of disks and storage volumes. See the [storage configuration](../../../../deployments/configuration#storage) and [schemas configuration](../../../../deployments/configuration#schemas) for information on how to configure these locations. - -Logging has been revamped and condensed into one `hdb.log` file. See [logginglogging for more information. - -A new operation called `cluster_network` was added, this operation will ping the cluster and return a list of enmeshed nodes. - -Custom Functions will no longer automatically load static file routes, instead the `@fastify/static` plugin will need to be registered with the Custom Function server. See [Host A Static Web UI-static](https://docs.harperdb.io/docs/v/4.1/custom-functions/host-static). - -Updates to S3 import and export mean that these operations now require the bucket `region` in the request. Also, if referencing a nested object it should be done in the `key` parameter. See examples [here](../../../developers/operations-api/bulk-operations#import-from-s3). - -Due to the AWS SDK v2 reaching end of life support we have updated to v3. This has caused some breaking changes in our operations `import_from_s3` and `export_to_s3`: - -- A new attribute `region` will need to be supplied -- The `bucket` attribute can no longer have trailing slashes. Slashes will now need to be in the `key`. - -Starting HarperDB without any command (just `harperdb`) now runs HarperDB like a standard process, in the foreground. This means you can use standard unix tooling for interacting with the process and is conducive for running HarperDB with systemd or any other process management tool. If you wish to have HarperDB launch itself in separate background process (and immediately terminate the shell process), you can do so by running `harperdb start`. - -Internal Tickets completed: - -- CORE-609 - Ensure that attribute names are always added to global schema as Strings -- CORE-1549 - Remove fastify-static code from Custom Functions server which auto serves content from "static" folder -- CORE-1655 - Iterator based queries -- CORE-1764 - Fix issue where describe_all operation returns an empty object for non super-users if schema(s) do not yet have table(s) -- CORE-1854 - Switch to using worker threads instead of processes for handling concurrency -- CORE-1877 - Extend the csv_url_load operation to allow for additional headers to be passed to the remote server when the csv is being downloaded -- CORE-1893 - Add last updated timestamp to describe operations -- CORE-1896 - Fix issue where Select \* from system.hdb_info returns wrong HDB version number after Instance Upgrade -- CORE-1904 - Fix issue when executing GEOJSON query in SQL -- CORE-1905 - Add HarperDB YAML configuration setting which defines the storage location of NATS streams -- CORE-1906 - Add HarperDB YAML configuration setting defining the storage location of tables. -- CORE-1655 - Streaming binary format serialization -- CORE-1943 - Add configuration option to set mount point for audit tables -- CORE-1921 - Update NATS transaction lifecycle to handle message deduplication in work queue streams. -- CORE-1963 - Update logging for better readability, reduced duplication, and request context information. -- CORE-1968 - In server\nats\natsIngestService.js remove the js_msg.working(); line to improve performance. -- CORE-1976 - Fix error when calling describe_table operation with no schema or table defined in payload. -- CORE-1983 - Fix issue where create_attribute operation does not validate request for required attributes -- CORE-2015 - Remove PM2 logs that get logged in console when starting HDB -- CORE-2048 - systemd script for 4.1 -- CORE-2052 - Include thread information in system_information for visibility of threads -- CORE-2061 - Add a better error msg when clustering is enabled without a cluster user set -- CORE-2068 - Create new log rotate logic since pm2 log-rotate no longer used -- CORE-2072 - Update to Node 18.15.0 -- CORE-2090 - Upgrade Testing from v4.0.x and v3.x to v4.1. -- CORE-2091 - Run the performance tests -- CORE-2092 - Allow for automatic patch version updates of certain packages -- CORE-2109 - Add verify option to clustering TLS configuration -- CORE-2111 - Update AWS SDK to v3 diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.1.1.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.1.1.md deleted file mode 100644 index 54163b63..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.1.1.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.1.1 -sidebar_position: 59898 ---- - -# 4.1.1 - -06/16/2023 - -- HarperDB uses improved logic for determining default heap limits and thread counts. When running in a restricted container and on NodeJS 18.15+, HarperDB will use the constrained memory limit to determine heap limits for each thread. In more memory constrained servers with many CPU cores, a reduced default thread count will be used to ensure that excessive memory is not used by many workers. You may still define your own thread count (with `http`/`threads`) in the [configuration](../../../deployments/configuration). -- An option has been added for [disabling the republishing NATS messages](../../../deployments/configuration), which can provide improved replication performance in a fully connected network. -- Improvements to our OpenShift container. -- Dependency security updates. -- **Bug Fixes** -- Fixed a bug in reporting database metrics in the `system_information` operation. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.1.2.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.1.2.md deleted file mode 100644 index fc5e16f4..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.1.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.1.2 -sidebar_position: 59897 ---- - -### HarperDB 4.1.2, Tucker Release - -06/16/2023 - -- HarperDB has updated binary dependencies to support older glibc versions back 2.17. -- A new CLI command was added to get the current status of whether HarperDB is running and the cluster status. This is available with `harperdb status`. -- Improvements to our OpenShift container. -- Dependency security updates. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.0.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.0.md deleted file mode 100644 index 265ad57d..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.0.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: 4.2.0 -sidebar_position: 59799 ---- - -# 4.2.0 - -#### HarperDB 4.2.0 - -HarperDB 4.2 introduces a new interface to accessing our core database engine with faster access, well-typed idiomatic JavaScript interfaces, ergonomic object mapping, and real-time data subscriptions. 4.2 also had adopted a new component architecture for building extensions to deliver customized external data sources, authentication, file handlers, content types, and more. These architectural upgrades lead to several key new HarperDB capabilities including a new REST interface, advanced caching, real-time messaging and publish/subscribe functionality through MQTT, WebSockets, and Server-Sent Events. - -4.2 also introduces configurable database schemas, using GraphQL Schema syntax. The new component structure is also configuration-driven, providing easy, low-code paths to building applications. [Check out our new getting starting guide](../../../getting-started) to see how easy it is to get started with HarperDB apps. - -### Resource API - -The [Resource API](../../reference/resource) is the new interface for accessing data in HarperDB. It utilizes a uniform interface for accessing data in HarperDB database/tables and is designed to easily be implemented or extended for defining customized application logic for table access or defining custom external data sources. This API has support for connecting resources together for caching and delivering data change and message notifications in real-time. The [Resource API documentation details this interface](../../reference/resource). - -### Component Architecture - -HarperDB's custom functions have evolved towards a [full component architecture](../../../developers/components); our internal functionality is defined as components, and this can be used in a modular way in conjunction with user components. These can all easily be configured and loaded through configuration files, and there is now a [well-defined interface for creating your own components. Components can easily be deployed/installed into HarperDB using [NPM and Github references as well. - -### Configurable Database Schemas - -HarperDB applications or components support [schema definitions using GraphQL schema syntax](../../../../developers/applications/defining-schemas). This makes it easy to define your table and attribute structure and gives you control over which attributes should be indexed and what types they should be. With schemas in configuration, these schemas can be bundled with an application and deployed together with application code. - -### REST Interface - -HarperDB 4.2 introduces a new REST interface for accessing data through best-practice HTTP APIs using intuitive paths and standards-based methods and headers that directly map to our Resource API. This new interface provides fast and easy access to data via queries through GET requests, modifications of data through PUTs, customized actions through POSTs and more. With standards-based header support built-in, this works seamlessly with external caches (including browser caches) for accelerated performance and reduced network transfers. - -### Real-Time - -HarperDB 4.2 now provides standard interfaces for subscribing to data changes and receiving notifications of changes and messages in real-time. Using these new real-time messaging capabilities with structured data provides a powerful integrated platform for both database style data updates and querying along with message delivery. [Real-time messaging](../../../../developers/real-time) of data is available through several protocols: - -#### MQTT - -4.2 now includes MQTT support which is a publish and subscribe messaging protocol, designed for efficiency (designed to be efficient enough for even small Internet of Things devices). This allows clients to connect to HarperDB and publish messages through our data center and subscribe to messages and data for real-time delivery. 4.2 implements support for QoS 0 and 1, along with durable sessions. - -#### WebSockets - -HarperDB now also supports WebSockets. This can be used as a transport for MQTT or as a connection for custom connection handling. - -#### Server-Sent Events - -HarperDB also includes support for Server-Sent Events. This is a very easy-to-use browser API that allows web sites/applications to connect to HarperDB and subscribe to data changes with minimal effort over standard HTTP. - -### Database Structure - -HarperDB databases contain a collection of tables, and these tables are now contained in a single transactionally-consistent database file. This means reads and writes can be performed transactionally and atomically across tables (as long as they are in the same database). Multi-table transactions are replicated as single atomic transactions as well. Audit logs are also maintained in the same database with atomic consistency as well. - -Databases are now entirely encapsulated in a file, which means they can be moved/copied to another database without requiring any separate metadata updates in the system tables. - -### Clone Node - -HarperDB includes new functionality for adding new HarperDB nodes in a cluster. New instances can be configured to clone from a leader node, performing and copying a database snapshot from a leader node, and self-configuring from the leader node as well, to facilitate accelerated deployment of new nodes for fast horizontal scaling to meet demand needs. [See the documentation on Clone Node for more information.](../../../../administration/cloning) - -### Operations API terminology updates - -Any operation that used the `schema` property was updated to make this property optional and alternately support `database` as the property for specifying the database (formerly 'schema'). If both `schema` and `database` are absent, operation defaults to using the `data` database. Term 'primary key' now used in place of 'hash'. noSQL operation `search_by_hash` updated to `search_by_id`. - -Support was added for defining a table with `primary_key` instead of `hash_attribute`. - -## Configuration - -There have been significant changes to `harperdb-config.yaml`, however none of these changes should affect pre-4.2 versions. If you upgrade to 4.2 any existing configuration should be backwards compatible and will not need to be updated. - -`harperdb-config.yaml` has had some configuration values added, removed, renamed and defaults changed. Please refer to [harperdb-config.yaml](../../../deployments/configuration) for the most current configuration parameters. - -- The `http` element has been expanded. - - `compressionThreshold` was added. - - All `customFunction` configuration now lives here, except for the `tls` section. -- `threads` has moved out of the `http` element and now is its own top level element. -- `authentication` section was moved out of the `operationsApi` section and is now its own top level element/section. -- `analytics.aggregatePeriod` was added. -- Default logging level was changed to `warn`. -- Default clustering log level was changed to `info`. -- `clustering.republishMessages` now defaults to `false`. -- `operationsApi.foreground` was removed. To start HarperDB in the foreground, from the CLI run `harperdb`. -- Made `operationsApi` configuration optional. Any config not defined here will default to the `http` section. -- Added a `securePort` parameter to `operationsApi` and `http` used for setting the https port. -- Added a new top level `tls` section. -- Removed `customFunctions.enabled`, `customFunctions.network.https`, `operationsApi.network.https` and `operationsApi.nodeEnv`. -- Added an element called `componentRoot` which replaces `customFunctions.root`. -- Updated custom pathing to use `databases` instead of `schemas`. -- Added `logging.auditAuthEvents.logFailed` and `logging.auditAuthEvents.logSuccessful` for enabling logging of auth events. -- A new `mqtt` section was added. - -### Socket Management - -HarperDB now uses socket sharing to distribute incoming connections to different threads (`SO_REUSEPORT`). This is considered to be the most performant mechanism available for multi-threaded socket handling. This does mean that we have deprecated session-affinity based socket delegation. - -HarperDB now also supports more flexible port configurations: application endpoints and WebSockets run on 9926 by default, but these can be separated, or application endpoints can be configured to run on the same port as the operations API for a single port configuration. - -### Sessions - -HarperDB now supports cookie-based sessions for authentication for web clients. This can be used with the standard authentication mechanisms to login, and then cookies can be used to preserve the authenticated session. This is generally a more secure way of maintaining authentication in browsers, without having to rely on storing credentials. - -### Dev Mode - -HarperDB can now directly run a HarperDB application from any location using `harperdb run /path/to/app` or `harperdb dev /path/to/app`. The latter starts in dev mode, with logging directly to the console, debugging enabled, and auto-restarting with any changes in your application files. Dev mode is recommended for local application and component development. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.1.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.1.md deleted file mode 100644 index c792a637..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.1.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.2.1 -sidebar_position: 59798 ---- - -### HarperDB 4.2.1, Tucker Release - -11/3/2023 - -- Downgrade NATS 2.10.3 back to 2.10.1 due to regression in connection handling. -- Handle package names with underscores. -- Improved validation of queries and comparators -- Avoid double replication on transactions with multiple commits -- Added file metadata on get_component_file diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.2.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.2.md deleted file mode 100644 index 9cfa957e..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.2.2 -sidebar_position: 59797 ---- - -### HarperDB 4.2.2, Tucker Release - -11/8/2023 - -- Increase timeouts for NATS connections. -- Fix for database snapshots for backups (and for clone node). -- Fix application of permissions for default tables exposed through REST. -- Log replication failures with record information. -- Fix application of authorization/permissions for MQTT commands. -- Fix copying of local components in clone node. -- Fix calculation of overlapping start time in clone node. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.3.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.3.md deleted file mode 100644 index edecd686..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.3.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.2.3 -sidebar_position: 59796 ---- - -### HarperDB 4.2.3, Tucker Release - -11/15/2023 - -- When setting setting securePort, disable unsecure port setting on same port -- Fix `harperdb status` when pid file is missing -- Fix/include missing icons/fonts from local studio -- Fix crash that can occur when concurrently accessing records > 16KB -- Apply a lower heap limit to better ensure that memory leaks are quickly caught/mitigated diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.4.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.4.md deleted file mode 100644 index 14d268b5..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.4.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.2.4 -sidebar_position: 59795 ---- - -### HarperDB 4.2.4, Tucker Release - -11/16/2023 - -- Prevent coercion of strings to numbers in SQL queries (in WHERE clause) -- Address fastify deprecation warning about accessing config diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.5.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.5.md deleted file mode 100644 index 1b6bf143..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.5.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.2.5 -sidebar_position: 59794 ---- - -### HarperDB 4.2.5, Tucker Release - -11/22/2023 - -- Disable compression on server-sent events to ensure messages are immediately sent (not queued for later deliver) -- Update geoNear function to tolerate null values -- lmdb-js fix to ensure prefetched keys are pinned in memory until retrieved -- Add header to indicate start of a new authenticated session (for studio to identify authenticated sessions) diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.6.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.6.md deleted file mode 100644 index 50abde53..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.6.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.2.6 -sidebar_position: 59793 ---- - -### HarperDB 4.2.6, Tucker Release - -11/29/2023 - -- Update various geo SQL functions to tolerate invalid values -- Properly report component installation/load errors in `get_components` (for studio to load components after an installation failure) diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.7.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.7.md deleted file mode 100644 index 5d75e134..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.2.7 -sidebar_position: 59792 ---- - -### HarperDB 4.2.7 - -12/6/2023 - -- Add support for cloning over the top of an existing HarperDB instance -- Add health checks for NATS consumer with ability to restart consumer loops for better resiliency -- Revert Fastify autoload module due to a regression that had caused EcmaScript modules for Fastify route modules to fail to load on Windows diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.8.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.8.md deleted file mode 100644 index 21127797..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.2.8.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.2.8 -sidebar_position: 59791 ---- - -### HarperDB 4.2.8 - -12/19/2023 - -- Added support CLI command line arguments for clone node -- Added support for cloning a node without enabling clustering -- Clear NATS client cache on closed event -- Fix check for attribute permissions so that an empty attribute permissions array is treated as a table level permission definition -- Improve speed of cross-node health checks -- Fix for using `database` in describe operations diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.0.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.0.md deleted file mode 100644 index 6b8db941..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.0.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: 4.3.0 -sidebar_position: 59699 ---- - -# 4.3.0 - -#### HarperDB 4.3.0, Tucker Release - -3/19/2024 - -#### Relationships and Joins - -HarperDB now supports defining relationships between tables. These relationships can be defined as one-to-many, many-to-one, or many-to-many, and use a foreign key to record the relationship between records from different tables. An example of how to use this to define a many-to-one and one-to-many relationships between a product and brand table: - -```graphql -type Product @table { - id: ID @primaryKey - name: String @indexed - # foreign key used to reference a brand - brandId: ID @indexed - # many-to-one relationship to brand - brand: Related @relation(from: "brandId") -} -type Brand @table { - id: ID @primaryKey - name: String @indexed - # one-to-many relationship of brand to products of that brand - products: Product @relation(to: "brandId") -} -``` - -This relationships model can be used in queries and selects, which will automatically "join" the data from the tables. For example, you could search for products by brand name: - -```http -/Product?brand.name=Microsoft -``` - -HarperDB also now supports querying with a sort order. Multiple sort orders can be provided breaking ties. Nested select have also been added, which also utilizes joins when related records are referenced. For example: - -```http -/Product?brand.name=Microsoft&sort(price)&select(name,brand{name,size}) -``` - -See the [schema definition documentation](../../../../developers/applications/defining-schemas) for more information on defining relationships, and the [REST documentation for more information on queries](../../../../developers/rest). - -#### OpenAPI Specification - -A new default endpoint `GET /openapi` was added for describing endpoints configured through a GraphQL schema. - -#### Query Optimizations - -HarperDB has also made numerous improvements to query planning and execution for high performance query results with a broader range of queries. - -#### Indexing Nulls - -New tables and indexes now support indexing null values, enabling queries by null (as well as queries for non-null values). For example, you can query by nulls with the REST interface: - -```http -GET /Table/?attribute=null -``` - -Note, that existing indexes will remain without null value indexing, and can only support indexing/querying by nulls if they are rebuilt (removed and re-added). - -#### CLI Expansion - -The HarperDB now supports an expansive set of commands that execute operations from the operations API. For example, you can list users from the command line: - -```bash -harperdb list_users -``` - -#### BigInt Support - -HarperDB now supports `BigInt` attributes/values with integers (with full precision) up to 1000 bits (or 10^301). These can be used as primary keys or standard attributes, and can be used in queries or other operations. Within JSON documents, you can simply use standard JSON integer numbers with up to 300 digits, and large BigInt integers will be returned as standard JSON numbers. - -#### Local Studio Upgrade - -HarperDB has upgraded the local studio to match the same version that is offered on [https://studio.harperdb.io](https://studio.harperdb.io). The local studio now has the full robust feature set of the online version. - -### MQTT - -#### mTLS Support - -HarperDB now supports mTLS based authentication for HTTP, WebSockets, and MQTT. See the [configuration documentation for more information](../../../deployments/configuration). - -#### Single-Level Wildcards - -HarperDB's MQTT service now supports single-level wildcards (`+`), which facilitates a great range of subscriptions. - -#### Retain handling - -HarperDB's MQTT now supports the retain handling flags for subscriptions that are made using MQTT v5. - -#### CRDT - -HarperDB now supports basic conflict-free data type (CRDT) updates that allow properties to be individually updated and merged when separate properties are updated on different threads or nodes. Individual property CRDT updates are automatically performed when you update individual properties through the resource API. Individual property CRDT updates are used when making `PATCH` requests through the REST API. - -The CRDT functionality also supports explicit incrementation to merge multiple parallel incrementation requests with proper summing. See the [Resource API for more information](../../reference/resource). - -#### Configuration Improvements - -The configuration has improved support for detecting port conflicts, handling paths for fastify routes, and now includes support for specifying a heap limit and TLS ciphers. See the [configuration documentation for more information](../../../deployments/configuration). - -#### Balanced Audit Log Cleanup - -Audit log cleanup has been improved to reduce resource consumption during scheduled cleanups. - -#### `export_*` support for `search_by_conditions` - -The `export_local` and `export_to_s3` operations now support `search_by_conditions` as one of the allowed search operators. - -### Storage Performance Improvements - -Significant improvements were made to handling of free-space to decrease free-space fragmentation and improve performance of reusing free-space for new data. This includes prioritizing reuse of recently released free-space for more better memory/caching utilization. - -#### Compact Database - -In addition to storage improvements, HarperDB now includes functionality for [compacting a database](../../../deployments/harper-cli) (while offline), which can be used to eliminate all free-space to reset any fragmentation. - -#### Compression - -Compression is now enabled by default for all records over 4KB. - -To learn more on how to configure compression visit [configuration](https://docs.harperdb.io/docs/v/4.3/deployments/configuration). diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.1.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.1.md deleted file mode 100644 index 870968bd..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.1.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.1 -sidebar_position: 59698 ---- - -### HarperDB 4.3.1 - -3/25/2024 - -- Fix Fastify warning about responseTime usage -- Add access to the MQTT topic in the context -- Fix for ensuring local NATS streams are created diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.10.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.10.md deleted file mode 100644 index 7badf0cc..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.10.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.3.10 -sidebar_position: 59689 ---- - -### HarperDB 4.3.10 - -5/5/2024 - -- Provide a `data` property on the request/context with deserialized data from the request body for any request including methods that don't typically have a request body -- Ensure that CRDTs are not double applied after committing a transaction -- Delete MQTT will after publishing even if it fails to publish -- Improve transaction retry logic to use async non-optimistic transactions after multiple retries diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.11.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.11.md deleted file mode 100644 index 82b47381..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.11.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.11 -sidebar_position: 59688 ---- - -### HarperDB 4.3.11 - -5/15/2024 - -- Add support for multiple certificates with SNI-based selection of certificates for HTTPS/TLS -- Fix warning in Node v22 diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.12.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.12.md deleted file mode 100644 index 3f016e25..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.12.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.12 -sidebar_position: 59687 ---- - -### HarperDB 4.3.12 - -5/16/2024 - -- Fix for handling ciphers in multiple certificates -- Allow each certificate config to have multiple hostnames diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.13.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.13.md deleted file mode 100644 index e7833e0a..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.13.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.13 -sidebar_position: 59686 ---- - -### HarperDB 4.3.13 - -5/22/2024 - -- Fix for handling HTTPS/TLS with IP address targets (no hostname) where SNI is not available -- Fix for memory leak when a node is down and consumers are trying to reconnect -- Faster cross-thread notification mechanism for transaction events diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.14.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.14.md deleted file mode 100644 index 0bf4e9c8..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.14.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.14 -sidebar_position: 59685 ---- - -### HarperDB 4.3.14 - -5/24/2024 - -- Fix application of ciphers to multi-certificate TLS configuration diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.15.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.15.md deleted file mode 100644 index 48321fb6..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.15.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.15 -sidebar_position: 59684 ---- - -### HarperDB 4.3.15 - -5/29/2024 - -- Add support for wildcards in hostnames for SNI -- Properly apply ciphers settings on multiple TLS configurations diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.16.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.16.md deleted file mode 100644 index 195e27b7..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.16.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.16 -sidebar_position: 59683 ---- - -### HarperDB 4.3.16 - -6/3/2024 - -- Properly shim legacy TLS configuration with new multi-certificate support -- Show the changed filenames when an application is reloaded diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.17.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.17.md deleted file mode 100644 index 27a0f4cb..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.17.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.3.17 -sidebar_position: 59682 ---- - -### HarperDB 4.3.17 - -6/13/2024 - -- Add MQTT analytics of incoming messages and separate by QoS level -- Ensure that any installed `harperdb` package in components is relinked to running harperdb. -- Upgrade storage to more efficiently avoid storage increases -- Fix to improve database metrics in system_information -- Fix for pathing on Windows with extension modules -- Add ability to define a range of listening threads diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.18.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.18.md deleted file mode 100644 index 052b3821..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.18.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.18 -sidebar_position: 59681 ---- - -### HarperDB 4.3.18 - -6/18/2024 - -- Immediately terminate an MQTT connection when there is a keep-alive timeout. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.19.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.19.md deleted file mode 100644 index 2676c9f6..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.19.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.19 -sidebar_position: 59680 ---- - -### HarperDB 4.3.19 - -7/2/2024 - -- Properly return records for the existing value for subscriptions used for retained messages, so they are correctly serialized. -- Ensure that deploy components empty the target directory for a clean installation and expansion of a `package` sub-directory. -- Ensure that we do not double load components that are referenced by symlink from node_modules and in components directory. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.2.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.2.md deleted file mode 100644 index ca273c5e..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.3.2 -sidebar_position: 59697 ---- - -### HarperDB 4.3.2 - -3/29/2024 - -- Clone node updates to individually clone missing parts -- Fixes for publishing OpenShift container -- Increase purge stream timeout -- Fixed declaration of analytics schema so queries work before a restart -- Fix for iterating queries when deleted records exist -- LMDB stability upgrade -- Fix for cleanup of last will in MQTT diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.20.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.20.md deleted file mode 100644 index d090990b..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.20.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: 4.3.20 -sidebar_position: 59679 ---- - -### HarperDB 4.3.20 - -7/11/2024 - -- The restart_service operation is now executed as a job, making it possible to track the progress of a restart (which is performed as a rolling restart of threads) -- Disable Nagle's algorithm for TCP connections to improve performance -- Append Server-Timing header if a fastify route has already added one -- Avoid symlinking the harperdb directory to itself -- Fix for deleting an empty database -- Upgrade ws and pm2 packages for security vulnerabilities -- Improved TypeScript definitions for Resource and Context. -- The context of a source can set `noCacheStore` to avoid caching the results of a retrieval from source -- Better error reporting of MQTT parsing errors and termination of connections for compliance diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.21.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.21.md deleted file mode 100644 index 7afefd12..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.21.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.21 -sidebar_position: 59678 ---- - -### HarperDB 4.3.21 - -8/21/2024 - -- Fixed an issue with iterating/serializing query results with a `limit`. -- Fixed an issue that was preventing the caching of structured records in memory. -- Fixed and added several TypeScript exported types including `tables`, `databases`, `Query`, and `Context`. -- Fixed logging warnings about license limits after a license is updated. -- Don't register a certificate as the default certificate for non-SNI connections unless it lists an IP address in the SAN field. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.22.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.22.md deleted file mode 100644 index a4bc2003..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.22.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.3.22 -sidebar_position: 59677 ---- - -### HarperDB 4.3.22 - -9/6/2024 - -- Adding improved back-pressure handling for large subscriptions and backlogs with durable MQTT sessions -- Allow .extension in URL paths to indicate both preferred encoding and decoding -- Added support for multi-part ids in query parameters -- Limit describe calls by time before using statistical sampling -- Proper cleanup of a transaction when it is aborted due to running out of available read transactions -- Updates to release/builds diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.23.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.23.md deleted file mode 100644 index 7496c1d1..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.23.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.23 -sidebar_position: 59676 ---- - -### HarperDB 4.3.23 - -9/12/2024 - -- Avoid long-running read transactions on subscription catch-ups -- Reverted change to setting default certificate for IP address only -- Better handling of last-will messages on startup diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.24.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.24.md deleted file mode 100644 index 435c15ec..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.24.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.24 -sidebar_position: 59675 ---- - -### HarperDB 4.3.24 - -9/12/2024 - -- Fix for querying for large strings (over 255 characters) diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.25.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.25.md deleted file mode 100644 index 601d9ec0..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.25.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.3.25 -sidebar_position: 59674 ---- - -### HarperDB 4.3.25 - -9/24/2024 - -- Add analytics for replication latency -- Fix iteration issue over asynchronous joined queries -- Local studio fix for loading applications in insecure context (HTTP) -- Local studio fix for loading configuration tab diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.26.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.26.md deleted file mode 100644 index c0dacf54..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.26.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.26 -sidebar_position: 59673 ---- - -### HarperDB 4.3.26 - -9/27/2024 - -- Fixed a security issue that allowed users to bypass access controls with the operations API -- Previously expiration handling was limited to tables with a source, but now it can be applied to any table diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.27.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.27.md deleted file mode 100644 index 0bbd448a..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.27.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.27 -sidebar_position: 59672 ---- - -### HarperDB 4.3.27 - -10/2/2024 - -- Fixed handling HTTP upgrade with Connection header that does not use Upgrade as the sole value (for Firefox) -- Added metrics for requests by status code -- Properly remove attributes from the stored metadata when removed from GraphQL schema -- Fixed a regression in clustering retrieval of schema description -- Fix attribute validation/handling to ensure that sequential ids can be assigned with insert/upsert operations diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.28.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.28.md deleted file mode 100644 index 361d416d..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.28.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.28 -sidebar_position: 59671 ---- - -### HarperDB 4.3.28 - -10/3/2024 - -- Tolerate user with no role when building NATS config -- Change metrics for requests by status code to be prefixed with "response\_" -- Log error `cause`, and other properties, when available. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.29.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.29.md deleted file mode 100644 index 5537df8b..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.29.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 4.3.29 -sidebar_position: 59670 ---- - -### HarperDB 4.3.29 - -10/7/2024 - -- Avoid unnecessary cookie session creation without explicit login -- Added support for caching directives in operations API -- Fixed issue with creating metadata for table with no primary key -- Local studio upgrade: - - Added support for "cache only" mode to view table data without origin resolution - - Added partial support for cookie-based authentication - - Added support for browsing tables with no primary key - - Improved performance for sorting tables diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.3.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.3.md deleted file mode 100644 index 38175dda..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.3 -sidebar_position: 59696 ---- - -### HarperDB 4.3.3 - -4/01/2024 - -- Improve MQTT logging by properly logging auth failures, logging disconnections diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.30.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.30.md deleted file mode 100644 index e005db97..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.30.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.30 -sidebar_position: 59669 ---- - -### HarperDB 4.3.30 - -10/9/2024 - -- Properly assign transaction timestamp to writes from cache resolutions (ensuring that latencies can be calculated on replicating nodes) diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.31.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.31.md deleted file mode 100644 index 80cab2b9..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.31.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.31 -sidebar_position: 59668 ---- - -### HarperDB 4.3.31 - -10/10/2024 - -- Reset the restart limit for manual restarts to ensure that NATS process will continue to restart after more than 10 manual restarts -- Only apply caching directives (from headers) to tables/resources that are configured to be caching, sourced from another resource -- Catch/tolerate errors on serializing objects for logging diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.32.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.32.md deleted file mode 100644 index 0b5893b4..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.32.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.32 -sidebar_position: 59667 ---- - -### HarperDB 4.3.32 - -10/16/2024 - -- Fix a memory leak when cluster_network closes a hub connection -- Improved MQTT error handling, with less verbose logging of more common errors, and treat a missing subscription as an invalid/missing topic -- Record analytics and server-timing header even when cache resolution fails diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.33.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.33.md deleted file mode 100644 index 7707a562..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.33.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.33 -sidebar_position: 59666 ---- - -### HarperDB 4.3.33 - -10/24/2024 - -- Change the default maximum length for a fastify route parameter from 100 to 1000 characters. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.34.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.34.md deleted file mode 100644 index 2bd65833..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.34.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.34 -sidebar_position: 59665 ---- - -### HarperDB 4.3.34 - -10/24/2024 - -- lmdb-js upgrade diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.35.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.35.md deleted file mode 100644 index f8dd7b73..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.35.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.35 -sidebar_position: 59664 ---- - -### HarperDB 4.3.35 - -11/12/2024 - -- Upgrades for supporting Node.js V23 -- Fix for handling a change in the schema for nested data structures diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.36.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.36.md deleted file mode 100644 index 2eb8e636..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.36.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.36 -sidebar_position: 59663 ---- - -### HarperDB 4.3.36 - -11/14/2024 - -- lmdb-js upgrade for better free-space management diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.37.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.37.md deleted file mode 100644 index f36e1c32..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.37.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.37 -sidebar_position: 59662 ---- - -### HarperDB 4.3.37 - -12/6/2024 - -- lmdb-js upgrade for preventing crashes with shared user buffers diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.38.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.38.md deleted file mode 100644 index d1fce0f8..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.38.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.38 -sidebar_position: 59661 ---- - -### HarperDB 4.3.38 - -1/10/2025 - -- Fixes for audit log cleanup diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.4.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.4.md deleted file mode 100644 index 0c96732f..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.4.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.4 -sidebar_position: 59695 ---- - -### HarperDB 4.3.4 - -4/9/2024 - -- Fixed a buffer overrun issue with decompressing compressed data -- Better keep-alive of transactions with long running queries diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.5.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.5.md deleted file mode 100644 index 60888785..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.5.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.5 -sidebar_position: 59694 ---- - -### HarperDB 4.3.5 - -4/10/2024 - -- Fixed a buffer overrun issue with decompressing compressed data diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.6.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.6.md deleted file mode 100644 index 54a4739a..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.6.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.6 -sidebar_position: 59693 ---- - -### HarperDB 4.3.6 - -4/12/2024 - -- Fixed parsing of dates from epoch millisecond times in queries -- Fixed CRDT incrementation of different data types -- Adjustments to text/plain content type q-value handling -- Fixed parsing of passwords with a colon -- Added MQTT events for connections, authorization, and disconnections diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.7.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.7.md deleted file mode 100644 index df9fb331..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.7.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.7 -sidebar_position: 59692 ---- - -### HarperDB 4.3.7 - -4/16/2024 - -- Fixed transaction handling to stay on open on long compaction operations -- Fixed handling of sorting on non-indexed attributes -- Storage stability improvements -- Fixed authentication/authorization of WebSockets connection and use of cookies -- Fixes for clone node operations diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.8.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.8.md deleted file mode 100644 index 0e4c5b6c..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.8.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.8 -sidebar_position: 59691 ---- - -### HarperDB 4.3.8 - -4/26/2024 - -- Added support for the MQTT keep-alive feature (disconnecting if no control messages are received within keep-alive window) -- Improved handling of write queue timeouts, with configurability -- Fixed a memory leak that can occur with NATS reconnections after heartbeat misses -- Fixed a bug in clone node with a null port -- Add error events to MQTT events system diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.9.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.9.md deleted file mode 100644 index 17c95934..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.3.9.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.9 -sidebar_position: 59690 ---- - -### HarperDB 4.3.9 - -4/30/2024 - -- lmdb-js upgrade diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.0.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.0.md deleted file mode 100644 index 7e06f7cf..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.0.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: 4.4.0 -sidebar_position: 59599 ---- - -# 4.4.0 - -#### HarperDB 4.4.0 - -10/14/2024 - -### Native Replication - -HarperDB has a completely [new native replication system](../../../developers/replication/) which is faster, more efficient, secure, and reliable than the previous replication system. The new system (codenamed "Plexus") uses direct WebSocket connections between servers with highly optimized encoding and is driven by direct tracking audit/transaction log for efficient and flexible data transfer. This replication has improved resilience with the ability to reach consensus consistency when one node goes down through cross-node catch-up. Network connections can be performed over the existing operations API port or a separate port, for improved configurability. - -The native replication system is much easier to configure, with multiple options for authentication and security, including PKI/mTLS security that is highly robust and easy to use in conjunction with existing PKI certificates. Replication can be configured through explicit subscriptions or for automated replication of all data in a database. With automated replication, gossiping is used to automatically discover and connect to other nodes in the cluster. - -#### Sharding - -The new replication system also includes provisional support for [sharding](../../../developers/replication/sharding). This sharding mechanism paves the way for greater scalability and performance, by allow data to be distributed across multiple nodes. - -#### Replicated Operations - -Certain operations can now be replicated across the cluster, including the deployment and management of components. This allows for a more seamless experience when managing a cluster of HarperDB instances. Restarts can also be "replicated", and if used, will perform a rolling restart of all the nodes in a cluster. - -### Computed Properties - -Computed properties allow applications to define properties that are computed from other properties, allowing for composite properties that are calculated from other data stored in records without requiring actual storage of the computed value. For example, you could have a computed property for a full name based on first and last, or age/duration based on a date. Computed properties are also foundational for custom indexes. See the [schema documentation](../../../../developers/applications/defining-schemas), [Resource API](../../reference/resource), and our blog post on [computed properties](https://www.harperdb.io/development/tutorials/how-to-create-custom-indexes-with-computed-properties) for more information. - -### Custom Indexing - -Custom indexes can now be defined using computed properties to allow for unlimited possibilities of indexing, including composite, full-text indexing, vector indexing. Again, see the [schema documentation](../../../../developers/applications/defining-schemas) for more information. - -### Native Graph Support - -HarperDB now includes provisional support for native [GraphQL querying functionality](../../reference/graphql). This allows for querying of graph data using GraphQL syntax. This is provisional and some APIs may be updated in the future. - -### Dynamic Certificate Management - -Certificates are now stored in system tables and can be dynamically managed. Certificates can be added, replaced, and deleted without restarting HarperDB. This includes both standard certificates and certificate authorities, as well as private keys (private keys are not stored in table, they securely stored in a file). - -#### Status Report on Startup - -On startup, HarperDB will now print out an informative status of all running services and ports they are listening on. - -#### Support for Response object - -Resource methods can now return a `Response` object (or an object with `headers` and `status`) to allow for more control over the response. - -### Auto-incrementing Primary Keys - -Primary keys can now be auto-incrementing, allowing for automatic generation of numeric primary keys on insert/creation. Primary keys defined with `ID` or `String` will continue to use GUIDs for auto-assigned primary keys, which occurs on insert or creation if the primary key is not provided. However, for keys that are defined as `Any`, `Int`, or `Long`, the primary key will be assigned using auto-incrementation. This is significantly more efficient than GUIDs since the key only requires 8 bytes of storage instead of 31 bytes, and doesn't require random number generation. - -#### Developer/Production Mode for Configuration - -When using interactive installation (when configuration is not provided through arguments or env vars), HarperDB now provides an option for developer or production mode with a set of default configuration for each mode better suited for developer or production environments. - -**Export by Protocol** - -Exported resources can be configured to be specifically exported by protocol (REST, MQTT, etc.) for more granular control over what is exported where. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.1.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.1.md deleted file mode 100644 index 5c1e2037..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.1 -sidebar_position: 59598 ---- - -### HarperDB 4.4.1 - -10/17/2024 - -- Fix issue where non-RSA keys were not being parsed correctly on startup. -- Fix a memory leak when cluster_network closes a hub connection -- Improved MQTT error handling, with less verbose logging of more common errors, and treat a missing subscription as an invalid/missing topic -- Record analytics and server-timing header even when cache resolution fails diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.10.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.10.md deleted file mode 100644 index 6d8aad2c..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.10.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.10 -sidebar_position: 59589 ---- - -### HarperDB 4.4.10 - -12/17/2024 - -- Fix for deploying packages and detecting node_modules directory diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.11.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.11.md deleted file mode 100644 index 5e5b5fc0..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.11.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.11 -sidebar_position: 59588 ---- - -### HarperDB 4.4.11 - -12/18/2024 - -- Fix for initial certification creation on upgrade -- Docker build fix diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.12.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.12.md deleted file mode 100644 index 8efe840e..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.12.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.12 -sidebar_position: 59587 ---- - -### HarperDB 4.4.12 - -12/19/2024 - -- Move components installed by reference into hdb/components for consistency and compatibility with next.js -- Use npm install --force to ensure modules are installed diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.13.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.13.md deleted file mode 100644 index cab28cc0..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.13.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.4.13 -sidebar_position: 59586 ---- - -### HarperDB 4.4.13 - -1/2/2025 - -- Fix for not using requestCert if the port doesn't need replication -- Fix for applying timeouts HTTP server for ancient node versions -- Updates for different replication configuration settings, including sharding and replication using stored credentials -- Mitigation crashing due GC'ed shared array buffers -- Fix for error handling with CLI failures -- Updated dependencies -- Fix for allow securePort to be set on authentication diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.14.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.14.md deleted file mode 100644 index b44a173d..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.14.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.14 -sidebar_position: 59585 ---- - -### HarperDB 4.4.14 - -1/3/2025 - -- Fix for starting HTTP server if headersTimeout is omitted in the configuration -- Fix for avoiding ping timeouts for large/long-duration WS messages between nodes -- Don't report errors for component that only uses a directory -- Add flag for disabling WebSocket on REST component diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.15.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.15.md deleted file mode 100644 index b6a8ee2b..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.15.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.15 -sidebar_position: 59584 ---- - -### HarperDB 4.4.15 - -1/8/2025 - -- Fix for manage the state of replication sequences for node -- Fix for better concurrency with ongoing replication -- Fix for accessing audit log entries diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.16.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.16.md deleted file mode 100644 index d85de974..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.16.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.4.16 -sidebar_position: 59583 ---- - -### HarperDB 4.4.16 - -1/22/2025 - -- Fix for cleaning up old audit entries and associated deletion entries -- Allow CLI operations to be run when cloning is enabled -- Report table size in describe operations -- Fix for cleaning up symlinks when dropping components -- Fix for enumerating components when symlinks are used -- Add an option for using a specific installation command with deploys -- Add an API for registering an HTTP upgrade listener with `server.upgrade` diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.17.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.17.md deleted file mode 100644 index 239f7729..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.17.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.17 -sidebar_position: 59582 ---- - -### HarperDB 4.4.17 - -1/29/2025 - -- Provide statistics on the size of the audit log store -- Fix handling of symlinks to HarperDB package that to avoid NPM's errors in restricted containers -- Add option for rolling/consecutive restarts for deployments -- Fix for enabling root CAs for replication authorization diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.18.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.18.md deleted file mode 100644 index e7354587..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.18.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.18 -sidebar_position: 59581 ---- - -### HarperDB 4.4.18 - -1/29/2025 - -- Add option for disabling full table copy in replication -- Add option for startTime in route configuration -- Add/fix option to deploy with package from CLI diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.19.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.19.md deleted file mode 100644 index 5a1cc14e..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.19.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.19 -sidebar_position: 59580 ---- - -### HarperDB 4.4.19 - -2/4/2025 - -- LMDB upgrade for free-list verification on commit -- Add check to avoid compacting database multiple times with compactOnStart -- Fix handling of denied/absent subscription -- Add support for including symlinked directories in packaging a deployed component diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.2.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.2.md deleted file mode 100644 index 53dfbb7b..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.2.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.2 -sidebar_position: 59597 ---- - -### HarperDB 4.4.2 - -10/18/2024 - -- Republish of 4.4.1 with Git merge correction. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.20.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.20.md deleted file mode 100644 index 656de065..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.20.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.20 -sidebar_position: 59579 ---- - -### HarperDB 4.4.20 - -2/11/2025 - -- LMDB upgrade for improved handling of page boundaries with free-space lists diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.21.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.21.md deleted file mode 100644 index c63d84a2..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.21.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.21 -sidebar_position: 59578 ---- - -### HarperDB 4.4.21 - -2/25/2025 - -- Fix for saving audit log entries for large keys (> 1KB) -- Security fix for handling missing passwords -- Skip bin links for NPM installation to avoid access issues diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.22.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.22.md deleted file mode 100644 index d66163f9..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.22.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.22 -sidebar_position: 59577 ---- - -### HarperDB 4.4.22 - -3/5/2025 - -- Add new http configuration option `corsAccessControlAllowHeaders` diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.23.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.23.md deleted file mode 100644 index 9048b3d6..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.23.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.23 -sidebar_position: 59576 ---- - -### HarperDB 4.4.23 - -3/7/2025 - -- Fix for subscriptions to children of segmented id -- Fix for better error reporting on NPM failures diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.24.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.24.md deleted file mode 100644 index 324a2423..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.24.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.24 -sidebar_position: 59575 ---- - -### HarperDB 4.4.24 - -3/10/2025 - -- Use process.exit(0) to restart when enabled by env var -- Reset the cwd on thread restart diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.3.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.3.md deleted file mode 100644 index 4e844820..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.3.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.4.3 -sidebar_position: 59596 ---- - -### HarperDB 4.4.3 - -10/25/2024 - -- Fix for notification of records through classes that override get for multi-tier caching -- Fix for CLI operations -- Support for longer route parameters in Fastify routes -- Fix for accessing `harperdb` package/module from user threads -- Improvements to clone node for cloning without credentials diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.4.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.4.md deleted file mode 100644 index bbf0df8d..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.4 -sidebar_position: 59595 ---- - -### HarperDB 4.4.4 - -11/4/2024 - -- Re-introduce declarative roles and permissions -- Fix for OpenAPI endpoint -- Fix for exports of `harperdb` package/module diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.5.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.5.md deleted file mode 100644 index 448687c6..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.5.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.4.5 -sidebar_position: 59594 ---- - -### HarperDB 4.4.5 - -11/15/2024 - -- Fix for DOS vulnerability in large headers with cache-control and replication headers -- Fix for handling a change in the schema type for sub-fields in a nested object -- Add support for content type handlers to return iterators -- Fix for session management with custom authentication handler -- Updates for Node.js V23 compatibility -- Fix for sorting on nested properties -- Fix for querying on not_equal to a null with object values diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.6.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.6.md deleted file mode 100644 index 4cc0cc86..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.6.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.6 -sidebar_position: 59593 ---- - -### HarperDB 4.4.6 - -11/25/2024 - -- Fix queries with only sorting applied -- Fix for handling invalidation events propagating through sources -- Expanded CLI support for deploying packages -- Support for deploying large packages diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.7.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.7.md deleted file mode 100644 index a4f6041f..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.7.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.7 -sidebar_position: 59592 ---- - -### HarperDB 4.4.7 - -11/27/2024 - -- Allow for package to deploy own modules -- Fix for preventing double sourcing of resources diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.8.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.8.md deleted file mode 100644 index 493736a8..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.8.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.8 -sidebar_position: 59591 ---- - -### HarperDB 4.4.8 - -12/2/2024 - -- Add multiple node versions of published docker containers diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.9.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.9.md deleted file mode 100644 index 077e80cd..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.4.9.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.4.9 -sidebar_position: 59590 ---- - -### HarperDB 4.4.9 - -12/12/2024 - -- Change enableRootCAs to default to true -- Fixes for install and clone commands -- Add rejectUnauthorized to the CLI options -- Fixes for cloning -- Install modules in own component when deploying package by payload diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.0.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.0.md deleted file mode 100644 index ab458db1..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.0.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: 4.5.0 -sidebar_position: 59499 ---- - -# 4.5.0 - -#### HarperDB 4.5.0 - -3/13/2025 - -### Blob Storage - -4.5 introduces a new [Blob storage system](../../reference/blob), that is designed to efficiently handle large binary objects, with built-in support for streaming large content/media in and out of storage. This provides significantly better performance and functionality for large unstructured data, such as HTML, images, video, and other large files. Components can leverage this functionality through the JavaScript `Blob` interface, and the new `createBlob` function. Blobs are fully replicated and integrated. Harper can also coerce strings to `Blob`s (when dictated by the field type), making it feasible to use blobs for large string data, including with MQTT messaging. - -### Password Hashing Upgrade - -4.5 adds two new password hashing algorithms for better security (to replace md5): -`sha256`: This is a solid general purpose of password hashing, with good security properties and excellent performance. This is the default algorithm in 4.5. -`argon2id`: This provides the highest level of security, and is the recommended algorithm that do not require frequent password verifications. However, it is more CPU intensive, and may not be suitable for environments with a high frequency of password verifications. - -### Resource and Storage Analytics - -4.5 includes numerous new analytics for resources and storage, including page faults, context switches, free space, disk usage, and other metrics. - -#### Default Replication Port - -The default port for replication has been changed from 9925 to 9933. - -### Property Forwarding - -Accessing record properties from resource instances should be accessible through standard property access syntax, regardless of whether the property was declared in a schema. Previously only properties declared in a schema were accessible through standard property access syntax. This change allows for more consistent and intuitive access to record properties, regardless of how they were defined. It is still recommended to declare properties in a schema for better performance and documentation. - -### Storage Reclamation - -Harper now includes functionality for automatically trying to clean up and evict non-essential data when storage is running low. When free space drops below 40% (configurable), Harper will start to: - -- Evict older entries from caching tables -- Evict older audit log entries -- Remove older rotated logs files - These efforts will become progressively more aggressive as free space decreases. - -### Expanded Sharding Functionality - -When sharding is being used, Harper can now honor write requests with residency information that will not be written to the local node's table. Harper also now allows nodes to be declaratively configured as part of a shard. - -### Certificate Revocation - -Certificates can now be revoked by configuring nodes with a list of revoked certificate serial numbers. - -### Built-in `loadEnv` Component - -There is a [new `loadEnv` component loader](../../../developers/components/built-in) that can be used to load environmental variables from a .env in a component. - -### Cluster Status Information - -The [`cluster_status` operation](../../../developers/operations-api/clustering) now includes new statistics for replication, including the timestamps of last received transactions, sent transactions, and committed transactions. - -### Improved URL path parsing - -Resources can be defined with nested paths and directly accessed by the exact path without requiring a trailing slash. The `id.property` syntax for accessing properties in URLs will only be applied to properties that are declared in a schema. This allows for URLs to generally include dots in paths without being interpreted as property access. A new [`directURLMapping` option/flag](../../../deployments/configuration) on resources that allows for more direct URL path handling as well. - -### `server.authenticateUser` API - -In addition to the `server.getUser` API that allows for retrieval of users by username, the `server.authenticateUser` API is now available which will _always_ verify the user by the provided password. - -#### Improved Message Delivery - -Performance of delivery of messages has been improved. - -### HTTP/2 - -HarperDB now supports HTTP/2 for all API endpoints. This can be enabled with the `http2` option in the configuration file. - -### `harperdb` symlink - -Using `import from 'harperdb'` will more consistently work when directly running a component locally. - -### Transaction Reuse - -By default, transactions can now be reused after calling `transaction.commit()`. - -### GraphQL configuration - -The GraphQL query endpoint can be configured to listen on different ports. GraphQL query endpoing is now also disabled by default, to avoid any conflicts. - -### Glob support for components - -Glob file handling for specifying files used by components has been improved for better consistency. - -### Table.getRecordCount - -`Table.getRecordCount()` is now available to get the number of records in a table. - -### Removal of record counts from REST API - -Previously the root path for a resource in the REST API would return a record count. However, this is a significant performance hazard and was never documented to exist, so this has been removed to ensure better performance and reliability. - -Note that downgrading from 4.5 to 4.4 is _not_ supported. diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.1.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.1.md deleted file mode 100644 index ec431a8a..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.1.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.5.1 -sidebar_position: 59498 ---- - -### HarperDB 4.5.1 - -3/18/2025 - -- Fix/implementation for sharding data that is written for cache resolution -- Add support for replication.shard in configuration for defining local node's shard id -- Fix for source map handling in stack traces -- Improved error reporting for syntax errors in component code -- Improved logging on deployment and NPM installation -- Added shard information to cluster_status -- Fix for audit entry eviction when a table is deleted diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.10.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.10.md deleted file mode 100644 index b74fbadb..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.10.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.10 -sidebar_position: 59489 ---- - -### HarperDB 4.5.10 - -5/20/2025 - -- Expose the `resources` map for being able to set and access custom resources -- Fix for cleaning up blob files that are used when a database is deleted diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.11.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.11.md deleted file mode 100644 index d3f9d8fa..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.11.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.11 -sidebar_position: 59488 ---- - -### HarperDB 4.5.11 - -6/27/2025 - -- Fix bug (workaround Node.js bug) with assigning the ciphers to a server and applying to TLS connections -- Fix for handling TLS array when checking certificates configuration diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.12.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.12.md deleted file mode 100644 index 2312329e..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.12.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.5.12 -sidebar_position: 59487 ---- - -### HarperDB 4.5.12 - -7/9/2025 - -- Fix for dynamically setting `harperdb` package symlink on deploy -- Assign shard numbers from each node's config rather than from routes -- Handle certificates without a common name, falling back to the SANs -- Properly clean up blobs that are only transiently used for replication -- Ensure that we always set up server.shards even when there are no TLS connections diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.13.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.13.md deleted file mode 100644 index d4ef7ac7..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.13.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.5.13 -sidebar_position: 59486 ---- - -### HarperDB 4.5.13 - -7/12/2025 - -- Fix cleaning out audit entries when a blob has been removed diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.14.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.14.md deleted file mode 100644 index d50482a6..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.14.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.5.14 -sidebar_position: 59485 ---- - -### HarperDB 4.5.14 - -7/15/2025 - -- Use proper back-pressure when copying a table for initial database sync diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.15.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.15.md deleted file mode 100644 index 8e5b7821..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.15.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.15 -sidebar_position: 59484 ---- - -### HarperDB 4.5.15 - -7/21/2025 - -- Removed the `copyTablesToCatchUp` option and instead utilized the clone node designation of the leader node to copy tables -- Ensure that skipping large number of audit entries does not lock up the thread and cause a connection reset diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.16.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.16.md deleted file mode 100644 index 829cd9d8..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.16.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.5.16 -sidebar_position: 59483 ---- - -### HarperDB 4.5.16 - -7/30/2025 - -- Do not free/remove the shared user buffer that is used by all threads as an atomic counter for ids (for blobs and incremented ids), but retain it as a stable allocated buffer diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.17.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.17.md deleted file mode 100644 index deaca8a3..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.17.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.5.17 -sidebar_position: 59482 ---- - -### HarperDB 4.5.17 - -8/4/2025 - -- Ensure that blob paths exist when determining blob volume sizes -- Increase and make timeouts for blob transfers configurable -- Add debugging information on the record ID if a blob transfer times out -- Fix for copying tables when doing an initial clone node (will not affect an existing cluster) -- Fix for ensuring node IDs are not duplicated across subscriptions to different nodes. This eliminates the duplication of replication data -- Fix for building the local studio diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.18.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.18.md deleted file mode 100644 index 684623d6..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.18.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 4.5.18 -sidebar_position: 59481 ---- - -### HarperDB 4.5.18 - -Release was incorrect version diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.19.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.19.md deleted file mode 100644 index 5b87eb6b..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.19.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.5.19 -sidebar_position: 59480 ---- - -### HarperDB 4.5.19 - -8/5/2025 - -- Update subscription manager to only use failover subscriptions to nodes with the same shard -- Do not attempt to resolve a proxied request to the oneself -- Delay deletion of blobs when doing proxied requests of blobs diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.2.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.2.md deleted file mode 100644 index 62468720..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.5.2 -sidebar_position: 59497 ---- - -### HarperDB 4.5.2 - -3/25/2025 - -- For defined schemas, don't allow updates from remote nodes that could cause conflicts and repeated schema change requests -- New harper-chrome docker container for accessing Chrome binaries for use with tools like Puppeteer -- Improved rolling restart handling of errors with reaching individual nodes -- Defined cleaner operation object to avoid accident leaking of credentials with logging diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.20.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.20.md deleted file mode 100644 index 313d740a..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.20.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.5.20 -sidebar_position: 59479 ---- - -### HarperDB 4.5.20 - -8/7/2025 - -- Properly handle and aggregate multiple requests for the same blob using the same stream -- Added analytics for blob replication and replication egress transfer -- Added receiving status to indicate if there is a replication backlog or waiting for future transactions -- Fix for properly saving blob in a recently updated/relocated record diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.21.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.21.md deleted file mode 100644 index 5692077b..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.21.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.21 -sidebar_position: 59478 ---- - -### HarperDB 4.5.21 - -8/8/2025 - -- Fix for small blobs (less than 8KB) having their contents swapped on repeated access -- Completely separate the on-demand request connections and the subscription replication connections for more robust connection management diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.22.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.22.md deleted file mode 100644 index 0344bfbb..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.22.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.5.22 -sidebar_position: 59477 ---- - -### HarperDB 4.5.22 - -8/14/2025 - -- Cache the TLS context for replication to avoid high CPU usage of building new TLS contexts -- Cleanup subscription listeners that were accumulating -- Better handling of establishing connections without effecting failover connections diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.23.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.23.md deleted file mode 100644 index 0555fd06..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.23.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.5.23 -sidebar_position: 59476 ---- - -### HarperDB 4.5.23 - -8/18/2025 - -- Fix issue with connection registration that was causing repeated connections to be established -- Increase timeout for retrieval connections -- Add support for disabling failover connections -- Add additional logging for blob errors in replication diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.3.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.3.md deleted file mode 100644 index b0878089..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.3.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.3 -sidebar_position: 59496 ---- - -### HarperDB 4.5.3 - -4/3/2025 - -- Fix for immediately reloading updated certificates and private key files to ensure that certificates properly match the private key -- Fix for analytics of storage size when tables are deleted diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.4.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.4.md deleted file mode 100644 index 2d334a06..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.5.4 -sidebar_position: 59495 ---- - -### HarperDB 4.5.4 - -4/11/2025 - -- Fix for replication of (non-retained) published messages -- Make cookie domain be configurable to allow for cookies shared across sub-hostnames -- Fix for on-demand loading of shared blobs diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.5.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.5.md deleted file mode 100644 index 606f8063..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.5.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.5 -sidebar_position: 59494 ---- - -### HarperDB 4.5.5 - -4/15/2025 - -- Updates for better messaging with symlinks in Windows -- Fix for saving replicated blobs diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.6.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.6.md deleted file mode 100644 index a711a988..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.6.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.5.6 -sidebar_position: 59493 ---- - -### HarperDB 4.5.6 - -4/17/2025 - -- Fix for changing the type of the primary key attribute -- Added a new `includeExpensiveRecordCountEstimates` property to the REST component for returning record count estimates -- Fix for dropping attributes diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.7.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.7.md deleted file mode 100644 index ce785506..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.7.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.7 -sidebar_position: 59492 ---- - -### HarperDB 4.5.7 - -4/23/2025 - -- Fix for handling buffers from replicated sharded blob records to prevent overwriting while using -- Updated included studio version for fix for logging in diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.8.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.8.md deleted file mode 100644 index 32f43190..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.8.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.5.8 -sidebar_position: 59491 ---- - -### HarperDB 4.5.8 - -4/30/2025 - -- Fix MQTT subscription topics with trailing slashes to ensure they are not treated as a wildcard -- Fix the arguments that are used for the default connect/subscribe calls so they pass the second argument from connect like `connect(incomingMessages, query) -> subscribe(query)` -- Add support for replication connections using any configured certificate authorities to verify the server certificates -- Added more descriptive error messages on errors in user residency functions diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.9.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.9.md deleted file mode 100644 index 9d6d13ef..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/4.5.9.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.5.9 -sidebar_position: 59490 ---- - -### HarperDB 4.5.9 - -5/14/2025 - -- Remove --no-bin-links directive for NPM that was causing installs of dependencies to fail diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/_category_.json b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/_category_.json deleted file mode 100644 index d20b2f9a..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Tucker (Version 4)", - "position": -4 -} diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/index.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/index.md deleted file mode 100644 index 6aac459b..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/index.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Harper Tucker (Version 4) ---- - -# Harper Tucker (Version 4) - -HarperDB version 4 ([Tucker release](v4-tucker/tucker)) represents major step forward in database technology. This release line has ground-breaking architectural advancements including: - -## [4.5](v4-tucker/4.5.0) - -- Blob Storage - 4.5 introduces a new [Blob storage system](../../../technical-details/reference/blob). -- Password Hashing Upgrade - two new password hashing algorithms for better security (to replace md5). -- New resource and storage Analytics - -## [4.4](v4-tucker/4.4.0) - -- Native replication (codename "Plexus") which is faster, more efficient, secure, and reliable than the previous replication system and provides provisional sharding capabilities with a foundation for the future -- Computed properties that allow applications to define properties that are computed from other properties, allowing for composite properties that are calculated from other data stored in records without requiring actual storage of the computed value -- Custom indexing including composite, full-text indexing, and vector indexing - -## [4.3](v4-tucker/4.3.0) - -- Relationships, joins, and broad new querying capabilities for complex and nested conditions, sorting, joining, and selecting with significant query optimizations -- More advanced transaction support for CRDTs and storage of large integers (with BigInt) -- Better management with new upgraded local studio and new CLI features - -## [4.2](v4-tucker/4.2.0) - -- New component architecture and Resource API for advanced, robust custom database application development -- Real-time capabilites through MQTT, WebSockets, and Server-Sent Events -- REST interface for intuitive, fast, and standards-compliant HTTP interaction -- Native caching capabilities for high-performance cache scenarios -- Clone node functionality - -## [4.1](v4-tucker/4.1.0) - -- New streaming iterators mechanism that allows query results to be delivered to clients _while_ querying results are being processed, for incredibly fast time-to-first-byte and concurrent processing/delivery -- New thread-based concurrency model for more efficient resource usage - -## [4.0](v4-tucker/4.0.0) - -- New clustering technology that delivers robust, resilient and high-performance replication -- Major storage improvements with highly-efficient adaptive-structure modified MessagePack format, with on-demand deserialization capabilities - -Did you know our release names are dedicated to employee pups? For our fourth release, [meet Tucker!](v4-tucker/tucker) diff --git a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/tucker.md b/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/tucker.md deleted file mode 100644 index e890cf6c..00000000 --- a/versioned_docs/version-4.5/technical-details/release-notes/v4-tucker/tucker.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Harper Tucker (Version 4) ---- - -# Harper Tucker (Version 4) - -Did you know our release names are dedicated to employee pups? For our fourth release, we have Tucker. - -![picture of grey and white dog](/img/v4.5/dogs/tucker.png) - -_G’day, I’m Tucker. My dad is David Cockerill, a software engineer here at Harper. I am a 3-year-old Labrador Husky mix. I love to protect my dad from all the squirrels and rabbits we have in our yard. I have very ticklish feet and love belly rubs!_ diff --git a/versioned_docs/version-4.6/technical-details/release-notes/index.md b/versioned_docs/version-4.6/technical-details/release-notes/index.md deleted file mode 100644 index 76061503..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/index.md +++ /dev/null @@ -1,295 +0,0 @@ ---- -title: Release Notes ---- - -# Release Notes - -### Current Release - -[Meet Tucker](release-notes/v4-tucker/tucker) Our 4th Release Pup - -[4.6.6 Tucker](release-notes/v4-tucker/4.6.6) - -[4.6.5 Tucker](release-notes/v4-tucker/4.6.5) - -[4.6.4 Tucker](release-notes/v4-tucker/4.6.4) - -[4.6.3 Tucker](release-notes/v4-tucker/4.6.3) - -[4.6.2 Tucker](release-notes/v4-tucker/4.6.2) - -[4.6.1 Tucker](release-notes/v4-tucker/4.6.1) - -[4.6.0 Tucker](release-notes/v4-tucker/4.6.0) - -[4.5.23 Tucker](release-notes/v4-tucker/4.5.23) - -[4.5.22 Tucker](release-notes/v4-tucker/4.5.22) - -[4.5.21 Tucker](release-notes/v4-tucker/4.5.21) - -[4.5.20 Tucker](release-notes/v4-tucker/4.5.20) - -[4.5.19 Tucker](release-notes/v4-tucker/4.5.19) - -[4.5.18 Tucker](release-notes/v4-tucker/4.5.18) - -[4.5.17 Tucker](release-notes/v4-tucker/4.5.17) - -[4.5.16 Tucker](release-notes/v4-tucker/4.5.16) - -[4.5.15 Tucker](release-notes/v4-tucker/4.5.15) - -[4.5.14 Tucker](release-notes/v4-tucker/4.5.14) - -[4.5.13 Tucker](release-notes/v4-tucker/4.5.13) - -[4.5.12 Tucker](release-notes/v4-tucker/4.5.12) - -[4.5.11 Tucker](release-notes/v4-tucker/4.5.11) - -[4.5.10 Tucker](release-notes/v4-tucker/4.5.10) - -[4.5.9 Tucker](release-notes/v4-tucker/4.5.9) - -[4.5.8 Tucker](release-notes/v4-tucker/4.5.8) - -[4.5.7 Tucker](release-notes/v4-tucker/4.5.7) - -[4.5.6 Tucker](release-notes/v4-tucker/4.5.6) - -[4.5.5 Tucker](release-notes/v4-tucker/4.5.5) - -[4.5.4 Tucker](release-notes/v4-tucker/4.5.4) - -[4.5.3 Tucker](release-notes/v4-tucker/4.5.3) - -[4.5.2 Tucker](release-notes/v4-tucker/4.5.2) - -[4.5.1 Tucker](release-notes/v4-tucker/4.5.1) - -[4.5.0 Tucker](release-notes/v4-tucker/4.5.0) - -[4.4.24 Tucker](release-notes/v4-tucker/4.4.24) - -[4.4.23 Tucker](release-notes/v4-tucker/4.4.23) - -[4.4.22 Tucker](release-notes/v4-tucker/4.4.22) - -[4.4.21 Tucker](release-notes/v4-tucker/4.4.21) - -[4.4.20 Tucker](release-notes/v4-tucker/4.4.20) - -[4.4.19 Tucker](release-notes/v4-tucker/4.4.19) - -[4.4.21 Tucker](release-notes/v4-tucker/4.4.21) - -[4.4.20 Tucker](release-notes/v4-tucker/4.4.20) - -[4.4.19 Tucker](release-notes/v4-tucker/4.4.19) - -[4.4.18 Tucker](release-notes/v4-tucker/4.4.18) - -[4.4.17 Tucker](release-notes/v4-tucker/4.4.17) - -[4.4.16 Tucker](release-notes/v4-tucker/4.4.16) - -[4.4.15 Tucker](release-notes/v4-tucker/4.4.15) - -[4.4.14 Tucker](release-notes/v4-tucker/4.4.14) - -[4.4.13 Tucker](release-notes/v4-tucker/4.4.13) - -[4.4.12 Tucker](release-notes/v4-tucker/4.4.12) - -[4.4.11 Tucker](release-notes/v4-tucker/4.4.11) - -[4.4.10 Tucker](release-notes/v4-tucker/4.4.10) - -[4.4.9 Tucker](release-notes/v4-tucker/4.4.9) - -[4.4.8 Tucker](release-notes/v4-tucker/4.4.8) - -[4.4.7 Tucker](release-notes/v4-tucker/4.4.7) - -[4.4.6 Tucker](release-notes/v4-tucker/4.4.6) - -[4.4.5 Tucker](release-notes/v4-tucker/4.4.5) - -[4.4.4 Tucker](release-notes/v4-tucker/4.4.4) - -[4.4.4 Tucker](release-notes/v4-tucker/4.4.3) - -[4.4.2 Tucker](release-notes/v4-tucker/4.4.2) - -[4.4.1 Tucker](release-notes/v4-tucker/4.4.1) - -[4.4.0 Tucker](release-notes/v4-tucker/4.4.0) - -[4.3.38 Tucker](release-notes/v4-tucker/4.3.38) - -[4.3.37 Tucker](release-notes/v4-tucker/4.3.37) - -[4.3.36 Tucker](release-notes/v4-tucker/4.3.36) - -[4.3.35 Tucker](release-notes/v4-tucker/4.3.35) - -[4.3.34 Tucker](release-notes/v4-tucker/4.3.34) - -[4.3.33 Tucker](release-notes/v4-tucker/4.3.33) - -[4.3.32 Tucker](release-notes/v4-tucker/4.3.32) - -[4.3.31 Tucker](release-notes/v4-tucker/4.3.31) - -[4.3.30 Tucker](release-notes/v4-tucker/4.3.30) - -[4.3.29 Tucker](release-notes/v4-tucker/4.3.29) - -[4.3.28 Tucker](release-notes/v4-tucker/4.3.28) - -[4.3.27 Tucker](release-notes/v4-tucker/4.3.27) - -[4.3.26 Tucker](release-notes/v4-tucker/4.3.26) - -[4.3.25 Tucker](release-notes/v4-tucker/4.3.25) - -[4.3.24 Tucker](release-notes/v4-tucker/4.3.24) - -[4.3.23 Tucker](release-notes/v4-tucker/4.3.23) - -[4.3.22 Tucker](release-notes/v4-tucker/4.3.22) - -[4.3.21 Tucker](release-notes/v4-tucker/4.3.21) - -[4.3.20 Tucker](release-notes/v4-tucker/4.3.20) - -[4.3.19 Tucker](release-notes/v4-tucker/4.3.19) - -[4.3.18 Tucker](release-notes/v4-tucker/4.3.18) - -[4.3.17 Tucker](release-notes/v4-tucker/4.3.17) - -[4.3.16 Tucker](release-notes/v4-tucker/4.3.16) - -[4.3.15 Tucker](release-notes/v4-tucker/4.3.15) - -[4.3.14 Tucker](release-notes/v4-tucker/4.3.14) - -[4.3.13 Tucker](release-notes/v4-tucker/4.3.13) - -[4.3.12 Tucker](release-notes/v4-tucker/4.3.12) - -[4.3.11 Tucker](release-notes/v4-tucker/4.3.11) - -[4.3.10 Tucker](release-notes/v4-tucker/4.3.10) - -[4.3.9 Tucker](release-notes/v4-tucker/4.3.9) - -[4.3.8 Tucker](release-notes/v4-tucker/4.3.8) - -[4.3.7 Tucker](release-notes/v4-tucker/4.3.7) - -[4.3.6 Tucker](release-notes/v4-tucker/4.3.6) - -[4.3.5 Tucker](release-notes/v4-tucker/4.3.5) - -[4.3.4 Tucker](release-notes/v4-tucker/4.3.4) - -[4.3.3 Tucker](release-notes/v4-tucker/4.3.3) - -[4.3.2 Tucker](release-notes/v4-tucker/4.3.2) - -[4.3.1 Tucker](release-notes/v4-tucker/4.3.1) - -[4.3.0 Tucker](release-notes/v4-tucker/4.3.0) - -[4.2.8 Tucker](release-notes/v4-tucker/4.2.8) - -[4.2.7 Tucker](release-notes/v4-tucker/4.2.7) - -[4.2.6 Tucker](release-notes/v4-tucker/4.2.6) - -[4.2.5 Tucker](release-notes/v4-tucker/4.2.5) - -[4.2.4 Tucker](release-notes/v4-tucker/4.2.4) - -[4.2.3 Tucker](release-notes/v4-tucker/4.2.3) - -[4.2.2 Tucker](release-notes/v4-tucker/4.2.2) - -[4.2.1 Tucker](release-notes/v4-tucker/4.2.1) - -[4.2.0 Tucker](release-notes/v4-tucker/4.2.0) - -[4.1.2 Tucker](release-notes/v4-tucker/4.1.2) - -[4.1.1 Tucker](release-notes/v4-tucker/4.1.1) - -[4.1.0 Tucker](release-notes/v4-tucker/4.1.0) - -[4.0.7 Tucker](release-notes/v4-tucker/4.0.7) - -[4.0.6 Tucker](release-notes/v4-tucker/4.0.6) - -[4.0.5 Tucker](release-notes/v4-tucker/4.0.5) - -[4.0.4 Tucker](release-notes/v4-tucker/4.0.4) - -[4.0.3 Tucker](release-notes/v4-tucker/4.0.3) - -[4.0.2 Tucker](release-notes/v4-tucker/4.0.2) - -[4.0.1 Tucker](release-notes/v4-tucker/4.0.1) - -[4.0.0 Tucker](release-notes/v4-tucker/4.0.0) - -### Past Releases - -[Meet Monkey](release-notes/v3-monkey/) Our 3rd Release Pup - -[3.2.1 Monkey](release-notes/v3-monkey/3.2.1) - -[3.2.0 Monkey](release-notes/v3-monkey/3.2.0) - -[3.1.5 Monkey](release-notes/v3-monkey/3.1.5) - -[3.1.4 Monkey](release-notes/v3-monkey/3.1.4) - -[3.1.3 Monkey](release-notes/v3-monkey/3.1.3) - -[3.1.2 Monkey](release-notes/v3-monkey/3.1.2) - -[3.1.1 Monkey](release-notes/v3-monkey/3.1.1) - -[3.1.0 Monkey](release-notes/v3-monkey/3.1.0) - -[3.0.0 Monkey](release-notes/v3-monkey/3.0.0) - ---- - -[Meet Penny](release-notes/v2-penny/) Our 2nd Release Pup - -[2.3.1 Penny](release-notes/v2-penny/2.3.1) - -[2.3.0 Penny](release-notes/v2-penny/2.3.0) - -[2.2.3 Penny](release-notes/v2-penny/2.2.3) - -[2.2.2 Penny](release-notes/v2-penny/2.2.2) - -[2.2.0 Penny](release-notes/v2-penny/2.2.0) - -[2.1.1 Penny](release-notes/v2-penny/2.1.1) - ---- - -[Meet Alby](release-notes/v1-alby/) Our 1st Release Pup - -[1.3.1 Alby](release-notes/v1-alby/1.3.1) - -[1.3.0 Alby](release-notes/v1-alby/1.3.0) - -[1.2.0 Alby](release-notes/v1-alby/1.2.0) - -[1.1.0 Alby](release-notes/v1-alby/1.1.0) diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/1.1.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/1.1.0.md deleted file mode 100644 index 2256a825..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/1.1.0.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: 1.1.0 -sidebar_position: 89899 ---- - -### HarperDB 1.1.0, Alby Release - -4/18/2018 - -**Features** - -- Users & Roles: - - Limit/Assign access to all HarperDB operations - - - Limit/Assign access to schemas, tables & attributes - - - Limit/Assign access to specific SQL operations (`INSERT`, `UPDATE`, `DELETE`, `SELECT`) - -- Enhanced SQL parser - - Added extensive ANSI SQL Support. - - Added Array function, which allows for converting relational data into Object/Hierarchical data - - `Distinct_Array` Function: allows for removing duplicates in the Array function. - - Enhanced SQL Validation: Improved validation around structure of SQL, validating the schema, etc.. - - 10x performance improvement on SQL statements. - -- Export Function: can now call a NoSQL/SQL search and have it export to CSV or JSON. - -- Added upgrade function to CLI - -- Added ability to perform bulk update from CSV - -- Created landing page for HarperDB. - -- Added CORS support to HarperDB - -**Fixes** - -- Fixed memory leak in CSV bulk loads - -- Corrected error when attempting to perform a `SQL DELETE` - -- Added further validation to NoSQL `UPDATE` to validate schema & table exist - -- Fixed install issue occurring when part of the install path does not exist, the install would silently fail. - -- Fixed issues with replicated data when one of the replicas is down - -- Removed logging of initial user’s credentials during install - -- Can now use reserved words as aliases in SQL - -- Removed user(s) password in results when calling `list_users` - -- Corrected forwarding of operations to other nodes in a cluster - -- Corrected lag in schema meta-data passing to other nodes in a cluster - -- Drop table & schema now move the table & schema or table to the trash folder under the Database folder for later permanent deletion. - -- Bulk inserts no longer halt the entire operation if n records already exist, instead the return includes the hashes of records that have been skipped. - -- Added ability to accept EULA from command line - -- Corrected `search_by_value` not searching on the correct attribute - -- Added ability to increase the timeout of a request by adding `SERVER_TIMEOUT_MS` to config/settings.js - -- Add error handling resulting from SQL calculations. - -- Standardized error responses as JSON. - -- Corrected internal process generation to not allow more processes than machine has cores. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/1.2.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/1.2.0.md deleted file mode 100644 index a504a7ad..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/1.2.0.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: 1.2.0 -sidebar_position: 89799 ---- - -### HarperDB 1.2.0, Alby Release - -7/10/2018 - -**Features** - -- Time to Live: Conserve the resources of your edge device by setting data on devices to live for a specific period of time. -- Geo: HarperDB has implemented turf.js into its SQL parser to enable geo based analytics. -- Jobs: CSV Data loads, Exports & Time to Live now all run as back ground jobs. -- Exports: Perform queries that export into JSON or CSV and save to disk or S3. - -**Fixes** - -- Fixed issue where CSV data loads incorrectly report number of records loaded. -- Added validation to stop `BETWEEN` operations in SQL. -- Updated logging to not include internal variables in the logs. -- Cleaned up `add_role` response to not include internal variables. -- Removed old and unused dependencies. -- Build out further unit tests and integration tests. -- Fixed https to handle certificates properly. -- Improved stability of clustering & replication. -- Corrected issue where Objects and Arrays were not casting properly in `SQL SELECT` response. -- Fixed issue where Blob text was not being returned from `SQL SELECT`s. -- Fixed error being returned when querying on table with no data, now correctly returns empty array. -- Improved performance in SQL when searching on exact values. -- Fixed error when ./harperdb stop is called. -- Fixed logging issue causing instability in installer. -- Fixed `read_log` operation to accept date time. -- Added permissions checking to `export_to_s3`. -- Added ability to run SQL on `SELECT` without a `FROM`. -- Fixed issue where updating a user’s password was not encrypting properly. -- Fixed `user_guide.html` to point to readme on git repo. -- Created option to have HarperDB run as a foreground process. -- Updated `user_info` to return the correct role for a user. -- Fixed issue where HarperDB would not stop if the database root was deleted. -- Corrected error message on insert if an invalid schema is provided. -- Added permissions checks for user & role operations. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/1.3.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/1.3.0.md deleted file mode 100644 index e3a5215f..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/1.3.0.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: 1.3.0 -sidebar_position: 89699 ---- - -### HarperDB 1.3.0, Alby Release - -11/2/2018 - -**Features** - -- Upgrade: Upgrade to newest version via command line. -- SQL Support: Added `IS NULL` for SQL parser. -- Added attribute validation to search operations. - -**Fixes** - -- Fixed `SELECT` calculations, i.e. `SELECT` 2+2. -- Fixed select OR not returning expected results. -- No longer allowing reserved words for schema and table names. -- Corrected process interruptions from improper SQL statements. -- Improved message handling between spawned processes that replace killed processes. -- Enhanced error handling for updates to tables that do not exist. -- Fixed error handling for NoSQL responses when `get_attributes` is provided with invalid attributes. -- Fixed issue with new columns not being updated properly in update statements. -- Now validating roles, tables and attributes when creating or updating roles. -- Fixed an issue where in some cases `undefined` was being returned after dropping a role diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/1.3.1.md b/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/1.3.1.md deleted file mode 100644 index 56927389..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/1.3.1.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: 1.3.1 -sidebar_position: 89698 ---- - -### HarperDB 1.3.1, Alby Release - -2/26/2019 - -**Features** - -- Clustering connection direction appointment -- Foundations for threading/multi processing -- UUID autogen for hash attributes that were not provided -- Added cluster status operation - -**Bug Fixes and Enhancements** - -- More logging -- Clustering communication enhancements -- Clustering queue ordering by timestamps -- Cluster re connection enhancements -- Number of system core(s) detection -- Node LTS (10.15) compatibility -- Update/Alter users enhancements -- General performance enhancements -- Warning is logged if different versions of harperdb are connected via clustering -- Fixed need to restart after user creation/alteration -- Fixed SQL error that occurred on selecting from an empty table diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/_category_.json b/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/_category_.json deleted file mode 100644 index 9eded684..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Alby (Version 1)", - "position": -1 -} diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/index.md b/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/index.md deleted file mode 100644 index 0aa3a2c4..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v1-alby/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: HarperDB Alby (Version 1) ---- - -# HarperDB Alby (Version 1) - -Did you know our release names are dedicated to employee pups? For our first release, Alby was our pup. - -Here is a bit about Alby: - -![picture of black dog](/img/v4.6/dogs/alby.webp) - -_Hi, I am Alby. My mom is Kaylan Stock, Director of Marketing at HarperDB. I am a 9-year-old Great Dane mix who loves sun bathing, going for swims, and wreaking havoc on the local squirrels. My favorite snack is whatever you are eating, and I love a good butt scratch!_ diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.1.1.md b/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.1.1.md deleted file mode 100644 index c59337d7..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.1.1.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: 2.1.1 -sidebar_position: 79898 ---- - -### HarperDB 2.1.1, Penny Release - -05/22/2020 - -**Highlights** - -- CORE-1007 Added the ability to perform `SQL INSERT` & `UPDATE` with function calls & expressions on values. -- CORE-1023 Fixed minor bug in final SQL step incorrectly trying to translate ordinals to alias in `ORDER BY` statement. -- CORE-1020 Fixed bug allowing 'null' and 'undefined' string values to be passed in as valid hash values. -- CORE-1006 Added SQL functionality that enables `JOIN` statements across different schemas. -- CORE-1005 Implemented JSONata library to handle our JSON document search functionality in SQL, creating the `SEARCH_JSON` function. -- CORE-1009 Updated schema validation to allow all printable ASCII characters to be used in schema/table/attribute names, except, forward slashes and backticks. Same rules apply now for hash attribute values. -- CORE-1003 Fixed handling of ORDER BY statements with function aliases. -- CORE-1004 Fixed bug related to `SELECT*` on `JOIN` queries with table columns with the same name. -- CORE-996 Fixed an issue where the `transact_to_cluster` flag is lost for CSV URL loads, fixed an issue where new attributes created in CSV bulk load do not sync to the cluster. -- CORE-994 Added new operation `system_information`. This operation returns info & metrics for the OS, time, memory, cpu, disk, network. -- CORE-993 Added new custom date functions for AlaSQL & UTC updates. -- CORE-991 Changed jobs to spawn a new process which will run the intended job without impacting a main HarperDB process. -- CORE-992 HTTPS enabled by default. -- CORE-990 Updated `describe_table` to add the record count for the table for LMDB data storage. -- CORE-989 Killed the socket cluster processes prior to HarperDB processes to eliminate a false uptime. -- CORE-975 Updated time values set by SQL Date Functions to be in epoch format. -- CORE-974 Added date functions to `SQL SELECT` column alias functionality. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.2.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.2.0.md deleted file mode 100644 index a669ca8b..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.2.0.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: 2.2.0 -sidebar_position: 79799 ---- - -### HarperDB 2.2.0, Penny Release - -08/24/2020 - -**Features/Updates** - -- CORE-997 Updated the data format for CSV data loads being sync'd across a cluster to take up less resources -- CORE-1018 Adds SQL functionality for `BETWEEN` statements -- CORE-1032 Updates permissions to allow regular users (i.e. non-super users) to call the `get_job` operation -- CORE-1036 On create/drop table we auto create/drop the related transactions environments for the schema.table -- CORE-1042 Built raw functions to write to a tables transaction log for insert/update/delete operations -- CORE-1057 Implemented write transaction into lmdb create/update/delete functions -- CORE-1048 Adds `SEARCH` wildcard handling for role permissions standards -- CORE-1059 Added config setting to disable transaction logging for an instance -- CORE-1076 Adds permissions filter to describe operations -- CORE-1043 Change clustering catchup to use the new transaction log -- CORE-1052 Removed word "master" from source -- CORE-1061 Added new operation called `delete_transactions_before` this will tail a transaction log for a specific schema / table -- CORE-1040 On HarperDB startup make sure all tables have a transaction environment -- CORE-1055 Added 2 new setting to change the server headersTimeout & keepAliveTimeout from the config file -- CORE-1044 Created new operation `read_transaction_log` which will allow a user to get transactions for a table by `timestamp`, `username`, or `hash_value` -- CORE-1043 Change clustering catchup to use the new transaction log -- CORE-1089 Added new attribute to `system_information` for table/transaction log data size in bytes & transaction log record count -- CORE-1101 Fix to store empty strings rather than considering them null & fix to be able to search on empty strings in SQL/NoSQL. -- CORE-1054 Updates permissions object to remove delete attribute permission and update table attribute permission key to `attribute_permissions` -- CORE-1092 Do not allow the `__createdtime__` to be updated -- CORE-1085 Updates create schema/table & drop schema/table/attribute operations permissions to require super user role and adds integration tests to validate -- CORE-1071 Updates response messages and status codes from `describe_schema` and `describe_table` operations to provide standard language/status code when a schema item is not found -- CORE-1049 Updates response message for SQL update op with no matching rows -- CORE-1096 Added tracking of the origin in the transaction log. This origin object stores the node name, timestamp of the transaction from the originating node & the user. - -**Bug Fixes** - -- CORE-1028 Fixes bug for simple `SQL SELECT` queries not returning aliases and incorrectly returning hash values when not requested in query -- CORE-1037 Fixed an issue where numbers with leading zero i.e. 00123 are converted to numbers rather than being honored as strings. -- CORE-1063 Updates permission error response shape to consolidate issues into individual objects per schema/table combo -- CORE-1098 Fixed an issue where transaction environments were remaining in the global cache after being dropped. -- CORE-1086 Fixed issue where responses from insert/update were incorrect with skipped records. -- CORE-1079 Fixes SQL bugs around invalid schema/table and special characters in `WHERE` clause diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.2.2.md b/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.2.2.md deleted file mode 100644 index fca00967..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.2.2.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 2.2.2 -sidebar_position: 79797 ---- - -### HarperDB 2.2.2, Penny Release - -10/27/2020 - -- CORE-1154 Allowed transaction logging to be disabled even if clustering is enabled. -- CORE-1153 Fixed issue where `delete_files_before` was writing to transaction log. -- CORE-1152 Fixed issue where no more than 4 HarperDB forks would be created. -- CORE-1112 Adds handling for system timestamp attributes in permissions. -- CORE-1131 Adds better handling for checking perms on operations with action value in JSON. -- CORE-1113 Fixes validation bug checking for super user/cluster user permissions and other permissions. -- CORE-1135 Adds validation for valid keys in role API operations. -- CORE-1073 Adds new `import_from_s3` operation to API. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.2.3.md b/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.2.3.md deleted file mode 100644 index 06b89d4e..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.2.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 2.2.3 -sidebar_position: 79796 ---- - -### HarperDB 2.2.3, Penny Release - -11/16/2020 - -- CORE-1158 Performance improvements to core delete function and configuration of `delete_files_before` to run in batches with a pause into between. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.3.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.3.0.md deleted file mode 100644 index a027eedb..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.3.0.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: 2.3.0 -sidebar_position: 79699 ---- - -### HarperDB 2.3.0, Penny Release - -12/03/2020 - -**Features/Updates** - -- CORE-1191, CORE-1190, CORE-1125, CORE-1157, CORE-1126, CORE-1140, CORE-1134, CORE-1123, CORE-1124, CORE-1122 Added JWT Authentication option (See documentation for more information) -- CORE-1128, CORE-1143, CORE-1140, CORE-1129 Added `upsert` operation -- CORE-1187 Added `get_configuration` operation which allows admins to view their configuration settings. -- CORE-1175 Added new internal LMDB function to copy an environment for use in future features. -- CORE-1166 Updated packages to address security vulnerabilities. - -**Bug Fixes** - -- CORE-1195 Modified `drop_attribute` to drop after data cleanse completes. -- CORE-1149 Fix SQL bug regarding self joins and updates alasql to 0.6.5 release. -- CORE-1168 Fix inconsistent invalid schema/table errors. -- CORE-1162 Fix bug which caused `delete_files_before` to cause tables to grow in size due to an open cursor issue. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.3.1.md b/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.3.1.md deleted file mode 100644 index 03df0186..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/2.3.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 2.3.1 -sidebar_position: 79698 ---- - -### HarperDB 2.3.1, Penny Release - -1/29/2021 - -**Bug Fixes** - -- CORE-1218 A bug in HarperDB 2.3.0 was identified related to manually calling the `create_attribute` operation. This bug caused secondary indexes to be overwritten by the most recently inserted or updated value for the index, thereby causing a search operation filtered with that index to only return the most recently inserted/updated row. Note, this issue does not affect attributes that are reflexively/automatically created. It only affects attributes created using `create_attribute`. To resolve this issue in 2.3.0 or earlier, drop and recreate your table using reflexive attribute creation. In 2.3.1, drop and recreate your table and use either reflexive attribute creation or `create_attribute`. -- CORE-1219 Increased maximum table attributes from 1000 to 10000 diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/_category_.json b/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/_category_.json deleted file mode 100644 index 28f86bc1..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Penny (Version 2)", - "position": -2 -} diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/index.md b/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/index.md deleted file mode 100644 index b9a59b47..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v2-penny/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: HarperDB Penny (Version 2) ---- - -# HarperDB Penny (Version 2) - -Did you know our release names are dedicated to employee pups? For our second release, Penny was the star. - -Here is a bit about Penny: - -![picture of brindle dog](/img/v4.6/dogs/penny.webp) - -_Hi I am Penny! My dad is Kyle Bernhardy, the CTO of HarperDB. I am a nine-year-old Whippet who lives for running hard and fast while exploring the beautiful terrain of Colorado. My favorite activity is chasing birds along with afternoon snoozes in a sunny spot in my backyard._ diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.0.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.0.0.md deleted file mode 100644 index 10319747..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.0.0.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: 3.0.0 -sidebar_position: 69999 ---- - -### HarperDB 3.0, Monkey Release - -5/18/2021 - -**Features/Updates** - -- CORE-1217, CORE-1226, CORE-1232 Create new `search_by_conditions` operation. -- CORE-1304 Upgrade to Node 12.22.1. -- CORE-1235 Adds new upgrade/install functionality. -- CORE-1206, CORE-1248, CORE-1252 Implement `lmdb-store` library for optimized performance. -- CORE-1062 Added alias operation for `delete_files_before`, named `delete_records_before`. -- CORE-1243 Change `HTTPS_ON` settings value to false by default. -- CORE-1189 Implement fastify web server, resulting in improved performance. -- CORE-1221 Update user API to use role name instead of role id. -- CORE-1225 Updated dependencies to eliminate npm security warnings. -- CORE-1241 Adds 3.0 update directive and refactors/fixes update functionality. - -**Bug Fixes** - -- CORE-1299 Remove all references to the `PROJECT_DIR` setting. This setting is problematic when using node version managers and upgrading the version of node and then installing a new instance of HarperDB. -- CORE-1288 Fix bug with drop table/schema that was causing 'env required' error log. -- CORE-1285 Update warning log when trying to create an attribute that already exists. -- CORE-1254 Added logic to manage data collisions in clustering. -- CORE-1212 Add pre-check to `drop_user` that returns error if user doesn't exist. -- CORE-1114 Update response code and message from `add_user` when user already exists. -- CORE-1111 Update response from `create_attribute` to match the create schema/table response. -- CORE-1205 Fixed bug that prevented schema/table from being dropped if name was a number or had a wildcard value in it. Updated validation for insert, upsert and update. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.0.md deleted file mode 100644 index f14acb8e..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.0.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: 3.1.0 -sidebar_position: 69899 ---- - -### HarperDB 3.1.0, Monkey Release - -8/24/2021 - -**Features/Updates** - -- CORE-1320, CORE-1321, CORE-1323, CORE-1324 Version 1.0 of HarperDB Custom Functions -- CORE-1275, CORE-1276, CORE-1278, CORE-1279, CORE-1280, CORE-1282, CORE-1283, CORE-1305, CORE-1314 IPC server for communication between HarperDB processes, including HarperDB, HarperDB Clustering, and HarperDB Functions -- CORE-1352, CORE-1355, CORE-1356, CORE-1358 Implement pm2 for HarperDB process management -- CORE-1292, CORE-1308, CORE-1312, CORE-1334, CORE-1338 Updated installation process to start HarperDB immediately on install and to accept all config settings via environment variable or command line arguments -- CORE-1310 Updated licensing functionality -- CORE-1301 Updated validation for performance improvement -- CORE-1359 Add `hdb-response-time` header which returns the HarperDB response time in milliseconds -- CORE-1330, CORE-1309 New config settings: `LOG_TO_FILE`, `LOG_TO_STDSTREAMS`, `IPC_SERVER_PORT`, `RUN_IN_FOREGROUND`, `CUSTOM_FUNCTIONS`, `CUSTOM_FUNCTIONS_PORT`, `CUSTOM_FUNCTIONS_DIRECTORY`, `MAX_CUSTOM_FUNCTION_PROCESSES` - -**Bug Fixes** - -- CORE-1315 Corrected issue in HarperDB restart scenario -- CORE-1370 Update some of the validation error handlers so that they don't log full stack diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.1.md b/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.1.md deleted file mode 100644 index 8f90dc10..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.1.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: 3.1.1 -sidebar_position: 69898 ---- - -### HarperDB 3.1.1, Monkey Release - -9/23/2021 - -**Features/Updates** - -- CORE-1393 Added utility function to add settings from env/cmd vars to the settings file on every run/restart -- CORE-1395 Create a setting which will allow to enable the local Studio to be served from an instance of HarperDB -- CORE-1397 Update the stock 404 response to not return the request URL -- General updates to optimize Docker container - -**Bug Fixes** - -- CORE-1399 Added fixes for complex SQL alias issues diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.2.md b/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.2.md deleted file mode 100644 index 706e5956..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 3.1.2 -sidebar_position: 69897 ---- - -### HarperDB 3.1.2, Monkey Release - -10/21/2021 - -**Features/Updates** - -- Updated the installation ASCII art to reflect the new HarperDB logo - -**Bug Fixes** - -- CORE-1408 Corrects issue where `drop_attribute` was not properly setting the LMDB version number causing tables to behave unexpectedly diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.3.md b/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.3.md deleted file mode 100644 index 1a7d3301..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.3 -sidebar_position: 69896 ---- - -### HarperDB 3.1.3, Monkey Release - -1/14/2022 - -**Bug Fixes** - -- CORE-1446 Fix for scans on indexes larger than 1 million entries causing queries to never return diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.4.md b/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.4.md deleted file mode 100644 index 3fa86ead..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.4 -sidebar_position: 69895 ---- - -### HarperDB 3.1.4, Monkey Release - -2/24/2022 - -**Features/Updates** - -- CORE-1460 Added new setting `STORAGE_WRITE_ASYNC`. If this setting is true, LMDB will have faster write performance at the expense of not being crash safe. The default for this setting is false, which results in HarperDB being crash safe. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.5.md b/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.5.md deleted file mode 100644 index 23661928..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.1.5.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.1.5 -sidebar_position: 69894 ---- - -### HarperDB 3.1.5, Monkey Release - -3/4/2022 - -**Features/Updates** - -- CORE-1498 Fixed incorrect autocasting of string that start with "0." that tries to convert to number but instead returns NaN. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.2.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.2.0.md deleted file mode 100644 index fa215082..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.2.0.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 3.2.0 -sidebar_position: 69799 ---- - -### HarperDB 3.2.0, Monkey Release - -3/25/2022 - -**Features/Updates** - -- CORE-1391 Bug fix related to orphaned HarperDB background processes. -- CORE-1509 Updated node version check, updated Node.js version, updated project dependencies. -- CORE-1518 Remove final call from logger. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.2.1.md b/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.2.1.md deleted file mode 100644 index 4cc983a4..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.2.1.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.2.1 -sidebar_position: 69798 ---- - -### HarperDB 3.2.1, Monkey Release - -6/1/2022 - -**Features/Updates** - -- CORE-1573 Added logic to track the pid of the foreground process if running in foreground. Then on stop, use that pid to kill the process. Logic was also added to kill the pm2 daemon when stop is called. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.3.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.3.0.md deleted file mode 100644 index 236704dd..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/3.3.0.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 3.3.0 -sidebar_position: 69699 ---- - -### HarperDB 3.3.0 - Monkey - -- CORE-1595 Added new role type `structure_user`, this enables non-superusers to be able to create/drop schema/table/attribute. -- CORE-1501 Improved performance for drop_table. -- CORE-1599 Added two new operations for custom functions `install_node_modules` & `audit_node_modules`. -- CORE-1598 Added `skip_node_modules` flag to `package_custom_function_project` operation. This flag allows for not bundling project dependencies and deploying a smaller project to other nodes. Use this flag in tandem with `install_node_modules`. -- CORE-1707 Binaries are now included for Linux on AMD64, Linux on ARM64, and macOS. GCC, Make, Python are no longer required when installing on these platforms. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/_category_.json b/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/_category_.json deleted file mode 100644 index 71bea62a..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Monkey (Version 3)", - "position": -3 -} diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/index.md b/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/index.md deleted file mode 100644 index a446b5c3..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v3-monkey/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: HarperDB Monkey (Version 3) ---- - -# HarperDB Monkey (Version 3) - -Did you know our release names are dedicated to employee pups? For our third release, we have Monkey. - -![picture of tan dog](/img/v4.6/dogs/monkey.webp) - -_Hi, I am Monkey, a.k.a. Monk, a.k.a. Monchichi. My dad is Aron Johnson, the Director of DevOps at HarperDB. I am an eight-year-old Australian Cattle dog mutt whose favorite pastime is hunting and collecting tennis balls from the park next to her home. I love burrowing in the Colorado snow, rolling in the cool grass on warm days, and cheese!_ diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.0.md deleted file mode 100644 index b94ea2f8..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.0.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: 4.0.0 -sidebar_position: 59999 ---- - -### HarperDB 4.0.0, Tucker Release - -11/2/2022 - -**Networking & Data Replication (Clustering)** - -The HarperDB clustering internals have been rewritten and the underlying technology for Clustering has been completely replaced with [NATS](https://nats.io/), an enterprise grade connective technology responsible for addressing, discovery and exchanging of messages that drive the common patterns in distributed systems. - -- CORE-1464, CORE-1470, : Remove SocketCluster dependencies and all code related to them. -- CORE-1465, CORE-1485, CORE-1537, CORE-1538, CORE-1558, CORE-1583, CORE_1665, CORE-1710, CORE-1801, CORE-1865 :Add nats-`server` code as dependency, on install of HarperDB download nats-`server` is possible else fallback to building from source code. -- CORE-1593, CORE-1761: Add `nats.js` as project dependency. -- CORE-1466: Build NATS configs on `harperdb run` based on HarperDB YAML configuration. -- CORE-1467, CORE-1508: Launch and manage NATS servers with PM2. -- CORE-1468, CORE-1507: Create a process which reads the work queue stream and processes transactions. -- CORE-1481, CORE-1529, CORE-1698, CORE-1502, CORE-1696: On upgrade to 4.0, update pre-existing clustering configurations, create table transaction streams, create work queue stream, update `hdb_nodes` table, create clustering folder structure, and rebuild self-signed certs. -- CORE-1494, CORE-1521, CORE-1755: Build out internals to interface with NATS. -- CORE-1504: Update existing hooks to save transactions to work with NATS. -- CORE-1514, CORE-1515, CORE-1516, CORE-1527, CORE-1532: Update `add_node`, `update_node`, and `remove_node` operations to no longer need host and port in payload. These operations now manage dynamically sourcing of table level transaction streams between nodes and work queues. -- CORE-1522: Create `NATSReplyService` process which handles the receiving NATS based requests from remote instances and sending back appropriate responses. -- CORE-1471, CORE-1568, CORE-1563, CORE-1534, CORE-1569: Update `cluster_status` operation. -- CORE-1611: Update pre-existing transaction log operations to be audit log operations. -- CORE-1541, CORE-1612, CORE-1613: Create translation log operations which interface with streams. -- CORE-1668: Update NATS serialization / deserialization to use MessagePack. -- CORE-1673: Add `system_info` param to `hdb_nodes` table and update on `add_node` and `cluster_status`. -- CORE-1477, CORE-1493, CORE-1557, CORE-1596, CORE-1577: Both a full HarperDB restart & just clustering restart call the NATS server with a reload directive to maintain full uptime while servers refresh. -- CORE-1474:HarperDB install adds clustering folder structure. -- CORE-1530: Post `drop_table` HarperDB purges the related transaction stream. -- CORE-1567: Set NATS config to always use TLS. -- CORE-1543: Removed the `transact_to_cluster` attribute from the bulk load operations. Now bulk loads always replicate. -- CORE-1533, CORE-1556, CORE-1561, CORE-1562, CORE-1564: New operation `configure_cluster`, this operation enables bulk publishing and subscription of multiple tables to multiple instances of HarperDB. -- CORE-1535: Create work queue stream on install of HarperDB. This stream receives transactions from remote instances of HarperDB which are then ingested in order. -- CORE-1551: Create transaction streams on the remote node if they do not exist when performing `add_node` or `update_node`. -- CORE-1594, CORE-1605, CORE-1749, CORE-1767, CORE-1770: Optimize the work queue stream and its consumer to be more performant and validate exact once delivery. -- CORE-1621, CORE-1692, CORE-1570, CORE-1693: NATS stream names are MD5 hashed to avoid characters that HarperDB allows, but NATS may not. -- CORE-1762: Add a new optional attribute to `add_node` and `update_node` named `opt_start_time`. This attribute sets a starting time to start synchronizing transactions. -- CORE-1785: Optimizations and bug fixes in regards to sourcing data from remote instances on HarperDB. -- CORE-1588: Created new operation `set_cluster_routes` to enable setting routes for instances of HarperDB to mesh together. -- CORE-1589: Created new operation `get_cluster_routes` to allow for retrieval of routes used to connect the instance of HarperDB to the mesh. -- CORE-1590: Created new operation `delete_cluster_routes` to allow for removal of routes used to connect the instance of HarperDB to the mesh. -- CORE-1667: Fix old environment variable `CLUSTERING_PORT` not mapping to new hub server port. -- CORE-1609: Allow `remove_node` to be called when the other node cannot be reached. -- CORE-1815: Add transaction lock to `add_node` and `update_node` to avoid concurrent nats source update bug. -- CORE-1848: Update stream configs if the node name has been changed in the YAML configuration. -- CORE-1873: Update `add_node` and `update_node` so that it auto-creates schema/table on both local and remote node respectively - -**Data Storage** - -We have made improvements to how we store, index, and retrieve data. - -- CORE-1619: Enabled new concurrent flushing technology for improved write performance. -- CORE-1701: Optimize search performance for `search_by_conditions` when executing multiple AND conditions. -- CORE-1652: Encode the values of secondary indices more efficiently for faster access. -- CORE-1670: Store updated timestamp in `lmdb.js`' version property. -- CORE-1651: Enabled multiple value indexing of array values which allows for the ability to search on specific elements in an array more efficiently. -- CORE-1649, CORE-1659: Large text values (larger than 255 bytes) are no longer stored in separate blob index. Now they are segmented and delimited in the same index to increase search performance. -- Complex objects and object arrays are no longer stored in a separate index to preserve storage and increase write throughput. -- CORE-1650, CORE-1724, CORE-1738: Improved internals around interpreting attribute values. -- CORE-1657: Deferred property decoding allows large objects to be stored, but individual attributes can be accessed (like with get_attributes) without incurring the cost of decoding the entire object. -- CORE-1658: Enable in-memory caching of records for even faster access to frequently accessed data. -- CORE-1693: Wrap updates in async transactions to ensure ACID-compliant updates. -- CORE-1653: Upgrade to 4.0 rebuilds tables to reflect changes made to index improvements. -- CORE-1753: Removed old `node-lmdb` dependency. -- CORE-1787: Freeze objects returned from queries. -- CORE-1821: Read the `WRITE_ASYNC` setting which enables LMDB nosync. - -**Logging** - -HarperDB has increased logging specificity by breaking out logs based on components logging. There are specific log files each for HarperDB Core, Custom Functions, Hub Server, Leaf Server, and more. - -- CORE-1497: Remove `pino` and `winston` dependencies. -- CORE-1426: All logging is output via `stdout` and `stderr`, our default logging is then picked up by PM2 which handles writing out to file. -- CORE-1431: Improved `read_log` operation validation. -- CORE-1433, CORE-1463: Added log rotation. -- CORE-1553, CORE-1555, CORE-1552, CORE-1554, CORE-1704: Performance gain by only serializing objects and arrays if the log is for the level defined in configuration. -- CORE-1436: Upgrade to 4.0 updates internals for logging changes. -- CORE-1428, CORE-1440, CORE-1442, CORE-1434, CORE-1435, CORE-1439, CORE-1482, CORE-1751, CORE-1752: Bug fixes, performance improvements and improved unit tests. -- CORE-1691: Convert non-PM2 managed log file writes to use Node.js `fs.appendFileSync` function. - -**Configuration** - -HarperDB has updated its configuration from a properties file to YAML. - -- CORE-1448, CORE-1449, CORE-1519, CORE-1587: Upgrade automatically converts the pre-existing settings file to YAML. -- CORE-1445, CORE-1534, CORE-1444, CORE-1858: Build out new logic to create, update, and interpret the YAML configuration file. -- Installer has updated prompts to reflect YAML settings. -- CORE-1447: Create an alias for the `configure_cluster` operation as `set_configuration`. -- CORE-1461, CORE-1462, CORE-1483: Unit test improvements. -- CORE-1492: Improvements to get_configuration and set_configuration operations. -- CORE-1503: Modify HarperDB configuration for more granular certificate definition. -- CORE-1591: Update `routes` IP param to `host` and to `leaf` config in `harperdb.conf` -- CORE-1519: Fix issue when switching between old and new versions of HarperDB we are getting the config parameter is undefined error on npm install. - -**Broad NodeJS and Platform Support** - -- CORE-1624: HarperDB can now run on multiple versions of NodeJS, from v14 to v19. We primarily test on v18, so that is the preferred version. - -**Windows 10 and 11** - -- CORE-1088: HarperDB now runs natively on Windows 10 and 11 without the need to run in a container or installed in WSL. Windows is only intended for evaluation and development purposes, not for production work loads. - -**Extra Changes and Bug Fixes** - -- CORE-1520: Refactor installer to remove all waterfall code and update to use Promises. -- CORE-1573: Stop the PM2 daemon and any logging processes when stopping hdb. -- CORE-1586: When HarperDB is running in foreground stop any additional logging processes from being spawned. -- CORE-1626: Update docker file to accommodate new `harperdb.conf` file. -- CORE-1592, CORE-1526, CORE-1660, CORE-1646, CORE-1640, CORE-1689, CORE-1711, CORE-1601, CORE-1726, CORE-1728, CORE-1736, CORE-1735, CORE-1745, CORE-1729, CORE-1748, CORE-1644, CORE-1750, CORE-1757, CORE-1727, CORE-1740, CORE-1730, CORE-1777, CORE-1778, CORE-1782, CORE-1775, CORE-1771, CORE-1774, CORE-1759, CORE-1772, CORE-1861, CORE-1862, CORE-1863, CORE-1870, CORE-1869:Changes for CI/CD pipeline and integration tests. -- CORE-1661: Fixed issue where old boot properties file caused an error when attempting to install 4.0.0. -- CORE-1697, CORE-1814, CORE-1855: Upgrade fastify dependency to new major version 4. -- CORE-1629: Jobs are now running as processes managed by the PM2 daemon. -- CORE-1733: Update LICENSE to reflect our EULA on our site. -- CORE-1606: Enable Custom Functions by default. -- CORE-1714: Include pre-built binaries for most common platforms (darwin-arm64, darwin-x64, linux-arm64, linux-x64, win32-x64). -- CORE-1628: Fix issue where setting license through environment variable not working. -- CORE-1602, CORE-1760, CORE-1838, CORE-1839, CORE-1847, CORE-1773: HarperDB Docker container improvements. -- CORE-1706: Add support for encoding HTTP responses with MessagePack. -- CORE-1709: Improve the way lmdb.js dependencies are installed. -- CORE-1758: Remove/update unnecessary HTTP headers. -- CORE-1756: On `npm install` and `harperdb install` change the node version check from an error to a warning if the installed Node.js version does not match our preferred version. -- CORE-1791: Optimizations to authenticated user caching. -- CORE-1794: Update README to discuss Windows support & Node.js versions -- CORE-1837: Fix issue where Custom Function directory was not being created on install. -- CORE-1742: Add more validation to audit log - check schema/table exists and log is enabled. -- CORE-1768: Fix issue where when running in foreground HarperDB process is not stopping on `harperdb stop`. -- CORE-1864: Fix to semver checks on upgrade. -- CORE-1850: Fix issue where a `cluster_user` type role could not be altered. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.1.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.1.md deleted file mode 100644 index 2a85f511..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.0.1 -sidebar_position: 59998 ---- - -### HarperDB 4.0.1, Tucker Release - -01/20/2023 - -**Bug Fixes** - -- CORE-1992 Local studio was not loading because the path got mangled in the build. -- CORE-2001 Fixed deploy_custom_function_project after node update broke it. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.2.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.2.md deleted file mode 100644 index bedbd970..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.0.2 -sidebar_position: 59997 ---- - -### HarperDB 4.0.2, Tucker Release - -01/24/2023 - -**Bug Fixes** - -- CORE-2003 Fix bug where if machine had one core thread config would default to zero. -- Update to lmdb 2.7.3 and msgpackr 1.7.0 diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.3.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.3.md deleted file mode 100644 index ad1cbf8a..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.3.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.3 -sidebar_position: 59996 ---- - -### HarperDB 4.0.3, Tucker Release - -01/26/2023 - -**Bug Fixes** - -- CORE-2007 Add update nodes 4.0.0 launch script to build script to fix clustering upgrade. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.4.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.4.md deleted file mode 100644 index 3f052465..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.4 -sidebar_position: 59995 ---- - -### HarperDB 4.0.4, Tucker Release - -01/27/2023 - -**Bug Fixes** - -- CORE-2009 Fixed bug where add node was not being called when upgrading clustering. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.5.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.5.md deleted file mode 100644 index 1696d6d4..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.5.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.0.5 -sidebar_position: 59994 ---- - -### HarperDB 4.0.5, Tucker Release - -02/15/2023 - -**Bug Fixes** - -- CORE-2029 Improved the upgrade process for handling existing user TLS certificates and correctly configuring TLS settings. Added a prompt to upgrade to determine if new certificates should be created or existing certificates should be kept/used. -- Fix the way NATS connections are honored in a local environment. -- Do not define the certificate authority path to NATS if it is not defined in the HarperDB config. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.6.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.6.md deleted file mode 100644 index 1cdc1bd7..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.6.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.6 -sidebar_position: 59993 ---- - -### HarperDB 4.0.6, Tucker Release - -03/09/2023 - -**Bug Fixes** - -- Fixed a data serialization error that occurs when a large number of different record structures are persisted in a single table. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.7.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.7.md deleted file mode 100644 index c4d1fbbf..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.0.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.0.7 -sidebar_position: 59992 ---- - -### HarperDB 4.0.7, Tucker Release - -03/10/2023 - -**Bug Fixes** - -- Update lmdb.js dependency diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.1.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.1.0.md deleted file mode 100644 index 2e9e5480..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.1.0.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: 4.1.0 -sidebar_position: 59899 ---- - -# 4.1.0 - -HarperDB 4.1 introduces the ability to use worker threads for concurrently handling HTTP requests. Previously this was handled by processes. This shift provides important benefits in terms of better control of traffic delegation with support for optimized load tracking and session affinity, better debuggability, and reduced memory footprint. - -This means debugging will be much easier for custom functions. If you install/run HarperDB locally, most modern IDEs like WebStorm and VSCode support worker thread debugging, so you can start HarperDB in your IDE, and set breakpoints in your custom functions and debug them. - -The associated routing functionality now includes session affinity support. This can be used to consistently route users to the same thread which can improve caching locality, performance, and fairness. This can be enabled in with the [`http.sessionAffinity` option in your configuration](../../../deployments/configuration#http). - -HarperDB 4.1's NoSQL query handling has been revamped to consistently use iterators, which provide an extremely memory efficient mechanism for directly streaming query results to the network _as_ the query results are computed. This results in faster Time to First Byte (TTFB) (only the first record/value in a query needs to be computed before data can start to be sent), and less memory usage during querying (the entire query result does not need to be stored in memory). These iterators are also available in query results for custom functions and can provide means for custom function code to iteratively access data from the database without loading entire results. This should be a completely transparent upgrade, all HTTP APIs function the same, with the one exception that custom functions need to be aware that they can't access query results by `[index]` (they should use array methods or for-in loops to handle query results). - -4.1 includes configuration options for specifying the location of database storage files. This allows you to specifically locate database directories and files on different volumes for better flexibility and utilization of disks and storage volumes. See the [storage configuration](../../../deployments/configuration#storage) and [schemas configuration](../../../deployments/configuration#schemas) for information on how to configure these locations. - -Logging has been revamped and condensed into one `hdb.log` file. See [logginglogging for more information. - -A new operation called `cluster_network` was added, this operation will ping the cluster and return a list of enmeshed nodes. - -Custom Functions will no longer automatically load static file routes, instead the `@fastify/static` plugin will need to be registered with the Custom Function server. See [Host A Static Web UI-static](https://docs.harperdb.io/docs/v/4.1/custom-functions/host-static). - -Updates to S3 import and export mean that these operations now require the bucket `region` in the request. Also, if referencing a nested object it should be done in the `key` parameter. See examples [here](../../../developers/operations-api/bulk-operations#import-from-s3). - -Due to the AWS SDK v2 reaching end of life support we have updated to v3. This has caused some breaking changes in our operations `import_from_s3` and `export_to_s3`: - -- A new attribute `region` will need to be supplied -- The `bucket` attribute can no longer have trailing slashes. Slashes will now need to be in the `key`. - -Starting HarperDB without any command (just `harperdb`) now runs HarperDB like a standard process, in the foreground. This means you can use standard unix tooling for interacting with the process and is conducive for running HarperDB with systemd or any other process management tool. If you wish to have HarperDB launch itself in separate background process (and immediately terminate the shell process), you can do so by running `harperdb start`. - -Internal Tickets completed: - -- CORE-609 - Ensure that attribute names are always added to global schema as Strings -- CORE-1549 - Remove fastify-static code from Custom Functions server which auto serves content from "static" folder -- CORE-1655 - Iterator based queries -- CORE-1764 - Fix issue where describe_all operation returns an empty object for non super-users if schema(s) do not yet have table(s) -- CORE-1854 - Switch to using worker threads instead of processes for handling concurrency -- CORE-1877 - Extend the csv_url_load operation to allow for additional headers to be passed to the remote server when the csv is being downloaded -- CORE-1893 - Add last updated timestamp to describe operations -- CORE-1896 - Fix issue where Select \* from system.hdb_info returns wrong HDB version number after Instance Upgrade -- CORE-1904 - Fix issue when executing GEOJSON query in SQL -- CORE-1905 - Add HarperDB YAML configuration setting which defines the storage location of NATS streams -- CORE-1906 - Add HarperDB YAML configuration setting defining the storage location of tables. -- CORE-1655 - Streaming binary format serialization -- CORE-1943 - Add configuration option to set mount point for audit tables -- CORE-1921 - Update NATS transaction lifecycle to handle message deduplication in work queue streams. -- CORE-1963 - Update logging for better readability, reduced duplication, and request context information. -- CORE-1968 - In server\nats\natsIngestService.js remove the js_msg.working(); line to improve performance. -- CORE-1976 - Fix error when calling describe_table operation with no schema or table defined in payload. -- CORE-1983 - Fix issue where create_attribute operation does not validate request for required attributes -- CORE-2015 - Remove PM2 logs that get logged in console when starting HDB -- CORE-2048 - systemd script for 4.1 -- CORE-2052 - Include thread information in system_information for visibility of threads -- CORE-2061 - Add a better error msg when clustering is enabled without a cluster user set -- CORE-2068 - Create new log rotate logic since pm2 log-rotate no longer used -- CORE-2072 - Update to Node 18.15.0 -- CORE-2090 - Upgrade Testing from v4.0.x and v3.x to v4.1. -- CORE-2091 - Run the performance tests -- CORE-2092 - Allow for automatic patch version updates of certain packages -- CORE-2109 - Add verify option to clustering TLS configuration -- CORE-2111 - Update AWS SDK to v3 diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.1.1.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.1.1.md deleted file mode 100644 index 54163b63..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.1.1.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.1.1 -sidebar_position: 59898 ---- - -# 4.1.1 - -06/16/2023 - -- HarperDB uses improved logic for determining default heap limits and thread counts. When running in a restricted container and on NodeJS 18.15+, HarperDB will use the constrained memory limit to determine heap limits for each thread. In more memory constrained servers with many CPU cores, a reduced default thread count will be used to ensure that excessive memory is not used by many workers. You may still define your own thread count (with `http`/`threads`) in the [configuration](../../../deployments/configuration). -- An option has been added for [disabling the republishing NATS messages](../../../deployments/configuration), which can provide improved replication performance in a fully connected network. -- Improvements to our OpenShift container. -- Dependency security updates. -- **Bug Fixes** -- Fixed a bug in reporting database metrics in the `system_information` operation. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.1.2.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.1.2.md deleted file mode 100644 index fc5e16f4..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.1.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.1.2 -sidebar_position: 59897 ---- - -### HarperDB 4.1.2, Tucker Release - -06/16/2023 - -- HarperDB has updated binary dependencies to support older glibc versions back 2.17. -- A new CLI command was added to get the current status of whether HarperDB is running and the cluster status. This is available with `harperdb status`. -- Improvements to our OpenShift container. -- Dependency security updates. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.0.md deleted file mode 100644 index cf51217b..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.0.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: 4.2.0 -sidebar_position: 59799 ---- - -# 4.2.0 - -#### HarperDB 4.2.0 - -HarperDB 4.2 introduces a new interface to accessing our core database engine with faster access, well-typed idiomatic JavaScript interfaces, ergonomic object mapping, and real-time data subscriptions. 4.2 also had adopted a new component architecture for building extensions to deliver customized external data sources, authentication, file handlers, content types, and more. These architectural upgrades lead to several key new HarperDB capabilities including a new REST interface, advanced caching, real-time messaging and publish/subscribe functionality through MQTT, WebSockets, and Server-Sent Events. - -4.2 also introduces configurable database schemas, using GraphQL Schema syntax. The new component structure is also configuration-driven, providing easy, low-code paths to building applications. [Check out our new getting starting guide](../../../getting-started) to see how easy it is to get started with HarperDB apps. - -### Resource API - -The [Resource API](../../reference/resources) is the new interface for accessing data in HarperDB. It utilizes a uniform interface for accessing data in HarperDB database/tables and is designed to easily be implemented or extended for defining customized application logic for table access or defining custom external data sources. This API has support for connecting resources together for caching and delivering data change and message notifications in real-time. The [Resource API documentation details this interface](../../reference/resources). - -### Component Architecture - -HarperDB's custom functions have evolved towards a full component architecture; our internal functionality is defined as components, and this can be used in a modular way in conjunction with user components. These can all easily be configured and loaded through configuration files, and there is now a [well-defined interface for creating your own components. Components can easily be deployed/installed into HarperDB using [NPM and Github references as well. - -### Configurable Database Schemas - -HarperDB applications or components support [schema definitions using GraphQL schema syntax](../../../../developers/applications/defining-schemas). This makes it easy to define your table and attribute structure and gives you control over which attributes should be indexed and what types they should be. With schemas in configuration, these schemas can be bundled with an application and deployed together with application code. - -### REST Interface - -HarperDB 4.2 introduces a new REST interface for accessing data through best-practice HTTP APIs using intuitive paths and standards-based methods and headers that directly map to our Resource API. This new interface provides fast and easy access to data via queries through GET requests, modifications of data through PUTs, customized actions through POSTs and more. With standards-based header support built-in, this works seamlessly with external caches (including browser caches) for accelerated performance and reduced network transfers. - -### Real-Time - -HarperDB 4.2 now provides standard interfaces for subscribing to data changes and receiving notifications of changes and messages in real-time. Using these new real-time messaging capabilities with structured data provides a powerful integrated platform for both database style data updates and querying along with message delivery. [Real-time messaging](../../../../developers/real-time) of data is available through several protocols: - -#### MQTT - -4.2 now includes MQTT support which is a publish and subscribe messaging protocol, designed for efficiency (designed to be efficient enough for even small Internet of Things devices). This allows clients to connect to HarperDB and publish messages through our data center and subscribe to messages and data for real-time delivery. 4.2 implements support for QoS 0 and 1, along with durable sessions. - -#### WebSockets - -HarperDB now also supports WebSockets. This can be used as a transport for MQTT or as a connection for custom connection handling. - -#### Server-Sent Events - -HarperDB also includes support for Server-Sent Events. This is a very easy-to-use browser API that allows web sites/applications to connect to HarperDB and subscribe to data changes with minimal effort over standard HTTP. - -### Database Structure - -HarperDB databases contain a collection of tables, and these tables are now contained in a single transactionally-consistent database file. This means reads and writes can be performed transactionally and atomically across tables (as long as they are in the same database). Multi-table transactions are replicated as single atomic transactions as well. Audit logs are also maintained in the same database with atomic consistency as well. - -Databases are now entirely encapsulated in a file, which means they can be moved/copied to another database without requiring any separate metadata updates in the system tables. - -### Clone Node - -HarperDB includes new functionality for adding new HarperDB nodes in a cluster. New instances can be configured to clone from a leader node, performing and copying a database snapshot from a leader node, and self-configuring from the leader node as well, to facilitate accelerated deployment of new nodes for fast horizontal scaling to meet demand needs. [See the documentation on Clone Node for more information.](../../../../administration/cloning) - -### Operations API terminology updates - -Any operation that used the `schema` property was updated to make this property optional and alternately support `database` as the property for specifying the database (formerly 'schema'). If both `schema` and `database` are absent, operation defaults to using the `data` database. Term 'primary key' now used in place of 'hash'. noSQL operation `search_by_hash` updated to `search_by_id`. - -Support was added for defining a table with `primary_key` instead of `hash_attribute`. - -## Configuration - -There have been significant changes to `harperdb-config.yaml`, however none of these changes should affect pre-4.2 versions. If you upgrade to 4.2 any existing configuration should be backwards compatible and will not need to be updated. - -`harperdb-config.yaml` has had some configuration values added, removed, renamed and defaults changed. Please refer to [harperdb-config.yaml](../../../deployments/configuration) for the most current configuration parameters. - -- The `http` element has been expanded. - - `compressionThreshold` was added. - - All `customFunction` configuration now lives here, except for the `tls` section. -- `threads` has moved out of the `http` element and now is its own top level element. -- `authentication` section was moved out of the `operationsApi` section and is now its own top level element/section. -- `analytics.aggregatePeriod` was added. -- Default logging level was changed to `warn`. -- Default clustering log level was changed to `info`. -- `clustering.republishMessages` now defaults to `false`. -- `operationsApi.foreground` was removed. To start HarperDB in the foreground, from the CLI run `harperdb`. -- Made `operationsApi` configuration optional. Any config not defined here will default to the `http` section. -- Added a `securePort` parameter to `operationsApi` and `http` used for setting the https port. -- Added a new top level `tls` section. -- Removed `customFunctions.enabled`, `customFunctions.network.https`, `operationsApi.network.https` and `operationsApi.nodeEnv`. -- Added an element called `componentRoot` which replaces `customFunctions.root`. -- Updated custom pathing to use `databases` instead of `schemas`. -- Added `logging.auditAuthEvents.logFailed` and `logging.auditAuthEvents.logSuccessful` for enabling logging of auth events. -- A new `mqtt` section was added. - -### Socket Management - -HarperDB now uses socket sharing to distribute incoming connections to different threads (`SO_REUSEPORT`). This is considered to be the most performant mechanism available for multi-threaded socket handling. This does mean that we have deprecated session-affinity based socket delegation. - -HarperDB now also supports more flexible port configurations: application endpoints and WebSockets run on 9926 by default, but these can be separated, or application endpoints can be configured to run on the same port as the operations API for a single port configuration. - -### Sessions - -HarperDB now supports cookie-based sessions for authentication for web clients. This can be used with the standard authentication mechanisms to login, and then cookies can be used to preserve the authenticated session. This is generally a more secure way of maintaining authentication in browsers, without having to rely on storing credentials. - -### Dev Mode - -HarperDB can now directly run a HarperDB application from any location using `harperdb run /path/to/app` or `harperdb dev /path/to/app`. The latter starts in dev mode, with logging directly to the console, debugging enabled, and auto-restarting with any changes in your application files. Dev mode is recommended for local application and component development. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.1.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.1.md deleted file mode 100644 index c792a637..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.1.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.2.1 -sidebar_position: 59798 ---- - -### HarperDB 4.2.1, Tucker Release - -11/3/2023 - -- Downgrade NATS 2.10.3 back to 2.10.1 due to regression in connection handling. -- Handle package names with underscores. -- Improved validation of queries and comparators -- Avoid double replication on transactions with multiple commits -- Added file metadata on get_component_file diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.2.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.2.md deleted file mode 100644 index 9cfa957e..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.2.2 -sidebar_position: 59797 ---- - -### HarperDB 4.2.2, Tucker Release - -11/8/2023 - -- Increase timeouts for NATS connections. -- Fix for database snapshots for backups (and for clone node). -- Fix application of permissions for default tables exposed through REST. -- Log replication failures with record information. -- Fix application of authorization/permissions for MQTT commands. -- Fix copying of local components in clone node. -- Fix calculation of overlapping start time in clone node. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.3.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.3.md deleted file mode 100644 index edecd686..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.3.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.2.3 -sidebar_position: 59796 ---- - -### HarperDB 4.2.3, Tucker Release - -11/15/2023 - -- When setting setting securePort, disable unsecure port setting on same port -- Fix `harperdb status` when pid file is missing -- Fix/include missing icons/fonts from local studio -- Fix crash that can occur when concurrently accessing records > 16KB -- Apply a lower heap limit to better ensure that memory leaks are quickly caught/mitigated diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.4.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.4.md deleted file mode 100644 index 14d268b5..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.4.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.2.4 -sidebar_position: 59795 ---- - -### HarperDB 4.2.4, Tucker Release - -11/16/2023 - -- Prevent coercion of strings to numbers in SQL queries (in WHERE clause) -- Address fastify deprecation warning about accessing config diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.5.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.5.md deleted file mode 100644 index 1b6bf143..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.5.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.2.5 -sidebar_position: 59794 ---- - -### HarperDB 4.2.5, Tucker Release - -11/22/2023 - -- Disable compression on server-sent events to ensure messages are immediately sent (not queued for later deliver) -- Update geoNear function to tolerate null values -- lmdb-js fix to ensure prefetched keys are pinned in memory until retrieved -- Add header to indicate start of a new authenticated session (for studio to identify authenticated sessions) diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.6.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.6.md deleted file mode 100644 index 50abde53..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.6.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.2.6 -sidebar_position: 59793 ---- - -### HarperDB 4.2.6, Tucker Release - -11/29/2023 - -- Update various geo SQL functions to tolerate invalid values -- Properly report component installation/load errors in `get_components` (for studio to load components after an installation failure) diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.7.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.7.md deleted file mode 100644 index 5d75e134..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.2.7 -sidebar_position: 59792 ---- - -### HarperDB 4.2.7 - -12/6/2023 - -- Add support for cloning over the top of an existing HarperDB instance -- Add health checks for NATS consumer with ability to restart consumer loops for better resiliency -- Revert Fastify autoload module due to a regression that had caused EcmaScript modules for Fastify route modules to fail to load on Windows diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.8.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.8.md deleted file mode 100644 index 21127797..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.2.8.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.2.8 -sidebar_position: 59791 ---- - -### HarperDB 4.2.8 - -12/19/2023 - -- Added support CLI command line arguments for clone node -- Added support for cloning a node without enabling clustering -- Clear NATS client cache on closed event -- Fix check for attribute permissions so that an empty attribute permissions array is treated as a table level permission definition -- Improve speed of cross-node health checks -- Fix for using `database` in describe operations diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.0.md deleted file mode 100644 index 9eed751b..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.0.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: 4.3.0 -sidebar_position: 59699 ---- - -# 4.3.0 - -#### HarperDB 4.3.0, Tucker Release - -3/19/2024 - -#### Relationships and Joins - -HarperDB now supports defining relationships between tables. These relationships can be defined as one-to-many, many-to-one, or many-to-many, and use a foreign key to record the relationship between records from different tables. An example of how to use this to define a many-to-one and one-to-many relationships between a product and brand table: - -```graphql -type Product @table { - id: ID @primaryKey - name: String @indexed - # foreign key used to reference a brand - brandId: ID @indexed - # many-to-one relationship to brand - brand: Related @relation(from: "brandId") -} -type Brand @table { - id: ID @primaryKey - name: String @indexed - # one-to-many relationship of brand to products of that brand - products: Product @relation(to: "brandId") -} -``` - -This relationships model can be used in queries and selects, which will automatically "join" the data from the tables. For example, you could search for products by brand name: - -```http -/Product?brand.name=Microsoft -``` - -HarperDB also now supports querying with a sort order. Multiple sort orders can be provided breaking ties. Nested select have also been added, which also utilizes joins when related records are referenced. For example: - -```http -/Product?brand.name=Microsoft&sort(price)&select(name,brand{name,size}) -``` - -See the [schema definition documentation](../../../../developers/applications/defining-schemas) for more information on defining relationships, and the [REST documentation for more information on queries](../../../../developers/rest). - -#### OpenAPI Specification - -A new default endpoint `GET /openapi` was added for describing endpoints configured through a GraphQL schema. - -#### Query Optimizations - -HarperDB has also made numerous improvements to query planning and execution for high performance query results with a broader range of queries. - -#### Indexing Nulls - -New tables and indexes now support indexing null values, enabling queries by null (as well as queries for non-null values). For example, you can query by nulls with the REST interface: - -```http -GET /Table/?attribute=null -``` - -Note, that existing indexes will remain without null value indexing, and can only support indexing/querying by nulls if they are rebuilt (removed and re-added). - -#### CLI Expansion - -The HarperDB now supports an expansive set of commands that execute operations from the operations API. For example, you can list users from the command line: - -```bash -harperdb list_users -``` - -#### BigInt Support - -HarperDB now supports `BigInt` attributes/values with integers (with full precision) up to 1000 bits (or 10^301). These can be used as primary keys or standard attributes, and can be used in queries or other operations. Within JSON documents, you can simply use standard JSON integer numbers with up to 300 digits, and large BigInt integers will be returned as standard JSON numbers. - -#### Local Studio Upgrade - -HarperDB has upgraded the local studio to match the same version that is offered on [https://studio.harperdb.io](https://studio.harperdb.io). The local studio now has the full robust feature set of the online version. - -### MQTT - -#### mTLS Support - -HarperDB now supports mTLS based authentication for HTTP, WebSockets, and MQTT. See the [configuration documentation for more information](../../../deployments/configuration). - -#### Single-Level Wildcards - -HarperDB's MQTT service now supports single-level wildcards (`+`), which facilitates a great range of subscriptions. - -#### Retain handling - -HarperDB's MQTT now supports the retain handling flags for subscriptions that are made using MQTT v5. - -#### CRDT - -HarperDB now supports basic conflict-free data type (CRDT) updates that allow properties to be individually updated and merged when separate properties are updated on different threads or nodes. Individual property CRDT updates are automatically performed when you update individual properties through the resource API. Individual property CRDT updates are used when making `PATCH` requests through the REST API. - -The CRDT functionality also supports explicit incrementation to merge multiple parallel incrementation requests with proper summing. See the [Resource API for more information](../../reference/resources). - -#### Configuration Improvements - -The configuration has improved support for detecting port conflicts, handling paths for fastify routes, and now includes support for specifying a heap limit and TLS ciphers. See the [configuration documentation for more information](../../../deployments/configuration). - -#### Balanced Audit Log Cleanup - -Audit log cleanup has been improved to reduce resource consumption during scheduled cleanups. - -#### `export_*` support for `search_by_conditions` - -The `export_local` and `export_to_s3` operations now support `search_by_conditions` as one of the allowed search operators. - -### Storage Performance Improvements - -Significant improvements were made to handling of free-space to decrease free-space fragmentation and improve performance of reusing free-space for new data. This includes prioritizing reuse of recently released free-space for more better memory/caching utilization. - -#### Compact Database - -In addition to storage improvements, HarperDB now includes functionality for [compacting a database](../../../deployments/harper-cli) (while offline), which can be used to eliminate all free-space to reset any fragmentation. - -#### Compression - -Compression is now enabled by default for all records over 4KB. - -To learn more on how to configure compression visit [configuration](https://docs.harperdb.io/docs/v/4.3/deployments/configuration). diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.1.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.1.md deleted file mode 100644 index 870968bd..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.1.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.1 -sidebar_position: 59698 ---- - -### HarperDB 4.3.1 - -3/25/2024 - -- Fix Fastify warning about responseTime usage -- Add access to the MQTT topic in the context -- Fix for ensuring local NATS streams are created diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.10.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.10.md deleted file mode 100644 index 7badf0cc..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.10.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.3.10 -sidebar_position: 59689 ---- - -### HarperDB 4.3.10 - -5/5/2024 - -- Provide a `data` property on the request/context with deserialized data from the request body for any request including methods that don't typically have a request body -- Ensure that CRDTs are not double applied after committing a transaction -- Delete MQTT will after publishing even if it fails to publish -- Improve transaction retry logic to use async non-optimistic transactions after multiple retries diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.11.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.11.md deleted file mode 100644 index 82b47381..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.11.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.11 -sidebar_position: 59688 ---- - -### HarperDB 4.3.11 - -5/15/2024 - -- Add support for multiple certificates with SNI-based selection of certificates for HTTPS/TLS -- Fix warning in Node v22 diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.12.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.12.md deleted file mode 100644 index 3f016e25..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.12.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.12 -sidebar_position: 59687 ---- - -### HarperDB 4.3.12 - -5/16/2024 - -- Fix for handling ciphers in multiple certificates -- Allow each certificate config to have multiple hostnames diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.13.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.13.md deleted file mode 100644 index e7833e0a..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.13.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.13 -sidebar_position: 59686 ---- - -### HarperDB 4.3.13 - -5/22/2024 - -- Fix for handling HTTPS/TLS with IP address targets (no hostname) where SNI is not available -- Fix for memory leak when a node is down and consumers are trying to reconnect -- Faster cross-thread notification mechanism for transaction events diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.14.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.14.md deleted file mode 100644 index 0bf4e9c8..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.14.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.14 -sidebar_position: 59685 ---- - -### HarperDB 4.3.14 - -5/24/2024 - -- Fix application of ciphers to multi-certificate TLS configuration diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.15.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.15.md deleted file mode 100644 index 48321fb6..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.15.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.15 -sidebar_position: 59684 ---- - -### HarperDB 4.3.15 - -5/29/2024 - -- Add support for wildcards in hostnames for SNI -- Properly apply ciphers settings on multiple TLS configurations diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.16.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.16.md deleted file mode 100644 index 195e27b7..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.16.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.16 -sidebar_position: 59683 ---- - -### HarperDB 4.3.16 - -6/3/2024 - -- Properly shim legacy TLS configuration with new multi-certificate support -- Show the changed filenames when an application is reloaded diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.17.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.17.md deleted file mode 100644 index 27a0f4cb..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.17.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.3.17 -sidebar_position: 59682 ---- - -### HarperDB 4.3.17 - -6/13/2024 - -- Add MQTT analytics of incoming messages and separate by QoS level -- Ensure that any installed `harperdb` package in components is relinked to running harperdb. -- Upgrade storage to more efficiently avoid storage increases -- Fix to improve database metrics in system_information -- Fix for pathing on Windows with extension modules -- Add ability to define a range of listening threads diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.18.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.18.md deleted file mode 100644 index 052b3821..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.18.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.18 -sidebar_position: 59681 ---- - -### HarperDB 4.3.18 - -6/18/2024 - -- Immediately terminate an MQTT connection when there is a keep-alive timeout. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.19.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.19.md deleted file mode 100644 index 2676c9f6..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.19.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.19 -sidebar_position: 59680 ---- - -### HarperDB 4.3.19 - -7/2/2024 - -- Properly return records for the existing value for subscriptions used for retained messages, so they are correctly serialized. -- Ensure that deploy components empty the target directory for a clean installation and expansion of a `package` sub-directory. -- Ensure that we do not double load components that are referenced by symlink from node_modules and in components directory. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.2.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.2.md deleted file mode 100644 index ca273c5e..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.2.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.3.2 -sidebar_position: 59697 ---- - -### HarperDB 4.3.2 - -3/29/2024 - -- Clone node updates to individually clone missing parts -- Fixes for publishing OpenShift container -- Increase purge stream timeout -- Fixed declaration of analytics schema so queries work before a restart -- Fix for iterating queries when deleted records exist -- LMDB stability upgrade -- Fix for cleanup of last will in MQTT diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.20.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.20.md deleted file mode 100644 index d090990b..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.20.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: 4.3.20 -sidebar_position: 59679 ---- - -### HarperDB 4.3.20 - -7/11/2024 - -- The restart_service operation is now executed as a job, making it possible to track the progress of a restart (which is performed as a rolling restart of threads) -- Disable Nagle's algorithm for TCP connections to improve performance -- Append Server-Timing header if a fastify route has already added one -- Avoid symlinking the harperdb directory to itself -- Fix for deleting an empty database -- Upgrade ws and pm2 packages for security vulnerabilities -- Improved TypeScript definitions for Resource and Context. -- The context of a source can set `noCacheStore` to avoid caching the results of a retrieval from source -- Better error reporting of MQTT parsing errors and termination of connections for compliance diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.21.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.21.md deleted file mode 100644 index 7afefd12..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.21.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.21 -sidebar_position: 59678 ---- - -### HarperDB 4.3.21 - -8/21/2024 - -- Fixed an issue with iterating/serializing query results with a `limit`. -- Fixed an issue that was preventing the caching of structured records in memory. -- Fixed and added several TypeScript exported types including `tables`, `databases`, `Query`, and `Context`. -- Fixed logging warnings about license limits after a license is updated. -- Don't register a certificate as the default certificate for non-SNI connections unless it lists an IP address in the SAN field. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.22.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.22.md deleted file mode 100644 index a4bc2003..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.22.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.3.22 -sidebar_position: 59677 ---- - -### HarperDB 4.3.22 - -9/6/2024 - -- Adding improved back-pressure handling for large subscriptions and backlogs with durable MQTT sessions -- Allow .extension in URL paths to indicate both preferred encoding and decoding -- Added support for multi-part ids in query parameters -- Limit describe calls by time before using statistical sampling -- Proper cleanup of a transaction when it is aborted due to running out of available read transactions -- Updates to release/builds diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.23.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.23.md deleted file mode 100644 index 7496c1d1..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.23.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.23 -sidebar_position: 59676 ---- - -### HarperDB 4.3.23 - -9/12/2024 - -- Avoid long-running read transactions on subscription catch-ups -- Reverted change to setting default certificate for IP address only -- Better handling of last-will messages on startup diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.24.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.24.md deleted file mode 100644 index 435c15ec..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.24.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.24 -sidebar_position: 59675 ---- - -### HarperDB 4.3.24 - -9/12/2024 - -- Fix for querying for large strings (over 255 characters) diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.25.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.25.md deleted file mode 100644 index 601d9ec0..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.25.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.3.25 -sidebar_position: 59674 ---- - -### HarperDB 4.3.25 - -9/24/2024 - -- Add analytics for replication latency -- Fix iteration issue over asynchronous joined queries -- Local studio fix for loading applications in insecure context (HTTP) -- Local studio fix for loading configuration tab diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.26.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.26.md deleted file mode 100644 index c0dacf54..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.26.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.26 -sidebar_position: 59673 ---- - -### HarperDB 4.3.26 - -9/27/2024 - -- Fixed a security issue that allowed users to bypass access controls with the operations API -- Previously expiration handling was limited to tables with a source, but now it can be applied to any table diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.27.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.27.md deleted file mode 100644 index 0bbd448a..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.27.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.27 -sidebar_position: 59672 ---- - -### HarperDB 4.3.27 - -10/2/2024 - -- Fixed handling HTTP upgrade with Connection header that does not use Upgrade as the sole value (for Firefox) -- Added metrics for requests by status code -- Properly remove attributes from the stored metadata when removed from GraphQL schema -- Fixed a regression in clustering retrieval of schema description -- Fix attribute validation/handling to ensure that sequential ids can be assigned with insert/upsert operations diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.28.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.28.md deleted file mode 100644 index 361d416d..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.28.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.28 -sidebar_position: 59671 ---- - -### HarperDB 4.3.28 - -10/3/2024 - -- Tolerate user with no role when building NATS config -- Change metrics for requests by status code to be prefixed with "response\_" -- Log error `cause`, and other properties, when available. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.29.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.29.md deleted file mode 100644 index 5537df8b..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.29.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 4.3.29 -sidebar_position: 59670 ---- - -### HarperDB 4.3.29 - -10/7/2024 - -- Avoid unnecessary cookie session creation without explicit login -- Added support for caching directives in operations API -- Fixed issue with creating metadata for table with no primary key -- Local studio upgrade: - - Added support for "cache only" mode to view table data without origin resolution - - Added partial support for cookie-based authentication - - Added support for browsing tables with no primary key - - Improved performance for sorting tables diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.3.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.3.md deleted file mode 100644 index 38175dda..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.3 -sidebar_position: 59696 ---- - -### HarperDB 4.3.3 - -4/01/2024 - -- Improve MQTT logging by properly logging auth failures, logging disconnections diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.30.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.30.md deleted file mode 100644 index e005db97..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.30.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.30 -sidebar_position: 59669 ---- - -### HarperDB 4.3.30 - -10/9/2024 - -- Properly assign transaction timestamp to writes from cache resolutions (ensuring that latencies can be calculated on replicating nodes) diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.31.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.31.md deleted file mode 100644 index 80cab2b9..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.31.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.31 -sidebar_position: 59668 ---- - -### HarperDB 4.3.31 - -10/10/2024 - -- Reset the restart limit for manual restarts to ensure that NATS process will continue to restart after more than 10 manual restarts -- Only apply caching directives (from headers) to tables/resources that are configured to be caching, sourced from another resource -- Catch/tolerate errors on serializing objects for logging diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.32.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.32.md deleted file mode 100644 index 0b5893b4..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.32.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.3.32 -sidebar_position: 59667 ---- - -### HarperDB 4.3.32 - -10/16/2024 - -- Fix a memory leak when cluster_network closes a hub connection -- Improved MQTT error handling, with less verbose logging of more common errors, and treat a missing subscription as an invalid/missing topic -- Record analytics and server-timing header even when cache resolution fails diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.33.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.33.md deleted file mode 100644 index 7707a562..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.33.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.33 -sidebar_position: 59666 ---- - -### HarperDB 4.3.33 - -10/24/2024 - -- Change the default maximum length for a fastify route parameter from 100 to 1000 characters. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.34.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.34.md deleted file mode 100644 index 2bd65833..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.34.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.34 -sidebar_position: 59665 ---- - -### HarperDB 4.3.34 - -10/24/2024 - -- lmdb-js upgrade diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.35.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.35.md deleted file mode 100644 index f8dd7b73..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.35.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.35 -sidebar_position: 59664 ---- - -### HarperDB 4.3.35 - -11/12/2024 - -- Upgrades for supporting Node.js V23 -- Fix for handling a change in the schema for nested data structures diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.36.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.36.md deleted file mode 100644 index 2eb8e636..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.36.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.36 -sidebar_position: 59663 ---- - -### HarperDB 4.3.36 - -11/14/2024 - -- lmdb-js upgrade for better free-space management diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.37.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.37.md deleted file mode 100644 index f36e1c32..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.37.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.37 -sidebar_position: 59662 ---- - -### HarperDB 4.3.37 - -12/6/2024 - -- lmdb-js upgrade for preventing crashes with shared user buffers diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.38.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.38.md deleted file mode 100644 index d1fce0f8..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.38.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.38 -sidebar_position: 59661 ---- - -### HarperDB 4.3.38 - -1/10/2025 - -- Fixes for audit log cleanup diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.4.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.4.md deleted file mode 100644 index 0c96732f..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.4.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.3.4 -sidebar_position: 59695 ---- - -### HarperDB 4.3.4 - -4/9/2024 - -- Fixed a buffer overrun issue with decompressing compressed data -- Better keep-alive of transactions with long running queries diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.5.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.5.md deleted file mode 100644 index 60888785..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.5.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.5 -sidebar_position: 59694 ---- - -### HarperDB 4.3.5 - -4/10/2024 - -- Fixed a buffer overrun issue with decompressing compressed data diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.6.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.6.md deleted file mode 100644 index 54a4739a..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.6.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.6 -sidebar_position: 59693 ---- - -### HarperDB 4.3.6 - -4/12/2024 - -- Fixed parsing of dates from epoch millisecond times in queries -- Fixed CRDT incrementation of different data types -- Adjustments to text/plain content type q-value handling -- Fixed parsing of passwords with a colon -- Added MQTT events for connections, authorization, and disconnections diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.7.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.7.md deleted file mode 100644 index df9fb331..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.7.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.7 -sidebar_position: 59692 ---- - -### HarperDB 4.3.7 - -4/16/2024 - -- Fixed transaction handling to stay on open on long compaction operations -- Fixed handling of sorting on non-indexed attributes -- Storage stability improvements -- Fixed authentication/authorization of WebSockets connection and use of cookies -- Fixes for clone node operations diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.8.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.8.md deleted file mode 100644 index 0e4c5b6c..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.8.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.3.8 -sidebar_position: 59691 ---- - -### HarperDB 4.3.8 - -4/26/2024 - -- Added support for the MQTT keep-alive feature (disconnecting if no control messages are received within keep-alive window) -- Improved handling of write queue timeouts, with configurability -- Fixed a memory leak that can occur with NATS reconnections after heartbeat misses -- Fixed a bug in clone node with a null port -- Add error events to MQTT events system diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.9.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.9.md deleted file mode 100644 index 17c95934..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.3.9.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.3.9 -sidebar_position: 59690 ---- - -### HarperDB 4.3.9 - -4/30/2024 - -- lmdb-js upgrade diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.0.md deleted file mode 100644 index 4ac68140..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.0.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: 4.4.0 -sidebar_position: 59599 ---- - -# 4.4.0 - -#### HarperDB 4.4.0 - -10/14/2024 - -### Native Replication - -HarperDB has a completely [new native replication system](../../../developers/replication/) which is faster, more efficient, secure, and reliable than the previous replication system. The new system (codenamed "Plexus") uses direct WebSocket connections between servers with highly optimized encoding and is driven by direct tracking audit/transaction log for efficient and flexible data transfer. This replication has improved resilience with the ability to reach consensus consistency when one node goes down through cross-node catch-up. Network connections can be performed over the existing operations API port or a separate port, for improved configurability. - -The native replication system is much easier to configure, with multiple options for authentication and security, including PKI/mTLS security that is highly robust and easy to use in conjunction with existing PKI certificates. Replication can be configured through explicit subscriptions or for automated replication of all data in a database. With automated replication, gossiping is used to automatically discover and connect to other nodes in the cluster. - -#### Sharding - -The new replication system also includes provisional support for [sharding](../../../developers/replication/sharding). This sharding mechanism paves the way for greater scalability and performance, by allow data to be distributed across multiple nodes. - -#### Replicated Operations - -Certain operations can now be replicated across the cluster, including the deployment and management of components. This allows for a more seamless experience when managing a cluster of HarperDB instances. Restarts can also be "replicated", and if used, will perform a rolling restart of all the nodes in a cluster. - -### Computed Properties - -Computed properties allow applications to define properties that are computed from other properties, allowing for composite properties that are calculated from other data stored in records without requiring actual storage of the computed value. For example, you could have a computed property for a full name based on first and last, or age/duration based on a date. Computed properties are also foundational for custom indexes. See the [schema documentation](../../../../developers/applications/defining-schemas), [Resource API](../../reference/resources), and our blog post on [computed properties](https://www.harperdb.io/development/tutorials/how-to-create-custom-indexes-with-computed-properties) for more information. - -### Custom Indexing - -Custom indexes can now be defined using computed properties to allow for unlimited possibilities of indexing, including composite, full-text indexing, vector indexing. Again, see the [schema documentation](../../../../developers/applications/defining-schemas) for more information. - -### Native Graph Support - -HarperDB now includes provisional support for native [GraphQL querying functionality](../../reference/graphql). This allows for querying of graph data using GraphQL syntax. This is provisional and some APIs may be updated in the future. - -### Dynamic Certificate Management - -Certificates are now stored in system tables and can be dynamically managed. Certificates can be added, replaced, and deleted without restarting HarperDB. This includes both standard certificates and certificate authorities, as well as private keys (private keys are not stored in table, they securely stored in a file). - -#### Status Report on Startup - -On startup, HarperDB will now print out an informative status of all running services and ports they are listening on. - -#### Support for Response object - -Resource methods can now return a `Response` object (or an object with `headers` and `status`) to allow for more control over the response. - -### Auto-incrementing Primary Keys - -Primary keys can now be auto-incrementing, allowing for automatic generation of numeric primary keys on insert/creation. Primary keys defined with `ID` or `String` will continue to use GUIDs for auto-assigned primary keys, which occurs on insert or creation if the primary key is not provided. However, for keys that are defined as `Any`, `Int`, or `Long`, the primary key will be assigned using auto-incrementation. This is significantly more efficient than GUIDs since the key only requires 8 bytes of storage instead of 31 bytes, and doesn't require random number generation. - -#### Developer/Production Mode for Configuration - -When using interactive installation (when configuration is not provided through arguments or env vars), HarperDB now provides an option for developer or production mode with a set of default configuration for each mode better suited for developer or production environments. - -**Export by Protocol** - -Exported resources can be configured to be specifically exported by protocol (REST, MQTT, etc.) for more granular control over what is exported where. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.1.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.1.md deleted file mode 100644 index 5c1e2037..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.1 -sidebar_position: 59598 ---- - -### HarperDB 4.4.1 - -10/17/2024 - -- Fix issue where non-RSA keys were not being parsed correctly on startup. -- Fix a memory leak when cluster_network closes a hub connection -- Improved MQTT error handling, with less verbose logging of more common errors, and treat a missing subscription as an invalid/missing topic -- Record analytics and server-timing header even when cache resolution fails diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.10.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.10.md deleted file mode 100644 index 6d8aad2c..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.10.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.10 -sidebar_position: 59589 ---- - -### HarperDB 4.4.10 - -12/17/2024 - -- Fix for deploying packages and detecting node_modules directory diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.11.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.11.md deleted file mode 100644 index 5e5b5fc0..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.11.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.11 -sidebar_position: 59588 ---- - -### HarperDB 4.4.11 - -12/18/2024 - -- Fix for initial certification creation on upgrade -- Docker build fix diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.12.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.12.md deleted file mode 100644 index 8efe840e..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.12.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.12 -sidebar_position: 59587 ---- - -### HarperDB 4.4.12 - -12/19/2024 - -- Move components installed by reference into hdb/components for consistency and compatibility with next.js -- Use npm install --force to ensure modules are installed diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.13.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.13.md deleted file mode 100644 index cab28cc0..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.13.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.4.13 -sidebar_position: 59586 ---- - -### HarperDB 4.4.13 - -1/2/2025 - -- Fix for not using requestCert if the port doesn't need replication -- Fix for applying timeouts HTTP server for ancient node versions -- Updates for different replication configuration settings, including sharding and replication using stored credentials -- Mitigation crashing due GC'ed shared array buffers -- Fix for error handling with CLI failures -- Updated dependencies -- Fix for allow securePort to be set on authentication diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.14.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.14.md deleted file mode 100644 index b44a173d..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.14.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.14 -sidebar_position: 59585 ---- - -### HarperDB 4.4.14 - -1/3/2025 - -- Fix for starting HTTP server if headersTimeout is omitted in the configuration -- Fix for avoiding ping timeouts for large/long-duration WS messages between nodes -- Don't report errors for component that only uses a directory -- Add flag for disabling WebSocket on REST component diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.15.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.15.md deleted file mode 100644 index b6a8ee2b..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.15.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.15 -sidebar_position: 59584 ---- - -### HarperDB 4.4.15 - -1/8/2025 - -- Fix for manage the state of replication sequences for node -- Fix for better concurrency with ongoing replication -- Fix for accessing audit log entries diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.16.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.16.md deleted file mode 100644 index d85de974..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.16.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.4.16 -sidebar_position: 59583 ---- - -### HarperDB 4.4.16 - -1/22/2025 - -- Fix for cleaning up old audit entries and associated deletion entries -- Allow CLI operations to be run when cloning is enabled -- Report table size in describe operations -- Fix for cleaning up symlinks when dropping components -- Fix for enumerating components when symlinks are used -- Add an option for using a specific installation command with deploys -- Add an API for registering an HTTP upgrade listener with `server.upgrade` diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.17.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.17.md deleted file mode 100644 index 239f7729..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.17.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.17 -sidebar_position: 59582 ---- - -### HarperDB 4.4.17 - -1/29/2025 - -- Provide statistics on the size of the audit log store -- Fix handling of symlinks to HarperDB package that to avoid NPM's errors in restricted containers -- Add option for rolling/consecutive restarts for deployments -- Fix for enabling root CAs for replication authorization diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.18.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.18.md deleted file mode 100644 index e7354587..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.18.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.18 -sidebar_position: 59581 ---- - -### HarperDB 4.4.18 - -1/29/2025 - -- Add option for disabling full table copy in replication -- Add option for startTime in route configuration -- Add/fix option to deploy with package from CLI diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.19.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.19.md deleted file mode 100644 index 5a1cc14e..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.19.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.19 -sidebar_position: 59580 ---- - -### HarperDB 4.4.19 - -2/4/2025 - -- LMDB upgrade for free-list verification on commit -- Add check to avoid compacting database multiple times with compactOnStart -- Fix handling of denied/absent subscription -- Add support for including symlinked directories in packaging a deployed component diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.2.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.2.md deleted file mode 100644 index 53dfbb7b..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.2.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.2 -sidebar_position: 59597 ---- - -### HarperDB 4.4.2 - -10/18/2024 - -- Republish of 4.4.1 with Git merge correction. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.20.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.20.md deleted file mode 100644 index 656de065..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.20.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.20 -sidebar_position: 59579 ---- - -### HarperDB 4.4.20 - -2/11/2025 - -- LMDB upgrade for improved handling of page boundaries with free-space lists diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.21.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.21.md deleted file mode 100644 index c63d84a2..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.21.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.21 -sidebar_position: 59578 ---- - -### HarperDB 4.4.21 - -2/25/2025 - -- Fix for saving audit log entries for large keys (> 1KB) -- Security fix for handling missing passwords -- Skip bin links for NPM installation to avoid access issues diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.22.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.22.md deleted file mode 100644 index d66163f9..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.22.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.22 -sidebar_position: 59577 ---- - -### HarperDB 4.4.22 - -3/5/2025 - -- Add new http configuration option `corsAccessControlAllowHeaders` diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.23.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.23.md deleted file mode 100644 index 9048b3d6..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.23.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.23 -sidebar_position: 59576 ---- - -### HarperDB 4.4.23 - -3/7/2025 - -- Fix for subscriptions to children of segmented id -- Fix for better error reporting on NPM failures diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.24.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.24.md deleted file mode 100644 index 324a2423..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.24.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.24 -sidebar_position: 59575 ---- - -### HarperDB 4.4.24 - -3/10/2025 - -- Use process.exit(0) to restart when enabled by env var -- Reset the cwd on thread restart diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.3.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.3.md deleted file mode 100644 index 4e844820..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.3.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.4.3 -sidebar_position: 59596 ---- - -### HarperDB 4.4.3 - -10/25/2024 - -- Fix for notification of records through classes that override get for multi-tier caching -- Fix for CLI operations -- Support for longer route parameters in Fastify routes -- Fix for accessing `harperdb` package/module from user threads -- Improvements to clone node for cloning without credentials diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.4.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.4.md deleted file mode 100644 index bbf0df8d..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.4.4 -sidebar_position: 59595 ---- - -### HarperDB 4.4.4 - -11/4/2024 - -- Re-introduce declarative roles and permissions -- Fix for OpenAPI endpoint -- Fix for exports of `harperdb` package/module diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.5.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.5.md deleted file mode 100644 index 448687c6..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.5.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.4.5 -sidebar_position: 59594 ---- - -### HarperDB 4.4.5 - -11/15/2024 - -- Fix for DOS vulnerability in large headers with cache-control and replication headers -- Fix for handling a change in the schema type for sub-fields in a nested object -- Add support for content type handlers to return iterators -- Fix for session management with custom authentication handler -- Updates for Node.js V23 compatibility -- Fix for sorting on nested properties -- Fix for querying on not_equal to a null with object values diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.6.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.6.md deleted file mode 100644 index 4cc0cc86..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.6.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.4.6 -sidebar_position: 59593 ---- - -### HarperDB 4.4.6 - -11/25/2024 - -- Fix queries with only sorting applied -- Fix for handling invalidation events propagating through sources -- Expanded CLI support for deploying packages -- Support for deploying large packages diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.7.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.7.md deleted file mode 100644 index a4f6041f..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.7.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.4.7 -sidebar_position: 59592 ---- - -### HarperDB 4.4.7 - -11/27/2024 - -- Allow for package to deploy own modules -- Fix for preventing double sourcing of resources diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.8.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.8.md deleted file mode 100644 index 493736a8..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.8.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.4.8 -sidebar_position: 59591 ---- - -### HarperDB 4.4.8 - -12/2/2024 - -- Add multiple node versions of published docker containers diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.9.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.9.md deleted file mode 100644 index 077e80cd..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.4.9.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.4.9 -sidebar_position: 59590 ---- - -### HarperDB 4.4.9 - -12/12/2024 - -- Change enableRootCAs to default to true -- Fixes for install and clone commands -- Add rejectUnauthorized to the CLI options -- Fixes for cloning -- Install modules in own component when deploying package by payload diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.0.md deleted file mode 100644 index 2f8203fa..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.0.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: 4.5.0 -sidebar_position: 59499 ---- - -# 4.5.0 - -#### HarperDB 4.5.0 - -3/13/2025 - -### Blob Storage - -4.5 introduces a new [Blob storage system](../../reference/blob), that is designed to efficiently handle large binary objects, with built-in support for streaming large content/media in and out of storage. This provides significantly better performance and functionality for large unstructured data, such as HTML, images, video, and other large files. Components can leverage this functionality through the JavaScript `Blob` interface, and the new `createBlob` function. Blobs are fully replicated and integrated. Harper can also coerce strings to `Blob`s (when dictated by the field type), making it feasible to use blobs for large string data, including with MQTT messaging. - -### Password Hashing Upgrade - -4.5 adds two new password hashing algorithms for better security (to replace md5): -`sha256`: This is a solid general purpose of password hashing, with good security properties and excellent performance. This is the default algorithm in 4.5. -`argon2id`: This provides the highest level of security, and is the recommended algorithm that do not require frequent password verifications. However, it is more CPU intensive, and may not be suitable for environments with a high frequency of password verifications. - -### Resource and Storage Analytics - -4.5 includes numerous new analytics for resources and storage, including page faults, context switches, free space, disk usage, and other metrics. - -#### Default Replication Port - -The default port for replication has been changed from 9925 to 9933. - -### Property Forwarding - -Accessing record properties from resource instances should be accessible through standard property access syntax, regardless of whether the property was declared in a schema. Previously only properties declared in a schema were accessible through standard property access syntax. This change allows for more consistent and intuitive access to record properties, regardless of how they were defined. It is still recommended to declare properties in a schema for better performance and documentation. - -### Storage Reclamation - -Harper now includes functionality for automatically trying to clean up and evict non-essential data when storage is running low. When free space drops below 40% (configurable), Harper will start to: - -- Evict older entries from caching tables -- Evict older audit log entries -- Remove older rotated logs files - These efforts will become progressively more aggressive as free space decreases. - -### Expanded Sharding Functionality - -When sharding is being used, Harper can now honor write requests with residency information that will not be written to the local node's table. Harper also now allows nodes to be declaratively configured as part of a shard. - -### Certificate Revocation - -Certificates can now be revoked by configuring nodes with a list of revoked certificate serial numbers. - -### Built-in `loadEnv` Component - -There is a new `loadEnv` component loader that can be used to load environmental variables from a .env in a component. - -### Cluster Status Information - -The [`cluster_status` operation](../../../developers/operations-api/clustering) now includes new statistics for replication, including the timestamps of last received transactions, sent transactions, and committed transactions. - -### Improved URL path parsing - -Resources can be defined with nested paths and directly accessed by the exact path without requiring a trailing slash. The `id.property` syntax for accessing properties in URLs will only be applied to properties that are declared in a schema. This allows for URLs to generally include dots in paths without being interpreted as property access. A new [`directURLMapping` option/flag](../../../deployments/configuration) on resources that allows for more direct URL path handling as well. - -### `server.authenticateUser` API - -In addition to the `server.getUser` API that allows for retrieval of users by username, the `server.authenticateUser` API is now available which will _always_ verify the user by the provided password. - -#### Improved Message Delivery - -Performance of delivery of messages has been improved. - -### HTTP/2 - -HarperDB now supports HTTP/2 for all API endpoints. This can be enabled with the `http2` option in the configuration file. - -### `harperdb` symlink - -Using `import from 'harperdb'` will more consistently work when directly running a component locally. - -### Transaction Reuse - -By default, transactions can now be reused after calling `transaction.commit()`. - -### GraphQL configuration - -The GraphQL query endpoint can be configured to listen on different ports. GraphQL query endpoing is now also disabled by default, to avoid any conflicts. - -### Glob support for components - -Glob file handling for specifying files used by components has been improved for better consistency. - -### Table.getRecordCount - -`Table.getRecordCount()` is now available to get the number of records in a table. - -### Removal of record counts from REST API - -Previously the root path for a resource in the REST API would return a record count. However, this is a significant performance hazard and was never documented to exist, so this has been removed to ensure better performance and reliability. - -Note that downgrading from 4.5 to 4.4 is _not_ supported. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.1.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.1.md deleted file mode 100644 index ec431a8a..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.1.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 4.5.1 -sidebar_position: 59498 ---- - -### HarperDB 4.5.1 - -3/18/2025 - -- Fix/implementation for sharding data that is written for cache resolution -- Add support for replication.shard in configuration for defining local node's shard id -- Fix for source map handling in stack traces -- Improved error reporting for syntax errors in component code -- Improved logging on deployment and NPM installation -- Added shard information to cluster_status -- Fix for audit entry eviction when a table is deleted diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.10.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.10.md deleted file mode 100644 index b74fbadb..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.10.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.10 -sidebar_position: 59489 ---- - -### HarperDB 4.5.10 - -5/20/2025 - -- Expose the `resources` map for being able to set and access custom resources -- Fix for cleaning up blob files that are used when a database is deleted diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.11.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.11.md deleted file mode 100644 index d3f9d8fa..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.11.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.11 -sidebar_position: 59488 ---- - -### HarperDB 4.5.11 - -6/27/2025 - -- Fix bug (workaround Node.js bug) with assigning the ciphers to a server and applying to TLS connections -- Fix for handling TLS array when checking certificates configuration diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.12.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.12.md deleted file mode 100644 index 2312329e..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.12.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 4.5.12 -sidebar_position: 59487 ---- - -### HarperDB 4.5.12 - -7/9/2025 - -- Fix for dynamically setting `harperdb` package symlink on deploy -- Assign shard numbers from each node's config rather than from routes -- Handle certificates without a common name, falling back to the SANs -- Properly clean up blobs that are only transiently used for replication -- Ensure that we always set up server.shards even when there are no TLS connections diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.13.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.13.md deleted file mode 100644 index d4ef7ac7..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.13.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.5.13 -sidebar_position: 59486 ---- - -### HarperDB 4.5.13 - -7/12/2025 - -- Fix cleaning out audit entries when a blob has been removed diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.14.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.14.md deleted file mode 100644 index d50482a6..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.14.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.5.14 -sidebar_position: 59485 ---- - -### HarperDB 4.5.14 - -7/15/2025 - -- Use proper back-pressure when copying a table for initial database sync diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.15.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.15.md deleted file mode 100644 index 8e5b7821..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.15.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.15 -sidebar_position: 59484 ---- - -### HarperDB 4.5.15 - -7/21/2025 - -- Removed the `copyTablesToCatchUp` option and instead utilized the clone node designation of the leader node to copy tables -- Ensure that skipping large number of audit entries does not lock up the thread and cause a connection reset diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.16.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.16.md deleted file mode 100644 index 829cd9d8..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.16.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.5.16 -sidebar_position: 59483 ---- - -### HarperDB 4.5.16 - -7/30/2025 - -- Do not free/remove the shared user buffer that is used by all threads as an atomic counter for ids (for blobs and incremented ids), but retain it as a stable allocated buffer diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.17.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.17.md deleted file mode 100644 index deaca8a3..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.17.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 4.5.17 -sidebar_position: 59482 ---- - -### HarperDB 4.5.17 - -8/4/2025 - -- Ensure that blob paths exist when determining blob volume sizes -- Increase and make timeouts for blob transfers configurable -- Add debugging information on the record ID if a blob transfer times out -- Fix for copying tables when doing an initial clone node (will not affect an existing cluster) -- Fix for ensuring node IDs are not duplicated across subscriptions to different nodes. This eliminates the duplication of replication data -- Fix for building the local studio diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.18.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.18.md deleted file mode 100644 index 684623d6..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.18.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 4.5.18 -sidebar_position: 59481 ---- - -### HarperDB 4.5.18 - -Release was incorrect version diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.19.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.19.md deleted file mode 100644 index 5b87eb6b..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.19.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.5.19 -sidebar_position: 59480 ---- - -### HarperDB 4.5.19 - -8/5/2025 - -- Update subscription manager to only use failover subscriptions to nodes with the same shard -- Do not attempt to resolve a proxied request to the oneself -- Delay deletion of blobs when doing proxied requests of blobs diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.2.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.2.md deleted file mode 100644 index 62468720..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.2.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.5.2 -sidebar_position: 59497 ---- - -### HarperDB 4.5.2 - -3/25/2025 - -- For defined schemas, don't allow updates from remote nodes that could cause conflicts and repeated schema change requests -- New harper-chrome docker container for accessing Chrome binaries for use with tools like Puppeteer -- Improved rolling restart handling of errors with reaching individual nodes -- Defined cleaner operation object to avoid accident leaking of credentials with logging diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.20.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.20.md deleted file mode 100644 index 313d740a..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.20.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.5.20 -sidebar_position: 59479 ---- - -### HarperDB 4.5.20 - -8/7/2025 - -- Properly handle and aggregate multiple requests for the same blob using the same stream -- Added analytics for blob replication and replication egress transfer -- Added receiving status to indicate if there is a replication backlog or waiting for future transactions -- Fix for properly saving blob in a recently updated/relocated record diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.21.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.21.md deleted file mode 100644 index 5692077b..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.21.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.21 -sidebar_position: 59478 ---- - -### HarperDB 4.5.21 - -8/8/2025 - -- Fix for small blobs (less than 8KB) having their contents swapped on repeated access -- Completely separate the on-demand request connections and the subscription replication connections for more robust connection management diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.22.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.22.md deleted file mode 100644 index 0344bfbb..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.22.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.5.22 -sidebar_position: 59477 ---- - -### HarperDB 4.5.22 - -8/14/2025 - -- Cache the TLS context for replication to avoid high CPU usage of building new TLS contexts -- Cleanup subscription listeners that were accumulating -- Better handling of establishing connections without effecting failover connections diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.23.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.23.md deleted file mode 100644 index 0555fd06..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.23.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.5.23 -sidebar_position: 59476 ---- - -### HarperDB 4.5.23 - -8/18/2025 - -- Fix issue with connection registration that was causing repeated connections to be established -- Increase timeout for retrieval connections -- Add support for disabling failover connections -- Add additional logging for blob errors in replication diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.3.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.3.md deleted file mode 100644 index b0878089..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.3.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.3 -sidebar_position: 59496 ---- - -### HarperDB 4.5.3 - -4/3/2025 - -- Fix for immediately reloading updated certificates and private key files to ensure that certificates properly match the private key -- Fix for analytics of storage size when tables are deleted diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.4.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.4.md deleted file mode 100644 index 2d334a06..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.4.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.5.4 -sidebar_position: 59495 ---- - -### HarperDB 4.5.4 - -4/11/2025 - -- Fix for replication of (non-retained) published messages -- Make cookie domain be configurable to allow for cookies shared across sub-hostnames -- Fix for on-demand loading of shared blobs diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.5.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.5.md deleted file mode 100644 index 606f8063..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.5.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.5 -sidebar_position: 59494 ---- - -### HarperDB 4.5.5 - -4/15/2025 - -- Updates for better messaging with symlinks in Windows -- Fix for saving replicated blobs diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.6.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.6.md deleted file mode 100644 index a711a988..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.6.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.5.6 -sidebar_position: 59493 ---- - -### HarperDB 4.5.6 - -4/17/2025 - -- Fix for changing the type of the primary key attribute -- Added a new `includeExpensiveRecordCountEstimates` property to the REST component for returning record count estimates -- Fix for dropping attributes diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.7.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.7.md deleted file mode 100644 index ce785506..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.7.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 4.5.7 -sidebar_position: 59492 ---- - -### HarperDB 4.5.7 - -4/23/2025 - -- Fix for handling buffers from replicated sharded blob records to prevent overwriting while using -- Updated included studio version for fix for logging in diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.8.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.8.md deleted file mode 100644 index 32f43190..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.8.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.5.8 -sidebar_position: 59491 ---- - -### HarperDB 4.5.8 - -4/30/2025 - -- Fix MQTT subscription topics with trailing slashes to ensure they are not treated as a wildcard -- Fix the arguments that are used for the default connect/subscribe calls so they pass the second argument from connect like `connect(incomingMessages, query) -> subscribe(query)` -- Add support for replication connections using any configured certificate authorities to verify the server certificates -- Added more descriptive error messages on errors in user residency functions diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.9.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.9.md deleted file mode 100644 index 9d6d13ef..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.5.9.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 4.5.9 -sidebar_position: 59490 ---- - -### HarperDB 4.5.9 - -5/14/2025 - -- Remove --no-bin-links directive for NPM that was causing installs of dependencies to fail diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.0.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.0.md deleted file mode 100644 index 4311b387..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.0.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: 4.6.0 -sidebar_position: 59399 ---- - -# 4.6.0 - -#### HarperDB 4.6.0 - -6/13/2025 - -### Vector Indexing: Hierarchical Navigable Small World - -Harper 4.6 now includes support for vector indexing, which allows for efficient and fast queries on large semantic data sets. Vector indexing is powered by the [Hierarchical Navigable Small World (HNSW) algorithm](https://arxiv.org/abs/1603.09320) and can be used to index any vector-valued property, and is particularly useful for vector text-embedding data. This provides powerful efficient vector-based searching for semantic and AI-based querying functionality. HNSW is a preferred algorithm for vector indexing and searching because it provides an excellent balance of recall and performance. - -### New Extension API with support for dynamic reloading - -4.6 introduces a new extension API with significant ergonomic improvements for creating new extension components that are more robust and dynamic. The new API also provides a mechanism for dynamic reloading of some files and configuration without restarts. - -### Logging Improvements - -4.6 includes significant expansions to logging configurability, allowing for specific logging configurations of individual components. This also leverages the new extension API to allow for dynamic reloading of logging configuration. With the more granular logging, logs can be directed to different files and/or different log levels. -The logger includes support for HTTP logging, which configurability for logging standard HTTP methods and paths as well headers, ids, and timing information. It also supports distinct logging configuration for different components. -The new logger is now based on the Node.js Console API, with improved the formatting of log messages for various types of objects. -An important change is that logging to standard out/error will _not_ include the timestamp. And console logging does not get logged to the log files by default. - -### Data Loader - -4.6 includes a new [data loader](../../../../developers/applications/data-loader) that can be used to load data into HarperDB as part of a component. The data loader can be used to load data from JSON file and can be deployed and distributed with a component to provide a reliable mechanism for ensuring specific records are loaded into Harper. - -### Resource API Upgrades - -4.6 includes an upgraded form of the Resource API that can be selected with significant improvements in ease of use. - -### only-if-cached behavior - -Previously when the `only-in-cached` caching directive was used and the entry was not cached, Harper would return a 504, but still make a request to origin in the background. Now, Harper will no longer a request to origin for `only-if-cached`. diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.1.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.1.md deleted file mode 100644 index c073d5a2..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.1.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: 4.6.1 -sidebar_position: 59398 ---- - -# 4.6.1 - -7/10/2025 - -- Plugin API updates to use plugin nomenclature -- Fix for dynamically setting `harperdb` package symlink on deploy -- Assign shard numbers from each node's config rather than from routes -- Handle certificates without a common name, falling back to the SANs -- Properly clean up blobs that are only transiently used for replication -- Ensure that we always set up server.shards even when there are no TLS connections -- Fix for clone node getting the cluster status -- Properly initialize config on CLI operations to avoid path error -- Fix for lmdb for compiling for MacOS and using little-endian -- Allow secure cookies with localhost diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.2.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.2.md deleted file mode 100644 index 147dad18..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.2.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.6.2 -sidebar_position: 59397 ---- - -# 4.6.2 - -7/15/2025 - -- Use proper back-pressure when copying a table for initial database sync -- Fix cleaning out audit entries when a blob has been removed -- Fix for running CLI operations when a Harper DB is not installed diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.3.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.3.md deleted file mode 100644 index e0dce66a..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.3.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.6.3 -sidebar_position: 59396 ---- - -# 4.6.3 - -7/30/2025 - -- Fix for calling table.operation() -- Do not free/remove the shared user buffer that is used by all threads as an atomic counter for ids (for blobs and incremented ids), but retain it as a stable allocated buffer -- Removed the `copyTablesToCatchUp` option and instead utilized the clone node designation of the leader node to copy tables -- Ensure that skipping large number of audit entries does not lock up the thread and cause a connection reset diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.4.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.4.md deleted file mode 100644 index e929c493..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.4.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.6.4 -sidebar_position: 59395 ---- - -# 4.6.4 - -8/1/2025 - -- Fix for sending blobs on-demand without deleting before sent -- Fix for copying blobs in full table copy in a clone -- Freeze records in new resource mode -- Improvement in connection handling with disconnections diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.5.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.5.md deleted file mode 100644 index f762af7e..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.5.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 4.6.5 -sidebar_position: 59394 ---- - -# 4.6.5 - -8/7/2025 - -- Add more analytics for replication, including transfer for blobs -- Avoid attempts to connect to oneself for missing data -- Adjustments to logging diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.6.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.6.md deleted file mode 100644 index 9582ce14..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/4.6.6.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 4.6.6 -sidebar_position: 59393 ---- - -# 4.6.6 - -8/15/2025 - -- Fix the auditing of hdb_nodes on install to ensure full connection of nodes when joining -- Copy blob buffers to ensure that small buffers are not replaced with frequent usage -- Separate replication subscription connections from on-demand connection retrieval -- Fix for fail over connection handling diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/_category_.json b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/_category_.json deleted file mode 100644 index d20b2f9a..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "label": "HarperDB Tucker (Version 4)", - "position": -4 -} diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/index.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/index.md deleted file mode 100644 index 75b09fe1..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/index.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Harper Tucker (Version 4) ---- - -# Harper Tucker (Version 4) - -HarperDB version 4 ([Tucker release](v4-tucker/tucker)) represents major step forward in database technology. This release line has ground-breaking architectural advancements including: - -## [4.6](v4-tucker/4.6.0) - -- Vector Indexing - 4.6 introduces a new Vector Indexing system based on Hierarchical Navigable Small World Graphs. -- New extension API - 4.6 introduces a new extension API for creating extensions components. -- Improved logging configurability - Logging can be dynamically updated and specifically configured for each component. -- Resource API - 4.6 has updated Resource APIs for ease of use. -- Data loader - 4.6 introduces a new data loader that allows for ensuring records exist as part of a component. - -## [4.5](v4-tucker/4.5.0) - -- Blob Storage - 4.5 introduces a new [Blob storage system](../reference/blob). -- Password Hashing Upgrade - two new password hashing algorithms for better security (to replace md5). -- New resource and storage Analytics - -## [4.4](v4-tucker/4.4.0) - -- Native replication (codename "Plexus") which is faster, more efficient, secure, and reliable than the previous replication system and provides provisional sharding capabilities with a foundation for the future -- Computed properties that allow applications to define properties that are computed from other properties, allowing for composite properties that are calculated from other data stored in records without requiring actual storage of the computed value -- Custom indexing including composite, full-text indexing, and vector indexing - -## [4.3](v4-tucker/4.3.0) - -- Relationships, joins, and broad new querying capabilities for complex and nested conditions, sorting, joining, and selecting with significant query optimizations -- More advanced transaction support for CRDTs and storage of large integers (with BigInt) -- Better management with new upgraded local studio and new CLI features - -## [4.2](v4-tucker/4.2.0) - -- New component architecture and Resource API for advanced, robust custom database application development -- Real-time capabilites through MQTT, WebSockets, and Server-Sent Events -- REST interface for intuitive, fast, and standards-compliant HTTP interaction -- Native caching capabilities for high-performance cache scenarios -- Clone node functionality - -## [4.1](v4-tucker/4.1.0) - -- New streaming iterators mechanism that allows query results to be delivered to clients _while_ querying results are being processed, for incredibly fast time-to-first-byte and concurrent processing/delivery -- New thread-based concurrency model for more efficient resource usage - -## [4.0](v4-tucker/4.0.0) - -- New clustering technology that delivers robust, resilient and high-performance replication -- Major storage improvements with highly-efficient adaptive-structure modified MessagePack format, with on-demand deserialization capabilities - -Did you know our release names are dedicated to employee pups? For our fourth release, [meet Tucker!](v4-tucker/tucker) diff --git a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/tucker.md b/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/tucker.md deleted file mode 100644 index 32574779..00000000 --- a/versioned_docs/version-4.6/technical-details/release-notes/v4-tucker/tucker.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Harper Tucker (Version 4) ---- - -# Harper Tucker (Version 4) - -Did you know our release names are dedicated to employee pups? For our fourth release, we have Tucker. - -![picture of grey and white dog](/img/v4.6/dogs/tucker.png) - -_G’day, I’m Tucker. My dad is David Cockerill, a software engineer here at Harper. I am a 3-year-old Labrador Husky mix. I love to protect my dad from all the squirrels and rabbits we have in our yard. I have very ticklish feet and love belly rubs!_ diff --git a/versioned_sidebars/version-4.1-sidebars.json b/versioned_sidebars/version-4.1-sidebars.json index 88acbe5c..e9135be7 100644 --- a/versioned_sidebars/version-4.1-sidebars.json +++ b/versioned_sidebars/version-4.1-sidebars.json @@ -117,53 +117,6 @@ } ] }, - "support", - { - "type": "category", - "label": "Release Notes", - "items": [ - "release-notes/index", - { - "type": "category", - "label": "HarperDB Tucker (Version 4)", - "items": [ - { - "type": "autogenerated", - "dirName": "release-notes/v4-tucker" - } - ] - }, - { - "type": "category", - "label": "HarperDB Monkey (Version 3)", - "items": [ - { - "type": "autogenerated", - "dirName": "release-notes/v3-monkey" - } - ] - }, - { - "type": "category", - "label": "HarperDB Penny (Version 2)", - "items": [ - { - "type": "autogenerated", - "dirName": "release-notes/v2-penny" - } - ] - }, - { - "type": "category", - "label": "HarperDB Alby (Version 1)", - "items": [ - { - "type": "autogenerated", - "dirName": "release-notes/v1-alby" - } - ] - } - ] - } + "support" ] }