New features in v5.4.13 [18-Apr-2022]

- Tech refresh of Electron (v17.4.0)


New features in v5.4.12 [08-Apr-2022]

- Tech refresh of Electron (v17.3.1), NodeJS (v16.13.0), Chromium (v98.0.4757.141), and Electron-related modules.  Addresses Chromium V8 CVE-2022-1096 vulnerability

- MongoDB Field-Level Encryption: added rule to linter so as to identify cases when encryptMetadata keyId is missing in parent


New features in v5.4.11 [31-Mar-2022]

- Added ability to alpha sort attributes from contextual menu of Object Browser, ERD, and schema tree view

- Delta Lake: added cluster state logs, and improve logs for each API request

- Delta Lake: made keywords in revers-engineering grammar case-insensitive

- MariaDB forward-engineering of ALTER scripts from delta model: added a flag to explicitly un-comment DROP statements, signifying the understanding of the possible consequences

- SQL Server forward-engineering of ALTER scripts from delta model: added a flag to explicitly un-comment DROP statements, signifying the understanding of the possible consequences


New features in v5.4.10 [25-Mar-2022]

- Mac: mapped shortcut Cmd+W to Close Data Model, and Alt+Cmd+W to Add View

- Added auto-fix of existing circular external references when opening model

- Compare and Merge: added spinners

- Cassandra: when adding a column to an existing search index, use the more efficient script statements ALTER SEARCH INDEX SCHEMA followed by RELOAD SEARCH INDEX and REBUILD SEARCH INDEX, instead of the previous DROP/CREATE SEARCH INDEX statements

- Delta Lake: adjusted error messages when cluster id or workspace URL does not exist

- Delta Lake: added responseBody to reverse-engineering logs

- MongoDB Field-Level Encryption:added generation of JSON Sample with BinaryData level 6 sample for encrypted fields

- MongoDB Field-Level Encryption: added script linting messages when FLE not appropriately configured

- Oracle, PostgreSQL, Snowflake forward-engineering of ALTER scripts from delta model: added a flag to explicitly un-comment DROP statements, signifying the understanding of the possible consequences

- Protobuf: added reverse-engineering of top-level messages into User-Defined Types/model definitions

- Protobuf: added handling ofr choices in definitions during forward-engineering

- ScyllaDB: added forward-engineering of ALTER scripts from delta model, including flag to explicitly un-comment DROP statements, signifying the understanding of the possible consequences


New features in v5.4.9 [18-Mar-2022]

- Compare & Merge: added flag to allow excluding container ALTER statements, useful when dealing with multiple environments: dev, test, prod, etc.

- Command-Line Interface forwEng command: added argument --exclude-container-alter-statements

- Polyglot: changed conversion of object data type to struct for Delta Lake/Databricks, Glue Data Catalog and Hive

- Polyglot: added automatic deriving of model definitions/UDTs when referenced, even if not actually selected

- MongoDB: improved relationship inference during reverse-engineering when small sampling value in large collections

- MongoDB: added field-level encryption support in data model and $jsonschema validator script creation

- Redhift: added support for interleaved sort keys

- all SQL-based databases: improved parser for SELECT statements of views

- Swagger/OpenAPI/EventBrdige: changed conversion of decimals and integers with high capacity to nearest possible data type


New features in v5.4.8 [11-Mar-2022]

- Compare & Merge: eliminated false positives with choices and array items when comparing by name

- Cassandra forward-engineering of ALTER scripts from delta model: added a flag to explicitly un-comment DROP statements, signifying the understanding of the possible consequences

- Command-Line interface: added argument --apply-drop-statements to forwEng command when generating DROP statements out of a compMod delta model.  The default is false so the user is required to explicitly activate the generation of DROP statements, signifying the understanding of the possible consequences

- Model-driven API generation: added handling of custom properties for other targets than JSON

- MongoDB: added option to use indexed columns in sort criteria during reverse-engineering

- MongoDB: added dialog with instructions when encountering MongoDB error "operation exceeded time limit"

- MongoDB forward-engineering: added handling of technical name when index is a nested field inside a reference

- MongoDB script tab: added a linter with warnings and errors to identify missing necessary statements: use database, missing index keys, etc.

- MongoDB reverse-engineering: improved optional inference of relationships when FKs are inside arrays

- OpenAPI/Swagger: added tolerance for user mistakenly choosing reverse-engineering from JSON Schema instead of from OpenAPI/Swagger file

- PotsgreSQL: enhanced creation of connection pool for sslTypes <allow> and <prefer>


New features in v5.4.7 [04-Mar-2022]

- JSON Schema: added tolerance for reverse-engineering of Swagger/OpenAPI "example" keyword into proper "examples" property

