New features in v7.9.1 [06-Dec-2024] - Tech refresh of Electron (v33.2.1), NodeJS (v20.18.1), Chromium (v130.0.6723.137), V8 (v13.0) and related modules - License enforcement: handled NodeJS spawn issues, when cmd.exe or powershell.exe are blocked by administrator, with an error modal redirecting to user doc - License validation: added message in case of Zscaler SSL inspection being detected as license tempering attempt - Shared model link: added opened models to recent models list - Markdown documentation: enhanced heading numbering to level+1 - Erwin XSD import: added handling of conceptual models with FK relationships missing attributes on either side - JSON Schema: added import and reference of format property of string data type - BigQuery: added dialog to handle non-existing dataset and connection issues - Db2: added schema name before index name in CREATE INDEX script - Collibra: allowed re-connection with basic auth if user's OAuth token has expired - OpenAPI, Swagger: added possibility to create model-driven API schema components or definitions without a template, and choose the target version - Oracle: added schema name before index name in CREATE INDEX script - Snowflake: added possibility to export individual table scripts - SQL Server: optimized queries WHERE clause using selected tables New features in v7.9.0 [29-Nov-2024] - Share model link URL: added ability to share link to view model in browser directly from Git repo provider (currently only from github.com and GitHub Server, plus Azure DevOps Repos) [assumes that users of the link have a valid license and proper access to the model repo] - Browser deployment: added synchronization of license data across all tabs and instances when user validates/updates/releases license key - Excel import: added validation that the Excel file corresponds to the model GUID - License status: rearranged order of wmic and PowerShell checks to accommodate Windows deprecation of wmic and installations where PowerShell is disabled administrator - JSON Schema: added handling of reference resolution for custom properties with enableForReference=true - Polyglot: fixed display at different zoom levels for supertype/subtype half circle relationship connector - Save Obfuscated As: added taking into account the model name format in Tools > Options > General - Workgroup: allowed for background check of commits when SSH key is protected by a passphrase - Collibra: replaced JWT authentication with more generic OAuth for Microsoft Entra ID, Okta and other identity provider - DeltaLake/Databricks: added view column comments to column_list - Graph targets (Cosmos DB Gremlin, Janusgraph, Neptune, Neo4j, Tinkepop): fixed disappearance of subnode arrow after changing relationship type New features in v7.8.6 [22-Nov-2024] - Polyglot impact analysis: added highlight legend plus ability to control high highlights are displayed or not - Save Obfuscated As: added the word obfuscated in the model file name to avoid any desire to overwrite the original file - Save As: removed GUID changes when saving model as a new name - Model-Driven API generation: added possibility to create Swagger or OpenAPI file without specifying a template - Avro, JSON, Parquet, Protobuf: refactored to use our hackolade fetch http handler for S3 interactions in case of proxy - Elasticsearch: adjusted creation of default fields as children of _source object instead of root - Oracle: added parsing grammar for quoted default directory names, plus parsing of default in TO_DATE in index functions - SQL Server, Synapse: added reverse-engineering of cross-schema views - Synapse: enhanced robustness of partitions reverse-engineering - Synapse: removed extraneous logic for memory-optimized properties New features in v7.8.5 [15-Nov-2024] - Tech refresh of Electron (v33.1.0), NodeJS (v20.18.0), Chromium (v130.0.6723.91), V8 (v13.0) and related modules - Persisted data model files: decreased indent of .hck.json files to reduce model size on disk - DDL reverse-engineering: added warning dialog when syntax is invalid (Db2 dialect) - Excel import: ignored Display Name entries for data types where irrelevant - Amazon DocumentDB, DynamoDB, Neptune-Gremlin: upgraded related packages to latest, plus eliminated redundant setDependencies module - CockroachDB, Db2, Delta Lake/Databricks, Hive, MariaDB, MySQL, Oracle, PostgreSQL, Redshift, YugabyteDB: added possibility to export composite primary keys and unique keys to Excel - CockroachDB, PostgreSQL, YugabyteDB: suppressed varchar default length when creating new column - SQL Server, Synapse: disabled connection test for MFA auth method to avoid confusion - SQL Server, Synapse: ignored default port number when parsing NamedInstance from connection string - Snowflake: filtered column definitions in DDL forward-engineering for Iceberg tables when catalog is external (glue, iceberg files, iceberg rest, delata files) - Synapse: optimized queries for indexes and memory-optimized tables during reverse-engineering - Synapse: injected missing parameter for username/password auth method - Synapse: suppressed extraneous Windows authentication method - Synapse: added tolerance for missing table information during reverse-engineering process New features in v7.8.4 [08-Nov-2024] - Open data model: added possibility, both in browser and desktop, to open a model directly from Azure DevOps repository without need for local clone, provided adequate license and repo credentials - Command-Line Interface: added default (to All) for --selectedViews argument of polyglotDerive command - Compare & Merge: increased speed of delta model generation for large models - DDL reverse-engineering: added warning dialog when syntax is invalid (Oracle dialect) - DDL reverse-engineering: adjusted reverse-engineering of Oracle DDL file when foreign-key relationship references a parent table missing the schema information - Excel template: disabled primary key, composite primary key, and composite unique key columns - JSON/YAML preview: improved performance of JSON Schema generation for huge entity - Object Browser: improved performance when navigating or searching plus right-click contextual menu - Polyglot: added possibility, when updating references, to select view not previously derived - Polyglot: suppressed false positive in Impact Analysis screen when updating references for inheritance of subtypes - Workgroup: enhanced UX to generate Azure DevOps Repos personal token in case of missing organization name - Azure SQL: added error handling to forward-engineering test button - Amazon EventBridge, Glue Data Catalog, Redshift: refactored connection to leverage own implementation to fetch proxy request handler - Synapse: optimized query to retrieve partitions, plus refactored connection logging New features in v7.8.3 [01-Nov-2024] - Open data model from Git repo provider: added a search box for repos and for files within repo folders - Open data model from GitHub: added rate limiting message if too many requests have been submitted - Excel import: added choice to automatically perform orthogonal distribution at end of process - Excel import: added handling of container-level primary keys - Graph view: allowed adjustment of node size without affecting container size - Polyglot impact analysis screen: removed false differences for technical names when deriving from polyglot with no coupling or technical-to-business naming convention - Naming conventions: eliminated false positives on object name validation when suppressing name coupling - XSD reverse-engineering: added default to the normalize XSD complex type control to better fit the structures of different sources - Command-Line Interface: added --source argument to revEngXSD command to leverage source-specific logic and default for the normalization of XSD complex type argument - Command-Line Interface: added --selectedViews argument to polyglotDerive command - RDBMS forward-engineering: adjusted DDL generation of data type for referenced definitions - Db2, Oracle, SQL Server: added escaping of quotes in DDL comments forward-engineering - Redshift: upgraded related packages to latest, eliminated redundant setDependencies module - SQL Server: allowed composite keys in out-of-line DDL to have only a single key declared - Azure SQL, Synapse: extended logging to include Azure Entra grant consent if declined New features in v7.8.2 [25-Oct-2024] - Open data model: added Tools > Options > General parameter so user can choose preferred source - Replaced deprecated WMIC library for retrieval of Machine ID by WMI execution via PowerShell - ERD: added ability to move multiple entities via drag-and-drop into a container - JSON Schema forward-engineering: added source keyword to Extended and compliance keyword to both Full and Extended - External references: added possibility to reference JSON Schema files if all data types are defined according to the specification (not extended) - Neo4j: updated SDK to v4.4 which includes support for Neo4j database versions 5.x, 4.4, 4.3, 4.2, 4.1, 4.0, 3.5, and deprecates connections versions up to 3.4 included - Neo4j: refactored node labels fetching for better handling of empty node labels, plus added extra logging - Neo4j: refactored node label querying in case of multi-database instance - MongoDB: moved resolution of mongodb+srv connection string to separate library to handle empty URI parameters - Oracle Excel export-import: changed the column title for Business Name from JSON Key - Azure SQL, Synapse: allow username/password authentication without ClientId, with multi-tenant Hackolade Studio app in Azure requiring just admin consent New features in v7.8.1 [18-Oct-2024] - Open data model: added possibility, both in browser and desktop, to open a model directly from GitHub repository without need for local clone, provided adequate license and repo credentials - Performance: optimized rendering of entities with references in Object Browser and ER diagram - Table references: added possibility to deactivate a table which is a reference to an external definition while containing a foreign key relationship - Polyglot: added detection of change in view select statement to Impact Analysis screen when updating derived target model references - Polyglot: added dialog when converting target model with views to polyglot, asking user if views should be converted or not - Polyglot: enhanced handling of subtype primary keys during derive into target model if subtype contains a composite primary key - Collibra: added support for publishing of recursive model definitions and User-Defined Types - Collibra: added CSRF token to all requests where applicable - PowerDesigner: added support for reverse-engineering of root-level packages in LDM models - XSD reverse-engineering: added selection of source to better address the different XSD formats of different legacy data modeling tools - XSD: adjusted reverse-engineering of composite PKs and FKs in XSDs generated out of Erwin - Workgroup: changed GitLab link to new page for getting personal tokens New features in v7.8.0 [11-Oct-2024] - Desktop deployment: tech refresh of Electron (v32.2.0), NodeJS (v20.18.0), Chromium (v126.0.6613.178), V8 (v12.8) and related modules - Polyglot: re-introduced views so they could be derived into different target models (except for MongoDB and Duality views of Oracle 23ai) - Polyglot: enhanced handling of subtype primary keys during derive into target model - Collibra: created custom config with foreign master relationship assetTypeId - Collibra: temporarily skip recursive model definitions when publishing New features in v7.7.11 [04-Oct-2024] - Desktop deployment: tech refresh of Electron (v31.6.0), NodeJS (v20.17.0), Chromium (v126.0.6478.234), V8 (v12.6) and related modules - File watcher: isolated FileSystem watcher into dedicated utility process - ERD: added uk abbreviation when column has single unique constraint (already present for composite unique key constraints) - Collibra: added support for publishing model with duplicate FK relationship names - MongoDB: added tolerance in resolution of mongodb+srv connection string to handle empty URI parameters - CockroachDB, Db2, DeltaLake/Databricks, Hive, MariaDB, MySQL, Oracle, PostgreSQL, Redshift, SQL Server, Snowflake, Teradata, YugabyteDB: added logic so unique key and primary key constraints are mutually exclusive - Snowflake: added support for dynamic tables - Snowflake: added reverse-engineering of Iceberg tables including column information when catalog is Snowflake New features in v7.7.10 [27-Sept-2024] - Installer: added support for Windows arm64 -- application not yet optimized for this processor architecture - Browser: added new option File > Open From to allow future additions of opening models directly from Git repository providers - Browser: added ability to open a model by drag-and-drop into File > Open From... screen - Excel import: added filtering of ERDVs from erwin when named - PowerDesigner import: added conflict resolution with choices to merge, replace or keep both when importing into an existing model - Avro: added default in schema forward-engineering to enable resolving entity references - Glue Data Catalog: added reverse-engineering of table and column comments - Oracle: added timeout on fetching sequence DDL, and fallback to graceful degradation - Oracle: added filtering of sequences and synonyms that are not used by the tables or views being reverse-engineered - Oracle: added support for ON NULL clause for column default value - CockroachDB, Db2, DeltaLake/Databricks, Hive, MariaDB, MySQL, Oracle, PostgreSQL, Redshift, SQL Server, Snowflake, Teradata, YugabyteDB: added possibility for a foreign key relationship to reference a parent column with a (composite) unique key constraint, even if it is not a primary key (requires core application upgrade) - Snowflake: normalized dependencies for external, iceberg, dynamic, and transient table options - Snowflake: added support for Snowflake and external Iceberg catalogs (AWS Glue, Iceberg files, Delta files, and Iceberg REST) in Iceberg tables - Snowflake: enhanced reverse-engineering log to display table types including Iceberg New features in v7.7.9 [20-Sept-2024] - Menu: added new option File > Open From to allow future additions of opening models directly from Git repository providers - File watcher: added suspend/resume background git fetch and file watchers once the app loses/regains focus - Performance: removed Electron background throttling so that long running processes like large reverse-engineering could continue while app is in background - Performance: added sizable improvement when importing numerous erwin subject areas in Excel into ERDVs of an existing or new model, when importing large number of FK relationships in Excel into large models, and when importing large Excel into large models - Polyglot: added possibility to rearrange sequence of subtypes - ERDVs: fixed calculation of container size when views are on the edge - Collibra: added automatic configuration for missing custom Hackolade scope - Collibra: adjusted publishing of lineage creation resource IDs via collibraMetadata - Avro, JSON, Protobuf: adjusted creation of schema registry connections in reverse-engineering - Cassandra, CockroachDB, Db2, MariaDB, MySQL, PostgreSQL, ScyllaDB, Snowflake, SQLServer, Synapse, Teradata, YugabyteDB-YSQ: added commenting of trailing comma if last attribute is deactivated - CockroachDB, PostgreSQL, Redshift, YugabyteDB: disabled wrapping of CURRENT_USER in quotes - Db2, DeltaLake/Databricks, Glue, Hive, MySQL, Redshift, Snowflake, Synapse, Teradata: added automatically mark of PK as Not Null - Oracle: enhanced support for auth with Oracle Wallet - no longer need to declare service name New features in v7.7.8 [14-Sept-2024] - Polyglot: added automatic setting of NOT NULL property if attribute is marked as Primary Key - PowerDesigner reverse-engineering: added the possibility to merge a PD LDM file into an existing model - Avro: suppressed false positive validation warning about missing default in choices (oneOf, anyOf, allOf) - Db2: added commenting of deactivated columns in forward-engineering of views - DeltaLake/Databricks: added support for Runtime 15, including support for Variant and Object data types - DeltaLake/Databricks: added commenting of deactivated columns in forward-engineering of views - DeltaLake/Databricks: added checkbox to activate DROP statements in ALTER scripts of delta model - MongoDB: added commenting of deactivated columns in forward-engineering of views - Oracle: upgraded to latest client SDK - Oracle: added automatic setting of NOT NULL property if column is marked as Primary Key - PostgreSQL: added support for new mandatory SSL setup when connecting to RDS or Aurora with SSH tunneling - ScyllaDB: added commenting of deactivated columns in forward-engineering of views - Snowflake: enhanced support of tags by adding a dropdown property listing tags previously created for the schema - Snowflake: added reverse-engineering of tags - Snowflake: added filter of empty tags in DDL generation if allowed_values is specified New features in v7.7.7 [06-Sept-2024] - Browser: added possibility to open the Hackolade Studio Desktop application from link URL hck:// when functionality is not available in browser - Forward-Engineering tab: added shortcut icon in top right corner linking to dialog to forward-engineer script to file without need to go through menus. - Oracle: defaulted new columns to data type varchar2 - Snowflake: removed false positives in Impact Analysis screen when refreshing references to external definitions - Snowflake: added quoting around tag names in UNSET statement of ALTER script New features in v7.7.6 [31-Aug-2024] - Community Edition: added object count in banner, maintained as objects are added or deleted from model - External definitions: fixed type when object is replaced by table-level definition - Db2: added clearing of collation properties when locale is changed - Glue: upgraded to AWS SDK v3 in order to allow to use ElectronFetchHttpHandler in case of proxy - Oracle: added WHERE clause at root table level of 23ai Duality Views New features in v7.7.5 [23-Aug-2024] - Browser deployment: disabled recent models for browsers without File System Access API support (Brave, Firefox, Safari) - Desktop deployment: fixed file watcher on Windows for paths where folder name starts with a number - Diagram Objects pane: added ? icon linking to online documentation - Object Browser: disabled replace tab in read-only viewer edition - PowerDesigner import: added summary dialog during reverse-engineering - Collibra: automatically configured default scopes based on choice of auth provider - Plugins: removed deprecated cleanDependecy keyword - Avro, Cosmos DB Gremlin, Delta Lake/Databricks, EventBridge, MariaDB, OpenAPI, Oracle, PostgreSQL, YugabyteDB: removed from persistence default options changed by user - Oracle: fixed issue with insufficient privileges when applying creation of Duality Views to instance - Snowflake: added support for CLUSTER BY property in materialized views - Snowflake: added support for dynamic tables New features in v7.7.4 [16-Aug-2024] - Browser deployment: added warning in Health Check screen about preferences not being preserved if user is in guest/private/incognito mode - Browser deployment: added warning modal when saving a model but browser does not support File System Access API (Brave, Firefox, Safari) and falls back to downloads - ERD: adjusted size of container according to toggling of Annotations in Display Options - ERDVs: adjusted size of container according to ERDV membership and moving of attributes - Command-Line Interface: adjusted folder name in forwEng command when structured path preference is selected - Foreign key constraint names: replaced blanks with underscores for compliance where necessary - External definitions: enhanced performance for refresh of references - Plugin Manager: added troubleshooting link in case list of plugins is empty due to blocking of our repos - Collibra: made connection settings entry easier for JWT authentication with Azure AD/Microsoft Entra ID or OKTA SSO authorization - Polyglot: added adapter and improved performance of undo/redo operations in models with external or polyglot references - Polyglot: fixed restoring attributes when deleted in source model but user chooses to keep them anyway during Impact Analysis - PostgreSQL: added support for SET DEFAULT in ALTER COLUMN script New features in v7.7.3 [09-Aug-2024] - Documentation generation: added support for rendering of Markdown inline images in textarea properties - Polyglot: added vector data type with subtype and dimension, currently derivable in Cassandra 5+, Elasticsearch 8+, Oracle 23ai+, and others to come - Compare & Merge and Polyglot Impact analysis: added lineage tab - Polyglot Impact Analysis: added detection of name changes in UDTs/model definitions - Polyglot Impact Analysis: added handling of relationships deleted in Polyglot model but user chooses to retain them in derived model - Collibra: added support for JWT JSON Web Token authentication - BigQuery, Hive, PostgreSQL, YugabyteDB-YSQL: adjusted default names of Foreign Key relationships to avoid blanks - also native and other targets - Cassandra, CosmosDB-with-Gremlin-API, EventBridge, Glue, HBase, Hive, JanusGraph, MarkLogic, Neo4j, Neptune-Gremlin, ScyllaDB, Tinkerpop: added maintainable and reusable instance disconnect flow - Glue: changed entity-level config to allow partition keys not be primary keys if set so - Snowflake: updated syntax highlighting in forward-engineering of DDL script tab due to Snowsight changes New features in v7.7.2 [02-Aug-2024] - CLI: added command to import diagrams into Hackolade models, starting with PowerDesigner - PowerDesigner: added possibility to bulk import files with the Command-Line Interface - PowerDesigner: set isActivated by default for attributes - Undo/Redo: stabilized Redo action when appending attribute - File Watcher: adjusted behavior of git actions when multiple instances, plus isolated in dedicated utility process - ERD: fixed error when moving an annotation box when Hide database views display option is enabled - ERD: fixed issue with dangling relationship lines when display options are changed back and forth - Collibra: replaced fetching of relations during reverse-engineering from REST API to GraphQL API to reduce number of calls to instance - Collibra: added conflict resolution logic when reverse-engineering into existing model - MongoDB: skipped resolution of index labels for model definitions - Delta Lake/Databricks: added forward-engineering of cross-schema foreign key relationship constraints - Hive: added forward-engineering of cross-schema foreign key relationship constraints - Oracle: added option to choose to generate DDL with either quoted identifiers or nonquoted identifiers - Oracle: added workload analysis form for 23ai Duality Views - Oracle: added relationship quantification form for array subqueries in 23ai Duality View - Snowflake: added choice for DDL script in either Snowsight syntax (default) or previous classicUI - Snowflake: added escaping of special characters in Snowsight syntax - Snowflake: added parsing of NULLS in ORDER BY view statements - Snowflake: added forward-engineering of cross-schema foreign key relationship constraints New features in v7.7.1 [26-Jul-2024] - Model validation: added handling of cross-target references to external definitions for entities and attributes - PowerDesigner import: added mapping determination for user-defined types with only length defined - Delta Lake/Databricks: added detection of whether Unity Catalog is enabled or not during reverse-engineering - Delta Lake/Databricks: reverse-engineering of column with nullable string, when it contains serialized JSON payload - Glue Data Catalog: added mapping of partition keys - Glue Data Catalog: added indicators in ERD for partition keys and clustering keys - Glue Data Catalog: enabled same target reference to external table at entity level - PostgreSQL: added tolerance for and filtering of empty indexes in forward-engineering of ALTER scripts - Snowflake: added support for tags in properties of tables, columns, and views, plus forward- and reverse-engineering, and alter scripts New features in v7.7.0 [19-Jul-2024] - Browser: added deployment of Read-Only Viewer Edition at https://studio.hackolade.com -- requires a Viewer Edition license - Desktop deployment: tech refresh of Electron (v31.2.1), NodeJS (v20.15.0), Chromium (v126.0.6478.127), V8 (v12.6) and related modules - Upgraded to latest version of parcel file watcher v2.4.1 - ERD: automatically add entities when creating a container, and automatically add attributes when creating a new entity - ERD: allowed parameter to determine the number of attributes to automatically add when creating a new entity - BigQuery: adjusted generation of time unit partitioning for columns with DATE data type - Cosmos DB with SQL API: allowed to fetch target script during documentation generation - Glue Data Catalog: allowed to reverse-engineer columns specified with no data type - Glue Data Catalog: upgraded to the latest version of thee aws-sdk library - Snowflake: proper display of variant data type in ERD New features in v7.6.1 [12-Jul-2024] - Collibra: added publishing of lineage relations between logical Polyglot models and their derived physical targets for all their assets (model/schema, entity/table, attribute/column) - Collibra: added dialog to remind user to save the model after publishing in order to persist Collibra internal asset IDs for lineage purposes - Compare and Merge: adjusted handling of merging attributes with multiple data types - ERD: adjusted logic to display data type abbreviation when made of type+subtype+synonym - Entity JSON/YAML Preview: added shortcut buttons to access forward-engineering generation to file for JSON Schema and JSON sample data - Model validation: added rules and warning badges for polyglot references if applicable - Model validation: optimized performance for rendering of warning badges in very large models (thousands of FK relationships) - Polyglot: added adapter to auto-fix models converted from target models with erroneous custom properties configuration - BigQuery, Cassandra, CockroachDB, Db2, Hive, MariaDB, MySQL, Oracle, Parquet, PostgreSQL, Redshift, ScyllaDB, SQLserver, Synapse, YugabyteDB: enabled same target reference to external table at entity level New features in v7.6.0 [05-Jul-2024] - Tech refresh of Electron (v31.1.0), NodeJS (v20.14.0), Chromium (v126.0.6478.114), V8 (v12.6) and related modules - Welcome page: updated social media icons - Diagram Objects pane: added possibility to add attributes to views - Collibra: added tolerance for trailing slash / in host URLs - PowerDesigner reverse-engineering: display warning dialog in case a package is detected in .ldm file - PowerDesigner reverse-engineering: open dialog in default reverse-engineering path if set - BigQuery: added adapter to adjust old models with change in partitioning structure - Cassandra: limited minProperties and maxProperties to Map, and Object data types, and MinItems/maxItems to List and Set data types - Cassandra and ScyllaDB: provided geospatial data type with properties so it can behave like an array - Couchbase legacy: added Activated property at attribute level - Couchbase: added indicator of segment order in structured PK - Graph targets: added zoom on node in canvas when selecting it in Object Browser - OpenAPI: allowed to edit Diagram View membership - Oracle: added support for Boolean data type in 23ai - Oracle: added support for JSON flex column in 23ai duality views - Oracle: adjusted mapping of integer when deriving from Polyglot New features in v7.5.1 [28-Jun-2024] - Docker image: upgraded to Ubuntu 24.04 LTS in latest version 0.0.20 - Custom properties: display in a separate tab any detected custom prop that is not found in the local configuration - Excel import: eliminated false-positive warnings when reverse-engineering Excel file with custom properties - PowerDesigner .LDM file reverse-engineering: added import of custom extensions - Avro: added documentation for existing support of schema annotations - Couchbase v7+: added possibility to reverse-engineer an .n1ql file - Oracle: added support for vector data type in 23ai - CockroachDB, CosmosDB, Neptune, SQL Server, Tinkerpop, YugabyteDB: moved ssh tunneling from plugin to core app New features in v7.5.0 [21-Jun-2024] - Tech refresh of Electron (v30.1.1), NodeJS (v20.14.0), Chromium (v124.0.6367.243), V8 (v12.4) and related modules - Toolbar and Diagram Objects pane: changed to more obvious icons for Add Entity and Add Attributes - Bulk test data generation: upgraded FakerJS library to v8.4.1 - Bulk test data generation: added Faker function capability at entity level to ensure consistency of related synthetic data within entity - Excel import: allowed changes to some properties in physical models derived from Polyglot, when already allowed in UI - Excel import: added log entry when import of changed property is not allowed - Graph diagrams: added centering canvas on selection in the Object Browser - PowerDesigner .LDM file reverse-engineering: added orthogonal distribution of entity boxes at end of process - Couchbase: added support for configurable structured Primary Key design based on existing fields, constants, separators, and patterns - Delta Lake/Databricks: updated parsing grammar for catalog names in create statements - MarkLogic: updated to latest SDK version 3.4.0 - MarkLogic: added integer data type - BigQuery, CockroachDB, CosmosDB w/ MongoDB API, Elasticsearch, Firebase, Firestore, HBase, MariaDB, MarkLogic, MySQL, Protobuf, Redshift, SQL Server, Synapse, Teradata: limited minProperties and maxProperties to Map and Object data types - BigQuery, Delta Lake/Databricks, Glue, Hive, Redshift, Teradata: limited json data type to json objects and json arrays - Cassandra, MariaDB, Neo4j, ScyllaDB: moved ssh tunneling from plugin to core app New features in v7.4.8 [14-Jun-2024] - Object Browser: added alt+mouse click control so selection centers ERD canvas on selected object but without zoom - PowerDesigner .LDM file reverse-engineering: added support for import of super-types and sub-types - PowerDesigner .LDM file reverse-engineering: added import of architectureAreas into containers - Polyglot: limited minProperties and maxProperties to Map and Object data types - Oracle: moved ssh tunneling from plugin to core app - Oracle: limited minProperties and maxProperties to Map and Object data types - PostgreSQL: moved ssh tunneling from plugin to core app - PostgreSQL: limited minProperties and maxProperties to Map and Object data types New features in v7.4.7 [10-Jun-2024] - ERD rendering: added workaround for a regression in ReactJS function shouldComponentUpdate() that may affect opening of some models New features in v7.4.6 [07-Jun-2024] - PowerDesigner: added possibility to directly read .LDM files into Polyglot models, including , entities, attributes, relationships, and logical diagrams (mapped to our Diagram Views) - Print diagram: adjusted container coordinates and size for PDF format - External model definitions: allowed cross-target references to be replaced by their attributes - Db2: adjusted validation of default property for string and numeric data types - Db2: disabled unsupported encrypt property, arrayType for XML data type, and json data type for array items - Neo4j: added logging for generating probabilistic schema logic - Oracle: renamed version 23c to 23ai New features in v7.4.5 [31-May-2024] - Diagram Objects pane: added possibility to drag-and-drop objects in desired location the canvas - Model validation: added validation of rules when an objects is in focus and property is changed - Model validation: added display of warning badge in Properties Pane tab - Collibra: added publishing of relationship cardinality into new custom attributes - Collibra: added reverse-engineering of relationship cardinality - Plugins: migrated to new deployment infrastructure with version 0.2.x - Teradata: rebuilt plugin client to support Java version 8 and above New features in v7.4.4 [24-May-2024] - Model validation: enhanced handling for custom rules in comments and descriptions - Model validation: added consistency of badge display in ERD and Object Browser in several circumstances - Collibra: refactored ability to fetch assets and related attributes with output module API for higher performance and scale - Diagram Objects pane: added an icon to add/append attribute - Polyglot: added adapter to auto-fix containers with references when derived from polyglot - Excel: added ability to clear boolean values - Excel: fixed import of data types binary, blob, and timestamp - Couchbase legacy and v7plus with scopes and collections: allowed key to use sample property in JSON data - Db2: added reverse-engineering from instance - PostgreSQL: added support for changes to and in unique keys in ALTER scripts New features in v7.4.3 [17-May-2024] - ERD: adjusted keyboard shortcut paste operation to place object in location of mouse cursor - Validation: added optional check of validation rules upon opening model, off by default, and controlled in Tools > Options > General - JSON Schema: added preservation of GUIDs during reverse-engineering when using the replace option of a conflict detection dialog - Workgroup edition: fixed hanging spinner in case of multiple subscriptions for an opened model change event - Avro: fixed handling of required property for complex types derived from polyglot models - Db2: added support for auxiliary tables New features in v7.4.2 [10-May-2024] - ERD and Object Browser panes: allow in-place editing of names for containers, entities and attributes with second click or F2 function key - Object Browser: added mark in entity title bar for reference to model and external definitions - Conflict detection: retain GUIDs (if available) in Replace option of conflict detection during reverse-engineering - Collibra: added progress report during reverse-engineering - Db2: added support for tablespaces - Db2: added support for index comments - Db2: added support for check constraints - Graph targets: enhance Diagram Views layout behavior when adding nodes New features in v7.4.1 [08-May-2024] - Personal Edition: enabled feature to Infer PKs and FKs - Graph targets: fixed issue when opening models more than once within a single application session New features in v7.4.0 [03-May-2024] - IBM Db2: soft launch -- added plugin with full support for forward-engineering of DDL, and reverse-engineering including inference of schemas in JSON data types -- additional feature support to be added progressively - ERD: added a collapsible Diagram Object section above the Object Browser to easily add objects - ERD: added mark in entity title bar for reference to model and external definitions - Added foreground opening of Windows Explorer when invoked - Added foreground opening of email message in Windows when invoked during error reporting - Collibra: adjusted reverse-engineering to reduce number of API calls when fetching attributes for assets - Cassandra: added map-reduce of map data type during reverse-engineering when multiple map samples are encountered - MySQL: enhanced decryption of key during SSH tunnel connection in Windows - OpenAPI: added requestBody only for request that allow it - OpenAPi: patched upgraded Swagger UI library to handle resolution of schema references with spaces in Windows path New features in v7.3.11 [26-Apr-2024] - ERD: added + button in title bar of entities to easily append new attribute/field/column - ERD: paste container boxes via shortcut in the place where mouse cursor is located - Error dialog: added fallback with shorter email in case max character limit reached with Outlook client - Browser deployment: added health check troubleshooting tile to download logs and contact support - Views: added possibility to pick columns from list of entities derived from Polyglot and definitions - Glue Data Catalog: added reverse-engineering of SerDe table property - Glue Data Catalog: updated to latest aws-sdk library version - Oracle: added ALTER script for creation and deletion of foreign key relationship constraints - PostgreSQL: added handling of min and max values in sequence during reverse-engineering - Teradata: added escaping wrapper for path to JAVA binary file - Teradata: added handling of Teradata cutting large DDLs into chunks during reverse-engineering - Teradata: added conversion of COMPRESS statements into ENUM attributes during reverse-engineering New features in v7.3.10 [19-Apr-2024] - ERD: paste entity boxes via shortcut in the place where mouse cursor is located - Collibra: increased logging in reverse-engineering process - Couchbase with scopes and collections: added possibility for multiple indexes plus export in JSON Schema full and extended compliance - MongoDB: fixed indicator of views in reverse-engineering entity picker dialog - Oracle: added ALTER script for the creation of an index on a newly created table or column - Parquet: added schema script tab at model level - PostgreSQL: added ALTER script for the creation of an index on a newly created table or column - Snowflake: added forward-engineering of composite key constraints New features in v7.3.9 [12-Apr-2024] - Command-Line Interface: allowed space as delimiter between argument key and value, in addition to existing equal sign - JSON Schema: added index key name when forward-engineering MongoDB index in Extended compliance - JSON Schema: refactored to preserve GUIDs in block/group properties when reverse-engineering files with Extended compliance - Workgroup: do not offer option to create local branch if branch of same name exists on remote - OpenAPI: limited forward-engineering of examples schema property to OAS 3.1.0+ - OpenAPI: added requestBody for delete method in OAS 3.1+. While permitted, the spec advises to avoid it, given lack of precise semantics... - Synapse: reduced fetching of metadata to user-defines constraints, filtering out system metadata - Synapse: made reverse-engineering more resilient to complete process despite non-blocking errors - Synapse: skipped querying DB for sampling if sample is set to zero - Synapse: replaced parallel requests to instance with iterative calls via loop New features in v7.3.8 [05-Apr-2024] - Browser deployment: added health check screen, including first tile for config of browser's local storage - Naming conventions: adjusted business name validation if no technical name is present - JSON Schema export: added possibility to convert model definitions into internal definitions when they are already a subobject an an internal definition - Avro: added possibility to convert enum's symbol default to polyglot and derive from it - Couchbase with scopes and collections: added detection of multiple data types for collections with no primary index - DynamoDB: added restriction of multiple data types to JSON fields only - OpenAPI: adjusted generation of example property in sample JSON data when data type is other than string - Protobuf: added reverse-engineering of referencing field even if no internal definition is present in file - Protobuf: added filter for not referenced definition in individual message scripts - Synapse: added explicit config timeout control for query pool - Synapse: added API for connection string parsing - Teradata: added handling of large data sample New features in v7.3.7 [01-Apr-2024] - JSON Schema forward-engineering: added GUIDs for MongoDB indexes in Extended compliance - JSON Schema reverse-engineering: added possibility to reverse-engineer indexes in Full and Extended compliance New features in v7.3.6 [29-Mar-2024] - Avro: added validation of Symbol default property for enum data type - Avro: adjusted handling of default for enums in Avro schema forward-engineering - DeltaLake/Databricks: show in ERD length from maxLength property for char and varchar data types - Elasticsearch: added refresh_interval_unit property - Elasticsearch: added time_series_dimentions for ES v8 and up - Oracle: added forward- and reverse-engineering of sequences with instance - Oracle: added support for sequences in ALTER scrip of delta models - Snowflake: added more descriptive message if a view SELECT statement is invalid - Snowflake: upgraded libraries to remove potential vulnerabilities - XSD reverse-engineering: added error message when circular references are detected New features in v7.3.5 [22-Mar-2024] - Property validation: enhanced use of custom regex in validationRegularExpressions.json custom config file - Compare & Merge: added display of differences for custom tabs at model level - Multiple data types: fixed handling in native targets (MongoDB, Couchbase, DynamoDB, and JSON) when custom properties are present at field level - Browser deployment: added handling with warning when site data is disabled - Community edition desktop and browser: enabled some previously disabled forward-engineering function for RDBMS and SQL-like targets -- limit of 50 objects remains - Collibra: enhanced handling of views referencing tables not present in the model - Databricks: added reverse-engineering of Unity Catalog tags in HQL files - OpenAPI: fixed generation of OAS 3.1 examples property when data type is other than string - Oracle: added support for creation and handling of sequences - Oracle: added DDL forward- and reverse-engineering of sequences from DDL - Protobuf: added commenting of schema lines for deactivated messages and columns - Protobuf: added handling for commented lines when reverse-engineering schemas - ADLS and Blog Storage: added ability to fetch Avro, JSON, and Parquet files in nested folders New features in v7.3.4 [15-Mar-2024] - Object picker dialog: refactored for more intuitive and consistent behavior of search, collapse/expand tree, and select all - Excel import: added handling of multiple polyglot references - Collibra: added global assignment configuration of foreign master relationships - Couchbase: added plugin for support of v7+ with scopes and collections - Couchbase v7+: handled race condition in forward-engineering Apply to instance - Couchbase v7+: handled creation of a collection even if no scope is declared - Elasticsearch v7+: adjusted field properties based on the selected subtype - Neo4j: added handling of JSON pattern fields for forward-engineering of properties in Cypher scripts - Oracle: added IF NOT EXISTS property for indexes, with dynamic SQL forward-engineering for versions prior to 23c and static SQL with 23c and after - Oracle: added reverse-engineering of IF NOT EXISTS in DDLs from 23C and above New features in v7.3.3 [08-Mar-2024] - Improved performance when opening models with new schema validation library (cut time in half) - Community edition desktop and browser: enabled some previously disabled functions: text diff, convert to polyglot, and verify data model -- limit of 50 objects remains - Entity tab schema tree view: removed 200px max length - Documentation and Print Diagram: removed 200px max length in all formats - Collibra: added reverse-engineering of logical data dictionaries into polyglot models - Databricks: added support for Unity Catalog tags in views - Databricks: added handling of Unity Catalog tags in ALTER scripts - MongoDB: added reverse-engineering of indexes in JSON Schema files exported with full or extended compliance - PostgreSQL: added reverse-engineering of sequences - PostgreSQL: added handling of sequences in ALTER scripts - PostgreSQL: added handling of indexes in ALTER scripts New features in v7.3.2 [01-Mar-2024] - Enhanced memory usage in model open/close processes - Print diagram: increased size of image for PNG format - Command-Line Interface: added new argument --references to polyglotUpdate command to allow granular selection - Command-Line Interface: deprecated old argument --selecteObjects from polyglotUpdate command - BigQuery: added possibility to comment out deactivated relationships in forward-engineering script - Databricks Unity Catalog: added support for tags in ALTER scripts of delta models New features in v7.3.1 [23-Feb-2024] - Object browser: significantly reduced memory consumption and increased stability with super large models - Collibra: added publishing of Polyglot models to Collibra logical data dictionaries with model/entity/attribute data assets - Databricks: added support for tags in Unity Catalog - Oracle: added support for function-based indexes - Oracle: removed case-sensitivity on inline constraints - Oracle: added support for reverse-engineering of hash-partitioned tables, plus composite partitions with LIST subpartitions - Polyglot: fixed "max map limit" error upon opening of super large models derived from polyglot - PostgreSQL: added support for creation and handling of sequences - Protobuf: added possibility to declare single and blocks comments between name and body - Synapse: added logger argument New features in v7.3.0 [16-Feb-2024] - Browser: official launch at https://studio.hackolade.com of Community Edition with common code base with Desktop: No credit card. No registration. No download. Runs in browser. No cookies. Local storage of models. Security first. - Desktop tech refresh to Electron (v28.2.2), NodeJS (v18.18.2), Chromium (v120.0.6099.276), V8 (v12.0) and related modules - Compare & Merge and Impact Analysis: added button to select all deletions - Custom properties: fixed editing of group properties on references when using the enabledforReferences template variable - Plugin Manager: added detection of lack of Write rights in folder for plugin installation due to anti-virus - JSON: added nesting restriction for scalar data types - Oracle DDL reverse-engineering: enhanced parser to skip spool statements - Snowflake: updated to latest SDK version to circumvent Snowflake limit when sampling rate is higher that SDK's response capacity New features in v7.2.3 [09-Feb-2024] - DDL reverse-engineering: removed case-sensitivity of columns for PK constraints, indexes, and partitions - Polyglot: added support for entity references to handle the fact that this concept exists in Avro - Polyglot: added handling of deletion decorative symbols during update of references - Workgroup: renamed GitHub Enterprise into GitHub Server, since Enterprise is also available in github.com Cloud - Workgroup: removed the OAuth option from GitHub Server - Avro: added possibility to edit $ref property for references without definition - Collibra: added the possibility to fetch nested Communities - Oracle: added reverse-engineering of view comments and view column comments New features in v7.2.2 [02-Feb-2024] - Compare and Merge: added rendering of array items that are references - Polyglot Impact Analysis: added rendering of array items that are references - Reverse-Engineering from DDLs and XSDs: enriched log file to include system information - Collibra: optimized domain fetching logic and performance - Delta Lake/Databricks: allow forward-engineering of FK relationships for tables without a schema - Excel import: adjusted logic to reverse-engineer edge relationships into polyglot models - Oracle: added ability to reverse-engineer Duality View fields defined as simple column references - Oracle: relaxed constraint around former reserved keyword SEQ during reverse-engineering and parsing of DDLs New features in v7.2.1 [30-Jan-2024] - Reverted back to Electron v27.2.1 due to issues with workers on MacOS - Polyglot and external references: adjusted user experience for relative vs absolute path in file chooser New features in v7.2.0 [26-Jan-2024] - Tech refresh of Electron (v28.1.4), NodeJS (v18.18.2), Chromium (v120.0.6099.216), V8 (v12.0) and related modules - Infer PKs and FKs: added spinner to prevent user from multiple clicks on submit button - Polyglot: added filtering of views when converting target model to Polyglot - Polyglot: added comparison of annotation symbols to Impact Analysis screen - Polyglot: fixed anomaly during Impact Analysis of of normalized structures - Polyglot and external references: streamlined user experience for relative vs absolute path in file chooser - Workgroup Edition: added handling of HTML response from Git server during authentication - CockroachDB: added ability to model check constraints, including forward- and reverse-engineering - CockroachDB: added ability to model indexes, including forward- and reverse-engineering - Collibra: improved logging for publishing of custom configuration - Collibra: allowed for factory default reset when creating custom setup - Delta Lake/Databricks: added data type timestamp_nz for Runtime 13 and up - Delta Lake/Databricks: changed container terminology from database to schema, as per Databricks recommendation New features in v7.1.1 [19-Jan-2024] - Command-Line Interface: allowed * wildcard in --files argument of commands revEng, revEngJSON and revEngYAML - Application launch: display warning if application erroneously installed in AppData folder - Forward-engineering: added logging of system and application information - Custom properties: harmonized sample xLevelconfig;json file with array for all targets to show support custom tabs - Workgroup edition: added deselection by default for deletions in the Git conflict resolution screen - Workgroup edition: physical Git conflict markers are associated to logical differences in conflict resolution screen - CockroachDB: added support for reverse-engineering of UDTs - CockroachDB: added ability to model table partitions, including forward- and reverse-engineering - CockroachDB: added ability to model table options, including forward- and reverse-engineering - CockroachDB: added properties for using, partitioning, hash, and visibility clauses in indexes, plus ability to parse btree and and hash-sharded indexes New features in v7.1.0 [12-Jan-2024] - Tech refresh of Electron (v27.2.1), NodeJS (v18.17.1), Chromium (v118.0.5993.159), V8 (v11.8) and related modules - Polyglot: implemented 12x performance enhancement on refreshing references in derived models - ERD: adjusted box alignment function to keep zoom level - Properties Pane: added the automatic marking of Required/Not Null for PKs during reverse-engineering of JSON or derive from Polyglot - Documentation: added missing custom properties in native targets - Command Line Interface: fixed effect of --maxErdEntityBoxes argument of revEng commands - Workgroup : added default deselection of checkbox for deleted attributes in case of conflict resolution - CockroachDB: adjusted numeric data types to reflect CRDB's different approach than PostgreSQL - CockroachDB: fixed reverse-engineering of table comments - CockroachDB: removed tablespace clause from forward- and reverse-engineering - Delta Lake/Databricks: suppressed extraneous table options during reverse-engineering of DDL - Delta Lake/Databricks: added null safety check to filter check constraints - SQL Server/Synapse: increased logging to catch server timeouts during reverse-engineering - SQL Server/Synapse: removed unnecessary index query in reverse-engineering New features in v7.0.7 [05-Jan-2024] - Forward-engineering: added possibility to select individual entities of an ERDV - CockroachDB: added plugin with full support for forward-engineering of DDL, and reverse-engineering including inference of schemas in JSON and JSONB data types - Delta Lake/Databricks: suppressed extraneous space in encoding of special ASCII characters in object technical names - MariaDB: added possibility to define cross-schema views - MySQL: added possibility to define cross-schema views - Oracle: relaxed technical name validation to allow all ASCII characters, as DDL generation uses quotes - Oracle: added possibility to define cross-schema views - PostgreSQL: added possibility to define cross-schema views - Teradata: added possibility to define cross-schema views - YugabyteDB: added possibility to define cross-schema views New features in v7.0.6 [29-Dec-2023] - Compare and Merge: enhanced detection of duplications and deletions in merge conflicts for models derived from polyglot - Excel: fixed inconsistent behavior in persistence of selected column options - Avro: added support for cross-namespace schema references - Cassandra: added support for the Cassandra 5.0 vector data type - Cassandra: added possibility to create custom index with similarity_function option for vector search New features in v7.0.5 [22-Dec-2023] - ERD: implemented 10x performance improvement when display name is technical - Polyglot: implemented update of entity name changes in impact analysis screen - ERDV: fixed adding entities to ERDV via contextual menu - Excel: added exclusion of entity and view columns in export - Forward-engineering: restructured selection tree in entity picker dialog - Reverse-Engineering: added reset of entity selection after cancel and immediate restart of the process - Avro: added use of record technical name in Schema Registry API forward-engineering of entity references in choices - Snowflake: further enhanced parsing of view SELECT statements and forward-engineering of view select statements New features in v7.0.4 [15-Dec-2023] - ERD: added possibility to add FK relationships from parent to child with creation of attribute in child entity. Behavior can be toggled with child-to-parent direction in Tools > Options > General. Opposite behavior possible with Ctrl+mouse drag-and-drop - Context bar: added Home icon for 1-click access to Welcome page - External definitions and parent polyglot model: added Properties Pane button to open reference in new instance - Forward-engineering: added possibility to create files according to ERDV membership - Workgroup: added tolerance for undocumented 8-symbol conflict markers - Avro: added escaping of the schema in forward-engineering with the Schema Registry format - Avro: used namespace.name for generation of schema references in forward-engineering with the Schema Registry format - Couchbase: upgrade to latest v4.2.4 of couchnode SDK - Couchbase: added handling of bucket names with spaces and special characters - Couchbase: added handling of delays in creation of new bucket by target instance - Databricks: added possibility to generate FaskerJS-based bulk synthetic INSERT records for testing - MongoDB: added consent dialog about risks of executing JavaScript when reverse-engineering Mongoose schema files - RDBMS and OLAP targets: removed extraneous View On property as DDL is assembled based on the table of the selected columns - Snowflake: further enhanced parsing of view SELECT statements to include options in WHERE clauses New features in v7.0.3 [08-Dec-2023] - External definitions: enabled selection of choices and subschemas in external references - ERD: fixed bug preventing duplicate action on entities - FK relationship: allowed update of relationship name from the child attribute's properties pane - Avro: added support for forward- and reverse-engineering of schemas made of oneOf union of schema references - Delta Lake/Databricks: removed extraneous View On property as DDL is assembled based on the table of the selected columns - DocumentDB: added handling of special characters in username/password - MongoDB: added handling of invalid BSON date data type - PostgreSQL/YugabyteDB: added estimated rows to udf if the function returns a set - PostgreSQL/YugabyteDB: allowed definition of number of estimated rows for udfs that returns table - PostgreSQL/YugabyteDB: added comments on functions to DDL generation - PostgreSQL/YugabyteDB: allowed creation of indexes without a method - Snowflake: added support for view SELECT statements with nested statements and Snowflake-specific syntax like OVER clause and multiple clauses New features in v7.0.2 [01-Dec-2023] - Model obfuscation: added effect to attributes added to a target model derived from polyglot - Bulk test data generation: upgraded FakerJS library to v8.3.1 - Forward-engineering to file system: removed format from the folder name only for unstructured path - Avro: removed extraneous POST command in forward-engineering for Schema Registry - Delta Lake/Databricks: replaced blanks and dots with underscores in FK relationship constraint names to avoid Unity Catalog restriction not handling backticks - Hive: removed extraneous mode=int for in JSON Schema Full compliance when type=integer - OpenAPI: removed restriction to replace schema with component reference when derived from polyglot - PostgreSQL: removed restrictions on composite PKs when adding update columns to triggers - Redshift: removed extraneous mode=int for in JSON Schema Full compliance when type=integer - Snowflake: added support for view SELECT statements referencing parsed JSON - YugabyteDB: removed restrictions on composite PKs when adding update columns to triggers New features in v7.0.1 [24-Nov-2023] - License status screen: added copying of license key to clipboard prior to release - Views: enabled changing the database/schema container while keeping reference to the view on table property - Excel: added export and import of lineage sources - Polyglot: added possibility to select individual branch of subtype relationship to be deleted - Forward-engineering to file system: added format to the folder name - Avro: added option to include namespace as part of file name during forward-engineering to file - Cosmos DB with Core API: updated axios library to latest to take into account latest vulnerabilities - Delta Lake/Databricks: added support for table level constraints - Delta Lake/Databricks: adjusted conditions for which USE CATALOG statement is generated in DDL forward-engineering - PostgreSQL: added support for NULLS NOT DISTINCT in unique indexes and unique key constraints - PostgreSQL: added support for DEFERABLE unique constraints - PostgreSQL: added support for stored generated columns New features in v7.0.0 [17-Nov-2023] - Browser: deployment of Community Edition with common code base with Desktop, soft launched at https://studio.hackolade.com, basis for many upcoming enhancements - Desktop: Community Edition no longer requires a license key - Desktop: redesigned License status screen, also available from Context bar - License status screen: added one-step validation of another key, replacing 2-step release of old key plus validation of new key - Application packaging: added OS-specific prebuild of native modules - Command-Line Interface: added different file name patterns to compMod command [commit:][path] with OS-based escaping for names with spaces - Command-Line Interface: added logging and friendly error messages - Avro: added possibility to use --defstrategy CLI argument to specify whether an entity should be resolved (default) or referenced - Cosmos DB with Core API: added fine-tuning of database and container creation via Azure CLI for partition-key-path, serverless, and TTL parameters - Delta Lake/Databricks: added support for data type changes in ALTER script of delta models - Delta Lake/Databricks: added support for SET LOCATION changes in ALTER script of delta models - Delta Lake/Databricks: added support for SET/UNSET TBLPROPERTIES changes in ALTER script of delta models - Oracle: added import of out-of-line column comments in DDL files - Snowflake: added schema name escaping plus function arguments, comments generation, and references in CONSTRAINT statements New features in v6.11.9 [10-Nov-2023] - Command-Line Interface: added Git awareness to compMod command so you can models in a specific commit hash or in a path location, with argument --model1=[commit:][path] - Command-Line Interface: allowed for selection of multiple containers in argument --selectedObject of command forwEngDataDictionary - Compare & Merge: added ability to manage attributes moved via drag-and-drop - Cosmos DB with Core API: added new script format for Azure CLI so database and container creation can be executed with azureCLIPowerShell, azureCLIZsh, and azureCLIBash. Available on screen of GUI, forward-engineered to file, or Command-Line Interface - Delta Lake/Databricks: added support for DEFAULT column value in ALTER script of delta models - Delta Lake/Databricks: split of ADD COLUMN and SET NOT NULL in ALTER scripts of delta models - Snowflake: added support for parsing of QUALIFY keyword in SELECT statement defining views New features in v6.11.8 [03-Nov-2023] - MongoDB: added reverse-engineering of Relational Migrator relmig files - Command-Line Interface: allowed for selection of multiple containers in argument --selectedObject of commands forwEng, forwEngAPI, forwEngXLSX, polyglotDerive, polyglotUpdate, revEng - External references: fixed bug when lineage capture was enabled - Subtype/supertype: adjusted behavior so deletion of relationship no longer deletes the subtype entities - Avro: added possibility to generate Schema Registry script in JSON format via CLI or Tools > Forward-Engineering - Delta Lake/Databricks: added support for MANAGED LOCATION argument in CREATESCHEMA statements - Elasticsearch: added support for flattened data type - Oracle: added ability to compare and merge 23c duality views - Snowflake: extended the UDF pane config with additional languages - java, scala, python New features in v6.11.7 [27-Oct-2023] - ERD and ERDVs: added further independence of box dimensions - Excel: added more detailed logging when importing ERDVs - Excel: added case insensitive matching of entity names when importing ERDVs - Command-Line Interface suppressed the need for argument --scriptType=update when model is a delta model - Command-Line Interface: added possibility to be invoked from Azure DevOps (requires a concurrent license key) - Documentation generation: added DDL of views where applicable - External references: changed default of file path from absolute to relative - Polyglot references: changed default of file path from absolute to relative - Model-driven API generation: changed default of file path from absolute to relative - Delta Lake/Databricks: added encoding names containing accented or special characters with backticks New features in v6.11.6 [20-Oct-2023] - Check for Application Update dialog: suppressed sporadic Promise Rejection Error message in some Windows 11 instances when clicking Download Now link - Compare and Merge: added handling of custom properties in custom tabs - Excel: added export/import of ERD views to allow, among other things, for migration of subject areas from erwin - Excel: added taking into account PKs when sorting attributes during export - Polyglot: added Title Case conversion option during reverse-engineering of XSD files - Print diagram: adjusted preview of PNG format - Workgroup Edition: allowed author to self-approve change request if platform allows it, as well as other actions (reject, abandon, etc.) - Workgroup: added display of username of timeline events in Azure DevOps Repos pull requests - Workgroup: added opening of models from comparison pane of change request review - Delta Lake/Databricks: adjusted generation of Alter script from delta model - Oracle: added support for partition by range with interval - Oracle: added support for JSON data type in versions 21c and higher New features in v6.11.5 [13-Oct-2023] - Polyglot: added possibility to set case conversion during reverse-engineering of XSD files - Polyglot: added warning if parent file cannot be found - Collibra: added custom config pushed automatically so field-level custom properties get displayed in Details tab - Delta Lake/Databricks: allowed Generated As properties for integer type - Delta Lake/Databricks: allowed nullable value in default property for DDL generation - Elasticsearch: added config for language analyzers, index blocks, index routing, index normalizers, and many other index properties - Swagger: added sorting keys for enums and required New features in v6.11.4 [06-Oct-2023] - Polyglot: added ability to handle cross-target references to external definitions - Polyglot: added ability to handle ambiguity in multiple data types of attributes - External references: added warning if definition file cannot be found - Excel export/import: added possibility to update custom tabs' properties - Avro: added support for namespaces in external references - Delta Lake/Databricks: added name property for column-level check constraints - Delta Lake/Databricks: added support for identity in Generated As statement, with start and increment - Delta Lake/Databricks: changed SQL formatter to SQLtools New features in v6.11.3 [29-Sept-2023] - Workgroup for GitHub: in addition to previously available support for shared repo strategy, added support for Fork and Pull strategy in the context of innersource methodology, with the ability to contribute PRs to an upstream parent repo - ERDVs: added ability to share annotations across multiple ERDVs - Object Browser: added decorative symbols to tree - Polyglot: adjusted data type conversion to JSON Schema for integer, date, time, and uuid - Cloud storage reverse-engineering: modified default behavior to not combine schemas - Excel: added export of empty columns if selected in options - Excel: added export of Avro doc property derived from polyglot - Excel: suppressed misleading warning during import - Markdown documentation: added display of key path for partition keys when derived from Polyglot - Databricks: added support for sequence property of integer data types plus derive from Polyglot autoincrement - Databricks: added support for column-level inline check constraints - Elasticsearch: added support for copy_to property - Oracle: added support for naming conventions in Duality Views for JSON keys and subqueries - Oracle: added support for newly introduced IF NOT EXISTS in 23c DDL script forward-engineering - Snowflake: added mapping of Polyglot autoincrement to Snowflakes's identity property of integer data types - SQL Server: adjusted forward-engineering of ALTER script in delta models for absent properties New features in v6.11.2 [22-Sept-2023] - ERDV: disconnected resizing of entity boxes between different ERDVs when activating display option "Hide data types" - Command-Line Interface: suppressed requirement for Git client in Docker image - Polyglot: enhanced generation of JSON Schema for the multiple data types of an attribute - Avro: adjusted positioning of labels in dialog for forward-engineering to file - BigQuery: added support for extended ASCII characters - Elasticsearch: added runtime option in dynamic property, plus changed default value - Elasticsearch: allowed reverse-engineering of fields absent in document sampling but present in mappings New features in v6.11.1 [19-Sept-2023] - Oracle 23c Duality Views: added forward-engineering script generation in SQL syntax of duality views - Oracle 23c Duality Views: added possibility to apply duality views DDL script to instance - Oracle 23c Duality Views: added reverse-engineering of DDL file with duality views in SQL syntax - Oracle 23c Duality Views: added reverse-engineering from instance with duality views in SQL syntax New features in v6.11.0 [15-Sept-2023] - Oracle: added support for JSON-Relational Duality Views in version 23c - ERD: synchronized display in ERD when changing order of columns in composite keys - ERDVs: fixed condition leading to an entity belonging to more than one container after a change of container followed by a Git merge - ERDVs: enhanced Diagram View Editor to handle empty containers and entities - Excel export: added relationship parent and child attribute names in case of composite keys - Excel export: suppressed extraneous auto-increment setting for polyglot models - Lineage capture: added event for renaming objects - Performance enhancements: fine-tuned undo/redo logging and localization - Polyglot: fixed an issue with polyglot definitions making an external reference to model definitions in other polyglot models - Properties Pane: FK relationships dropdown lists of parent and child entities display business vs technical name according to Display Options choice - Avro: enhanced reverse-engineering to handle possible collisions with field names "properties" or "items that collide with syntax keywords - BigQuery: added tolerance for absence of PKs and FKs in public datasets - BigQuery: added support for allow_non_incremental_definition option in materialized views - Delta Lake/Databricks: added escaping clause for extended ascii characters New features in v6.10.20 [08-Sept-2023] - Schema tree view: allowed drag-and-drop of reference attributes to different level in the tree - Compare and Merge: added support for C&M of subtypes - Compare and Merge in Git conflict resolution: added handling of entities in ERDVs - External references: removed some false positives of additions in Impact Analysis screen - Polyglot: added handling of update of inserted references in target model - Workgroup edition: added parsing of repository URLs containing spaces - Avro: added support for recursive schema references for Confluent Schema Registry - BigQuery: added support for max_staleness option materialized views - BigQuery reverse-engineering: added ability to retrieve tables separately by dataset - Cosmos DB with SQL API: added support for hierarchical partition keys - EventBridge Schema Registry: added support for OpenAPI 3.0.x extensions - OpenAPI: added support for extensions in array data type and components schema root items - Snowflake: added support for procedures in modeling, forward- and reverse-engineering - SQL Server: added support for PK options changes in ALTER scripts New features in v6.10.19 [01-Sept-2023] - Object Browser: added possibility to modify order of database views (where applicable) using toolbar up/down arrows - Foreign key relationships: added validation of technical name with Regular Expression, in particular to control max length in RDBMS targets - Polyglot: added default use of technical names of entities and attributes when deriving foreign key relationships - Polyglot: reverted transitive references to go back to direct references - External references: added handling of reference name changes ancestor - Avro: allowed absence of a Subject Name Strategy for record in Confluent Schema Registry, with possibility to edit the subject name - Avro: dropped validation of business name if technical name of namespace is valid - Elasticsearch: added support for configuration of built-in and custom text analyzers - PostgreSQL: removed escaping of default values of array columns in DDL generation - OpenAPI/Swagger: added ability to select resources and requests in yaml format forward-engineering New features in v6.10.18 [24-Aug-2023] - Object Browser: added handling of technical names for entities copied in a target model that is derived from polyglot - Documentation: changed image path to relative in Markdown format - Documentation: added possibility to filter empty properties for all objects and Properties Pane tabs - Excel export: added possibility to deselect color and font - Excel export: added filtering of deselected properties for attributes of entities and views - Print diagram: added handling of custom canvas background color - Schema tree view: added preventing drag-and-drop of root - Avro: implemented topological sort during reverse-engineering of .avsc files with namespace references - Avro: adjusted filtering of special characters in forward-engineering - Delta Lake/Databricks: added enhancement to parsing of SELECT statement in views for jinja variables in double curly braces - MariaDB, MySQL, Oracle, PostgreSQL, SQL Server: added technical name max length verification for schemas, tables, and columns New features in v6.10.17 [18-Aug-2023] - ERD: added enabling auto-width and auto-height when clicking "Resize box to fit to content" button on the entity box title bar - Object Browser: added ability to modify order of ERDVs using toolbar up/down arrows - Foreign Key relationships: changed default naming logic to use technical name of entities and attributes if present, otherwise use business name - Properties Pane for relationships: now uses the order set in the Object Browser for both parent and child entities - Documentation generation: changed the order of objects to reflect order in Object Browser - JSON Schema forward-engineering: made array's "contains" property an object type in draft-07, 2019-09, and 202-12 specs - JSON Schema forward-engineering: added filtering of deactivated objects derived from polyglot - Polyglot: added ability to move an inserted attribute in a target model derived from polyglot - Polyglot: added possibility to multi-select attributes in a target model derived from polyglot - Avro schema preview: added split panes to display generated sample data - BigQuery: added replacement of illegal characters in names of FK relationships with underscores New features in v6.10.16 [11-Aug-2023] - ERD: added automatic disabling of auto-height and auto-width when adjusting entity box size - Plugin Manager: added plugin version in new model target picker - BigQuery reverse-engineering: added support for single dataset filtering - BigQuery: added support for derive from polyglot required property - MySQL: added support for fractional seconds for TIME, DATETIME, and TIMESTAMP data types - MySQL: added support for property and reverse-engineering of DEFAULT ON UPDATE statements - Parquet: added support for derive from polyglot required property New features in v6.10.15 [04-Aug-2023] - ERD: fixed reset of custom relationships when adding attributes - Polyglot: added possibility to add/insert/append choices into derived target models - Polyglot Impact Analysis: added possibility to (de)select deletions in Polyglot model - Avro: added support for namespace references - BigQuery: added support for Primary Key and Foreign Key constraints - Databricks: added support for PK and FK constraints in Unity Catalog, in other catalogs than hive_metastore which does not support PKs and FKs - MySQL: added support for property and forward-engineering of DEFAULT ON UPDATE statements - OpenAPI: added possibility to forward-engineer component schemas to YAML Schema file - Oracle DDL reverse-engineering: adjusted mapping of NUMBER with no precision for SQL-like targets - PostgreSQL/YugabyteDB: added support for check constraints with multiple statements - PostgreSQL/YugabyteDB: added Array Type property for non-reference enums, composite, range_udt, and domain types - SQL Server: added SSL Options for Windows Auth method New features in v6.10.14 [27-Jul-2023] - Polyglot: added support for naming conventions in impact analysis dialog - Polyglot: added support for recursive references when converting a target model to polyglot - Cassandra: added handling in ALTER script of delta model for changes in table comments - Databricks: added support for Unity Catalog - OpenAPI: added support for extensions at scalar field level - Oracle: added support for Apple Silicon chips (M1 and M2) for reverse-engineering from instance, plus updated SDK to latest version New features in v6.10.13 [21-Jul-2023] - ERD: added possibility to change the background color of the canvas - ERD and ER Diagram Views: added display option to show descriptions (comments for SQL targets) instead of attributes - ERD and Object Browser: added possibility to display incoming and outgoing relationships of an attribute via contextual menu - Polyglot: added fit-to-pane after derive operation - Workgroup: fixed commit counter after switching repo - Collibra: added possibility to sync descriptions of edge labels of Labeled Property Graph targets New features in v6.10.12 [14-Jul-2023] - ERD & Object Browser: added scroll bar in contextual menu display of model definitions/UDTs - Excel export: added prefix to attribute tab column for custom properties tab - Polyglot and reverse-engineering normalization: added logic to determine cardinality based on required/not null property - Personal edition: added annual subscription plan - Avro: changed separator between namespace and name from a dash to a dot - BigQuery: added support for simple Primary Key and composite PK constraints - Collibra: added read-only license key (no publication to Collibra) - Delta Lake/Databricks: relaxed logic to allow selection of a column in a composite unique key even if the column is part of a partition - Delta Lake/Databricks: do not move columns that are part of a composite unique key constraint above the primary key line in ERD box - Oracle: added ability to convert auto-increment into identity for Polyglot, and for deriving auto-increment from Polyglot - SQL Server/Azure SQL: added support for modifications in constraints (Primary Keys, Foreign Key, check, and not null) in ALTER scripts of delta models - Synapse: added ability to convert auto-increment into identity for Polyglot, and for deriving auto-increment from Polyglot New features in v6.10.11 [07-Jul-2023] - Object Browser: added possibility to open entities derived from Polyglot - Polyglot: fixed add/insert if entity derived and selected field is a reference - External definitions: added handling of choices in impact analysis when refreshing references - Model obfuscation: added possibility to obfuscate even if model has invalid schema - Workgroup: silenced Git client's git-timeout error after sleep mode and machine unplugged from power supply - Workgroup: handled updating a Pull Request on an outdated branch - Avro: added detection of enums with similar names to handle them as references in avsc scripts - Avro: added possibility to mark reference to other CSR schema as nullable - Cassandra: added handling of table comment modifications in ALTER scripts - Collibra: added support for publication and reverse-engineering of edge labels of Labeled Property Graph targets - MariaDB: added generation of ALTER script for changes in comments and constraints: not null, check, primary key, and foreign key - SQL Server/Azure SQL: added option to forward-engineer .sql in separate file per database or per table - SQL Server/Azure SQL: added ability to convert auto-increment into identity for Polyglot New features in v6.10.10 [30-Jun-2023] - External definitions: added impact analysis dialog when opening model with references to external definitions (or refreshing references) - Internal and model definitions: disabled primary key and unique key properties, as this should be set at the reference level - Workgroup: removed redundant prompt to update open model after commit action - Avro: added handling of null and not null constraints when reverse-engineering DDL - Avro: added handling of null and not null constraints when reverse-engineering XSD - OpenAPI/Swagger: added template validation check when deriving from a polyglot model - Oracle: added reverse-engineering of synonyms from DDL New features in v6.10.9 [23-Jun-2023] - Document generation with CLI: added tolerance for markdown properties with null value - FK relationship creation: added tolerance for when the foreign attribute is a reference to a definition - Avro: handled cases when root schema replaced by string reference - Delta Lake/Databricks: added detection of subtype for child properties of arrays - Model-driven OpenAPI: added info block from template when deriving from polyglot - Polyglot: added handling of complex data type in field derived from Polyglot model and it is conflicting with a reserved name - Oracle: added support for CREATE SYNONYM syntax in forward- and reverse-engineering - PostgreSQL and YugabyteDB: added handling of transition between individual and composite PKs in ALTER scripts - SQL Server and Azure SQL: added support for deriving auto-increment from Polyglot New features in v6.10.8 [16-Jun-2023] - Print diagram: added possibility to export images to SVG format - Properties Pane: disabled isAvtivated property if attribute is a PK or part of composite PK - Faker: upgraded to latest library version 8.0.2. Beware of breaking changes in Faker functions https://github.com/faker-js/faker/blob/next/CHANGELOG.md - Avro: moved handling of custom properties at field level - Delta Lake/Databricks: adjusted mapping of array when deriving from polyglot without normalization - Oracle: added generating index script if index name is undefined - PostgreSQL: added support for modifications in Primary Keys and Foreign Key relationships in ALTER scripts of delta models - YugabyteDB: added support for modifications in Primary Keys and Foreign Key relationships in ALTER scripts of delta models New features in v6.10.7 [09-Jun-2023] - SQL Server and Azure SQL: added support for comments in forward- and reverse-engineering, leveraging sp_addextendedproperty syntax New features in v6.10.6 [07-Jun-2023] - Excel: added tolerance for export of attributes with empty business name - MongoDB, Cosmos DB w/ Mongo API, and DocumentDB: adjusted EJSON to BSON mapping during reverse-engineering inference of ISODate New features in v6.10.5 [02-Jun-2023] - Properties Pane: added warning validation after data type change - Foreign Key relationships creation: added tolerance for matching of data type when child attribute has multiple types - Reverse-Engineering: increased sample size limit to over 800 Mb - XSD: added reverse-engineering of complexTypes for Sparx Enterprise Architect - Avro: added custom property keyword includeInScript = true if user wishes for custom property to be added to AVSC schema. Also handled in Reverse-Engineering from schema registry and avsc files - Avro forward-engineering: added resolving of schema references when generating AVSC schema outside of Confluent Schema Registry - Oracle: added support for materialized views, including view properties, and indexes on materialized view columns - Teradata: added logic to generate ALTER scripts from delta model New features in v6.10.4 [31-May-2023] - ERD: enhanced copy/paste of containers with FK composite relationships - ERD: adjusted copy/paste of relationships New features in v6.10.3 [26-May-2023] - Object Browser: added search by Regular Expression - Reverse-Engineering performance: refactored rendering to handle larger sample faster, as well as multiple JSON columns in RDBMS rows - Custom properties: allowed propagation when converting to Polyglot with external references - Custom properties: allowed custom tab at model level for Polyglot - Workgroup: added Merge & Push button to branch merge (other actions) screen to simplify process - Workgroup: added custom message with documentation link when attempting to push to a protected branch in Azure DevOps Repos - Avro: removed API command from .avsc file forward-engineered when Schema Registry is not empty - Delta Lake/Databricks: added forward-engineering of Primary Key and Foreign Key constraints in Runtime 11 and above - Delta Lake/Databricks: added handling of changes in PK and FK constraints in ALTER script generation of delta models - Delta Lake/Databricks: added property for relationships so they appear commented in DDL forward-engineering when isActivated property is disabled - OpenAPI: allowed change of OpenAPI version within 3.0.x range New features in v6.10.2 [19-May-2023] - Reverse-engineering: updated tree view in selection modals - Reverse-engineering conflict detection: adjusted behavior of "apply to all" - Avro: added property "default" to complex data types - Databricks: added option to forward-engineer .hql in separate file per database and per table - Databricks: adjusted reverse-engineering of views when naming conventions enabled - Databricks: added handling of map when converting from Polyglot - JSON Schema: added possibility to reverse-engineer JSON file with just an empty array - MongoDB: updated workload analysis parameter capture form for collections in light of feedback from MongoDB solution Architects team - Teradata: added property for relationships so they appear commented in DDL forward-engineering when isActivated property is disabled New features in v6.10.1 [12-May-2023] - Verify Data Model: added column in report for glossary synonyms - Verify Data Model: expanded list of rules by default - Polyglot data models: added possibility to mark a (composite) unique key as an Alternate Key, and display in ERD - XSD reverse-engineering into Polyglot target: added interpretation of structures declared with substitutionGroup as subtypes - XSD reverse-engineering into physical targets: added interpretation of structures declared with substitutionGroup as inheritance tables - Documentation: fixed Windows 11 issue with schema tree diagram images - Delta Lake/Databricks: added handling of truncated responses in reverse-engineering with Runtime 11 and above - MongoDB: added workload analysis parameter capture form for collections - MongoDB: added cardinality parameter capture form for array data type - MongoDB: added reverse-engineering of text indexes - Protobuf: fixed conversion of object type when deriving from Polyglot New features in v6.10.0 [05-May-2023] - Verify Data Model: added tool to verify the consistency and quality according to a glossary of class and primary terms, and target-specific attribute rules such as precision/scale for numeric, and length for string data types - OpenAPI: added support for OAS 3.1 - OpenAPI: updated SwaggerUI panel to latest library version - Properties Pane for relationships: added synchronization of entity order in dropdown lists with order of these entities in Object Browser - Model Definitions and UDTs: added logic to comment definitions in DDL forward-engineering if they don't have any activated references in model - Avro for Confluent Schema Registry: added logic to recursively reverse-engineer all references in a union schema, even if not explicitly selected - Redshift: added support for JSON arrays as root of payload - Teradata: added escaping of UDT names when used as types New features in v6.9.14 [02-May-2023] - ERD: allowed null values for relationship sides property in persistence schema - Print diagram: initialized diagram header and footer - Oracle: added support for JSON arrays and scalar types as root of payload New features in v6.9.13 [28-Apr-2023] - Avro for Confluent Schema Registry: added support for schema references (https://docs.confluent.io/platform/current/schema-registry/fundamentals/serdes-develop/index.html#schema-references), and so-called "union schemas" - BigQuery, Databricks, Hive, Redshift, Snowflake, Synapse, Teradata targets: added modeling methodology at model level plus dimensional table roles and Data Vault 2.0 components at entity level - MariaDB: enhanced reverse-engineering of composite Primary Keys and Unique Keys, plus indexes - MongoDB: added support for references to definitions in embedded objects when forward-engineering Mongoose schema - OpenAPI: added auto-detection of YAML file to trigger reverse-engineering - PostgreSQL: enhanced log messages when sampling rows for JSON/JSONB columns and alert user to reduce sample size if memory full - PostgreSQL: enhanced ALTER script generation from delta model to include comments for schemas, tables and attributes, views - Snowflake: updated vm2 library to latest - Teradata: added logic to comment deactivated database - YugabyteDB: enhanced ALTER script generation from delta model to include comments for schemas, tables and attributes, views New features in v6.9.12 [21-Apr-2023] - ERD: improved rendering performance for models with large tables - Documentation: added handling of custom relationship lines in ERVs - Workgroup: added personal token authentication on Azure DevOps Repos when "Allow public projects" is disabled - Workgroup: added handling of revoked or renewed personal token on Azure DevOps Repos - Oracle: added meaningful error message when user is missing SELECT_CATALOG_ROLE for reverse-engineering - PostgreSQL: added support in ALTER script for changes in check constraints - PostgreSQL: increased logging when fetching functions, triggers and procedures - PostgreSQL: added option to ignore reverse-engineering of functions, procedures, and triggers - Synapse: added logic to fetch table info when referenced in views - Teradata: changed library to fetch JAVA_HOME environment variables in Windows and get correct path - Teradata: added default port if user does not specify - Teradata: added escaping of paths - YugabyteDB: added generation ALTER script for changes of precision/scale in numeric and length in strings New features in v6.9.11 [14-Apr-2023] - Polyglot: added option to merge into an existing polyglot model when converting a target model - ERD and graph view in polyglot: added adapter to restore lost entity coordinates - ERD: fixed auto-scrolling of canvas when mouse button was not pressed - Excel export: added export of custom properties when common to different data types - Cassandra: added possibility to select multiple CQL files to reverse-engineer - Delta Lake/Databricks: enhanced ALTER script generation of comments from delta model so the delete of a comment is disabled by default - Delta Lake/Databricks: added possibility to select multiple HQL files to reverse-engineer - Delta Lake/Databricks: added handling of serde properties - Glue Data Catalog: added button to fetch additional databases beyond the standard Glue limit of 100 databases per request - Glue Data Catalog: added possibility to select multiple HQL files to reverse-engineer - Glue Data Catalog: added handling of serde properties - Hive: added possibility to select multiple HQL files to reverse-engineer - Hive: added handling of serde properties - MongoDB: added reverse-engineering of wiildcard indexes - MySQL: inline/out-of-line primary/unique keys enhancements - OpenAPI: added inclusion of default display options in Schema ERD tab - PostgreSQL: added generation ALTER script for changes of precision/scale in numeric and length in strings - ScyllaDB: added possibility to select multiple CQL files to reverse-engineer New features in v6.9.10 [07-Apr-2023] - ERD: improved rendering performance for models with many relationship lines - ERD: for composite primary keys made of a JSON object, display separator line to include entire object - Properties Pane: added restriction so nested fields aren't accidentally selected as Primary Key - Custom path for custom properties: suppressed extraneous config migration - Excel export: added possibility to include custom properties that are repeated in complex data types - Excel export: added absolute reference for validation rules in empty lines - Model definitions: fixed conversion when attributes are part of composite primary key - Print diagram: fixed issue with disappearing relationship lines - Delta Lake/Databricks: enhanced ALTER script generation from delta model to include comments for schemas, tables and attributes - MongoDB: added support for wildcard indexes - MariaDB/Oracle/PostgreSQL/SQL Server/YugabyteDB: inline/out-of-line primary/unique keys enhancements - Snowflake: enhanced table detection logic to accommodate recent shortcomings in Snowflake's showTables() function - Synapse: added logging for Azure Active Directory authentication with MFA New features in v6.9.9 [31-Mar-2023] - ERD: added drag-sand-scroll possibility towards left and top of canvas - Compare and merge: added merging of ERDV container properties - Polyglot: disabled possibility to add views which should only appear in physical target models - Workgroup: added handling of legacy Azure DevOps DNS and URLs when matching remote origin of repo - Workgroup: added handling of fatal git client error wrongly identifying "not a git repository" in history screen - Workgroup: added warning badge in Tools > Options > Default Paths > Models as path is overwritten by selected repo location - Avro: added default null when multiple data types in oneOf choices - Oracle: added parsing and storing of table properties in DDL reverse-engineering - PostgresSQL: added tolerance for nextval and other functions in default of columns - YugabyteDB: added tolerance for nextval and other functions in default of columns New features in v6.9.8 [24-Mar-2023] - Polyglot: allowed derive of multiple data types to RDBMS when JSON column is supported - Polyglot: enabled ability to infer PKs and FKs - Cassandra: adjusted comparison to handle missing properties - Amazon AWS DynamoDB and S3: harmonized support for HTTP(S) proxies and company-issued certificates (self-signed) - MongoDB: added connection to serverless cluster on Atlas - MongoDB: added parsing of ISODate sample when simple date format without time/timezone - MongoDB: added validation for JSON Schema drafts later than draft-04 when multiple data types with string and date - Oracle reverse-engineering: added parsing of supplemental log data and group syntax in DDL - ScyllaDB: adjusted comparison to handle missing properties - Snowflake: relaxed URL checks to accommodate change in non-VPS account locator formats with some regions missing a cloud provider extension New features in v6.9.7 [17-Mar-2023] - Compare and merge: added granular selection in merge dialog for ERDVs - Custom path for custom properties: adjusted directory structure to match default setup and allow for ExcelOptions - ERD: added scrolling when dragging objects outside canvas - Added warning badge when duplicate technical names detected in same entity regardless of naming conventions settings - Avro: adjusted data type conversion when reverse-engineering Oracle DDL for numbers with no precision specified to DECIMAL(38) - Azure Blob Storage and Azure Data Lake Storage for Avro, JSON Schema and Parquet: harmonized support for HTTP(S) proxies and company-issued certificates (self-signed) - JSON Schema preview and forward-engineering: filter deactivated objects - MongoDB: added Load Balanced option in Advanced tab of connection settings to connect to cluster with such topology - PostgreSQL: added escaping of special characters in DDL generation for views - SQL Server: allowed self-signed certificates for all authentication methods - YugabyteDB: added escaping of special characters in DDL generation for views New features in v6.9.6 [12-Mar-2023] - ERD annotations for graph models New features in v6.9.5 [10-Mar-2023] - Polyglot: added subclass relationship connector for logical modeling use cases - Undo/redo: now also takes into account changes in Display Options toggle hide/display attributes - Excel import into Avro: unmuted error caused by container-level dependency to avoid hanging dialog - FK relationship creation from Properties Pane: allowed same flexibility as drag-and-drop when concerning nested references to definitions - Tech stack: replaced AWS SDK library v2 with v3 plus @aws-sdk/client-s3 and @aws-sdk/client-dynamodb to reduce bundle size - Documentation generation: fixed error for cases when ERDVs contain custom relationship style - XSD reverse-engineering: improved handling of cardinality in normalization when PowerDesigner XSD nested entities to represent FK relationships - Avro: adjusted data type conversion to decimal when reverse-engineering Oracle DDL for numbers with precision larger than 18 - MongoDB: added possibility for direct connection to Atlas by force dispatching - PostgreSQL: added db version check for security_invoker to determine whether to include in DDL script - PostgreSQL: adjusted sequence of DDL statements when table index is defined with "Concurrent build" enabled New features in v6.9.4 [03-Mar-2023] - XSD reverse-engineering: added support for xpath declaration of FK relationships - XSD reverse-engineering: added support for tags to creat corresponding constraints - Avro: adjusted data type conversion (int vs long) when reverse-engineering Oracle DDL for numbers with precision larger than 9 - Delta Lake/Databricks: adjusted default text mode to string when deriving char/varchar from Polyglot - Elasticsearch v7 and above: added Faker function-based mock sample generation in bulk - Elasticsearch v7 and above: added possibility to apply mappings to instance - Glue Data Catalog: disallowed "Clustered By" in forward-engineering if no "Number of Buckets" is declared New features in v6.9.3 [27-Feb-2023] - Relationship line adjustment preservation: stopped triggering orthogonal distribution after import from Excel when no container in model New features in v6.9.2 [25-Feb-2023] - ERD and ERD Views: added separation of Display Options for each and store in model file - ERD: adjusted display option Hide Data types to not hide key indicator - ERD: many minor enhancements to adjust relationship lines - ERD relationship lines adjustments: disallowed oblique lines on recursive relationships - Avro: adjusted data type conversion when reverse-engineering Oracle DDL for numbers with precision and scale - Polyglot and non-RDBMS targets: added possibility to choose normalization option when reverse-engineering XSDs, JSON Schema or YAML Schema - Glue Data Catalog: added logic to fetch table list by chunk beyond the standard Glue limit of 100 tables - Google Storage SDK: harmonized support for HTTP(S) proxies and company-issued certificates - Synapse: added support for "Masked by function" property - Teradata: enabled export/import with Excel New features in v6.9.1 [17-Feb-2023] - Teradata: added plugin with full data modeling, support for forward-engineering of DDL, and reverse-engineering including inference of schemas in JSON data types - Polyglot: added possibility to declare subtypes/subclasses, kept normalized when deriving into RDBMS targets, and converted to oneOf choice subschemas when deriving into targets supporting nested objects - ERD: separated position and adjustments of relationship lines in ERD Views from those in the main ERD - Undo/redo after copy/paste: adjusted behavior of the undo stack - MongoDB: updated driver to latest version, including all dependencies - PostgreSQL: added support for security invoker New features in v6.9.0 [10-Feb-2023] - ERD: added possibility to adjust relationship lines by moving anchors and segments, in addition to the previously available moving of entity boxes. See more info at https://hackolade.com/help/RelationshiplinksinERdiagram.html#Adjust%20relationship%20lines - Polyglot: enhanced behavior when deriving from polyglot and an attribute that is part of a FK relationship is marked as "Polyglot only" - Network proxy: harmonized support for HTTP(S) proxies and company-issued certificates - Workgroup edition: added user notification that stash is being preserved after conflict during stash application (pop) - Avro: handling converting choices with subtypes with different fields - OpenAPI: added handling for discriminator objects - OpenAPI/Swagger: fixed cosmetic overlapping of labels for low-res screens in forward-engineering tab - Protobuf: fixed issue when empty options generated undefined results in script New features in v6.8.6 [03-Feb-2023] - Polyglot: disabled PK restriction on foreign master relationships - Workgroup Edition: added deletion of source branch after merging a Pull Request in Bitbucket Server - Workgroup Edition: allowed opening a Pull Request in Bitbucket Server when it is in status UNAPPROVED - Delta Lake/Databricks/Hive: added tab with DDL of view - Neo4j: added possibility to apply Cypher scrip to instance in forward-engineering use case - Neo4j: updated to v4.4.10 of SDK New features in v6.8.5 [27-Jan-2023] - Compare and Merge Models: generation of delta model for ALTER script when a model has no technical names, while the other has both business names and technical names: fallback on the business names of the model with no technical names - Custom properties: added validation and warning badge for multipleCheckboxSelect property - JSON document and Schema reverse-engineering: added trimming of invisible characters - ERD: prevented duplication of of references during drag-and-drop operations - Foreign key relationships: preserve when replacing an attribute by a reference to a definition (internal, model, or external) - JSON in RDBMS: enabled simple polymorphism with multiple data types in JSON fields (complex polymorphism was already allowed with oneOf choices) - Avro/Parquet: upgrade Azure Blob Storage SDK - Avro/Parquet: shortened delay in display of progress bar - Avro/Parquet: allowed to open branches without losing previously selected files in other branches - Delta Lake/Databricks: added database name to columns in select statement when there is no select statement and columns reference tables in different databases - Neo4j: added support for Neo4j v5 and AuraDB, including new indexes and constraints New features in v6.8.4 [20-Jan-2023] - Workgroup Edition: added ability to STASH local changes from the commit screen, plus review, apply, drop, handle conflicts - PDF documentation and PDFdiagram print: replaced PhantomJS library for enhanced performance and increased stability - JSON Schema: added user-friendly "Display name" property for conditionals for documentation purposes (not forward-engineered, as not part of spec) - JSON Schema: prevented possibility to use copy/paste workaround to create multiple conditionals at same level - Avro/Parquet reverse-engineering from cloud storage: set default to combine schemas - Avro/Parquet reverse-engineering from cloud storage: increased logging of critical operations - BigQuery: added configuration of external table options, plus forward- and reverse-engineering of external table options - BigQuery: added support for new JSON data type - BigQuery: disabled ability to create multiple data types for a columns - BigQuery: disabled possibility to create pattern columns, while leaving the possibility inside a column with JSON data type - Couchbase: enabled possibility for numeric fields to be marked as primary key of document type for documentation purposes - Couchbase: adjusted reverse-engineering logic to continue process after failure to fetch documents from N1QL query - MariaDB: added validation warning for empty index names - MySQL: added handling of tablespaces - MySQL: added Blackhole engine - MySQL: added validation warning for empty index names - PostgreSQL: added array type for domain data type - PostgreSQL: added forcing user to create UDT according to spec for data types domain, enum, composite, and range_udt https://www.postgresql.org/docs/current/datatype-enum.html New features in v6.8.3 [13-Jan-2023] - References: added shortcut to root level objects or dialog for nested objects in internal and model definitions when adding, inserting, appending - Azure Data Lake Storage: improved performance when reverse-engineering Avro, JSON or Parquet files in nested sub-folders - Avro: added name property when resolving UDTs - Avro: adjusted resolution of references with multiple data types - Couchbase: allowed fallback on N1QL for index retrieval if issues encountered in retrieval via REST API - MySQL: implemented generation of ALTER script from delta model - OpenAPI/Swagger/EventBridge:allowed additional ways to create FK relationships (for documentation purposes) in Schema ERD View tab - PostgreSQL: added visual display for array types in ERD - Synapse: added handling for empty tableInfo data and null table_type New features in v6.8.2 [05-Jan-2023] - JSON Schema forward-engineering: adjusted filtering of nested definitions when one is undefined - Avro: allowed Doc property of a definition to be replaced by reference description - Databricks: adjusted count of number of table buckets when reverse-engineering from HQL file - Elasticsearch: added reverse-engineering from cloud instance - Glue Data Catalog: adjusted count of number of table buckets when reverse-engineering from HQL file - Hive: adjusted count of number of table buckets when reverse-engineering from HQL file - Parquet: improved speed of reverse-engineering on Azure Data Lake Storage - Synapse: improved detection of parent schema of views New features in v6.8.1 [30-Dec-2022] - Excel: added full path in technical names of nested objects - Delta Lake/Databricks: added handling of view table properties, plus added numBuckets cast to number - Glue Data Catalog: added handling of view table properties, plus added numBuckets cast to number - Hive: added numBuckets cast to number - PostgreSQL: added support for v15, including new property NULLS [NOT] DISTINCT for columns, table constraints and table indexes - PostgreSQL: added support for array types - Synapse: added reverse-engineering of views referencing tables in other schemas, and of views in schemas without tables New features in v6.8.0 [23-Dec-2022] - MySQL: added plugin with full support for forward-engineering of DDL, and reverse-engineering including inference of schemas in LONGTEXT data types - Tech refresh of Electron (v22.0.0), NodeJS (v16.17.1), Chromium (v108.0.5359.62), V8 (v10.8) and Electron-related modules - Mac: fixed shortcut key conflict on Ventura MacOS after screen capture - Schema Registries: fixed issue in selection modal when version labels sometimes overlapped when filter is active - Cassandra/ScyllaDB: adjusted ALTER script in case of change in Clustering Key - MongoDB/DocumentDB/Cosmos DB with MongoDB API: enhanced BSON parser - Neo4j and other graph targets: fixed alignment of nodes when not using forced-directed layout - PostgreSQL: adjusted parsing of SELECT statements to allow view columns with no underlying table columns (NULL::character varying AS...) - PostgreSQL: enhanced reverse-engineering in case of duplicate views in same DDL - Redshift: enhanced handling of deactivated columns in forward-engineering - Swagger/OpenAPI/EventBridge: enabled copy/paste in responses of interactive SwaggerUI pane New features in v6.7.3 [16-Dec-2022] - Tools > Options > Forward-Engineering: added parameter to skip COMMENT in DDL for SQL and SQL-like targets - Reverse-Engineering selection dialog: adjusted filter so schema versions don't require matching - Undo/Redo: various enhancements - Workgroup: added basic support for git subtrees - Workgroup: added possibility to commit and push in a single step, provided that there are commits to be pulled first - Workgroup: updated simple-git library to latest version - Workgroup: adjusted SSH password prompt modal - Workgroup: added logging of git configuration when opening a repository - Avro: added inference of Subject Name Strategy during reverse-engineering of Confluent Schema Registry - Cassandra: added determination of PROFILE value from DESCRIBE SEARCH INDEX during reverse-engineering - Cassandra: removed from ‘Profile’ for CQL if DSE version is 6 and higher - Cassandra/ScyllaDB: added tolerance for empty lists in reverse-engineering of UDTs - Cassandra/ScyllaDB: moved data transfer to UDThelper - Cassandra: added check ‘Profile’ values - and if they are missing in the reference model - PostgreSQL: improved parsing of complex functions during reverse-engineering - Protobuf: added conversion of array attributes from Polyglot - Swagger/OpenAPI: enabled auto-height and auto-width for entities in Schema ERD View New features in v6.7.2 [09-Dec-2022] - Added validation warnings in ObjectBrowser and ERD for deeply nested attributes - Workgroup Edition: after creation of Pull Requests, redirect user to My Pull Requests screen - Workgroup Edition: added provider-specific help links in Repository Connections dialog - Workgroup Edition: added rendering of Pull Request timeline in ascending order for GitHub and GitLab - Avro: refactored integration with Confluent Schema Registry to better handle different subject name strategies - Avro: added capture of Schema Registry URL during reverse-engineering from Confluent - Avro: added generation of subject name according to strategy and schema type unless specified manually - Avro: added validation for Topic and Subject properties - Collibra: added more user-friendly dialog when attempting to connect with an erroneous URL - Delta Lake/Databricks: added support for columns GENERATED AS - Swagger/OpenAPI: allowed display options in Schema ERD View - Swagger/OpenAPI: added import of FK relationships when deriving Polyglot model into Schema ERD View New features in v6.7.1 [02-Dec-2022] - Polyglot: added normalization of Polyglot choices during derivation into super-type/sub-type for RDBMS targets - Polyglot: added creation of references to Polyglot model when converting a target model to Polyglot - Compare and Merge: disabled rendering of properties for ghost objects - Workgroup Bitbucket Server: enabled network proxy settings, so self-signed certificates in local store are automatically recognized - Avro: added support for newly introduced Avro spec feature of symbol default property for enum data type - Delta Lake/Databricks: added Azure URL suffix in connections dialog for Azure Storage Access - ScyllaDB: applied recent ALTER script logic enhancements from Cassandra plugin for partitioning/clustering keys - Snowflake: updated snowflake-sdk package in plugin - SQL Server: allowed creation of Foreign Relationships referencing columns that are non-PK as long as they have a UNIQUE constraint - Swagger/OpenAPI/EventBridge: added parsing of yaml values as JSON - Swagger/OpenAPI/EventBridge: added validation of objects after reverse-engineering to display warning badges in Object Browser New features in v6.7.0 [25-Nov-2022] - Workgroup: added support for GitLab Cloud (gitlab.com) and GitLab Server (self-hosted) for workflow to submit and review Merge Requests - Workgroup: added showing username and display name for change requests - Workgroup Bitbucket Cloud: enabled network proxy settings - Network proxy: added possibility to specify a .pac file URL for backend functions such as forward- and reverse-engineering - Compare and Merge: adjusted matching for objects inside moved objects - Excel: adjusted handling of multiple JSON complex types - Avro: reverted mapping of date/time/timestamp fields to semantic meaning when converting from DDL and JSON Schema and inference of JSON data - Cassandra: removed duplicated udt in list/set/tuple when reverse-engineering from instance - Cassandra: removed business and technical names from array items to keep just display name - Delta Lake/Databricks: allowed column lists to be used for aliases as well as filter of columns from SELECT statements when reverse-engineering from instance - Hive: added forward- and reverse-engineering of AS SELECT statement for views - Hive: added forward-engineering of comments - OpenAPI/Swagger: added lower tab "Schema ERD view" to enhance visualization of definitions/component schemas - Parquet: reverted mapping of date/time/timestamp fields to semantic meaning when converting from DDL and JSON Schema and inference of JSON data - ScyllaDB: removed duplicated udt in list/set/tuple when reverse-engineering from instance - ScyllaDB: removed business and technical names from array items to keep just display na New features in v6.6.4 [18-Nov-2022] - Polyglot: added possibility to insert attributes in entities of target model derived from Polyglot - Polyglot added impact analysis when calling references refresh from entities - Network proxy: added possibility to specify a .pac file URL for access to license server and plugin manager - Network proxy: enhanced logging of proxy settings on application startup - Workgroup Bitbucket Server: added tolerance for slashes in usernames when displaying Pull Requests - Custom properties: allowed defaultValue property in custom tabs - Cassandra: adjusted reverse-engineering of list, and adjusted ALTER script generation in case of list - Cassandra: fix over eager drop/create table when business names are different but technical names are similar - Databricks on Azure: added connection tab to declare ADLS storage passthrough credentials - Neo4j and other graph targets: allowed dragging graph nodes with force-directed layout if node has edge is dangling New features in v6.6.3 [11-Nov-2022] - Command-Line Interface: added command polyglotDerive to derive a target model from multiple polyglot models - Compare and Merge: allowed comparison by name to take array display names into account - Polyglot: added possibility to derive target model when FK relationships involve attributes in nested objects - Workgroup for Azure DevOps Repos: added ability to automatically detect and use proxy settings - Workgroup Bitbucket Server: detect Server version to adapt required connection parameters accordingly - Workgroup Bitbucket Server: show detailed message in logs in case or API errors - Cassandra: adjusted ALTER script generation when change in PK - Delta Lake/Databricks: added property Column List in view Properties Pane to achieve round-trip engineering - Delta Lake/Databricks: added parsing of column list from CREATE VIEW statement in HQL file - Delta Lake/Databricks: allowed column lists to be used for aliases as well as filter of columns from SELECT statements when reverse-engineering from HQL files - Delta Lake/Databricks: added handling of jinja double curly braces in forward-engineering and ALTER scripts New features in v6.6.2 [04-Nov-2022] - Command-Line Interface: added command polyglotDerive to derive a target model from a polyglot model - Command-Line Interface: added command polyglotUpdate to update a target model for modifications made to the referenced polyglot models - Command-Line Interface: added possibility to forward-engineer schema to schema registries (Confluent, Azure, Pulsar) - Documentation: fixed issue generating PDF on Ubuntu 24.04 - Model API generation: added validation of the template to ensure presence of entity/entities in schema components and resources - MongoDB: fixed issue with $jsonschema generation when descriptions include Regex-like expressions - Workgroup: enhanced handling of user permission errors when submitting change request for review New features in v6.6.1 [28-Oct-2022] - Workgroup: added display of required permissions in the connection manager when issues with the Personal Access Token - Workgroup: changed check of repository permission to circumvent lack of proper decoding of slashes in usernames by Bitbucket Server - Workgroup: added check for repo permissions when opening Submit for review page, and when switching repos - Workgroup: streamlined flow after repo provider authentication error - Workgroup: added input auto-height when typing multi-line comments in change requests creation and review - Workgroup: harmonized icons for closed and reopened Change Requests in timeline and status badge - Workgroup: added preserving reviewers when switching panes during Change Requests - Workgroup: improved SSH keys errors and SSH URLs handling - Polyglot: fixed refresh of cross-target external reference after conversion to local objects - Polyglot: default to ER Diagram tab when opening previously save model - Avro: adjusted mapping of detected ISO-8601 dates in JSON data reverse-engineering - EventBridge: added ability to add recursive references to resource schemas - OpenAPI: added ability to add recursive references to resource schemas - Parquet: adjusted mapping of detected ISO-8601 dates in JSON data reverse-engineering - PostgreSQL: adjusted mapping of timestamps without timezone - Redhift: adjusted mapping of detected ISO-8601 dates in JSON data reverse-engineering - YugabyteDB: adjusted mapping of detected ISO-8601 dates in JSON data reverse-engineering New features in v6.6.0 [21-Oct-2022] - Workgroup: added support for Azure DevOps Repos for workflow to submit and review Pull Requests - Polyglot: added lower tab Graph Diagram view for conceptual modeling - Collibra: added storage of Asset URL for objects during reverse-engineering - Avro: refactoring of forward-engineering to facilitate enhancements - Avro: added detection of conflict in names of references and records - Avro: added detection of missing type name for fixed fields - Avro: adjusted level for generation of alias of arrays - Avro: adjusted resolution of array references - Avro: adjusted order of doc property in case of array with aliases - Avro: added possibility to create complex schemas to fields with map data type - Avro: added handling of choices with empty names - Avro: resolved duplicate named complex types with different structures - Cassandra: added filtering in views of columns that have been deactivated in the underlying table - Delta Lake/Databricks: added warning dialog when views are invalid due to discrepancy with underlying table structure, and need to be refreshed New features in v6.5.5 [14-Oct-2022] - ERD: added logic to automatically create PK in parent table if not exists, when FK relationship is created via drag-and-drop - Test data generation: upgraded to FakerJS v7.6.0 library - Test data generation: added tolerance for wrapping functions with quotes in addition to backticks - Markdown documentation generation: fixed to take out link rule in turndownHelper to speed up generation - Workgroup Edition: added handling of non-scp syntax for SSH protocol in remote URL of git config file - DDL reverse-engineering: added handling of integer and decimal type of SQL Server T-SQL dialect - Collibra: added handling for deactivated objects in publishing and reverse-engineering - Avro: added handling of fixed type when size is zero - BigQuery: added filtering in views of columns that have been deactivated in the underlying table - Delta Lake/Databricks: added parsing of properties pane SELECT statement to determine view columns - Hive: added filtering in views of columns that have been deactivated in the underlying table New features in v6.5.4 [07-Oct-2022] - YugabyteDB with YSQL API: added plugin with full support for forward-engineering of DDL, and reverse-engineering including inference of schemas in JSON and JSONB data types - Workgroup: added filter by file extension for custom certificate selector - Workgroup: pre-filled host domain for self-hosted providers with info from opened git repo - Workgroup: only allow pem,crt,key,cer file extensions when specifying custom SSL Certificate Authority for Git and Git provider API - Delta Lake/Databricks: enhanced reverse-engineering by querying long list of properties in struct data type - Delta Lake/Databricks: added possibility to reverse-engineer a view that references tables in another Databricks database - MongoDB: added choice between JSON or BSON serialization in data sample of Preview, forward-engineering, and Command-Line Interface New features in v6.5.3 [30-Sept-2022] - Workgroup: added support for Bitbucket Cloud for workflow to submit and review Pull Requests - Workgroup: improved handling of custom Certificate Authority - Enum and other multi-text inputs: added bulk edit functionality - JSON Schema reverse-engineering: added detection and tolerance for UTF-16 encoding - JSON Schema: added support in choice subschemas to convert to definition, replace by attributes, and replace by attributes - Avro: adjusted type for references in array items - Cassandra: added filtering of solr_query column during reverse-engineering - Cassandra: added searchIndexProfiles to excluded keys in model comparison and generation of delta model - Delta Lake/Databricks: made "if not exists" and "or replace" mutually exclusive - Delta Lake/Databricks: added filtering in views of columns that have been deactivated in the underlying table - Delta Lake/Databricks: enhanced representation of table properties, converting from textarea to key-value pairs - Hive: made "if not exists" and "or replace" mutually exclusive - MongoDB: enhanced forward-engineering to Mongoose schema so only relevant definitions are included when choosing separate files option - OpenAPI/Swagger/EventBridge: added possibility to resolve external references when forward-engineering, in GUI and Command-Line Interface New features in v6.5.2 [23-Sept-2022] - Polyglot: added an impact analysis screen when updating references from polyglot in a target model, based on the model compare screen - Workgroup: added possibility to specify custom SSL Certificate Authority for Git and Git provider API - Enum and other multi-text inputs: added up/down controls to re-order list - ERD annotations: added an Options tab to control color and font style - Forward-engineering of ALTER script from delta model: added user-friendly message if script is empty - DDL reverse-engineering: adjusted mapping of timestamp, time, and numeric data types for DB2 dialect - Delta Lake/Databricks: enhanced reverse-engineering of cross-database views when script does not include related tables - Delta Lake/Databricks: improved parser of view statements with CAST of STRUCT when reverse-engineering from HQL file - Delta Lake/Databricks: improved parser of view statements with subqueries in FROM section of SELECT statement - MongoDB: enhanced forward-engineering of numerics (int32, long, double, decimal128) to be formatted as BSON instead of JSON - Redshift: added possibility to connect to instance without region if stored by AWSCLI - Snowflake: added to ALTER script from delta model: schema and table rename, comment set/unset, view add, drop and rename New features in v6.5.1 [16-Sept-2022] - Changed some icons of Display options to be more intuitive and consistent - JSON Schema: added support for "dependent schemas" property when both business/technical names are present - JSON Schema: added tolerance for "example" keyword during reverse-engineering for draft-06 and above, when the keyword should have been "examples" - JSON Schema: added support for references in choice subschemas - DDL reverse-engineering into Avro target: adjusted mapping of dates and decimal numbers data types - DDL reverse-engineering: adjusted handling of $$ comments for Snowflake dialect - Workgroup edition: implemented automatic transparent use of of repository connection credentials in Git clone, if previously provided for provider - Workgroup edition: added tooltip next to Clone button to describe URL pattern - Workgroup edition: update styles and layout of history details to match the "Repository files" screen - Cassandra: adjusted handling of ALTER script for default values in search index - Delta Lake/Databricks:added extra logging, plus stopped querying count in case of absolute sampling in reverse-engineering - Redshift: added possibility to connect to instance without credentials if stored by AWSCLI - Snowflake: added filtering of metadata columns for external tables during reverse-engineering New features in v6.5.0 [09-Sept-2022] - Workgroup: added support for Bitbucket Server for workflow to submit and review Pull Requests - JSON Schema: added support for "dependent required" property when both business/technical names are present - Collibra: added handling of multiple choice subschemas during reverse-engineering - Delta Lake/Databricks: enhanced parsing of views to handle CAST statements - Redshift: added support for serverless instances - Snowflake: added detection of insufficient rights to perform reverse-engineering and display user-friendly dialog New features in v6.4.3 [02-Sept-2022] - FK relationships: added display option to toggle relationship names in ERD - Compare and Merge: added user-friendly dialog if user chooses models for different targets - Compare and Merge: if comparison by GUIDs is not possible, changed default to comparison by technical name (if exist) when generating delta model, instead of business names - Compare and Merge: display placeholder when models only differ by their metadata - Compare and Merge: difference pager count takes display filter into account - Compare and Merge: when invoked from the Commits History view, added possibility to Open model in new instance - Cassandra: added filter for table options in ALTER script of delta model - Oracle: added support for ON DELETE for FK relationships New features in v6.4.2 [26-Aug-2022] - Infer Primary Keys and Foreign Key relationships: increased probability to infer FKs in some conditions, while restricting other conditions to reduce false positives - Foreign Key relationship: swapped order of entities in automatic naming to follow a more common convention: fist table is the FK table, and second table is the PK table - Model API: added user-friendly dialog if user chooses inadequate file for API template - Collibra: added support for multiple JSON Schema choices in same table - Workgroup: made column width adjustable in Explore Repository Files screen - Workgroup: allowed to review closed Change Requests when remote branch has been deleted - Workgroup: added visual clue that a copy icon is being clicked - BigQuery: added filtering of deactivated objects in forward-engineering of DDL in JSON Schema format - Delta Lake/Databricks: added support for table options reverse-engineered from instance - Delta Lake/Databricks: added maintaining order of fields when detecting JSOn in string columns - Delta Lake/Databricks: added filtering of extraneous Scala metadata when reverse-engineering bloom filters - Snowflake: added reverse-engineering of stages and external tables New features in v6.4.1 [19-Aug-2022] - Apple Silicon ARM64: added application build optimized for M1 and M2 processors and achieve unprecedented performance - Read-Only Viewer: added edition to allow navigation through models for consultation purposes only -- no creation or editing, no forward-engineering (except JSON Schema and Excel) or reverse-engineering. When connected to Git repositories, also allows pull operations and commenting on change requests. Request pricing at sales@hackolade.com - Polyglot: adjusted behavior so external references in polyglot are derived into target physical models as direct external references, instead of transitive via polyglot model - References: added handling if a parent object, being converted to a reference, contains a child attribute itself with a prior reference - References: added detection of technical name collision when renaming references after copy/paste - Workgroup: added ability to detect and visually resolve conflicts affecting change requests when the source branch becomes out-of-sync with the target branch - Workgroup: added handling of multiple worktrees by filtering out their branches - Workgroup: merged screens for Explore Models and Explore All Files, plus enhanced aesthetics - Workgroup: enhanced UX for local-only repositories - Workgroup: enhance logging to reduce file size and redundancies, enhanced logging with git provider API call details - Avro: enhanced handling of enum symbols when deriving from polyglot - BigQuery: added handling of typeMode=required in documentation - Collibra: added publishing and reverse-engineering of foreign master relationships in denormalized models - Delta Lake/Databricks: throttled fetching databases to accommodate API rate limiting - Delta Lake/Databricks: added support for table options reverse-engineered from HQL files - DynamoDB: added default JSON data for data types binary and binarySet - DynamoDB: added Faker function-based (bulk) sample generation in script tab to apply to instance - YAML: added possibility to choose quoting style (unquoted, single-quote, double-quotes) in preview and forward-engineering, including new argument quotingType in CLI forwEng command New features in v6.4.0 [12-Aug-2022] - Tech refresh of Electron (v19.0.10), NodeJS (v16.14.2), Chromium (v102.0.5005.167), V8 (v10.2) and Electron-related modules. Includes backported fix for CVE-2022-2162 vulnerability - WARNING: support for Windows 7 is discontinued with this version - Workgroup Edition: improved error handling dialog when user has limited or no access to repository - Workgroup Edition: harmonized access to Repository options and hub connections - Cassandra/ScyllaDB: as ALTER TYPE syntax has been deprecated starting with Cassandra 3.10 and DataStax 5.0.6, replaced with DROP + CREATE column statements in ALTER script of delta model, plus added display of warning badge for incompatible data type change in Compare & Merge dialog - MongoDB reverse-engineering: added timeout in probabilistic schema inference process plus enhanced logging - YAML forward-engineering: added double-quote encoding of strings when necessary (semicolons, hash signs, and unicode characters) New features in v6.3.1 [05-Aug-2022] - Detection of outside changes in open model: added handling of models stored and synched on OneDrive - Collibra: added handling of relationships when when parent and/or child are in nested objects - Compare and merge: enhanced handling when one model has technical names and the other doesn't - Compare and merge: enhanced named-based detection to better detect names when differences are minor (underscores between words instead of spaces, etc.) - Custom properties: added migration of data models when changing a property from propertyType="select" to propertyType="multipleCheckboxSelect" - Workgroup: use commit short hash in model name when opening model from commit history view - Workgroup: preserve state and select row of history view when changing context then returning to repository context - Workgroup: added auto-refresh of history view when creating or deleting a branch - Workgroup: added auto-refresh of history view when discarding local changes from uncommitted row - Workgroup: enhanced up and down arrow key navigation in history view to go to previous/next page when available - Workgroup: enhanced GitHub OAuth user experience to clarify steps New features in v6.3.0 [29-Jul-2022] - Infer Primary Keys and Foreign Key relationships: for RDBMS targets and related, new feature to automatically help identify candidate PKs and FKs in a model, if not yet explicitly reverse-engineered or declared, based on machine learning and probabilities. Available in BigQuery, Delta Lake/Databricks, Hive, MariaDB, Oracle, PostgreSQL, Redshift, SQL Server, Snowflake, and Synapse plugins. - Compare and Merge: refactored dialogs to allows for all permutations of the Workgroup Edition's screens for review changes, merge conflict, and comparisons between different commits - Custom properties: added tolerance for presence of unrelated json files (or backups) in properties_pane/ directories - Tools > Options > General: added possibility to backup and restore user parameters and connection settings. Useful also when moving to another machine - Workgroup Edition: added repository history screen, including filters by data model, branch, or author - BigQuery: added primary key property for documentation purposes only - MongoDB: added possibility to reverse-engineer fields declared in validator script but no data type is defined - MongoDB: added default creation of _id field when not present in validator script and collection is empty - OpenAPI: adjusted validations of text inputs in block inputs - Swagger/OpenAPI: added default opening of components if no resources are reverse-engineered New features in v6.2.5 [23-Jul-2022] - Excel:enhanced validation when exporting graph models - Model API generation: added help link next to template selection, plus enhanced error message when selected file is not a template - Polyglot: added spinner when large model is being derived - Polyglot: enhanced handling when replacing a reference to a definition by its attributes - Workgroup: reload data model if changes detected after pull operation - Workgroup: leverage GitHub GraphQL API to populate list of Pull Requests screen - Workgroup: enhanced conflict resolution after merge of local branches - OpenAPI: added opening of components if no resources are reverse-engineered - Parquet: fixed issue causing 'Too many files opened" message New features in v6.2.4 [17-Jul-2022] - Command-Line Interface: reordered commands - Multiple data types: enhanced removal when complex data type is last one left - Polyglot: added possibility to give a name to the polyglot link. Can be helpful when making multiple links to the same polyglot model, for different profiles - ArangoDB: allowed custom properties in relationships - Avro: enhanced schema validation messages - JanusGraph: allowed custom properties in relationships - Oracle: enhanced parsing of view SELECT statement - Snowflake: enhanced reverse-engineering when data sampling enabled New features in v6.2.3 [08-Jul-2022] - Command-Line Interface: added commands to export and import with Excel from the CLI - Polyglot: allowed deviations in attribute business and technical names in target model when deriving from Polyglot - Polyglot: adjusted mapping of binary type when reverse-engineering XSD - Workgroup: added possibility to link Change Request to assignees from the Submit for review screen - Workgroup: added possibility to link GitHub Pull Request to reviewers from the Submit for review and the Check pR screens - Cosmos DB with MongoDB API: added possibility to generate synthetic/mock/fake documents and applied in bulk to the instance - DocumentDB: added possibility to generate synthetic/mock/fake documents and applied in bulk to the instance - Couchbase: added possibility to generate synthetic/mock/fake documents and applied in bulk to the instance - Oracle: added tolerance for GET_DDL returning concatenated statements without delimiter - Oracle: added SQL terminator to view DDL retrieval - PostgreSQL: changed escaping from $ to C-style - SQL Server: adjusted mapping of data types when deriving from Polyglot to convert string sizes greater than 8000 to (n)varchar(MAX) New features in v6.2.2 [04-Jul-2022] - JSON Schema: added possibility to declare multiple data types including at least one complex data type without oneOf choice - Excel import: added support for relationships on nested attributes - Excel import: added support for cross-target references - Polyglot: allowed modification of business and technical names for attributes and UDTs/model references - Polyglot: added handling of references when multiple derivations from the same polyglot model - Workgroup: added auto reuse of provider credentials for Git authentication - Workgroup: added GitHub OAuth device flow method - Workgroup: added possibility to assign a Pull Request by picking from a list of possible assignable users - Workgroup: added handling for Pull Request comments deleted on web console - Oracle: added tolerance for GET_DDL returning concatenated statements without delimiter - SQL Server: added support for MATCH, ON UPDATE, and ON DELETE for FK relationships - SQL Server: allowed use of named instance in connection host parameter New features in v6.2.1 [24-Jun-2022] - Azure Blob Storage and Azure Data Lake Storage (for JSON, Parquet, Avro...): collapsed hierarchical folders so they only get discovered when node is expanded - Azure Blob Storage and Azure Data Lake Storage (for JSON, Parquet, Avro...): increased limit of discovered objects to 1000 - JSON data sample for pattern fields: generate default name by regular expression - JSON data sample for fields with data type "any": added handling using sub-object if exists or string - JSON Schema: allowed root to be an array (in addition to historic possibility for root to be a document) - Polyglot: fixed inconsistency when deriving model definitions/UDTs into a target model - Test data generation: upgraded to FakerJS v7.3.0 library - Workgroup: adjusted finding consistent source branch during resolution of conflicts during discard - Workgroup: prevented lock during background check for remote commits - Workgroup: enhanced UX and handling of token expiration state - Workgroup: enabled caching for some GitHub API requests - Workgroup: enhanced GitHub credentials setup to favor personal tokens, as passwords are now deprecated - Workgroup: disabled forbidden actions for users with GitHub read-only tokens - Workgroup: added column for authors in lists of change requests - Workgroup: added submit and review actions to Repository menu - Workgroup: added timestamp tooltip to all screens with relative dates - Workgroup: added handling of blocked Pull Requests - Hive: adjusted forward-engineering "apply to instance" script with deactivated objects - MariaDB: adjusted conversion of sample and default properties when deriving from Polyglot Boolean into tinyint(1) - Parquet: enabled primary key property for documentation purposes only - PostgreSQL: adjusted mapping when deriving nvarchar from Polyglot to varchar - PostgreSQL: added support for MATCH, ON UPDATE, and ON DELETE for FK relationships - SQL Server: adjusted conversion of sample and default properties when deriving from Polyglot Boolean into bit - SQL Server: adjusted mapping when deriving timestamp from Polyglot to Datetime2 - Synapse: adjusted conversion of sample and default properties when deriving from Polyglot Boolean into bit - Synapse: adjusted mapping when deriving timestamp from Polyglot to Datetime2 - Synapse: added possibility apply DDL to instance New features in v6.2.0 [17-Jun-2022] - Workgroup: added support for GitHub (.com as well as Enterprise Server) for workflow to submit and review Pull Requests - Workgroup: added possibility to authenticate on GitHub using personal token - MongoDB synthetic data generation: added progress bar when generating in bulk - Documentation generation: added support for recursive references - Excel import: added support of string formats - JSON Schema: added possibility to generate JSON Schema when subschema of choice inside a data type "any" is scalar - Polyglot: fixed selection of multiple keys when they are references to model definitions/UDTs - Polyglot: fixed rendering of group input properties when referencing definitions - Azure Data Lake Storage (for JSON, Parquet, Avro...): enhanced discovery nested sub-folders when empty - Azure Data Lake Storage: added Advanced tab in Connection Settings for Prefix selection - Hive: enhanced apply to instance with commented drop statement - PostgreSQL: added validation of primary/unique keys, plus added warnings in forward-engineering script when primary/unique constraints have no keys - Redshift: enhanced fetching of tables/views if schema has more than 500 of entities New features in v6.1.3 [10-Jun-2022] - Network proxy: increased logging and error details - Polyglot: added enforcement that only a single column can be a primary key, or it should be part of of a compound key - Polyglot: added possibility to edit required property in UDTs - Polyglot: fixed resolution of references before normalization when applicable - XSD: added translation of mxOccurs=1 into required/not null during reverse-engineering - Workgroup: added Git status icons to repository explorer tables - Workgroup: disabled Pull button when there is no remote tracking branch - Avro: forward-engineer Confluent subject name from schemaGroupName property - Hive: added the possibility to apply forward-engineering HQL script to instance - Hive: adjusted v2 HQL script to filter out v3-specific features - MongoDB synthetic data generation: added possibility to specify the number of mock/fake documents to be created and applied to the instance - Parquet on Azure Data Lake Storage: enhanced discovery when many non-parquet files are also present - Protobuf: updated protobufjs libraries New features in v6.1.2 [03-Jun-2022] - Redrew toolbar and contextual menu icons with SVG for cleaner hi-res displays - Workgroup: added possibility to end or continue merge branch process - Polyglot: adjusted warning for UUID enums, sample, and examples properties - Added "Apply to instance" button for all remaining RDBMS and SQL-like targets: Databricks, Hive, MariaDB, Oracle, PostgreSQL, Redshift, Snowflake, SQL Server, Synapse - OpenAPI/Swagger models derived from Polyglot: added ability to edit properties of references - RDBBMS and SQL-like targets: added enforcement that only a single column can be a primary key, or it should be part of of a compound key - Hive: enhanced handling of constraints rely/no rely, disable novalidate New features in v6.1.1 [27-May-2022] - ERD: added display option in toolbar and Tools > Options > Display to show/hide attribute data types - Application log files: enhanced so logs are no longer reset with start of additional application instances -- only when first instance gets started - Test data generation: added possibility to specify the number of documents to generate in Tools > Forward-Engineer > JSON documents - Test data generation: added Faker function-based sample generation in script tab to apply to instance of concerned targets (MongoDB, Couchbase, Cosmos DB, DocumentDB, JanusGraph, Neo4j, Neptune, TinkerGraph) - Test data generation: upgraded to FakerJS v7 library - Workgroup: added action to merge branches - Couchbase: added ability to reverse-engineer buckets with no N1QL primary index, by automatically falling back to REST API for sampling and schema inference New features in v6.1.0 [20-May-2022] - Generate fake but realistic data for development, testing or demos. More info at https://hackolade.com/help/Generatemockdatafortesting.html - Compare and Merge: added auto-selection of matching method when comparing models with different GUIDs - Compare and Merge: added display option to only show conflicts - Reference definitions: added support in RDBMS targets for definitions containing polymorphic choices - License key validation: enabled Tools > Options so the network proxy settings can be adjusted - Workgroup: added auto-discovery of git.exe on Windows in likely places if not specified in system PATH - Workgroup: added app version, system info, git version at the top of the git log - Workgroup: minimized chatty git logging when auto-checking for remote commits - Workgroup: disallowed Review changes in Push screen if remote branch does not exist - Cassandra: added generation of WHERE clause with IS NOT NULL for partition keys, clustering keys, and other selected columns in materialized views - MariaDB: added forward-engineering of table comments - MongoDB: added possibility to apply to instance Field-Level Encryption parameters in createCollection scripts - MongoDB: added detection of Field-Level Encryption during reverse-engineering - Oracle: added support for reverse-engineering of identity column - Snowflake: added support of identity column in properties and forward-engineering of DDL - Synapse: added support for forward- and reverse-engineering of partition keys New features in v6.0.8 [13-May-2022] - References to external definitions: fixed display of relative path - Polyglot: added creation of many-to-many join table when normalizing on-the-fly to an RDBMS target during deriving from denormalized polyglot model - Workgroup: added Tools > Options Repository check for adequate Git executable when specifying a custom path - Workgroup: fixed refresh of model list when checking out a new branch - Avro: added min/max length properties for string data type, for documentation purposes only - Avro: added support for reverse-engineering of schemas with empty records - Delta Lake/Databricks: added fallback for getting view names and improve logging - Delta Lake/Databricks: added handling for syntax of USING, BLOOMFILTER, TBLPROPERTIES, and PARTITIONED BY when reverse-engineering from HQL file - Delta Lake/Databricks: added support for forward- and reverse-engineering of DISABLE NOVALIDATE - Hive: added support for forward- and reverse-engineering of DISABLE NOVALIDATE - MongoDB version 5 and higher: added support for Time Series collections - OpenAPI and EventBridge Schema Registry: added support for media type including dots - Redshift: added support for forward- and reverse-engineering of schema, table, and column comments - Synapse: added support for partitioning New features in v6.0.7 [06-May-2022] - Added handling of circular external references in JSON Schema - Added warning when enumerations are not unique - Compare & Merge: added dialog asking user to handle unsaved changes - Compare & Merge: moved button to generate delta model to the Compare panel - Introduced a Read-Only mode for delta models (and future use in model history view of Workgroup Edition) - Workgroup Edition: disabled auto-loading of last repository when using the Command-Line Interface - Delta Lake: fixed issue when Partition Key was a reference to a definition/UDT - MongoDB: re-enabled relationship properties for binary data type - Oracle: added generation of constraint names in DDL for composite primary and unique keys - Oracle: added support for identity start and increment New features in v6.0.6 [29-Apr-2022] - Excel export/import: added handling of font size and colors for entities and views - Excel export: added to the relationships tab the names of parent & child entities and attributes to illustrate GUIDs - External references: added a warning when user attempts to self-reference the model, given the risks of circular references - License validation: added version number to UserData1 - Polyglot: enabled composite Primary Keys and Unique Keys - Workgroup: added author and date of last commit to Explore > Models and All Files table - Azure Blob Storage and Azure Data Lake Storage for JSON and Avro: added 3 authentication methods: Anonymous, Shared Access Signature, and Shared Access Token per container - Delta Lake: removed unused modules async and thrift from plugin - Synapse 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 v6.0.5 [22-Apr-2022] - Improved application startup performance with streamlined license validation process on Windows - Custom properties: added handling of property names collision with reserved JSON Schema keywords - JSON Schema Preview: added resolution of references in choices - Tools > Options: added preservation of changes when changing tabs until applied or exist with OK - Polyglot: added composite Foreign Key relationships - Workgroup: added Review Changes capability to Commit, Pull, and Push screens - Workgroup: added display of Git badges on Welcome Page if recent files or recent folders are git-enabled - Workgroup: updated simple-git library to latest version 3.6.0 - Cosmos DB Gremlin: added validation of endpoint in connection settings - Delta Lake/Databricks: added reverse-engineering of database location - Delta Lake/Databricks: added forward-engineering of reference descriptions in column comments - ScyllaDB: caught up with latest Cassandra plugin developments New features in v6.0.4 [18-Apr-2022] - Tech refresh of Electron (v17.4.0), NodeJS (v16.13.0), Chromium (v98.0.4757.141), and Electron-related modules. Addresses Chromium V8 CVE-2022-1096 vulnerability - ERD: added shortcut Ctrl+Shift+T (Cmd+Shift+T on Mac) to open the selected entity(ies) in a new tab - Compare & Merge: improved visibility of display options - Excel options: moved loading of parameters from application start to forward- and reverse-engineering actions - Polyglot: made it more obvious that deriving a target model must be done by first creating a target model from which the pulling action must be performed - Polyglot: added possibility to derive a polyglot model from another polyglot model - References: added possibility for entities to reference model and external definitions - Cassandra: adjusted sequence of ALTER statements from delta model to RELOAD SEARCH INDEX after DROP - Hive forward-engineering of ALTER scripts from delta model: added a flag to explicitly un-comment DROP statements, signifying the understanding of the possible consequences - Neo4j: updated plugin to latest driver version 4.4.5 - Redshift 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 v6.0.3 [08-Apr-2022] - Added shortcuts to move between contexts (Data Modeling, Repository, etc...- as well as in View menu - Compare & Merge: added display option to filter negligible properties (descriptions, comments, samples, defaults) - DDL reverse-engineering: added handling of not-encoded special characters in comments - Plugin Manager: added logging for steps plugin installation for better troubleshooting - Workgroup: added list of recent repositories in Welcome screen - Workgroup: added auto-detect of remote commits - Workgroup: added Discard action in commit local changes pane - Workgroup: added support for multiple selection in commit local changes pane - Workgroup: ensured auto-commit of pulled changes if default changed in Git global config - Workgroup: added binding of Enter key to primary action in Repository Context - Workgroup: added conflict resolution on repos without remote - Workgroup: enhanced Git error dialog to allow copy/paste of message and opening of log file - Workgroup: added message when push/pull actions are attempted while offline - BigQuery: updated library for parsing views - Cassandra: added property and CQL script for search index column option {lowercase: true}  - Cassandra: adjusted alter index search and alter column statements logic - Databricks: added support for Runtime v10 - Delta Lake/Databricks: replaced Scala commands in forward- and reverse-engineering by Python commands, to allow more flexible security settings - Delta Lake forward-engineering of ALTER scripts from delta model: added a flag to explicitly un-comment DROP statements, signifying the understanding of the possible consequences - MarkLogic: updated SDK driver version - MongoDB Field-Level Encryption: added rule to linter so as to identify cases when encryptMetadata keyId is missing in parent - Protobuf: added reverse-engineering of top-level messages as separate entities created from model definitions when "separate schemas" option is chosen - Snowflake: added inference of case-sensitive object names in reverse-engineering of file and instance New features in v6.0.2 [04-Apr-2022] - BigQuery 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 v6.0.1 [01-Apr-2022] - Workgroup: added auto-resolution of Git conflicts affecting data model metadata New features in v6.0.0 [31-Mar-2022] - [Optional] Workgroup Edition: for teams to collaborate on data models, with versioning, branching, peer reviews, and DevOps integration through Git repositories. More info at https://hackolade.com/help/Repository.html Requires the purchase of an upgrade license key from Professional to Workgroup. - Stopped including .chm user documentation in Windows installer -- up-to-date user doc online at https://hackolade.com/help 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 - PostgreSQL: enhanced creation of connection pool for sslTypes and 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: 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 during reverse-engineering in 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] - ERD: added more display options to hide attributes with specific properties (non-primary keys, non-required attributes, nullable attributes, etc.) - Custom properties: ability to mark a custom property with a star (*) to indicate a required entry, optionally with validation. Consult https://github.com/hackolade/plugins#26-property-controls 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 https://hackolade.com/polyglot-data-modeling.html - 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 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 [16-Jul-2021] - Collibra Data Dictionary integration. Requires specific license option. See more info at https://hackolade.com/help/CollibraDataDictionaryintegratio.html - Docker containers: for the purpose of running the Command-Line Interface in CI/CD pipelines. Requires concurrent license key. See full instructions at https://github.com/hackolade/docker/tree/main/Studio - 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 New features in v4.3.22 [21-May-2021] - 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) - Confluent Schema Registry reverse-engineering: added conflict resolution dialog - Cloud storage reverse-engineering of JSON documents: added possibility to combine schemas - JSON Schema reverse-engineering: added tolerance for illegal trailing commas New features in v4.3.21 [14-May-2021] - References: added possibility to reference internal definitions of external models and JSON Schema - Cassandra/ScyllaDB: added handling of table option identifier values and comments in reverse-engineering of .cql files - Amazon Web Services: added optional sessionToken connection for AWS data sources (DynamoDB, Glue Data Catalog, EventBridge Schema Registry, S3 for Avro and Parquet) New features in v4.3.20 [07-May-2021] - Confluent Schema Registry: added support for Subject Name Strategy choices, and schema type -key/-value - Confluent Schema Registry: extended possibility to fetch more than 100 subjects - MariaDB: sample rows during reverse-engineering only if table is suspected to contain JSON in LONGTEXT column(s) - OpenAPI: added ability to export components.schemas to JSON Schema - Swagger: added ability to export definitions to JSON Schema - Snowflake: sample rows during reverse-engineering only if table is suspected to contain JSON in VARIANT column(s) - SQL Server/Azure SQL: sample rows during reverse-engineering only if table is suspected to contain JSON in (N)VARCHAR(4000) column(s) - Synapse: awareness of serverless SQL pool and its restrictions - Synapse: sample rows during reverse-engineering only if table is suspected to contain JSON in (N)VARCHAR(4000) column(s) New features in v4.3.19 [30-Apr-2021] - ER diagram views: enabled functionality in Personal Edition - Plugin Manager: display all available plugins, even if upgrade of core application is required for compatibility - Internal definitions: added handling of dependencies in JSON Schema reverse-engineering - JSON Schema forward- and reverse-engineering: modified handling to leverage file name as technical name, and Title keyword as business name, if different. - JSON Schema: added handling of choices in array items - JSON Schema reverse-engineering: better detection of invalid JSON Schema, including invalid references - XSD reverse-engineering: fixed handling of minItems/maxItems - DynamoDB: relaxed logic to create sort key in secondary indexes - MongoDB: added handling of multikey index in forward- and reverse-engineering New features in v4.3.18 [26-Apr-2021] - MariaDB: added support with a new plugin, with full support for forward-engineering of DDL, and reverse-engineering including inference of JSON in longtext - Added icon in title of ERD entities so users can open in new tab with just one click - Avro with Confluent Schema Registry: added possibility to fetch and select specific version of a schema subject - Avro with Confluent Schema Registry: added possibility to minify schema to be applied via API - Hive: improved retrieval of views schema and SELECT AS statement New features in v4.3.17 [16-Apr-2021] - Avro: added support for SSL in reverse-engineering connection to Confluent Schema Registry - Avro: added forward-engineering to Confluent Schema Registry - Avro: combined doc and description properties New features in v4.3.16 [09-Apr-2021] - Find/replace: added possibility to search into properties of model objects. Requires to choose "properties" instead of "all objects" - Avro: added reverse-engineering of schemas on Confluent Schema Registry cloud or on-premises - Cassandra/ScyllaDB: enhanced display of columns data types when containing JSON documents - Cassandra/ScyllaDB: disabled check of naming restrictions for JSON fields - Hive forward-engineering: added handling of special characters in HiveQL script - Hive reverse-engineering: added handling of boolean types plus select statements of views. New features in v4.3.15 [02-Apr-2021] - Find/replace: added logic to detect if Object Browser is closed - Couchbase: added reverse-engineering of index information from a .n1ql file - Cassandra/ScyllaDB: allowed truststore only jks connection - Hive: adjusted reverse-engineering of views - YAML: added forward- and reverse-engineering of YAML Schema https://asdf-standard.readthedocs.io/en/1.5.0/schemas/yaml_schema.html New features in v4.3.14 [26-Mar-2021] - YAML: added support for reverse-engineering of YAML files into any target, and inferring the corresponding JSON Schema - YAML: added Command-Line Interface command revEngYaml for automated reverse-engineering of YAML files - YAML: added possibility to forward-engineer data sample in YAML document format. Also available from the Command-Line Interface - External definitions: added dialog to confirm user's choice of whether or not to update references when opening model - Model API generation: added handling of custom properties from source model, provided that keywords match - Using the mouse wheel in both the ER Diagram and the hierarchical schema view: -- up/down: move up or down -- shift+up/down: move left or right -- ctrl+up/down: zoom in or zoom out - Cassandra/ScyllaDB: added SSH tunnel connection for cloud instances - Cassandra/ScyllaDB: now using consistency level when retrying connection and applying to instance New features in v4.3.13 [19-Mar-2021] - Added warning when opening a model if Naming Conventions file cannot be found - Renamed dbVendor from "Plain JSON--no DB" to "JSON" - Added $jsonschema format to MongoDB script, in GUI and CLI - MongoDB: update connection library, and enhanced srv string parsing - Redshift: renamed function properties keywords - SQL Server: updated drivers New features in v4.3.12 [12-Mar-2021] - Redshift: added support with a new plugin - Custom structure of model file name when saving: added keyword - JSON Data preview and forward-engineering in case of choice (oneOf,...): except if NULL, the first subschema is always selected for the sample data - JSON Schema forward-engineering: added possibility to generate JSON Schema for model definitions - Cosmos DB with MongoDB API: added Control Pane tab in connection settings, added 3.6 protocol; added index creation; added possibility to commit sample documents to Azure instance as well as index definitions - Swagger/OpenAPI/EventBridge: added title property at the attribute level - Plain JSON target: deprecated RESTful API properties, as Swagger/OpenAPI are much more appropriate New features in v4.3.11 [08-Mar-2021] - Denormalization adjustment New features in v4.3.10 [05-Mar-2021] - Lineage: added possibility to enable lineage capture of model operations, including reverse-engineering from various sources, denormalization, API generation, references, copy/paste/duplicate - Tools > Options > General: added ability to specify the structure of model file names, using any combination and order of keywords: , , , and , plus fixed characters, e.g. "- " or " model ", etc. - Added ability to define Foreign Key relationship name and cardinality from the child attribute's properties pane - Cassandra/ScyllaDB: added analyzing of jks files, plus option to disable strict SSL New features in v4.3.9 [26-Feb-2021] - Tech refresh of Electron (v11.3.0), NodeJS (v12.18.3), Chromium (v87), and Electron-related modules, including support for Apple M1 chips - Command-Line Interface revEng command: deprecated --file argument and consolidated into --files which allows multiple - Cassandra/ScyllaDB: added truststore input parameters for Java keystore authentication - Hive: added reverse-engineering of HQL file - Snowflake: added full names for tables, and IF NOT EXISTS to DDL statements New features in v4.3.8 [19-Feb-2021] - JSON Schema: step 2 of extending support for draft-06, draft-07, and 2019-09 specs: reverse-engineering of new drafts. Still without support for additional functionality, i.e. conditional validations and other new keywords are currently ignored. - Reverse-engineering: added query request timeout parameter in Tools > Options, and enabled for MongoDB, Couchbase, and DynamoDB. More targets coming progressively - Command-Line Interface forward-engineering: added choice of output format for MongoDB ("shell", "mongoose","js") and Couchbase ("ottoman", "n1ql") - MongoDB reverse-engineering: added handling of partialFilterExpression in indexes - MongoDB forward-engineering: added ability to generate JavaScript - MongoDB forward-engineering: added ability to optionally include JSON data document samples in apply to instance - MongoDB forward-engineering: fetch document size and total index size, then export report to CSV for sizing exercise - MongoDB forward-engineering to Mongoose schema: added date.now as default value for date data type New features in v4.3.7 [12-Feb-2021] - Enhanced email template in case of uncaught error so more details are provided - Reduced ambiguity in cardinality crows feet between 0...1 and 0..n - Activated plugin cache by default to speed up application startup in case of many plugins. Can be cleared in Tools > Options > General - Added possibility to collapse block properties - JSON Schema reverse-engineering with external references: added warning of no current support - JSON Schema: first step of extending support for draft-06, draft-07, and 2019-09 specs: forward-engineering without additional functionality. More steps to progressively appear in upcoming releases... - Connection settings: added possibility to export and import with .json files or encrypted binary files. Can be used to exchange with colleagues - Command-Line Interface: added possibility to reference a connection settings file - Avro reverse-engineering of JSON Schema: remove choice if there is only one record at the root level - Avro: added logicalType decorator in ERD and Object Browser - Cassandra/ScyllaDB: improved RetryPolicy and reverse-engineering logging New features in v4.3.6 [05-Feb-2021] - Added pattern field indicator (#) with tooltip in ERD and Object Browser - ER Diagram Views: added containers and entities in Object Browser under each respective ERDV - ER Diagram Views: selection with container picker is now specific to each ERDV; orthogonal distribution after creation; membership for Swagger/OpenAPI - Excel export/import: added disambiguation of primary key vs composite primary key for RDBMS plugins - Cassandra/ScyllaDB: added handling for composite clustering keys in reverse-engineering of .cql script file - Cassandra/ScyllaDB: removed SELECT COUNT(*) from reverse-engineering absolute sampling, and added LIMIT for COUNT(*) of relative - Hive: add use of krb5 library to retrieve Kerberos token using keytab in HTTP mode (Windows) - Snowflake: added support for case-sensitive quoted names, plus minor SQL adjustments in forward-engineering New features in v4.3.5 [29-Jan-2021] - Reverse-engineering from DB instances into existing model: added conflict resolution dialog letting user decide between keep both, replace, merge, or cancel - Command-Line Interface: added conflict resolution to revEng command - Apply script to Couchbase instance: added tolerance for existing documents and indexes - Avro: added handling of definitions in array items - Avro: added handling of JSON Schema pattern properties - Print Diagram: fixed empty preview for large models with PNG output - JSON Schema reverse-engineering: added handling of internal definition identical to existing external definition in model New features in v4.3.4 [22-Jan-2021] - Reverse-Engineering from JSON Schema, JSON documents, DDL, XSD: optionally designate the destination container for the entities. This will overwrite the entity name in the source file, if any. Available both in GUI and in CLI. - Couchbase: added support for primary and secondary indexes - Couchbase: added script tab in N1QL syntax with forward-engineering by example with sample documents by document type, plus indexes - Couchbase: added ability to apply forward-engineering script to instance - Cosmos DB with Gremlin API: added split pane display of Gremlin and CosmoS DB scripts - MarkLogic: added handling of indexes, in the Properties Pane, reverse-engineering, forward-engineering and apply to instance - Mongoose: added support for populate() foreign key relationships and references to include user-defined modules - ScyllaDB: enabled composite relationships - ScyllaDB: added reverse-engineering from CQL files New features in v4.3.3 [15-Jan-2021] - Object Browser: added a "Find in files" tab to search other Hackolade models of the same target - Forward-Engineering to JSON Schema: previously 2 modes were available: referenced or resolved definitions. A 3rd mode is introduced to convert external and model references into internal definitions - Command-Line Interface: added --performance argument to create log of timestamps to identify potential bottlenecks in application startup steps - XSD reverse-engineering: added support for conversion of xs:decimal with precision and scale to proper subtype in Avro - Avro: added non-required properties conversion to multiple with null as default when reverse-engineering from JSON Schema - Cosmos DB Gremlin: enhanced support of indexes via Properties Pane, plus forward-engineering of indexing script - Cosmos DB Gremlin: added button to apply to Azure instance the script to create graphs, nodes and edges, indexes, UDFs, stored procedures, and triggers - MongoDB: added button to apply to instance the script to create databases, collections with optional $jsonschema validator, indexes, and sharding configuration New features in v4.3.2 [08-Jan-2021] - Added ER Diagram Views: a subset of entities selected from the main ER diagram, to help manage large models by focusing on a smaller set of entities, by domain or subject. Entities may appear in multiple Diagram Views. Modifications made inside Diagram Views are immediately reflected in the main diagram and other views where present. - MongoDB reverse-engineering: added possibility to define sampling with a specific aggregation pipeline query - MongoDB: added a forward-engineering script tab at model level - Hive: added support for (materialized) views in Hive 3, and workload management entities - Cosmos DB with SQL API:forward-engineering of document by example - Cosmos DB with SQL API: apply to Azure instance the script to create containers, documents, indexes, UDFs, stored procedures, and triggers New features in v4.3.1 [22-Dec-2020] - Elasticsearch: new plugin for typeless indices in v7 and above - Added optional dark theme, set in Tools > Options > General > Appearance - Added possibility to open models from OS, Confluence, etc... if default app for .json file extension is associated with Hackolade, using "Open with... Hackolade" from Windows Explorer or Mac Finder - Cosmos DB with SQL API: enhanced support of indexes via Properties Pane, plus forward-engineering of indexing script - MarkLogic: added preservation of field order during reverse-engineering - MongoDB and Cosmos DB with MongoDB API: disabled timestamp data type which is an internal data type New features in v4.3.0 [11-Dec-2020] - Reduced footprint of saved models by removing extraneous falsy values (“false”, empty string "", empty array and object) - Added detection of ISO 8601 date/time/timestamp/duration in JSON strings during reverse-engineering of database instances for MongoDB, Cosmos DB with MongoDB API, and Elasticsearch - DDL reverse-engineering: added conflict management dialog: choice of keep both (as previously) / replace / merge / cancel - Unsaved model backup: added support for multiple application instances - SQL Server and Azure SQL: added Azure Active Directory authentication New features in v4.2.15 [04-Dec-2020] - Suppressed extraneous message about unsaved model when opening multiple instances of application - Added last used file list in external definition dialog - Added warning sign in the title of ERD object when a container or an entity is deactivated - AWS services (S3 for Avro and Parquet, DynamoDB, EventBridge, Glue): added proxy cache clearing in case of CA SSL inspection New features in v4.2.14 [01-Dec-2020] - Increased logging for MongoDB SSH connections - Cassandra: added ability to reverse-engineer from a CQL script file - MarkLogic: added forward-engineering JSON Schema for validation and applying to schemas database instance New features in v4.2.13 [28-Nov-2020] - MongoDB: added optional detection of Foreign Key relationships during reverse-engineering - Cassandra: added ability to define composite foreign key relationships (for documentation purposes only, as not enforced by DB) - MarkLogic: added reverse-engineering by sampling documents in collection (or directories) followed by probabilistic schema inference - Graph plugins: added ability for subnodes to have multiple parents - Added automatic reverse engineering when just opening Swagger/OpenAPI files New features in v4.2.12 [20-Nov-2020] - Added automatic creation of second subschema when creating Choices - Added ability to save an obfuscated version of model from the File menu - Added .cer to list of file extensions for Certificate Authority selection dialog - API model generation: added mapping of sample property to Swagger/OpenAPI example property - Naming Conventions: added UPPER_SNAKE and Snake_Title case conversions to Business-to-Technical - Command-Line Interface: added revEngXSD command - XSD: added reverse-engineering of model and entity comments - XSD: added reverse-engineering of totalDigits and fractionDigits - SQL Server: added numeric data type descriptors for XSD reverse-engineering - Snowflake: added numeric data type descriptors for XSD reverse-engineering - Synapse: added numeric data type descriptors for XSD reverse-engineering New features in v4.2.11 [13-Nov-2020] - Suggest denormalization: added selection limitation to 2 entities per operation - Plugin Manager: added support for GitHub's replacement of master branch by main branch - Excel export/import: added support for custom properties in separate tabs - Cosmos DB Gremlin: added possibility to apply Gremlin script to Azure instance - MongoDB: added restrictions on creation of relationships for data types: null, boolean, binary, JavaScript, JS with scope, symbol, minKey, maxKey - All AWS plugins (S3 for Avro and Parquet, DynamoDB, EventBridge, Glue): added support for SSL Inspection in Reverse-Engineering protocol - Avro: added record-level doc to forward-engineering script and made script cosmetic changes for appearance of doc info New features in v4.2.10 [06-Nov-2020] - Added support for property graph Cosmos DB w/ Gremlin API - More forgiving mouse movements in sub options of contextual menus - Graph plugins (ArangoDB, Cosmos DB w/ Gremlin API, Neo4j, TinkerPop): added support for subclasses of nodes/vertices, for documentation only - Licensing: relaxed restrictions of Remote Desktop sessions to allow multiple domain logins when free seats are available - XSD reverse-engineering: added mapping of xs:date, time, and dateTime data types to corresponding target data types when available - MongoDB: added default JSON sample for BSON data types: binary, JavaScript, JS with scope, symbol, minKey and maxKey New features in v4.2.9 [30-Oct-2020] - Object Browser: scroll to last selected object when clearing search - Added validation to all file choosers in Tools > Options - Network proxy settings: fixed environment variable option for Windows - Avro and Parquet: set AWS S3 as default connection type in cloud settings - Glue Data Catalog: added commenting in HiveQL script of foreign key constraint if underlying column is commented - Hive: added commenting of foreign key constraint in HQL script if underlying column is commented - Neo4j: added commenting of deactivated objects in Cypher script - SQL Server: added commenting of deactivated objects in DDL - Synapse: added commenting of deactivated objects in DDL New features in v4.2.8 [27-Oct-2020] - Plugin Manager: on update, takes into account custom properties additional tabs for customization migration - Network proxy: refactored Electron proxy settings plus fixed cloud/DynamoDB connection - Documentation: added warning if custom logo file does not exist New features in v4.2.7 [23-Oct-2020] - Added possibility to select nested attributes in internal and model definitions - Network proxy: added possibility to pick settings from HTTPS_PROXY environment variables - Network proxy on Windows: added possibility to pick settings from Registry - Fixed converting internal JSON Schema definitions during Reverse-Engineering into OpenAPI model - Fixed generating default in DDLs when value is 0 - Cassandra: added possibility for multiple select of columns for PK or CK - EventBridge Schema Registry: when reverse-engineering from JSON Schema, convert NULL data type to nullable property - Glue Data Catalog: added commenting of deactivated objects in HiveQL script - Neo4j: added tolerance for relationships without properties - ScyllaDB: added commenting of deactivated objects in CQL script - Snowflake: added commenting of deactivated objects in DDL - Synapse: restricted possibility to add Unique Key constraint if column already has a PK - Synapse: restricted possibility to add Primary Key constraint if table is marked for clustered indexes - Synapse: dropped PK check when adding foreign key relationships, as they are not enforced by DB New features in v4.2.6 [16-Oct-2020] - Markdown documentation generation: fine-tuning plus naming of images directory and overwrite behavior - Markdown: enabled feature in Command-Line Interface - Fix for documentation custom logo - Model-Driven API generation: convert NULL data type to nullable property - Swagger and OpenAPI 3.0.x: when reverse-engineering from JSON Schema, convert NULL data type to nullable property - Swagger/OpenAPI: added support for technical-to-business naming conventions with abbreviations file - Custom properties: allowed new tab at model level - ERD multiple select: added possibility to select annotation boxes - Referenced definitions: added support for pattern fields - Pattern fields: fixed resolution of referenced definitions in JSON Schema preview New features in v4.2.5 [09-Oct-2020] - Added documentation generation in Markdown format - Added a warning for dangling relationships in Object Browser and Properties Pane - Added propagation of Required property for external definitions - Excel import: added tolerance for dangling relationships - JSON Schema preview: added isActivated and refDescription properties to full/extended modes - JSON Schema reverse-engineering: added handling for internal references inside definitions - XSD reverse-engineering: added handling of custom namespaces - Neo4j and other graph plugins: added handling of long node label names - Swagger/OpenAPI: added dropdown to root hierarchical schema view tab to select request method or response code instead of text input New features in v4.2.4 [03-Oct-2020] - Pattern field detection: added parameter to control whether to combine similar patterns - Custom properties: added support for separate custom tab at attribute level for all data types - DDL reverse-engineering: added support for Teradata DDLs - JSON Schema: added support for JSON Schema definitions, when performing reverse-engineering as model definitions - XSD reverse-engineering: added handling for custom-defined types with multiple complexTypes - Fixed OpenAPI missing description when exporting to Excel - Disabled reserved words validation for Couchbase key New features in v4.2.3 [25-Sept-2020] - Pattern field recognition enhancements during schema inference of reverse-engineering: Levenshtein distance https://en.wikipedia.org/wiki/Levenshtein_distance is used to measure name similarity of successive complex data types with identical structure. Levenshtein distance parameter can be changed in Tools > Options > Reverse-Engineering (default = 1) - JSON Preview of JSON Schema: added filtering of deactivated attributes for full and extended versions - Attribute name validation: enhanced handling in case of Naming Conventions; harmonized notification across Object Browser, ERD, and hierarchical schema view; plus added tootips to warning signs - Added meaningful title in email subject of uncaught exceptions - Added handling of Naming Conventions in Dependencies property - Sample JSON data: included complex attributes -- even if empty - Excel template import: added tolerance for Unicode character expressions - Cassandra: added commenting of deactivated objects in CQL script New features in v4.2.2 [18-Sept-2020] - Multiple scalar data types: added up/down control to change order of data types - JSON Preview of data sample and standard JSON Schema: added filtering of deactivated attributes - Excel import: added handling of absent parent or child in relationships - Model API generation: added handling of naming conventions - Hive: added commenting of deactivated objects in HiveQL script, if version allows (not Hive v1) - Swagger/OpenAPI: added possibility of external references to other Hackolade models and JSON Schemas - Swagger/OpenAPI: added commenting of deactivated parameters and schema attributes New features in v4.2.1 [10-Sept-2020] - API Model: added command-line interface command forwEngAPI - API Model: now possible also for views (when supported by target) and relationships/edges (for graph targets) - Naming Conventions when Business-to-Technical conversion is enabled : now prompting user for choice of importing source attribute names into business name or technical name - Command-Line Interface: added JSON Schema compliance argument (standard, full, or extended) to forwEng command - Added isActivated property to all objects (containers, entities, and attributes), ON by default. If unchecked, forward-engineered objects are commented (if the target script syntax allows it) or filtered. Currently only native targets, plus Hive have this functionality enabled. Other targets to follow with plugin update. - Added warning for attributes with duplicate name - Avro and Parquet: added Azure Data Lake (ADLS Gen2) as a Cloud source for reverse-engineering New features in v4.2.0 [29-Aug-2020] - Ability to generate a Swagger or OpenAPI model and documentation file from any target model, by merging with a template controlling API content. Available in Tools > Forward-Engineering > API Model. More info at https://hackolade.com/help/APIModel.html - Added multi-select Shift+click for contiguous selection from/to in index key and reference selection dialogs New features in v4.1.15 [25-Aug-2020] - Excel import: allowed import of multiple data types without id or empty properties - Index key: allowed multiple selection - External definitions using relative path: allowed different drive than default path - Definitions (all): added toggle for case sensitive search - Naming conventions: fixed issue with digits after letter - DynamoDB: added null data type - MongoDB: updated driver New features in v4.1.14 [14-Aug-2020] - References to external definitions: allowed chaining of external definitions - References: added read-only mode for descriptions of definitions - DynamoDB: added support for network proxy settings - MongoDB: added handling of MongoError: Error in $cursor stage caused by operation exceeded time limit - Neo4j: added auto-height and auto-width for graph diagram properties of node labels and relationship types - Synapse: table option "with clustered index" for specific columns generated in DDL - Synapse: disabled varchar(max) data type for clustered columnstore index - Synapse: allowed compound primary and unique keys New features in v4.1.13 [10-Aug-2020] - Added reference description property for referenced definitions - XSD reverse-engineering: added support for references to complexTypes, and for group structures - JSON document reverse-engineering: added detection of ISO 8601 date/time/timestamp/duration in strings for Avro, Parquet, Cassandra, ScyllaDB, Glue, SQL Server, Snowflake, Synapse, Cosmos DB with MongoDB API, HBase, Neo4j, TinkerPop - Avro and Parquet: added support for network proxy settings when accessing files in Cloud storage (AWS S3, Azure Blob Storage, Google Cloud Storage) New features in v4.1.12 [31-Jul-2020] - JSON document reverse-engineering: added detection of ISO 8601 date/time/timestamp/duration in strings when target supports such data types: MongoDB, DynamoDB, Elasticsearch, Hive - MongoDB reverse-engineering: handling of multiple numeric subtypes: int32 < int64 < double < decimal 128 - Hive: added minify/beautify option to HQL script in UI and CLI - Hive: added handling of NULL data types in reverse-engineering of JSON Schema, as NULL is not a valid Hive data type - EventBridge: allowed registry with more than 100 schemas New features in v4.1.11 [24-Jul-2020] - Added support for new license type: Professional Edition - Concurrent Subscription - NDJSON: added reverse-engineering from stream, taking into account sampling options - EventBridge: soft launch of plugin New features in v4.1.10 [18-Jul-2020] - Properties pane: moved tabs to top to make presence more obvious - Added easy update of license identifier (no longer requires release then re-validate) - SQL Server: added handling of multi-type without oneOf choice - SQL Server: added parsing of connection string/URI in Connection Settings - Synapse: plugin soft launch New features in v4.1.9 [09-Jul-2020] - ERD entity auto-size, with auto-height and auto-width controls ON by default in Tools > Options > General. - Individual entity auto-height and auto-width can be decoupled from application setting with entity properties pane Options tab - XSD: added handling of element types and references - Cassandra: harmonize column order in Object Browser, ERD and hierarchical schema View - Hive: added table comments - Hive: added handling of references in arrays - Excel import/export for OpenAPI: handling of numeric response - Parquet: added reverse-engineering of RowGroup columns in separate message Properties Pane tab - SQL Server: added Windows Authentication New features in v4.1.8 [27-Jun-2020] - Creating reference to a definition (internal, model, external): added possibility to do multiple selections with shift/ctrl+click - Added spellcheck of textareas (description, comments, ...) - Added possibility to Collapse/Expand complex objects from contextual menu in ERD and hierarchical schema View - Documentation generation: improved performance - Forward-engineering of JSON documents and JSON Schema: added option to minify output - Command Line Interface revEngJSON and revEngDDL commands: added optional version argument - Hive: renamed properties Comments to Remarks, and Description to Comments, plus added handling of Comments in forward- and reverse-engineering for databases, tables and columns - Neo4j: added default timeout for reverse-engineering - OpenAPI: upgraded internal validator to handle spec version 3.0.3 - SQL Server added option to choose batch separator (semi-column or GO) New features in v4.1.7 [22-Jun-2020] - Toggle Object Browser and Properties Pane default values for brand new installations New features in v4.1.6 [19-Jun-2020] - Object Browser and Properties Panes: added shortcuts to view/hide, respectively Ctrl/Cmd+F1 to toggle OB and Ctrl/Cmd+F2 to toggle PP. Same actions possible with double-click on 3-dots separator or via the View menu - Excel export/import: added handling of friendly display names for array items and choice subschemas - XSD: added reverse-engineering of common complexTypes - DynamoDB: added reverse-engineering of multi-region table replication metadata - DynamoDB: reverse-engineering of DDLs converts primary key constraints into partition/sort keys New features in v4.1.5 [16-Jun-2020] - Avro: keep sequence of fields when fields are not present in 100% of submitted data set - DynamoDB: added metadata choice of read/write capacity mode for on-demand instances - DynamoDB: added multi-region replica parameters - Swagger/OpenAPI: preserve resource components during merge of conflict resolution New features in v4.1.4 [11-Jun-2020] - Array items: added property for friendly descriptive name to be displayed in models instead of [0], [1]... [n] - oneOf/allOf/anyOf choices: added description and comments properties for documentation - Excel export: optionally resolve references to definitions for better readability. Changes to referencing attributes in Excel are ignored during reverse-engineering - JSON Document reverse-engineering: added support for NDJSON Newline Delimited JSON (https://ndjson.org/) - JSON Schema and document reverse-engineering: added conflict management dialog: choice of keep both (as previously) / replace / merge / cancel - XSD reverse-engineering: added conflict management dialog: choice of keep both (as previously) / replace / merge / cancel- XSD reverse-engineering: added handling of references to common attribute types - Avro: when reverse-engineering a multi-line JSON document and a field appears in strictly less than 100% of of the occurrences, make it multi-data type with NULL as the first one and default of NULL. Works for both scalar and complex data types (with oneOf choice in case of complex.) - Cassandra & ScyllaDB: added Advanced tab in connection settings dialog to set other truncate_request_timeout_in_ms limit than the default 60k milliseconds New features in v4.1.3 [05-Jun-2020] - Allowed references to definitions with multiple data types - Command Line Interface: allowed obfuscation for plugins with snippets - Community version: doubled limit to 50 objects - Documentation: added dynamic calculation of column width - Print diagram: increased image focus for large models in PNG and PDF - Glue and Hive: added handling of spaces in names for databases, tables, and columns - Neo4j, Tinkerpop: allowed Excel export of graph models, even if no edges are present - Neo4j, Tinkerpop: added title in JSON Schema forward-engineering - Neo4j, Tinkerpop: added ability to forward-engineer JSON Schema of edges - XSD reverse-engineering: added support for additional data types New features in v4.1.3 [05-Jun-2020] - Allowed references to definitions with multiple data types - Command Line Interface: allowed obfuscation for plugins with snippets - Community version: doubled limit to 50 objects - Documentation: added dynamic calculation of column width - Print diagram: increased image focus for large models in PNG and PDF - Neo4j, Tinkerpop: allowed Excel export of graph models, even if no edges are present - Neo4j, Tinkerpop: added title in JSON Schema forward-engineering - Neo4j, Tinkerpop: added ability to forward-engineer JSON Schema of edges - XSD reverse-engineering: added support for additional data types New features in v4.1.2 [29-May-2020] - Tech refresh of Electron (v8.3.0), NodeJS (v12.14.0), Chromium (v80), and Electron-related modules - Performance improvements for Print Diagram function, rendering of Object Browser and menu - Naming conventions: replaced global parameters by separate target-specific parameters to allow different behavior depending on target - Naming conventions: parameters are stored in a JSON file in the C:\Users\%usernames%\.hackolade\options\ directory, so they can be shared with teammates via Git. - Added context menu with clipboard operations for text inputs, textareas (properties panes, modals, forward-engineering tabs) - Fixed exception when performing replace on references attribute definitions - Added possibility to replace any attribute with a reference: internal, model, or external - Added possibility to replace an attribute by an internal or external reference (previously, only model reference was possible) - Snowflake: added possibility to CREATE TABLE ... AS SELECT (CTAS) New features in v4.1.1 [20-May-2020] !!! Warning: non-backward-compatible change !!! Models that include foreign key relationships, if saved with v4.1.1 or above, cannot be read with an earlier version !!! - Added support for composite foreign keys in RDBMS targets - Hive: implemented support for composite foreign keys - Snowflake: implemented support for composite foreign keys - SQL Server: implemented support for composite foreign keys New features in v4.1.0 [14-May-2020] - Added sketchy ERD rendering when zoom out is such that it is impossible to read details anyway, for improved performance - Added Tools > Options > General parameter to control sketchy ERD zoom level range - Stopped rendering ERD for parts of the diagram outside visible area, for improved performance - Created additional zoom levels - Made OS file open/save dialogs modal and displayed on active screen when dual display - JSON Schema reverse-engineering and referencing of external definition: added handling of files containing only definitions and no other structure - Cosmos DB w/ SQL API: made primary key part of Partition Key with visuals in ERD and hierarchical schema view - Snowflake: added support for composite primary key and unique key constraints New features in v4.0.4 [06-May-2020] - Enable Edit > Copy function in forward-engineering tabs - Suggest Denormalization: bypass function if relationship without child attribute - Snowflake: added external browser auth type for SSO New features with v4.0.3 [27-Apr-2020] - macOS Mojave: fixed copy/paste issue in connection settings - Object Browser: added tooltip for long object names - DDL reverse-engineering: added handling of HashTable - JSON Schema Preview and forward-engineering: added a new mode "Full" to show non-standard keyword including custom properties - AWS Glue and Hive: added constraints UNIQUE, NOT NULL, DEFAULT and CHECK to properties pane, forward- and reverse-engineering - Cassandra/ScyllaDB: allow only UDT data type in model definitions/user-defined types - Cosmos DB SQL API: connection settings name and address now mandatory, renamed autopilot to autoscale, removed storage capacity - Snowflake: added authentication integration with Okta Single Sign-On - Swagger/OpenAPI: added generation of x- path extensions in forward-engineering New features with v4.0.2 [22-Apr-2020] - Reverse-engineering of JSON documents: keep empty objects and arrays - Couchbase: circumvent error in Couchbase Community v6 to invoke N1QL INFER statement - MarkLogic: reverse-engineering of JSON objects as objects instead of triples - SQL Server: in reverse-engineering of JSON docs, set length of char data types on detected maxLength of string New features with v4.0.1 [21-Apr-2020] - Reverse-engineering of complex data types into SQL database targets: added option to automatically normalize structures imported from JSON documents, JSON Schema or XSDs. Sub-objects and arrays optionally result in separate entities - Snowflake added support for sequences and file formats - SQL Server: added support for full text and spatial indexes, filtered index expressions, views indexes and partitioned views, view definition AS SELECT statement, memory-optimized tables - Hive: allowed SSL declaration of multiple certificates from an enterprise Certificate Authority New features with v4.0.0 [07-Apr-2020] - !!!!! Discontinued support for 32-bit Windows !!!!! - Microsoft SQL Server and Azure SQL Database: plugin for data modeling, forward- and reverse-engineering, including JSON in (n)varchar(MAX) columns, cfr https://docs.microsoft.com/en-us/sql/relational-databases/json/json-data-sql-server?view=sql-server-ver15 - Snowflake: ability to reverse-engineer DDL into any target - Snowflake: plugin for data modeling, forward- and reverse-engineering, including JSON in VARIANT columns, cfr https://docs.snowflake.com/en/sql-reference/data-types-semistructured.html#variant - Added JSON Schema field description when reverse-engineering to definitions - Added ability to change order of objects in Object Browser - Added ability to insert or append objects in Object Browser - External definitions: improved opening model if definitions are absent or have moved - Orthogonal distribution: added topology-shape-metrics algorithms and Klay layout for small to medium size ERDs - DDL: improved handling of semi-columns in comments and defaults - DDL reverse-engineering: mapping comments to JSON Schema description property for consistency - Hive: added support for Hive v1.x - Hive reverse-engineering: removed limit of 100 databases, plus allowed specifying database name to limit scope of discovery - Neo4j: added support for Neo4j v4, including multi-database instances - Swagger/OpenAPI: added choice of layout, including new horizontal layout New features with v3.6.10 [24-Mar-2020] - JSON Data preview: enhanced validation for numbers with exponential notation - Command-Line Interface: added tolerance for broken relationships when obfuscating model - MongoDB script: included enums when multiple data type New features with v3.6.9 [19-Mar-2020] - Added prompt for UUID if required, plus additional logging - Added documentation timeout and uncaught error New features with v3.6.8 [6-Mar-2020] - Added horizontal scrollbar in Object Browser - Fixed event handling (undo/redo conflicting with typed letters "z" and "y" if Ctrl+Tab had been pressed inadvertently) - Undo no longer Closes all in Object Browser - When updating external references for refresh button, a dialog now offers option to refresh all external references in the model - Avro: added subtype and logicalType properties to extended JSON Schema - Cassandra/ScyllaDB: added handling of nested UDTs - Many Swagger/OpenAPI improvements: -- documentation no longer lists unused structures -- documentation: fixed ERD image -- added validations for semantic and structural conditions -- added visual mark for nested references in hierarchical schema view, plus option to Go to definition -- extended structure pre-creation for request body/response content -- added dropdown for media types, plus option to create not-listed values in hierarchical schema view -- added description and tooltip for response codes in Properties Pane dropdown -- fixed inconsistent contextual menu for definitions/componenents in Object Browser -- added possibility to add and remove responses from Properties Pane of request -- removed the naming convention "couple" button for media-type name -- fixed copy/duplicate-paste validation errors -- added layout options to display request/responses structure horizontally New features with v3.6.7 [26-Feb-2020] - ScyllaDB: added new plugin - CLI: added spinner - Plugin Manager: suppressed Remove button for native targets - Plugin Manager: propose to save model prior to restart - MacOS: performance improvement for slow URL opening on Mojave - JSON Preview: fixed tab persistence in localStorage New features with v3.6.6 [24-Feb-2020] - backward compatibility for JSON and Couchbase models New features with v3.6.5 [22-Feb-2020] - CLI obfusc command: added statistics report at end of process, plus fine-tuned nested properties handling - Naming conventions conversion: apply changes no longer requires default coupling to be modified - Added capture of exception if collectionId is null - Added re-calculation of container size when pasting entities - ArangoDB: added foreign-key relationship cardinality display in graph view - ArangoDB: added FK and edge relationship selection in object selection menu New features with v3.6.4 [19-Feb-2020] - Soft release of ArangoDB plugin, without forward- or reverse-engineering - Fixed paste function in license validation modal for some Mac versions - Added paste icon in license validation modal New features with v3.6.3 [17-Feb-2020] - Added Migrate button if native target customProperties plugin is not in plugin registry - Added Migrate button if native target customProperties plugin is not installed - Changed description of native target customProperties plugin - Changed order of plugin listing in Plugin Manager New features with v3.6.2 [15-Feb-2020] - All plugins: separated customizations from corresponding plugin, to facilitate plugin updates - Link to show plugin directory removed from Help menu and moved to customization of each plugin of Help > Plugin Manager > Installed tab !!!! if you have defined custom properties for Hackolade targets, you should read these instructions: https://hackolade.com/help/Migrationtoenhancedcustompropert.html New features with v3.6.1 [13-Feb-2020] - Avro: added forward-engineering of namespace for references - Mongoose: fixed handling of default value conflicting with eval() suppression for Electron security New features with v3.6.0 [11-Feb-2020] - Tech refresh of Electron (v6.1.4), NodeJS (v12.4.0), Chromium (v76), and Electron-related modules, plus MongoDB, Couchbase and DynamoDB drivers !!!!! Discontinued support for 32-bit Linux (https://electronjs.org/blog/linux-32bit-support) !!!!! !!!!! Discontinued support for MacOS X 10.9 (Mavericks) or before (https://github.com/electron/electron/pull/15357) !!!!! !!!!! For Linux upgrade, it is advised to delete first the directory where Hackolade is currently installed, prior to unzipping the new version New features with v3.5.11 [4-Feb-2020] - Avro: added support for reverse-engineering from AWS S3, Azure Blob Storage, Google Cloud Storage - Cassandra: added support for materialized views - AWS DocumentDB: adjusted MongoDB connections to also support the SSH/SSL combination needed for AWS DocumentDB: https://docs.aws.amazon.com/documentdb/latest/developerguide/connect-from-outside-a-vpc.html - Parquet: added support for reverse-engineering from Google Cloud Storage New features with v3.5.10 [22-Jan-2020] - DDL: allowed SQL syntax from LucidChart (i.e. without CONSTRAINT keyword for PRIMARY KEY) for Oracle, SQL Server, MySQL, and Postgres - DDL: allowed reverse-engineering of business names with spaces - Excel: allowed import of Excel without container GUID - Parquet: added support for reverse-engineering from Azure Blob Storage New features with v3.5.9 [16-Jan-2020] - Consistent positioning of dialog OK/Cancel buttons according to Windows UI standard - CLI model comparison no longer requires a container - Cassandra: reverse-engineering filters out system tables - Cosmos DB with SQL API: support for Control Pane via REST API in addition to Data Pane via new SDK - Glue: added Set data type, classification property, SerDe parameters, and table properties - Hive: NoSasl connection no longer requires Kerberos modules on Mac - Parquet: added possibility to reverse-engineer files from AWS S3 - Swagger/OpenAPI: added possibility to de-activate resource/request/response so it appears commented in documentation file New features with v3.5.8 [11-Jan-2020] - Added collapse/expand all options to Object Browser contextual menu - Fixed width of keys in ERD for Cassandra when partition key is also a foreign key - Respect sequence keys in Cassandra hierarchical schema view - Fixed Kerberos library for Hive on Mac New features with v3.5.7 [6-Jan-2020] - Fixed reverse-engineering from database instances New features with v3.5.6 [3-Jan-2020] - Added display of index info in hierarchical schema view - When generating JSON Data numeric with no sample, now uses pseudo-random function so data does not change each time - Created plugin for Apache Parquet - Cassandra: added connection to DataStax Apollo on Constellation - Neo4j and TinkerPop plugins: added reverse-engineering of JSON documents and JSON Schema - Swagger/OpenAPI: added possibility to reference another API file New features with v3.5.5 [13-Dec-2019] - Created plugin for AWS Glue Data Catalog - Added reverse-engineering of DDLs, XSDs, JSON docs, and JSON Schema as model definitions (in case of OpenAPI as schema components) - Added CLI command revEngDDL for reverse-engineering of DDLs from command line - Swagger/OpenAPI: added reverse-engineering of definitions/components not referenced in API New features with v3.5.4 [30-Nov-2019] - Graph plugins: implemented force-directed layout algorithms with spring-like attractive forces, see example: https://bit.ly/341x5l0 - Graph plugins: enhanced orthogonal distribution of ERD view - Avro: added support for namespaces in data types - Avro: corrected name of record data type - OpenAPI: improvement of components reverse-engineering for ISO20022 Payment Processing APIs - DDL: added support for Informix dialect New features with v3.5.3 [21-Nov-2019] - Graph plugins: added graph toolbar toggles to View menu - Implemented Electron security recommendations for framework foundation - Oracle DDL: improved handling of Foreign Keys so as to allow importing of Informix DDLs as well - Excel: fix 'cannot read property reduce of null' error on import - MongoDB: add use to script - Swagger/OpenAPI: add validation prior to reverse-engineering New features with v3.5.2 [15-Nov-2019] - Command-Line Interface: added command to reverse-engineer JSON Schema and JSON documents - CLI: added argument to reverse-engineer script files (MongoDB validator, Cassandra CQL, Hive HQL, Avro schema, Neo4j Cypher, Swagger documentation, etc...) - CLI: added argument to forward-engineer JSON Schema or sample JSON document. For JSON Schema, included choice to reference or resolve definitions, and optionally to update external references - ERD view: increased size of of horizontal and vertical scroll bar handles - Avro: added possibility to display and forward-engineer schema or encoded for Confluent Registry - Avro: added possibility to display and forward-engineer schema with standard indentation or minified - Avro: added handling of Java-generated classes - JSON Schema: added possibility to display and forward-engineer schema with standard indentation or minified - Graph plugins (Neo4j and TinkerPop): added possibility to reverse-engineer: DDLs, XSDs, and Excel template - Graph plugins: implemented separate positioning of objects for graph view and ERD view New features with v3.5.1 [30-Oct-2019] - Added possibility to duplicate a node/vertex label to represent recursive relationship/edge type as a line instead of a loop - Added decorative symbols (annotation) to the graph diagram (Neo4j & TinkerPop) - Added copy/paste of related relationship/edge labels when copying/pasting node/vertex labels - Added toggle to display relationship type names along the lines vs always horizontal - Added ability to select all node labels to move to another database - All targets: added indicator in ERD when an attribute is a reference to a definition: i for internal, m for model, and e for external - Improved rendering performance of hierarchical schema view for large models - Added refresh button in Properties Pane for external reference - Added support for custom $schema - Fixed release of concurrent seat in case of orphan processes - All plugins: mapped plugin data types to standard JSON data types for JSON Schema forward-engineering - Avro: fixed field order of Avro schema in case of complex data types with choices - Avro: JSON data sample: now takes into account logicalTypes - Avro: JSON data sample: when null is first data type, take into account next data type, including in case of complex data type - OpenAPI: fixed deletion of resource/request/response - TinkerPop: added support for SSL and SSH in reverse-engineering New features with v3.5.0 [20-Oct-2019] - Added support for TinkerPop graph computing framework with Gremlin graph traversal - Many graph database UI enhancements, for Neo4j and upcoming TinkerPop, Amazon Neptune, and others... - Display node label controls on mouse hover only - Added tooltips to node label controls - Added relationship type highlight and controls on hover - Added control to reverse relationship direction - Added focus on relationship type name in properties pane when creating - Added possibility to create node label together with relationship type by clicking on relationship button then clicking again in workspace - Fixed centering of relationship type name - Added selection of relationship type by clicking on its name - Added default node label size, node label color, and relationship type line thickness in Tools > Options - Added checkbox "Apply to all in model" to the popups for node label size, node label color, and relationship type line thickness - Added toolbar button to toggle opening of all property boxes - Added independent opening/closing of properties boxes - Added toolbar button to toggle showing all relationship names - Added graph diagram to Print Diagram - Added opening of properties boxes with fit to content - Added easy copy/paste of all properties between 2 node labels - Added decorative symbols to the graph view - Avro: changing data type maintains description and comments - Avro: added precision and scale to script New features with v3.4.12: - Enhanced undo/redo performance, handling in Object Browser, moving containers in graph view - Added handling of undo/redo in reference definitions - Added handling of copy/paste of external definitions - Improved performance opening large models and rendering ERD with large number containers and nested structures (still needs improvements on hierarchical schema view) - Added last 10 actions of undo stack to uncaught error reporting - Fixed an issue when a simple JSON Schema data types reversed with properties - Fixed multiple copy-pasted collections haven’t colors from source collections - Avro: added forward-engineering of logicalType when multiple data types - Avro: filtered redundant pattern property in forward-engineering - Cassandra: split table options blob into separate properties New features with v3.4.11: - JSON Schema reverse-engineering: added handling of array items with empty objects - JSON Schema/JSON Doc/DDL/XSD/Mongoose reverse-engineering: extended error modal with log information - Hierarchical schema view: fine-tuning of right-click for contextual menu - Avro: added display of non-null data type sample in JSON Data New features with v3.4.10: - Print Diagram: made generation independent of Windows DPI display settings (scale and layout) - MongoDB: updated view pipeline when referencing a definition - Swagger: use example property to generate Swagger samples New features with v3.4.9: - Added scrolling for long lists of definitions - Avro: removed false positive on validation of records - Avro: enhanced JSON Data sample generation logic - Avro: replaced spaces by underscore during reverse-engineering of JSON Schema title and field names - Excel: adjusted import logic of definitions when target is Swagger/OpenAPI New features with v3.4.8: - Print Diagram: added headers and footers to PDF - Print Diagram: added selection and/or range of pages to print - Print Diagram: added zoom control and fit to single page - Excel: improved handling of entity/attribute name split New features with v3.4.7: - Enhanced error logging to include undo actions - ERD: added text decorative symbol - Avro: added data type mapping when forward-engineering JSON Schema New features with v3.4.6: - Added contextual menu on multiple selections - Object Browser: added single level expansion for relationships, and definitions - Undo/Redo: added handling of copy/paste of views and graph node labels - Avro: added handling of required property for choices - Avro: adjusted mapping of data types when reverse-engineering of JSON Schema - Avro: automatically make default property null when null data type is first of multiple data types New features with v3.4.5: - Object Browser: added single level expansion for containers, entities, attributes, and views - Avro: added mapping of JSON Schema string formats to corresponding Avro logical types New features with v3.4.4: - Avro: enhanced approach for nullable fields by re-introducing null data type, see Avro schema for more info - Avro: added handling of multi-type fields during reverse-engineering of JSON Schema and JSON documents New features with v3.4.3: - Added Undo (Ctrl+Z) and Redo (Ctrl+Y) functions - Added AutoSave toggle switch (OFF by default) with parameter in Tools > Options > General to control time interval in minutes - Added recovery of new unsaved model - Added release notes in application update dialog - Enriched error details in reverse-engineering connection dialog - Hive: support for http transport mode for LDAP and Kerberos authentication - Swagger: added handling of null data type during reverse-engineering of JSON/JSON Schema, and converting to string with default = "null" - OpenAPI: added handling of null data type during reverse-engineering of JSON/JSON Schema, and converting to string with nullable = true New features with v3.4.2: - Extended drag & drop capability to multiple selections - Enhanced Find function to add match case, match whole word, beginning/end/anywhere in word, type of object, next/previous navigation, session history - Added Find-and-Replace function - Mongoose reverse-engineering: added handling of sub-documents as internal definitions - Mongoose reverse-engineering: added support for Buffer and Decimal128 data types - License key status: added refresh button - MongoDB: added generic processing of different SRV record formats - MongoDB: replaced deprecated document counts method impacting performance - Mac: fixed selection of reverse-engineering files - Hive: added support for Kerberos Quality of Protection (QOP) values auth-int (integrity) and auth-conf (confidentiality) [https://tools.ietf.org/html/rfc1964] New features with v3.4.1: - Save/Open: use default path locations first time only in a session, then remember last location used in session - Fixed reverse-engineering of JSON data when special symbols are present - Mongoose forward-engineering: added handling of definition (reverse-engineering will be available in the next version) - Mongoose forward- and reverse-engineering: added choice to output in object notation New features with v3.4.0: - Added multiple selection in Object Browser, ERD and hierarchical schema view for more productive copy/paste and delete: Shift+Right-click for contiguous, Ctrl+Right-click for non-contiguous - Added drag-and-drop from/to complex data types at a different level - Added lineage (aka impact analysis, aka where-used) for references plus denormalized keys and denormalized attributes - Added ERD visual for denormalized keys (targets of foreign keys) and denormalized attributes (targets of foreign masters) - Reformatted attribute path in JSON Preview validation pane - Added check for plugin updates at startup - Excel: split name of attribute in a column for entity name and a column for attribute name - Cassandra: added authentication through Java Key Store - Cassandra: filtered CQL script in documentation generation if table not selected - Hive: added authentication through Java Keystore - Avro: default must match enum values - Avro: display warning in ERD and hierarchical schema view if default value does not match data types New features with v3.3.2: - Added target script (CQL, Avro Schema, etc.) to documentation, with toggle in Options - Added possibility to perform Reverse-Engineering from Menu in Overview screen - MongoDB: added possibility to import URI with SRV record - Excel: added merging of nested fields - Excel: converted erroneous boolean values to false - Excel: handled empty technical names during reverse-engineering - Avro: handled inline comments in configs - Avro: correctly handled spaces in attribute names during forward-engineering - Avro: enhanced logic for required fields with null allowed - Neo4j: fixed bug when right-click on node in hierarchical schema view New features with v3.3.1: - Object with a validation error (default or example not respecting data type, invalid names, etc...) appear in red in Object Browser, ERD and hierarchical schema view - Avro: integrated Avro schema validator to Avro Schema tavb - Avro: added 'Null allowed' property to complex types - MongoDB reverse-engineering: added logging and default for read preference parameter New features with v3.3.0: - Added support for OpenAPI 3 (plugin download required) - Excel: handling of column title for empty sheets - Avro: added styles for "null allowed" properties in ERD and hierarchical schema view New features with v3.2.3: - DDL reverse-engineering: allow that Create Table statements are absent and that only Alter Table statements are present - When multiple data types, there should only be a single default property - Avro: added a property 'null allowed' so multiple data types (scalar) are not necessary to allow for backward/forward compatibility. For multiple data type with complex types, it even simpler: no Choice necessary - Avro: added handling via definitions for named types (records, enums, and fixed) New features with v3.2.2: - Excel export/import: added support for definitions (internal, model, and external) plus references to definitions - Swagger: added ERD toggle of details to filter out unused structures New features with v3.2.1: - Excel export: added checkbox for each config section - Excel import - Cassandra: added handling for primary and clustering keys - Added handling for collapsed nodes in hierarchical schema view and model definitions - Cassandra: fixed losing keys separator - Swagger: removed CommonMark in extension values New features with v3.2.0: - Added generic export/import with Excel for all targets - Added multiple file selection in Reverse-Engineering of JSON documents, JSON Schema, DDLs & XSDs - Added using technical model name for file name in Forward-Engineering of JSON documents, JSON Schema - Fixed picking from field list on definitions tab - Cosmos DB w/ Mongo API: added reverse-engineering support for unique items, TTL indexes, stored procs, and UDFs - Cosmos DB w/ Mongo API: added reverse-engineering from Azure Cosmos DB Emulator via REST API - Filtered GUIDs from pattern properties in forward-engineering of JSON Schema - Single click to collapse expand complex structures in hierarchical schema view New features with v3.1.1: - Added support for CommonMark (a.k.a. Markdown) in description and comment properties - Fixed handling of custom-defined properties in native targets - Allowed multiple selections in reverse-engineering of JSON documents, JSON Schema, DDLs, and XSDs - Fixed uncaught error in repetitive reverse-engineering of JSON documents - Added Unique Items in Cosmos DB collection properties (both SQL and MongoDB APIs) - Fixed Neo4j uncaught error New features with v3.1.0: - Hive: added LDAP and Kerberos authentication support, plus SSL - Elasticsearch: added specialized and range datatypes - Swagger: added Interactive API pane to Swagger Definition tab - Added visuals in ERD for required and indexed attributes New features with v3.0.2: - MongoDB: added support for LDAP roles - MongoDB: added handling of replica read preference - Elasticsearch: added handling of default index options - Cassandra: fixed generation of CQL script for only selected tables - Neo4j: fixed actions menu for graph view tab New features with v3.0.1: - Sync with v2.5.7 New features with v3.0.0: - Added support for REST APIs, starting with Swagger 2 (openAPI 3 will follow in a few weeks) - Added zoom on container when selected from picker - Cassandra: LDAP authentication support New features with v2.5.8: - MongoDB: added support for LDAP roles - MongoDB: added handling of replica read preference - Elasticsearch: added handling of default index options - Cassandra: fixed generation of CQL script for only selected tables - Neo4j: fixed actions menu for graph view tab New features with v2.5.7: - Allow upgrade to v3 New features with v2.5.6: - Added set zoom toolbar choice for ERD and hierarchical schema view - Improved zoom speed for ERD and hierarchical schema view - Added focus on ERD object when selected in Object Browser - Added user-friendly message when corrupted plugin zip - Added error-handling for loading of plugin configurations New features with v2.5.5: - Added ability to collapse container list - Elasticsearch: fixed denormalization when relationships stored inside container-level keys - Postgres DDL: detect UUID data type New features with v2.5.4: - Avro: added description and comments properties at choice level - Avro: added support for doc and default properties for choices - Avro: forward-engineering of complex types (enum, fixed) inside node when multiple data type - Avro: handling of undefined field after changing field alias - Avro: proper handling of naming convention technical name in forward-engineering - Command Line Interface: handled recursive creation of non-existent folders in forward-engineering - DynamoDB; fixed reverse-engineering uncaught error - Fixed Daylight Savings bug - Handled reverse-engineering of JSON Schema inside JSON document - Fixed JSON Schema validation error after reverse-engineering New features with v2.5.3: - Added error handling in CLI obfuscate command - Added forward- and reverse-engineering of Cassandra set, list, and map with UDT New features with v2.5.2: - CLI: added command to obfuscate technical and business names, and remove value of description, comments, and enums - CLI: added command to forward-engineer schema creation/alter scripts - Avro: reverse-engineering of doc and default properties in case of polymorphism - Avro: maintain field order when multiple oneOfs within an allOf choice - Cassandra: possibility to add a UDT as child of list, map or list data type - Fixed generation of JSON sample if an object accidentally contains an array item New features with v2.5.1: - Handled forbidden characters in filenames of container forward-engineering - Added "OR REPLACE" to forward-engineering of Cassandra UDA alter script - Fixed disappearing characters in business name property - Avro: added type name property to complex types, and added handling for it in reverse- and forward-engineering New features with v2.5.0: - Detection of pattern fields during reverse-engineering - Enabled pasting of model definitions - Avro: added technical name to the array items with complex types - Avro: allowed multiple union types at same level through JSON Schema allOf choice - Avro: allowed names for union types - Avro: fixed naming convention of records - Avro: fixed technical name of containers when business-to-technical naming conventions enabled - Avro: handling of union data type with logical types - Avro: handling of enum data type - Avro: resolution of referenced definitions in forward-engineering - Cassandra: added button to apply CQL script to db instance (provided user has proper rights) - Cassandra: added ALTER TABLE CQL script to Command-Line Interface model comparison - Changed saving path of an external reference model using RFC 3986 specification (https://tools.ietf.org/html/rfc3986) - Adjusted warning to take relative path of external references into account - Enhanced handling of reverse-engineering of gigantic schema with extremely deep nesting - Fixed resolving external references when opening model - Reverse-engineering of MySQL DDL: take time data type into account - Changed spinner to appear sooner during plugin installation - Preserve original ERD layout after reverse-engineering if model was previously not empty - Elasticsearch: set default container keys plus reverse-engineer JSON and JSON Schema under _source - Added license re-validation attempt after maintenance expiration - Hive: suppressed forward slash in http transport mode path New features with v2.4.4: - Changed from backslash to forward slash in forward-engineering of path for external definition on Windows - Relaxed constraint of error message when opening a model which was created with a newer application version - Fixed creation of JSON Schema from a collection with extended MongoDB data types ( ISODate(), Timestamp(), ...) - Fixed reverse engineering of a sample for date data type New features with v2.4.3: - Proper handling of $ sign in Naming Convention's case conversion - Added period in front of the relative path of external definition - Added link to sample models page in to Welcome pane - Added support for nesting beyond 100 levels during Reverse-Engineering - Filtered GUIDs in standard view of JSON Schema preview and forward-engineering - Added reverse-engineering of MongoDB indexes on array items - Improved handling of multiple data types in Properties Pane - Fixed error message during CLI reverse-engineering if erroneous model path New features with v2.4.2: - Added validation and auto-fixing of ERD settings when opening model - Added target and plugin information to the uncaught error report - Fixed distribution of graph relationships - Fixed handling technical names for graph node labels New features with v2.4.1: - Added warning after Reverse-Engineering when Naming Conventions coupling set to Business-to-Technical, to avoid conflict in case of non-symmetric conversions - Added button to clear Technical Names if user inadvertently enabled Business-to-Technical coupling, and now wants it disabled. - Display real data type of attribute when appearing in a view - Added handling of Naming Conventions for views - Adjusted handling of indexes in DynamoDB Table Create Script after copy table New features with v2.4.0: - Introduction of Naming Conventions to maintain both a ‘business name’ and a ‘technical name’ for objects, and keep them synchronized and transformed based on a set of user-driven parameters, and optionally based on a conversion file maintained outside of the application. Name conversion can go both directions: Business-to-Technical, or Technical-to-Business. - Added handling access error when saving to root on Mac - Added default paths parameter options for new installations - Added tolerance for absent container complex type in XSD reverse-engineering New features with v2.3.7: - Mapped DateTime data type in MS SQL Server DDL reverse-engineering to Hive timestamp - Mapped BIT data type in MySQL DDL reverse-engineering to JSON boolean - Eliminated false positive document validation in JSON Preview for recursive external references - Clear search box of Object Browser when opening a new model - Restored full list of entities in JSON Schema forward-engineering - Fixed error in cancellation of MongoDB reverse-engineering - Fixed error in Command Line Interface documentation generation - Fixed in keeping order of attributes during Cassandra reverse-engineering - Fixed error in cancellation of Cassandra reverse-engineering - Fixed rendering of keys at the entity level New features with v2.3.6: - Support for proxy server in plugin installation - Support for proxy server in Command-Line Interface reverse-engineering New features with v2.3.5: - UUID change for concurrent licenses - Fixed section numbering in documentation when partial entity selection - Tolerance for empty complexType in XSD import - Hive: fixed forward-engineering when dependencies are present - various minor fixes New features with v2.3.4: - Avro: support for logical types - Couchbase: prompt user to choose document type if confusion by INFER or empty string - MongoDB: updated mongodb-core library - MongoDB: added timeout handling - MongoDB: moved enableSharding from model to database level and added to script if enabled - JSON: removed isRestfulApi in forward-engineering if disabled - fixed generating JSON sample for complex type in case of recursive definitions - fixed spinner if install plugin from zip is cancelled - XSD reverse-engineering: added support for xsd: tags to xs: - Hive: keep order of JSON when inferring schema in reverse-engineering New features with v2.3.3: - Added option for manual network proxy parameters, for license key validation and software update check - Fixed so subscription licenses don't require re-validation when renewal has been paid New features with v2.3.2: - Kerberos authentication protocol support for HBase plugin - Better handling of deletion of a field that is a key in a MongoDB index - Warning dialog when an attribute is deleted - Fixed definition resolution when array contains null - DDL reverse-engineering: convert varchar to varchar instead of string if the target supports it - DDL reverse-engineering: convert decimal to double instead of integer if the target supports it - Oracle DDL reverse-engineering: be tolerant of non-official BIGINT, SMALLINT, TINYINT, and STRING and convert to equivalent if the target supports it - Hive HQL script forward-engineering: fix error when source is erwin model - XSD reverse-engineering: convert DateTime data type to timestamp instead of string if the target supports it New features with v2.3.1: - Disabled option in contextual menu of a model definition that allowed conversion of attributes into an internal reference - Allowed expanding a model definition with a reference to an external model - Fixed bug in some plugins when changing container for an entity New features with v2.3.0: - Support for Avro schema - Support for Apache Hive - Warning about Couchbase Community with missing schema service - Handling of missing Elasticsearch index type - Display warning if attempting to reverse-engineer CosmosDB w/ MongoDB API without corresponding plugin New features with v2.2.4: - Ability to use field list properties in plugin field-level config - Additional Elasticsearch mapping parameters for v6.4 - Handling of PDF Print and Documentation Generation with Acrobat Reader version 2019 New features with v2.2.3: - Normalization of file path in external definition with relative path - Default JSON Schema preview to referenced definitions - Fine-tuned JSON Schema definitions conversions with cascading references - Fixed HTML documentation opening of diagram in new tab for Chrome 69, plus link to container/database/bucket - Fixed CLI compMod merge container visual - Fixed reverse-engineering of XSD schema for Cassandra and Hive plugins New features with v2.2.2: - Added identifier in License Key Validation dialog for customers with multi-seat keys - Added automatic release of previous key when validating a new one - Added indentation for documentation titles - Elasticsearch: renamed container-level key from index to _index and defaulted index property to true - XSD reverse-Engineering: added handling of types anyURI, boolean, double and float. And when possible: base64Binary and hexBinary - Added search capability in both field picker and external definition picker - Added possibility to load external models by relative path - Added prevention of combining scalar and complex types in multiple data types -- if involves complex types, must use Choice - Added generation of default data in case of references in an array - Added optional resolution of definitions in JSON Schema preview and reverse-engineering - Fixed handling of relationships when copy/paste between instances - Fine-tuned merge of models after CLI compMod when renaming a container, an entity, or an attribute New features with v2.2.1: - Graph zoom fine-tuning - Change of relationship line size New features with v2.2.0: - Graph view with familiar circular node labels in Neo4j plugin - Adjusted MongoDB reverse-engineering when specified database and SSH - Fixed reverse-engineering of Excel template for MongoDB target - Fixed installation on Windows when conflict between envirnment variables New features with v2.1.1: - removed caching of modal content - saving models of native targets - handling JSON in plugin reverse-engineering - fixed reverse-engineering for Cosmos DB if container-level key is named 'id' New features with v2.1.0: - forward- and reverse-engineering of Cassandra & Datastax (requires plugin update), including inference of JSON structures if detected in text or blob - using getCollection instead of brackets in forward-engineering of MongoDB index for better encoding of special characters in collection names - suppressed extraneous warning when Saving As - fixed forward-engineering of MongoDB script after PostgreSQL DDL import New features with v2.0.8: - encoding of special characters in index names when forward-engineering of MongoDB script - fixed anomaly in Object Browser menu toggle - fixed check of Windows10 Registry if user has no rights - better handling of internal references in JSON Schema import - encryption/decryption of database connections - added mapping of date and time string types in XSD reverse-engineering - documentation list of types when multiple New features with v2.0.7: - enhanced instructions in uncaught exception dialog - added system info in email report of uncaught exception - fixed exception when MongoDB view uses field with an external reference - added filtering of property names in documentation when section is empty - added filtering of field properties (including hierarchies) when user option is 'none' New features with v2.0.6: - enhanced handling multiple types in JSON schema validator of MongoDB - enhanced merging validator of MongoDB and the JSON schema from the probabilistic schema - added handling uncaught error on main process - updated mongodb driver New features with v2.0.5: - fixed behavior of external definitions when references or fields containing references are deleted - fixed copying of external references New features with v2.0.4: - relaxed syntax restriction for regex pattern in string property and allow ^urn:uuid: - better handling of foreign key relationships on reference definitions - support for MongoDB 4.0 and SCRAM-SHA-256 - improved display of uncaught error details New features with v2.0.3: - allow offline connection to local MongoDB instance on Windows - changed license message for expired maintenance - fixed v2 license validation when no maintenance plan New features with v2.0.2: - enhanced reverse-engineering of extremely large documents - added parsing of DDL table comments - fixed parsing of MySQL DDL composite foreign keys - added filters for some extraneous DDL fields New features with v2.0.1: - software key validation screen: added maintenance status and expiration - fixed regression when creating a foreign key from properties pane - added logging of schema validation during model opening - improved plugin installation when previous plugin already installed New features with v2.0.0: - support for Neo4j graph database New features with v1.12.20: - fixed anomaly in Object Browser menu toggle - fixed check of Windows10 Registry if user has no rights - using getCollection instead of brackets in forward-engineering of MongoDB index for better encoding of special characters in collection names - better handling of internal references in JSON Schema import - encryption/decryption for database connections - added mapping of date and time string types in XSD reverse-engineering - suppressed extraneous warning when Saving As - fixed forward-engineering of MongoDB script after PostgreSQL DDL import New features with v1.12.19: - enhanced instructions in uncaught exception dialog - added system info in email report of uncaught exception - fixed exception when MongoDB view uses field with an external reference New features with v1.12.18: - enhanced handling multiple types in JSON schema validator of MongoDB - enhanced merging validator of MongoDB and the JSON schema from the probabilistic schema - added handling uncaught error on main process New features with v1.12.17: - allow offline connection to local MongoDB instance on Windows - changed license message for expired maintenance - improved display of uncaught error details - better handling of foreign key relationships on reference definitions - fixed behavior of external definitions when references or fields containing references are deleted - fixed copying of external references New features with v1.12.16: - enhanced reverse-engineering of extremely large documents - added parsing of DDL table comments - fixed parsing of MySQL DDL composite foreign keys - added filters for some extraneous DDL fields New features with v1.12.15: - better handling of update download when expired or no maintenance New features with v1.12.14: - fixed handling of MongoDB collection options during reverse-engineering - fixed handling of DynamoDB indexes during reverse-engineering New features with v1.12.13: - enhanced MongoDB connections to support MONGODB-CR credentials for older versions (deprecated with v3.6) - fined-tuned parsing of MongoDB Atlas URI to suppress test database - added conversion of internal definition to attributes when pasting into a model definition - added Tools> Options > Documentation parameter to limit number of attribute hierarchical schema views with large models for documentation generation performance - prevented JSON Schema "id" attribute from being boolean New features with v1.12.12: - set default to 'Maintain field order' when reverse-engineering - fixed license check for AWS Marketplace Workspaces - fixed Bluebird module issue for Elasticsearch mappings preview - fixed rare issue with UUID generation not accessible New features with v1.12.11: - GDPR privacy policy consent - plugin for MarkLogic for data modeling only: no forward- or reverse-engineering yet - preserve field order during reverse-engineering of JSON file New features with v1.12.10: - optimized performance of Object Browser search - encoded collection names in MongoDB index script when using restricted characters - better handling of attribute type in documentation when set to multiple scalar types - fixed documentation handling of MongoDB indexes depending on collation flag - not displaying unselected sections in documentation - better tolerance in reverse-engineering of JSON Schema for ordering of fields and missing properties of choices - handling of v2 upgrade licensing New features with v1.12.9: - Elasticsearch: added properties number of shards, number of replicas, alias, and dynamic in Properties Pane, forward- and reverse-engineering - moved installation of node modules in plugin reverse-engineering to plugin installation - new user parameter to reduce documentation length by filtering attribute hierarchical schema view - added collapsible table of content pane in HTML documentation - fixed link generation in HTML documentation for some large models - 50% performance improvement in documentation generation - added toggle in JSON Schema preview for standard vs extended (internal) JSON Schema - added storageEngine property to collection creation script in MongoDB - fixed creation of new connection settings in DynamoDB - change default of pattern fields to "^[a-zA-Z0-9_.-]+$" throughout (plugins require installation of update) - fixed complex data type for some targets when referencing external definition New features with v1.12.8: - parsing of auth source from MongoDB Atlas and mlab URI - fixes case of empty Object Browser at startup after first install - persistence of unique array items in MongoDB New features with v1.12.7: - forward- and reverse-engineering for Elasticsearch and HBase - reverse-engineering of JSON file takes multiple documents into account - added date and time as JSON Schema string formats -- not in draft v4 but tolerated by validators then introduced in v6 - fixed forward-engineering of JSON document when same name for model, group, and document - filter some extraneous properties in forward-engineering if false - performance improvements in Object Browser for large models by use of virtual lists - support of AWS Workspaces for Desktop Applications New features with v1.12.6: - ERD display of field type mode when present instead of field type - fine-tuning reverse-engineering of XSDs in case of substitutionGroup - fixed handling of embedded array items in CLI model comparison New features with v1.12.5: - skipped New features with v1.12.4: - reverse-engineering of XSD to import models from erwin, ER/Studio, PowerDesigner, and others - improved documentation generation performance - possibility to print diagram to PNG - display of nested fields in MongoDB views pipeline - enhanced handling of model opening when corresponding plugin is absent - ability to handle multiple oneOfs in reverse-engineering of JSON Schema - fixed handling of multiple types with Null and sub-docs - ability to handle probabilistic schema for large sets of documents New features with v1.12.3: - user-defined parameter for Couchbase reverse-engineering pagination - display progress details during Couchbse reverse-engineering New features with v1.12.2: - allow A0, A1, A2, Ledger formats in Print Diagram - more accurate entity box resizing in ERD after reverse-engineering - allow reverse-engineering of MongoDB NULL type fields - allow opening of model file corrupted with a prior version - workaround for Couchbase error: "An unknown N1QL error occured. This is usually related to an out-of-memory condition" New features with v1.12.1: - reverse-engineering of PostgreSQL DDLs - improved reverse-engineering of Oracle DDLs for processing of alternate syntax - increased logging for reverse-engineering process New features with v1.12.0: - enhanced support for MongoDB v3.6, including generation of $jsonschema validator, plus reverse-engineering of $jsonschema validator when present - added MongoDB Replica set and Sharded cluster connection type, including choice of Read Preference - added MongoDB X.509 authentication protocol - fixed conversion of probabilistic schema inference when multiple simple types New features with v1.11.1: - fixed mishandling in CLI compMod when combination of --ignoreGUIDs and array items with no name - fixed when creating a MongoDB index key on a field that is part of the reference to a definition - fixed when deleting a field that is also a MongoDB index key New features with v1.11.0: - complete tech refresh of dependent libraries - performance improvements in UI navigation - possibility to view and maintain attributes' properties pane from within ERD - map DynamoDB field types to JSON Schema compatible types during JSON Schema forward-engineering New features with v1.10.4: - removed filter of default Couchbase bucket - fine-tuning Cassandra plugin - fixed encoding of regex expression in MongoDB validator script New features with v1.10.3: - updated Couchbase reverse-engineering connection New features with v1.10.2: - fixed message when releasing floating license - fixed issue with registration on new instances New features with v1.10.1: - offline license validation in case of no internet connection - reverse-engineering of DB2 DDLs - batch forward-engineering of files with selection dialog - fixed bug of disappearing Object browser pane - fixed JSON Schema validation of MongoDB data types in Cosmos DB - minor adjustments in Elastisearch and Cassandra plugins New features with v1.10.0: - support for Microsoft Azure Cosmos DB with MongoDB API - latest version of the Cosmos DB DocumentDB SDK version - next command in Command Line Interface: model comparison with option merge - enhanced toolbar to combine alignment icons and add reverse-engineering icon - plugins for Elasticsearch and Apache HBase for data modeling only: no forward- or reverse-engineering yet!! New features with v1.9.3: - enhanced DDL reverse-engineering to deal with optional syntax - fixed pasting objects into arrays and sets New features with v1.9.2: - fixed Object Browser issue with object type in JSON target - removed unnecessary properties in JSON integer data type - added Comments property column to documentation - close application when downloading update New features with v1.9.1: - proper handling of MongoDB indexing for deeply nested fields - handling of Cosmos DB reverse-engineering when multiple databases in same Azure Account ID - Command-Line Interface enabled for Cosmos DB New features with v1.9.0: - support for Microsoft Azure Cosmos DB with DocumentDB API - handling for MongoDB indexing of nested fields New features with v1.8.6: - fixed installer issue with some anti-virus programs - fixed duplicate browser objects in some DynamoDB models - fixed font size in documentation ERD for some wide models New features with v1.8.5: - allow polymorphism in reverse-engineering in case of arrays embedded in arrays - allow more than 100 tables in DynamoDB reverse-engineering - allow documentation generation when Model ER diagram option is OFF - allow up to 100k document in sampling via Command-Line Interface reverse-engineering - better handling in MongoDB collation strength - allow spaces in directory names for default file path - removed duplicate tables in DynamoDB Object Browser New features with v1.8.4: - reading of persistent schema - tooltip for drag-and-drop relationship creation for definitions - more improvements for handling of reference definitions New features with v1.8.3: - improved handling of reference definitions - improved handling of 2-way referencing in denormalization - more accurate numeric type handling in DDL reverse-enginerring in case of JSON target - proper rendering of changed custom attributes for JSON and native DB targets New features with v1.8.2: - documentation generation for attributes referencing definitions - CR/LF in forward-engineering of JSON document and JSON Schema on Windows platform - defect fix in node-ipc module log New features with v1.8.1: - enabled reverse-engineering of DDLs for plain JSON target - moved reverse-engineering from front-end to back-end to allow larger sampling size - relaxed sampling size for Command-Line Interface reverse-engineering to 100k documents - several new filtering options to configure/trim down documentation New features with v1.8.0: - Command Line Interface with: generation of documentation, and reverse-engineering. (comparison of models due in subsequent release) - user-defined custom properties for MongoDB, DynamoDB, and Couchbase objects via plugin - improved document kind field proposals for Couchbase without N1QL service New features with v1.7.2: - improved handling of bucket authentication via REST API for Couchbase 4.x - reverse-engineering of Mongoose schemas in plain JSON, plus handling of keywords "required" and "default" - improved handling of "required" property in forward-engineering of MongoDB scripts New features with v1.7.1: - fixed several minor anomalies New features with v1.7.0: - introduction of affordable Personal edition - copy/paste between multiple instances of Hackolade - ability to perform joins with $lookup in MongoDB read-only views New features with v1.6.2: - fall back to all documents when Couchbase localRandomKey fails - fixed licensing release when multiple consecutive trial keys New features with v1.6.1: - URI encoding of Couchbase non-N1QL REST call for Reverse-Engineering - new layout Software Registration New features with v1.6.0: - plugin extensions for additional database targets (no reverse-engineering yet - coming soon) - references to other Hackolade models via external definitions - reverse-engineering of Couchbase 3.x and other instances not running N1QL service - support for Couchbase 5.x security - significant performance improvements in ERD New features with v1.5.3: - improved handling of collapsed nodes in hierarchical schema and Couchbase ramQuota - display of password-protected Couchbase buckets in document selection dialog of Reverse-Engineering New features with v1.5.2: - reverse-engineering from MongoDB secondary (does not include validator rules as they are not replicated by MongoDB to secondaries) New features with v1.5.1: - fine-tuned Couchbase authentication - enhanced processing of MongoDB DBRefs when combined with other field types New features with v1.5.0: - MongoDB v3.4: read-only views (single collection only -- reference to multiple collections is coming soon), collation, improved indexing, sharding - connection to MongoDB Atlas - move fields via drag-and-drop in hierarchical schema view (only at same level with this release -- more flexibility to come later) New features with v1.4.2: - fixed installer issue with some anti-virus programs New features with v1.4.1: - drag-and-drop attributes in collection hierarchical schema view - undo/redo with Ctrl+Z/Ctrl+Y New features with v1.4.0: - support for Couchbase Server and Mobile, including specific terminology, forward-engineering scripts (Ottoman ODM) and reverse-engineering protocol for both local and hosted instances - MongoDB: possibility to maintain multiple databases in same model, and define different groups of collections - DynamoDB: possibility to maintain multiple regions in same model, and define different groups of tables - JSON: possibility to maintain multiple groups in same model New features with v1.3.2: - auto-detect type when opening a JSON file: JSON document, JSON Schema, or Hackolade model. The first 2 trigger reverse-engineering. - display error details when opening an invalid Hackolade model file - application overview presentation at startup - OS-specific shortcut keys New features with v1.3.1: - fix for licensing server change New features with v1.3.0: - library of re-usable definitions - reverse-engineering of MS SQL Server DDL - documentation logo personalization New features with v1.2.5: - additional controls for database/collection selection in Reverse-Engineering and documentation - refinements when using MongoDB validator in Reverse-Engineering - better use of field attributes and constraints in auto-generation of JSON samples New features with v1.2.4: - support for concurrent licensing New features with v1.2.3: - in contextual menu, ability to pick from list of previously created fields - fix for suggest denormalization New features with v1.2.2: - ability to import model and fields info from an Excel template - ability to create relationships with drag-and-drop - button to add timestamp to comments - leverage validator info in db.getCollectionInfos() during reverse-engineering (MongoDB v3.2+) - DynamoDB: support for composite fields in GSI primary key New features with v1.2.1: - support for MongoDB DRBrefs at model creation, and during reverse-engineering - detection of version of MongoDB during reverse-engineering - possibility to edit field name and type in field box of hierarchical schema view - possibility to (de)select objects in documentation generation New features with v1.2.0: - support for Amazon DynamoDB, including specific terminology, forward-engineering scripts and reverse-engineering protocol for both local and hosted instances - possibility to select objects to be included in documentation New features with v1.1.3: - more precise logging for reverse-engineering and license registration processes - improved reverse-engineering of multi-type fields when combining scalar and complex types New features with v1.1.2: - SSH connection to MongoDB instances (for example at cloud locations) - definition of composite indexes and forward-engineering of indexes - 2-way referencing in denormalization assistance - ERD collection box color-coding - extended host connection string format to directly access specific db New features with v1.1.1: - re-architecture to allow multiple 'targets', and support DB vendors other than just MongoDB - support for plain JSON, with pure JSON Schema draft v4 validation - collection hierarchical schema diagrams in HTML documentation can now be zoomed in when opened in separate browser tab New features with v1.0.12: - Fixed licensing issues for first-time users New features with v1.0.11: - Reverse-Engineering of MySQL Data Definition Language files - orthogonal distribution of ERD shapes - contextual menu in Object Browser New features with v1.0.10: - fine-tuning of DDL reverse-engineering and denormalization New features with v1.0.9: - Reverse-Engineering of Data Definition Language (DDL file from Oracle RDBMS) - Suggestion of denormalization New features with v1.0.8: - logging of Reverse-Engineering process steps - increased usability of relationship deletions and opening of collections New features with v1.0.7: - Kerberos connection to MongoDB - Tools > Compare Models - HTML documentation - fixed PDF header and footer issues - many reports improvements - progress dialog in Reverse-Engineering of MongoDB New features with v1.0.6: - field order in reverse-engineering > JSON Document, JSON Schema, and Mongoose schema - fixed several minor cosmetic issues New features with v1.0.5: - LDAP authentication - Tools > Options for user parameters - field order in reverse-engineering > MongoDB Collections - capped collection parameters for db.createCollection script New features with v1.0.4: - licensing: replaced MAC address with UUID for more stable desktop identification - added X.509 TLS/SSL connection to MongoDB, with options: -- none: do not use SSL for anything -- unvalidated: use SSL but do not perform any validation of the certificate chain -- server: the driver should validate the server certificate and fail to connect if validation fails -- all: the driver must present a valid certificate and validate the server certificate. New features with v1.0.3: - authentication to local and remote instances of MongoDB (without SSL, LDAP, Kerberos, X.509, or SSH) - fixed relationships in copy/paste of fields - added validationLevel and validationAction to MongoDB validator script New features with v1.0.2: - forward-engineering > Mongoose schema - fixed documentation generation on Mac - finished documentation formatting - diagram print preview - letter and tabloid formats in diagram printing - lots of other improvements New features with v0.9.2: - documentation generation (except on Mac) - diagram and schema printing - forward-engineering > MongoDB Script - ability to change order of relationships - enabled several more shortcuts on Mac - lots of other improvements