HarperDB 2.1.1, Penny Release (Current Release)



  • 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.


Past Releases:

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 NULL for SQL parser.
  • Added attribute validation to search operations.



  • Fixed SELECT calculations, i.e. SELECT 2+2.
  • Fixed select OR not returning expected results.
  • No longer allowing reserved words (https://harperdbhelp.zendesk.com/hc/en-us/articles/115004292473-HarperDB-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

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 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 SELECTs.
  • 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.

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 (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: http://www.harperdb.io/blog/sql-queries-complex-objects-array-function
    • 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 : 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 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.