- Compare and merge: multiple enhancements: property-level only changes, references in model definitions, relationships when compared by name, metadata (indexes, constraints, triggers, ...) when compared by name

- Excel import: enhanced import of groups and blocks custom properties controls

- Avro: added filtering of nested references

- Cosmos DB with SQL API: enhanced reverse-engineering when documents are nullable

- Cosmos DB with SQL, MongoDB, and Gremlin APIs: allowed field names starting with an underscore, except for metadata system fields

- Delta Lake/Databricks: enhanced DDL parsing during reverse-engineering to accommodate truncated output 

- MongoDB: added support for version 5.2

- MongoDB: disabled MMAPv1 as possible engine for v4.2 and above

- MongoDB: only declare storageEngine if configString is not null


New features in v5.4.6 [25-Feb-2022]

- Documentation generation: added possibility to see very long entity names in documentation ERD

- Excel export: added warning when content of a property exceeds Excel's cell limit of 32767 characters

- Excel import: added button to view log file saved to disk

- DynamoDB: added detection of required fields when inferring schema of JSON in String attributes


New features in v5.4.5 [18-Feb-2022]

- Custom properties: enabled possibility to create custom tabs at model level and attribute level

- Properties Pane: added possibility to extend width to 800px

- Cosmos DB Core API: added choice of Capacity Mode, to choose between provisioned throughput or serverless 

- MongoDB: added MQL validation of query in Collection selection dialog of reverse-engineering

- DynamoDB: added inference of schema for JSON payloads in attributes of String data type

- DynamoDB: allowed possibility to change the Sort Key for LSIs

- PostgreSQL: changed reverse-engineering of triggers in case user is missing the USAGE role


New features in v5.4.4 [11-Feb-2022]

- Reverse-Engineering: added progress bar during parsing of views' SELECT statement

- Confluent Schema Registry: added possibility to specify a cookie name-value pair to be inserted in during forward-engineering the HTTP header, for example to address BlueCoat SSL inspection re-encrypting with an internal certificate

- Cosmos DB Gremlin: added choice of Capacity Mode, to choose between provisioned throughput or serverless

- DynamoDB: added support for JSON structures in attributes of String data type

- DynamoDB: added property for Table Class to support Standard-IA (Infrequent Access)

- DynamoDB: added handling of Capacity Mode (aka Billing Mode) for Provisioned Throughput or On-Demand (aka Pay-per-Request)

- DynamoDB: added possibility for views (aka facets) to have different Primary and Sort keys than their underlying table in single-table design

- DynamoDB: added primary and sort keys when deriving from Polyglot

- MongoDB: added handling of missing property in projection of read-only views during reverse-engineering of pipeline

- Neo4j, version 4.3 and above: added IF NOT EXISTS for CREATE CONSTRAINT statements

- Oracle: added handling of quotes in comments during reverse-engineering

- PostgreSQL: changed reverse-engineering to leverage connection pooling

- PostgreSQL: added checkbox to control whether to include partitions in table selection dialog, default unchecked

- PostgreSQL: added handling of table triggers (maintenance, forward- and reverse-engineering)


New features in v5.4.3 [04-Feb-2022]

- Confluent Schema Registry: added possibility to specify a cookie name-value pair to be inserted in during reverse-engineering the HTTP header, for example to address BlueCoat SSL inspection re-encrypting with an internal certificate

- Hive: Added if not exists property for databases, tables, and view

- Hive: Added forward-engineering of row format serde when stored as input/output format

- OpenAPI: added validation during reverse-engineering, plus display of warning dialog

- Oracle: added generation of ALTER statements from delta model

- Oracle: added possibility to fetch system schemas in table selection dialog

- PostgreSQL: added connection with ssl modes allow, prefer, require

- PostgreSQL: added handling for empty body in views and procedures

- PostgreSQL: added reverse-engineering of functions when user is not their owner

- Snowflake: added wrapping of role with double quotes when it contains special characters


New features in v5.4.2 [28-Jan-2022]

- Software Key Validation dialog: pre-fill of optional Identifier field with Computer Name + OS username.  Can be cleared or overwritten if desired

- ERD: added more display options to hide attributes with specific properties (non-primary keys, non-required attributes, nullable attributes, etc.)

- Polyglot: when deriving into Swagger/OpenAPI, added possibility to merge with a template, like with model-driven API generation

- Avro: added possibility to reverse-engineer multiple record schemas in single .avsc file

- Databricks: enhanced context creation, plus added Runtime 9 support

- Oracle: added config to allow connection to Amazon RDS

- Oracle: added connection by SID

