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 documentation 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