v4.x
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 <dbVendor> 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.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: <modelName>, <target>, <version>, and <author>, plus fixed characters, e.g. "<modelName>-<target> <version>" or "<target> model <modelName>", 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