- Oracle: added possibility to narrow scope of discovery of instance to a single user schema

- Oracle: added reverse-engineering of table and column comments

- PostgreSQL: adjusted reverse-engineering of indexes and functions when version 10

- Snowflake: added timeout from tools options, plus used warehouse auth by credentials

- Snowflake: added handling of cross-schema views

- Snowflake: added possibility to apply DDL script to instance

- Snowflake: added generation of ALTER statements from delta model

- Snowflake: added snippets for GeoJSON geometries in data type geography


New features in v5.4.1 [21-Jan-2022]

- Custom properties: ability to mark a custom property with a star (*) to indicate a required entry, optionally with validation.  Consult for more details

- Model-driven API generation: added choice to keep Swagger/OpenAPI linked to source data model for synchronized evolution, with absolute or relative path

- Collibra: added publishing of Hackolade custom properties

- Couchbase: adjusted logic to display dialog to choose document type prompt even if INFER statement returned flavors

- Delta Lake/Databricks: stopped linking partition keys to primary keys, and detached PARTITION BY statement from column declaration

- Oracle: added possibility to apply DDL script to instance

- Snowflake: added GeoSpatial data types

- SQL Server & Synapse: added IF NOT EXISTS property for schemas, tables, and views with DDL handling via wrapping of CREATE statement in begin...end and a SELECT to check existence of object

- all Graph targets when exchanging with Excel: do NOT use a template generated with a previous version of the plugins.  Make sure to export model to Excel first, as some of the tab names have been adjusted.  


New features in v5.4.0 [14-Jan-2022]

- Oracle: soft release of a new plugin with full support for forward-engineering of DDL, and reverse-engineering including inference of schemas in JSON data types (Oracle 21c and above) and of JSON documents in VARCHAR2, CLOB and BLOB data types (12c, 18c, and 19c) -- many improvemens still to come...

- Polyglot: added possibility to modify properties of attributes in target model, and hence deviate from the polyglot model (deactivate an attribute, or change constraints,...)

- Polyglot: enhanced documentation in case of relationships or custom tab of properties 

- JSON Schema reverse-engineering: added dialog to save model when external recursive external references have a relative path


New features in v5.3.5 [11-Jan-2022]

- Added help button with link to online documentation in Connection Settings dialog of various targets

- JSON Schema reverse-engineering: enhanced list of missing external definition files for unresolved recursive references

- Added handling for external references to root of JSON Schema, for example "$ref": "party.json#"

- Collibra: enhanced reverse-engineering to maintain coupling of business and technical names


New features in v5.3.4 [31-Dec-2021]

- JSON Schema reverse-engineering: display warning dialog if missing external reference files

- Cassandra/ScyllaDB: harmonized path and file name for ALTER script CQL file from compMod delta model

- OpenAPI: added possibility to choose between resolution of references when converting to Polyglot, or save as model definitions (UDTs)

- PostgreSQL: added CLI command to generate ALTER script DDL from compMod delta model

- SQL Server: added support for SSL and SSH connections


New features in v5.3.3 [24-Dec-2021]

- Naming conventions: added tooltips to = signs for coupling of business and technical name

- Collibra: added Technical Name characteristic and changed mapping of Full Name to use technical name if present

- JSON Schema reverse-engineering: added tolerance for $ref with OpenAPI structure "/components/schemas/..."

- JSON Schema reverse-engineering: added tolerance for $ref at root level

- Avro: added handling of multiple types inside choices

- Delta Lake/Databricks: refactored reverse-engineering process 

- SQL Server: automatically attempt to reconnect without encryption if localhost set with encryption


New features in v5.3.2 [17-Dec-2021]

- Avro: added logicalType object generation for definitions

- Delta Lake/Databricks: implemented support for decimal type precision and scale

- Delta Lake/Databricks: added handling for truncated output response of the Databricks API

- MarkLogic: filter out non-JSON documents during reverse-engineering

- SQL Server: added handling for empty DEFAULT during reverse-engineering

- all RDBMS targets: enabled choices for JSON data types in JSON columns


New features in v5.3.1 [10-Dec-2021]

- Model compare and merge: increased consistency between CLI and GUI outputs

- Avro: added logicalType property generation for local-timestamp-millis and local-timestamp-micros

- BigQuery: added string literals with quotes and new lines in DDL forward-engineering

- Cassandra/ScyllaDB: adjusted handling of of CQL for columns with data type map

- Confluent Schema Registry with Avro Schema, JSON Schema, and Protobuf: added ability to attach a Trust Store (.jks) file for connection

- Hive: added string literals with quotes and new lines in DDL forward-engineering

- MariaDB: added string literals with quotes and new lines in DDL forward-engineering

