HarperDB 2.2.0 Penny Release (Current Release)
- 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
- CORE-1032 Updates permissions to allow regular users (i.e. non-super users) to call the
- 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
SEARCHwildcard 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_beforethis 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_logwhich will allow a user to get transactions for a table by timestamp, username, or
- CORE-1043 Change clustering catchup to use the new transaction log
- CORE-1089 Added new attribute to
system_informationfor 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
- 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_tableoperations 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.
- CORE-1028 Fixes bug for simple
SQL SELECTqueries 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
HarperDB 2.1.1, Penny Release
- CORE-1007 Added the ability to perform
UPDATEwith function calls & expressions on values.
- CORE-1023 Fixed minor bug in final SQL step incorrectly trying to translate ordinals to alias in
- 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
JOINstatements across different schemas.
- CORE-1005 Implemented JSONata library to handle our JSON document search functionality in SQL, creating the
- 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
JOINqueries with table columns with the same name.
- CORE-996 Fixed an issue where the
transact_to_clusterflag 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_tableto 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 SELECTcolumn alias functionality.
HarperDB 1.3.1, Alby Release
- 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
HarperDB 1.3, Alby Release
- Upgrade: Upgrade to newest version via command line.
- SQL Support: Added
IS NULLfor SQL parser.
- Added attribute validation to search operations.
- 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_attributesis 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
HarperDB 1.2, Alby Release
- 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.
- Fixed issue where CSV data loads incorrectly report number of records loaded.
- Added validation to stop
BETWEENoperations in SQL.
- Updated logging to not include internal variables in the logs.
- Cleaned up
add_roleresponse 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
- Fixed issue where Blob text was not being returned from
- 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.
read_logoperation to accept date time.
- Added permissions checking to
- Added ability to run SQL on
- Fixed issue where updating a user’s password was not encrypting properly.
user_guide.htmlto point to readme on git repo.
- Created option to have HarperDB run as a foreground process.
user_infoto 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.
HarperDB 1.1, Alby Release
- Users & Roles:
- Limit/Assign access to all HarperDB operations
- Limit/Assign access to schemas, tables & attributes
- Limit/Assign access to specific SQL operations (
- Enhanced SQL parser
- Added extensive ANSI SQL Support.
- Added Array function, which allows for converting relational data into Object/Hierarchical data: http://www.harperdb.io/blog/sql-queries-complex-objects-array-function
Distinct_ArrayFunction: 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 : https://harperdbhelp.zendesk.com/hc/en-us/articles/115002214294-HTTP-access-control-CORS-
- Fixed memory leak in CSV bulk loads
- Corrected error when attempting to perform a
- Added further validation to NoSQL
UPDATEto 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
- 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
search_by_valuenot searching on the correct attribute
- Added ability to increase the timeout of a request by adding
- 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.