Release history with new or improved features and bugfixes
- 009158 Bad param for parameterized SQL crashes FSM (#315)
- implement safe subnet_filter(IPv4/6 address, subnet-length) -> mask (#309)
- Frameworks and APIs to filter cluster snapshot (#299)
- Activated auto truncate on high memory (#306)
- Float support of diff
- Return_atomic wrap on transaction calls #302
- imem_dal_skvh dirty_next api implemented
- imem_snap initial zip taken synchronously
- Cluster Query support
- On demand cluster snapshotting
- Purge History tables (older than configured days)
- Partition size metric
- Virtual memory metric for windows
- Moved lager handlers into config
- Added support of put and delete to imem_client
- Improved performance of imem_snap candidate check
- http interface in imem_client
- git diff functionality with srource code
- sql parse 4.6.1
- ddVersion: git command optimized
- ddVesrion: unnecessary folder switch removed
- ddVersion: path blacklist
- Implemented ddVersion
- ddVersion : check beam for git URL info
- Sqlparse upgraded to version 4.5.0
- Implemented text comparison and diff functionality
- Sqlparse upgraded to version 4.4.0
- process_statistics metrics added #227
- imem_compiler hot code loading issue fixed #229
- Added specs to imem_snap module
- cluster snapshot reading tables to snapshot at time of snapshotting #221
- skvh - check trigger before overwritting #223
- Windows NIFs for hi-resolution time
- Upgraded sqlparser to version 4.3.1
- DB restore from cluster snapshot on cold start (since 2.1.0)
to_boolean
SQL function- move windows native time API to branch
- manual 4-byte header in imem_server is replaced with
{packet, 4}
socket option - log table creation is deferred till imem start in
imem_lager_backend
- Added epmd API to allow registration of node in case of node hidden from cluster
- Upgraded ranch to version 1.5.0
imem_metrics:get_metric/1
,erlang:node/0
,imem_meta:schema/0
andimem_meta:node_shard/0
added to safe list of function.- Upgraded port_compiler to 1.9.1
- Upgraded erlscrypt to 1.2.2
- Upgraded sqlparse to version 4.2.0
- Upgraded sqlparse to version 4.1.0
- live debug tracing feature support
- windows native timestamp APIs as NIF
- Upgraded sqlparse to version 4.0.0
- Improved type inference in JSON projection updates
- APIs
ets
,select_count
#184
- Fixed decimals when using datatype to convert from float to io
- Skvh delete using keys as terms
- Implemented circular reference for imem_config
- sqlparse to version 3.0.0
- sext-1.4.1
- fixes for node sharded tables #175
- OTP-20.1
- Erlscrypt to version
- Exoprted decode/2 function to imem_json to allow options.
- Migration to rebar3.
- Improved application start / stop.
- purge/proll logic re-worked
- OTP 20
- Backward compatibility added for partition name calculation based on key.
- Added list_to_binstr sql function
- Export start, suspend and restart in imem_snap
- Using new imem_meta monotinic time to check if snapshot is required and reduced the check frequency to 60 seconds.
- Added new time methods to replace deprecated erlang:now
- OTP 19 support
- lager-3.4.2
- Clustering between OTP18 and OTP19 fixed
- Added node information to the metric results
- metric modification support for noreply path
- Implemented safe callback function and suspend agent execution of metric for at least 2 seconds after a crash
- fixed return value of request_metric on behaviour as the caller expect it to be ok, and the metric result should be sent as message
- Changed request_metric from imem_sec to use imem_gen_metrics and pass the callback module as a parameter
- Required nodes reutrned with elrang and data nodes metrics
sqlparse-2.0.0
jpparse-1.0.0
- Bug Fixes
- Added support for async request metrics from remote connection
- Implemented driven sync reply
- Ranch dependency upgraded to 1.3.2
- 127.0.0.1 set as default listener address
- Implemented snapshot exclusion pattern as function inside imem_snap
- Implemented sql function round
- replaced safe sql funciton for typed version safe_ i.e.: (safe_atom, safe_binstr, ...)
- Implmeented projection update/insert for map_get
- Added maps, binary and strings modules to the list of safe sql functions.
- Improved support for escaped text in CSV files.
- Improved speed of
imem_datatype:io_to_integer()
- Add sql preview function (index scan)
- Bind table names from parameters in sql_select
- Enum metadata property support
- imem_gen_metrics behaviour support asynchronous requests
- get_config_hlk support for configuration without comment removed
- Double sms issue fixed with smsott authentication after saml
- Fixed code inject vulnerabilities by only allowing safe functions
- Pretty print records using parse transform
- Using
erlang:now()
instead ofos:timestamp()
in datatype - Implemented imem_metrics system information
- Binding Strategy for from_binterm
- Auto purge only local shards on low memory
- Fixed like operation not working on strings containing ~n
- Cluster snapshot fixes #101 and #102
- Added behaviour imem_gen_metrics defining the api for metrics
- Support for json path edits, empty binary instead of '$not_a_value'
- Updated sqlparse to version 1.5.4
- Added complexity check to change password
- Tail mode propagate deleted rows using detailed MNESIA events
- Suspend snapshot during
imem_snap:restore_as
- Added saml auth support
- imem_server (TCP/SSL) restart APIs
- dirty_select support
- ddConfig dirty access
- tial bug fix
- Added map functions
- Implement slice sql function
- Set sext dependency to a particular commit (map support)
- Improve generation for binstr and binary
- Fixed sql generation issues for filter
- Added support for drop imem_dal_skvh tables
- Added edit on simple json path expression projections
- Allow update and insert for vector query
- Enabled generators for in()
- Support arity 2 vnf(Key, Value)
- Updated sqlparse to version 1.5.3
- Fixed preview not returning the complete list of results
- Fixed data dictionary trigger
- Added imem config documentation
- drop with table opts support and ignore
- Fixed sql generation from filters for json
- Prune history implemented
- Audit write no op implemented
- Fixed cluster snapshots
- Improve speed of skvh read shallow and deep.
- Fixed some security vulnerabilities
- Moved JSON Path documentation to Wiki
- Added map interface to skvh
- json_diff bug fixes
- Added json_diff to the sql layer
- Removed search deleted from imem_dal_skvh
- Fixed bug in imem_snap
- Added imem_domain gen_server for translation functions
- Fix imem_if_csv for large lines
- Fixed bug in authentication failure handling
- Improved snapshot restore efficiency
- Added to_json as sql function
- Fixed bug in imem_doc_config
- Fixed bug searching delete objects
- Added is_val support for sql
- Corrected to_map function
- Added support for functions (mfa) using sql
- Improved generators for primitive data types
- Added complexity check for "alter user password" sql
- adding temporary lock to authentication
- fix modulo calculation in failure tuple
- Added support for continuation to imem_index preview
- CSV file read
- Major backward incompatible DB schema changes
- Lot of bug fixes
-
spawn zipping of files on startup into separate process, avoid zip startup delays
-
unzip goes into default snapshot directory, avoiding problems with temp directory
-
delete orphan ddTable entry for drop table when table is dropped on MNESIA level
-
remove logging of drop / truncate in imem_meta, reduce risk of call recursion
-
use separate processes for purge and monitor, will allow logging in these functions
-
improve variable binding in joins and support tuple values better
-
fix permission problem for drop_table / truncate_table, used in dderl
-
added virtual table ddSchema
-
add ddTable record to user_properties (included in shnapshot)
-
extend timeout for snapshots
-
create table in restore using user_propertties if it does not exist
-
implement nodef() formatter function for suppressing default values in SQL select columns
-
add pseudocolumn expiry = time_of_partition_expiry() to ddSize virtual table
-
add pseudocolumn tte = time_to_partition_expiry() to ddSize virtual table
-
add value owner to config entries and prevent different key owner from overwriting
-
bad_rpc issue fixed in ddNodes evaluation
-
ddSize typo fixed
-
use os_mon / lager for system monitoring
-
change logging from info to debug for drop_table, subscribem unsubscribe
-
snapshot issues fixed
-
snap for only local readable tables
-
snap restore and backup one file at a time
- change dependencies to forked own versions (for reproducability)
- no functional changes
-
configurable snapshot fun
-
chunked streaming format for snapshot and restore
-
configurable purge fun which can act based on available os memory limits
-
memory usage column added to virtual table ddSize
-
fixes for binary table names in security layer imem_sec
-
clean and central parsing for time partitioned tables
-
teardown of imem_if in case of MNESIA down signal
-
improved zip-file handling for snapshots
-
fix connection probe issue with accept_once
-
using lager logging for low level imem functions
-
configurable monitor extensions
-
configurable monitor dump to file system
-
fix lock situation in log partition rollover
-
extended snapshotting functions and escript access
-
ddSize virtual table with row count column for joins with table names
-
fix for sorting issue