- MongoDB: improved reverse-engineering when empty collections are in instance

- MongoDB: improved reverse-engineering when views have unsupported pipeline stage

- PostgreSQL: improved reverse-engineering to retrieve only columns data types json and jsonb for sampling

- SQL Server: added handling of additional table options in temporal tables

- Synapse: added handling of views with binding errors during reverse-engineering

- all RDBMS targets: improved warning to list names when reverse-engineering choices from JSON Schema or XSDs


New features in v5.3.0 [03-Dec-2021]

- JSON Schema: added support for undefined data types marked "any" 

- Amazon DocumentDB: added support with a new plugin with full support for forward-and reverse-engineering including inference of schemas in collections

- Network proxy: added a Test button with log

- Confluent Schema Registry with Avro Schema, JSON Schema, and Protobuf: added an option for unvalidated SSL connection

- Avro: adjusted forward-engineering of nested logicaTypes

- PostgreSQL: added handling when user has insufficient rights to read view select statement from information_schema

- PostgreSQL: added handling of column encoding in forward- and reverse-engineering

- SQL Server: added support for temporal tables


New features in v5.2.13 [29-Nov-2021]

- Polyglot: when deriving into an RDMBS target and normalizing, enhanced handling to use existing primary keys

- Polyglot: when converting from Swagger/OpenAPI model, convert component schema definitions into polyglot entities

- License key validation and concurrent seat activation/release: added option to switch to disaster recovery license server if primary server is down

- Network proxy: enhanced handling of basic auth

- Avro: added possibility to edit references to external Avro schemas

- Avro: enhanced validator to handle external references


New features in v5.2.12 [23-Nov-2021]

- Avro:added handling of multiple references to same definition in schema generation

- Avro: added handling for external schema references 

- Delta Lake/Databricks: added reverse-engineering of binary subtypes to complex data types

- SQL Server: added possibility to disable connection encryption with the SQL Server auth method (to match SSMS options)

- all RDBMS targets: added warning and handling of choices in reverse-engineering of JSON Schema or XSDs, by picking only the first subschema


New features in v5.2.11 [19-Nov-2021]

- Polyglot: added handling of edges (with properties) in the context of graph databases

- Polyglot: disabled and cleaned technical names in definitions

- MariaDB: adjust API for MySQL driver

- OpenAPI: added handling of empty properties in reverse-engineering of file


New features in v5.2.10 [12-Nov-2021]

- Replaced the .hackolade.json filename extension when saving a model with a shorter .hck.json filename extension.  Also reduces ambiguity with other .json files

- ERD: added possibility to select multiple objects via mouse shift+click+drag if clicking inside a container, or or new toolbar button

- Object Browser: added contextual menu option to alpha sort containers

- Custom properties: added orderedList capability in group control

- Collibra: changed REST API channel to accommodate Zscaler proxy with SSL inspection

- Collibra: allowed publishing of polyglot models

- Collibra: allowed publishing of models when out-of-the box system attribute types have been edited

- JSON Document reverse-engineering into RDBMS targets: added detection of ISO 8601 date/time/timestamp/duration in JSON strings, and convert them to best matching data type

- Polyglot: added warning and handling of choices in reverse-engineering of JSON Schema or XSDs

- Hive: enabled optional normalization of complex data types when reverse-engineering JSON Data, JSON Schema, or XSDs

- OpenAPI/Swagger: added control to easily reorder tags

- PostgreSQL: added forward- and reverse-engineering of PostGIS data types

- Protobuf: adjusted field numbering in case of oneOf, plus added bool data type as a key type of map

- SQL Server DDL reverse-engineering: added tolerance for spaces in index declaration

- SQL Server/Azure SQL: added Azure Active Directory options: username/password, integrated, and with MFA

- all RDBMS targets: when reverse-engineering JSON Schema with null data type while such type is not available in target, added conversion of field into a string-like data type with null allowed


New features in v5.2.9 [05-Nov-2021]

- ERD: enhanced placement of new entities inside visible area

- Model compare & merge: added option to match by business name or technical name when matching by ID is not possible

- Model compare & merge: use naming conventions display choice when matching by ID, or respective name matching choice

- Polyglot: added Examples property to allow multiple examples for OpenAPI

- Polyglot: added primary key for "id" columns during automatic normalization of complex objects when deriving into RDBMS targets

- Polyglot: added checkbox to disable automatic normalization of complex objects when deriving into RDBMS targets

- OpenAPI file tab: enabled Cmd+C on Mac

- OpenApi & Event Bridge: updated request parameter style prop options

- PostgreSQL: added sslmode support

- PostgreSQL: added advanced DDL parsing

