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.
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 () 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.