- PostgreSQL: added PostGIS data types


New features in v5.2.8 [29-Oct-2021]

- PostgreSQL: added support with a new plugin with full support for forward-engineering of DDL, and reverse-engineering including inference of schemas in JSON and JSONB data types

- Protobuf: added support with a new plugin with full support for forward-engineering of Protobuf schema, and reverse-engineering, including files on Cloud storage or Schema Registries (Confluent and Pulsar)

- Added a check when attempting to reverse-engineer a data model instead of just opening it

- Replaced the .json filename extension when saving a model with a .hackolade.json filename extension to reduce ambiguity with other .json files

- Added an option in the OS Open dialog to filter files by .hackolade.json extensions

- Added possibility to define a non-default path for custom properties in Toots > Options > Default Paths, for example to align with different development branches

- Added styling for relationship lines: thickness and color

- Added possibility to resize textarea dialogs (description, comments, ...)

- Enhanced line break handling in names of nodes/vertices in graph targets

- Added logic to auto-select relevant entities of ERD Views when generating documentation

- Added obfuscation of annotations

- Collibra: added CLI command to reverse-engineer or synchronize Collibra domain into a Hackolade data model

- Polyglot: renamed Not Null property to Required (fully understanding that the semantics are different...)

- Polyglot: implemented conversion of not-required attributes without default for Avro into multiple data types with NULL as primary

- Polyglot: enhanced the handling of primary keys when deriving from polyglot into Cassandra, Couchbase, and ScyllaDB

- Polyglot: adjusted conversion of nvarchar data type for MariaDB into varchar with national = true

- Polyglot: added back the  technical name property, but disabled, to clarify that it is not missing

- Cassandra/ScyllaDB: ignore column moves in ALTER script

- Snowflake: implemented dollar-quoted comments in DDL forward-engineering


New features in v5.2.7 [22-Oct-2021]

- JSON document: added detection of string length in nested objects when reverse-engineering into RDBMS targets

- JSON Schema: added explicit forward-engineering of additionalProperties when set to false

- Graph database plugins: added a graph view to the ERDV capability

- Model Compare & Merge: added alpha sorting of objects in trees to facilitate comparison

- Polyglot: added denormalization of embedded references when deriving from polyglot to an RDBMS target

- Polyglot: added length decorators in ERD

- Cassandra/ScyllaDB: added reverse-engineering of data center name, replication factor, and durable writes from CQL file for each keyspace, if present


New features in v5.2.6 [15-Oct-2021]

- Polyglot: added inclusion of Clustering Key in primary key when converting models from Cassandra/ScyllaDB

- Polyglot: allowed primary on additional data types

- Neo4j: added support for indexes on relationship types for version 4.3 and above


New features in v5.2.5 [11-Oct-2021]

- Graph databases: adjusted creation of nodes for missing relationships in ERDV


New features in v5.2.4 [08-Oct-2021]

- Command Line Interface: added --maxErdEntityBoxes argument to revEng, revEngJSON, revEngYAML, revEndDDL, and revEngXSD

- JSON Schema: added handling of reference description in forward- and reverse-engineering for drafts 2019-09 and 2020-12

- Polyglot data model: added sign in entity selection dialog next to objects not present in target models

- Collibra reverse-engineering: added a target compatibility check and warning message

- Avro: added resolution of UDT in choices, plus handling of arrays without items in union

- Cassandra Datastax: added support for SASI custom indexes

- Cassandra & ScyllaDB: added property to add IF NOT EXISTS in forward-engineering statements if desired

- Cassandra: removed CREATE KEYSPACE from forward-engineering when applying to Atlas instance (as keyspace cannot be created via script)


New features in v5.2.3 [04-Oct-2021]

- RDBMS targets: adjusted normalization when reverse-engineering JSON Schema


New features in v5.2.2 [01-Oct-2021]

- External definitions: added possibility to reference model of any target.  Was previously restricted to JSON Schema or model of the same target.

- External definitions: added resolution of custom properties in JSON Schema preview and forward-engineering

- Model Compare & Merge: added on-click button to open each model in a separate instance

- Plugin Manager: added update button in Available tab if a new version of an installed plugin exists

- Tools > Options > Forwarded-Engineering: added preferred settings for JSON Schema specification, used on JSON Preview and in forward-engineering of JSON Schema

- XSD reverse-engineering: added support for sql:datatype tag for erwin physical models

- Cassandra: added different index abbreviations in ERD to distinguish Secondary (2Ix.y) from Search (SIx.y) indexes


New features in v5.2.1 [24-Sept-2021]

- JSON Schema: added support for latest draft 2020-12

- Collibra: added possibility to reverse-engineer and merge into Hackolade data model.  Also helps truly sync content that may have been entered in Collibra

- Introduced a Tools > Options > Display tab gathering all the display settings: moved some from the General tab, plus added more

- Tools > Options > Forward-Engineering: added a JSON Schema section with preferred settings for compliance and definitions handling, used on JSON Preview and in forward-engineering of JSON Schema

- JSON Preview and forward-engineering of JSON schema now use preferences set in Tools > Options > Forward-Engineering

- JSON Schema reverse-engineering: adjusted handling of external references when schema only has definitions

- Alternate keys: added ERD display of multiple constraints on same column

- Avro reverse-engineering of JSON Schema: added handling of not-required arrays with oneOf choice

- Delta Lake:added mirroring for table properties, refactored JSON formation, unbatched getting DDL command, refactored table properties parsing

- Snowflake: added reverse-engineering of auto-increment property, fixed skipped columns during reverse-engineering


New features in v5.2.0 [17-Sept-2021]

- Polyglot data modeling: added the possibility to convert any physical target model into a technology-agnostic data model, and derive a physical target model - for any target - from a polyglot data model.  More info at

- Model Compare and Merge: added the possibility in the merge process to generate a delta model (similar to the CLI compMod deltamodel output)

- Collibra: added batch synchronization for large models

- Collibra: added possibility to fetch domains for an individual community, resulting in higher performance in large organization

- JSON Schema: adjusted conversion of samples into examples when switching from one draft version to another

- JSON Schema: adjusted conversion of exclusiveMin/Max when switching from one draft version to another

- Cassandra and ScyllaDB: adjusted mapping of mapping of complex types when reverse-engineering CQL files

- OpenAPI: adjusted display of Swagger UI interaction

- all RDMBS targets: added support for Alternate Keys (MariaDB, Redshift, Snowflake, SQL Server, Synapse)


New features in v5.1.8 [10-Sept-2021]

- Object Browser: added possibility to alpha sort entities and views via contextual menu

- Command-Line Interface: added possibility to open Model Compare & Merge in GUI from command line with --gui=true argument

- Custom properties multi-select dropdown: added tooltip display

- Custom properties dependency structure: added possibility to use an array of values in place of more convoluted "or" syntax

- Custom properties: added "requiredProperty" for display of a red star next to label

- DDL reverse-engineering: added support for views based on tables with aliases, select statements with wildcard, and unsupported references 

- Delta Lake: refactored reverse-engineering for higher performance by batching Scala commands


New features in v5.1.7 [04-Sept-2021]

- BigQuery: added support with a new plugin with full support for forward-engineering of DDL scripts, and reverse-engineering

- Command-Line Interface compMod command: added argument --mergeDeletesasDeactivated to deactivate merged object instead of deleting it

- Custom properties fieldList control: added tooltip display

- Model Compare & Merge: added options for flexible selection in case of multiple data types

- JSON Schema preview and forward-engineering: added use of technical names and dot.notation in nested objects 

- Hive: added read-on "view on" property to display multiple referenced tables

- Mongoose reverse-engineering: added support for Map data type


New features in v5.1.6 [27-Aug-2021]

- Compare and Merge: added viewing of index differences, and other properties pane tabs

- Added validation of file path and name input in model compare and API model template selection dialogs

- XSD import for RDDBMS targets: use maxLength as char column length

- Hive: added reverse-engineering of view columns with CAST function

- Hive: added support for view columns with aliases

- Synapse: implemented Azure Active Directory authentication with MFA


New features in v5.1.5 [20-Aug-2021]

- Excel: added import of views

- XSD reverse-engineering: added conversion of keys with "XAK" prefix into unique keys for migration of models from erwin

- Documentation: added handling of block controls inside group controls

- MarkLogic: added collection name matcher option in reverse-engineering connection parameters

- Synapse: added MFA support to the Active Directory authentication method


New features in v5.1.4 [16-Aug-2021]

- Tech refresh of Electron (v13.1.9), NodeJS (v14.17.0), Chromium (v91), React (v17), and Electron-related modules

- XSD reverse-engineering: added support for import of <xs:keyref> into relationships, plus additional fine-tuning

- Fixed unexpected closing of DDL worker on Mac

- MarkLogic: added use of global query timeout, plus enhanced getting collection list if specified

- Azure SQL: added login with email-like username

- Synapse: added login with email-like username, plus added Azure Active Directory authentication method


New features in v5.1.3 [10-Aug-2021]

- Colors: added color picker on properties pane options tab for containers, entities, and views

- Font style: added controls for italic and bold font for container, entity, attributes and views

- Excel: added export/import of color hex codes and font styles for bulk edit or conditional formatting

- Excel: improved error information to help troubleshooting when parent structure is missing in import of complex objects

- Save As Obfuscated: added custom properties to process

- Indexes: where applicable, added possibility to deactivate index so it does not appear in scripts or gets commented out, if possible: ArangoDB, Cassandra, Cosmos DB (Core SQL, Gremlin, and Mongo APIs), Couchbase, DynamoDB, Hive, JanusGraph, MariaDB, MarkLogic, MongoDB, Neo4j, ScyllaDB, SQL Server, Synapse, TinkerPop


New features in v5.1.2 [30-Jul-2021]

- Colors: added possibility to change color of attributes in ER Diagram and Object Browser

- Added option in Tools > Options > Forward-engineering to disable structured path for JSON documents and JSON Schema

- Added a warning dialog to enable lineage capture if reverse-engineering of DDL is for migration from RDBMS

- Schema inference during reverse-engineering of JSON documents and databases: supplemented detection of pattern fields when using ID-like keys

- Model API: greyed out deactivated entities in object selection dialog

- Command-Line Interface: added forwEng arguments to allow publication of Avro and JSON Schema to schema registries (Confluent, Pulsar, Azure for Event Hubs)

- Collibra: added publishing via Command-Line Interface to Data Dictionary

- Collibra: added warning when not all entities are selected for synchronization

- Collibra: enabled publishing of schema definitions of EventBridge, OpenAPI, and Swagger

- Pulsar: added ability to forward-engineer schemas via Command-Line Interface


New features in v5.1.1 [23-Jul-2021]

- Model compare and Merge: added indeterminate state for partial uncheck of checkbox (now tri-state)

- Model compare and Merge: adjusted trim of long path model names, plus added tooltip

- Improved rendering of large ERD models

- Collibra: added forward-engineering of foreign keys in subschemas

- Pulsar: added Command-Line Interface reverse-engineering

- SQL Server/Azure SQL: added support for forward-engineering of combined schemas,  and of all schemas into a single file


New features in v5.1.0 [17-Jul-2021]

- Collibra Data Dictionary integration.  Requires specific license option.  See more info at

- Docker containers: for the purpose of running the Command-Line Interface in CI/CD pipelines.   Requires concurrent license key.  See full instructions at

- Pulsar Schema Registry: added ability to forward- and reverse-engineer Avro and JSON Schema

- Lineage capture: added container information to attribute lineage for reverse-engineering, Excel import, etc.

- Custom properties: added defaultValue in configuration controls

- DynamoDB: added logic to update table if it already exists when applying to instance


New features in v5.0.8 [09-Jul-2021]

- ERD drag-and-drop: enhanced tolerance for dropping into an empty entity for both move (drag-and-drop) and copy (Ctrl+drag-and-drop)

- DynamoDB: added ability to apply forward-engineering scripts to instance

- DynamoDB: added support for single-table storage, using views (a.k.a. facets in NoSQL Workbench.)  These views cannot be forward-engineered to DynamoDB, or derived through reverse-engineering, as the concept does not exist.  It however makes it easy to visualize and document access patterns

- MongoDB: added read-only view pipeline edition after reverse-engineering from DDL


New features in v5.0.7 [02-Jul-2021]

- DynamoDB: added support for table groups

- Postgres DDL reverse-engineering: added handling for ONLY keyword in ALTER TABLE statements

- Cosmos DB-Gremlin: reverse-engineering of nested objects in JSON and JSON Schema now results in their normalization, given that the database does not support complex data types

- Delta Lake on Databricks: modified message when cluster is unavailable

- Neptune-Gremlin: reverse-engineering of nested objects in JSON and JSON Schema now results in their normalization, given that the database does not support complex data types

- OpenAPI/Swagger/EventBridge: added tolerance for lines commented with # during-reverse-engineering

- OpenAPI/EventBridge: removed empty requestBody for GET and DELETE requests during forward-engineering


New features in v5.0.6 [25-Jun-2021]

- Avro: added namespace property "Schema group name" for Azure Schema Registry

- Azure Schema Registry for Avro: added ability to fetch Schema Groups 

- Cassandra DataStax: removed WITH OPTIONS when creating SAI indexes if options are empty

- Cassandra DataStax on Astra: disabled possibility to define search indexes which are not currently supported by Astra

- Cassandra DataStax: added possibility to reverse-engineer custom and search indexes from .cql files

- MongoDB: maintain field order in index creation script for deactivated fields


New features in v5.0.5 [18-Jun-2021]

- ERD drag-and-drop: added possibility to drop into an empty entity or an empty complex attribute (object or array)

- Lineage capture: added container level information to event tracing

- Azure Schema Registry: added possibility to reverse-engineer schemas created via Azure portal console

- Avro: added validator in model level script tab prior to applying to schema registries

- Cosmos DB Gremlin: improved error message when specified endpoint is incorrect during forward-engineering to instance

- MariaDB: implemented possibility to apply DDL script to instance

- SQL targets: re-ordered DDL scripts to ensure that Foreign Key creations relate to previously created tables

- Snowflake: added possibility to select combined vs individual schemas from Tools > Forward-Engineering and Command-Line Interface


New features in v5.0.4 [11-Jun-2021]

- Neptune with Gremlin API: added support with new plugin, including forward-engineering of schema and sample graph via Gremlin script, plus traditional reverse-engineering

- ERD: added handle to drag-and-drop attributes (can be hidden with Display Options toolbar icon of View menu).  Use ctrl+mouse click to move or copy multiple attributes

- Tools > Options > Naming Conventions: added ability to refresh CSV abbreviation file without necessity to restart the application

- Toolbar: grouped various display options under a new icon

- View menu: grouped display options

- MongoDB: removed filter for inclusion in JSON Schema full/extended of properties from properties tabs: users, indexes, sharding

- Cassandra/ScyllaDB: removed filter for inclusion in JSON Schema full/extended of properties from properties tab secondary indexes

- Cassandra on Astra: added possibility for token-based authorization

- Snowflake: added possibility to forward-engineer all schemas so as to allow foreign keys across multiple schemas


New features in v5.0.3 [07-Jun-2021]

- Avro: added ability to forward- and reverse-engineer with Azure Schema Registry for EventHub

- JanusGraph: added support with new plugin, including forward-engineering of schema and sample graph via Gremlin script, plus traditional reverse-engineering

- Lineage: added tracking of Foreign Key relationships during denormalization

- Cassandra: added filtering of invalid clustering keys during forward-engineering

- Delta Lake: added retrieval of table BLOOMFILTER INDEX options and NOT NULL columns during reverse-engineering

- JSON Schema draft conversion of Sample property in draft-04 to Examples in older drafts, and vice-versa

- MongoDB pipeline views: use technical names when present


New features in v5.0.2 [28-May-2021]

- Compare and merge models: adjusted sizing of dialog with high-resolution screens

- Added option "Start a New Application Instance" from the File menu

- Properties Pane: added automatic scroll to focus on relationship selected in Object Browser

- Reverse-engineering of DDLs and XSDs: no longer overwriting the model name after first file

- Couchbase: adjust reverse-engineering of indexes with special characters in passwords

- Couchbase: fine-tuned sampling query for Enterprise Edition instances with large buckets

- Delta Lake: adjusted document sampling

- Delta Lake: added forward-engineering of CREATE BLOOMFILTER INDEX statement to instance 

- Glue Data Catalog: added possibility to reverse-engineer from .hql files

- MariaDB: added reverse-engineering of unique and primary options from DDL file


New features in v5.0.1 [21-May-2021]

- Delta Lake on Databricks: added support with a new plugin (compatible with Azure Databricks, Databricks on AWS, and on Google Cloud), with full support for forward-engineering of HiveQL scripts, and reverse-engineering including inference of JSON in longtext

- ERD and schema hierarchical view: added toolbar button to toggle between technical and business names; added documentation control and CLI genDoc command argument 

- ERD zoom in: function now takes center of display instead of top left of canvas as reference for zoom operation, whether from toolbar button or ctrl+mouse wheel

- Forward-Engineering of sample document, schema or script: added Toots > Options > FE parameter to skip folder when container level is undefined

- Reverse-Engineering object picker dialog: added horizontal scrollbar for long file structures and names in cloud storage

- Reverse-Engineering object picker dialog: added support for periods in file names

- DDL reverse-engineering: added support for comment constraints on foreign key relationships (PostgreSQL and Redshift only, as not supported in other dialects)

- Model Compare and Merge: added auto-selecting/deselecting child objects when their parent has added/deleted difference type

- Cosmos DB (SQL API, and Gremlin API): added support for serverless instances

- Redshift: added optional sessionToken connection


New features in v5.0.0 [15-May-2021]

- Full support for features of JSON Schema specifications draft-06, draft-07 and 2019-09, in addition of draft-04 upon which Hackolade was originally built

- JSON: added reverse-engineering from cloud storage: Amazon S3, Azure Blob Storage, Google Cloud Storage

- JSON: added support for forward- and reverse-engineering with Confluent Schema Schema Registry

- Compare and Merge Models: added 2 distinct views: the compare view with 2 side-by-side panes, and the merge view which displays 3 panes including a merged model pane in between the left- and right-hand models