Releases: rapiddweller/rapiddweller-benerator-ce
Release 3.2.1-jdk-11
Overview
Hotfix for Error BEN-0243: Domain not found: address after upgrading to v3.1.0 #423
Bug Fixes
- Fail to import domain when exec "java -jar" #426
Release 3.2.0-jdk-11
Overview
This release introduces significant enhancements, including a new installation option for Mac users, enriched datasets, improved compatibility, and several key bug fixes. We've also made improvements under the hood with updated dependencies and more reliable scripting with GraalVM.
New Features
- Mac Installation Option: Homebrew formula 'benerator' now available.
- Enriched Datasets: Enhanced region-specific functionality for diverse datasets (#413).
Improvements
- Default Values in Generators: All generators now have default values applicable directly to an attribute (#414).
- Vertica Compatibility: Improved Benerator's compatibility with Vertica database (#394).
- Dependency Updates: Updated numerous dependencies to enhance performance and security.
- GraalVM Script Implementation: Enhanced for more reliable dynamic migration between Polyglot and Benerator Context.
Bug Fixes
- Fixed an issue where the benerator-wizard didn't map SQL types correctly in database projects (#379).
- Addressed problems in the db archetype's functionality and performance (#386).
- Resolved TypeNotFoundException when updating MongoDB collection entries (#395).
- Fixed NullPointerException occurring when iterating from an empty CSV file (#405).
Release 3.1.0-jdk-11
Release Highlights
- integrated faker library for data generation as FakerGenerator
- extend postgres dialect make geo data processable
Extension
- #350 Support geometry data type for Postgres (postgis extension)
Depenency Updated
- downgrade slf4j-api to versions 1.7.36
- database_mssqldb to 12.2.0.jre11
- database_jaybird to 5.0.1.java11
- database_icu4j to 72.1
- database_oracle to 21.8.0.0
- database_postgresql to 42.5.3
- database_mariadb to 3.1.1
- dependency_log4j to 2.19.0
- scriptengine_freemarker to 2.3.32
- scriptengine_graalvm to 22.3.1
- _rd_jdbacl_version to 1.1.14-jdk-11
Release 3.0.1-jdk-11
Release 3.0.0-jdk-11
Release Highlights
- Greatly improved syntax checking, error handling and error reporting. Syntax errors are reported with line number and file name, get assigned a unique error id and the beneration process returns a related process return code
- New demos (watermark,dbenv-old, dbenvconf, memstore, scriptdb, shop-hsqlmem-adv-sql-exporter, shop-mongodb, shop-postgres-mongodb)
- New domains 'logistic', 'shipping' and 'container' (Enterprise Edition)
- Postgres: UUID and JSON data type support
- Completed support of the
<part>
element for hierarchical data generation and manipulationwith minCount, MaxCount, countGranularity and countDistribution - Increased JavaScript GraalVM execution performance by a factor of 10+
- AVRO support in Kafka (Enterprise Edition)
- MongoDB support
- new memstore functionality (removeNotExistingIds, sumEntityColumn, totalEntityCount)
- Introduced execution modes: strict, lenient, turbo
- New 'zoneddatetime' data type with generators CurrentZonedDateTimeGenerator and ZonedDateTimeGenerator. They can be configured with an individual 'zone' in the generator or a global 'defaultTimeZone) in the
<setup>
element - Improved and extended the configuration mechanism for environment definitions
- Improved multithreading support, code quality, testing procedures, test coverage and documentation with unique error ids and process return codes
- Improved Benerator and Benchmark log output for core information, brevity and readability
- New beneration performance sensor mechanism
- New 'condition' attribute in
<variable>
- New command line options for Benerator and Benchmark Tool:
- --list env to list all environment definitions available in the current project
- *--list db to list all database definitions available in the current project
- --list kafka to list all kafka definitions available in the current project
- New command line option for cache invalidation: --clearCaches
- Addressed log4j-caused security issues
Breaking Changes
- Requiring count or maxCount in
<generate>
, supporting count="unbounded" means unlimited count - Redesigned platform and domain definition
- All built-in platforms are imported by default
- Renamed class DBSystem to AbstractDBSystem
- Custom generators that inherit from GeneratorWrapper must explicitly overwrite the methods isThreadSafe() and isParallelizable()
- Console output format changed
- Redesigned XML parsing to exactly match the XML schema definition
Important Notes
- The environment definition file format used in earlier versions is still supported but its support will be dropped in a future release.
Domains
- General: Allowing to load all domain generators by their simple name (calling the default constructor)
- Address:
- Added properties to address generation: 'street2', 'companyName' and 'department'
- Added population to US states
- Person: New DIVERSE Gender
Platforms:
- mongodb platform: Alpha-stage contribution of Daniel Figia
- kafka (Enterprise Edition):
- New AVRO support
- Added schema.url for AVRO schema lookup
- Added idle.timeout.seconds to make a kafka-importer stop automatically after a certain number of seconds without message reception.
- Improved Kafka benchmark
- db (Database)
- Supporting UUID and JSON types of Postgres
- Improved support of dynamic
<database>
selectors - Default transaction isolation level is set to 'read committed'
- csv, fixedwidth, xml, dbunit: Evaluate contained scripts if configured by 'sourceScripted' or 'defaultSourceScripted' settings
- fixedwidth: Allowing for row format configuration of fixed with file in Benerator setup
Redesigned
- Parsing, error checking, exception handling and syntax error reporting
- Requiring count or maxCount in
<generate>
, supporting count="unbounded" - Removed dependency of Benerator from ContiPerf
Components
- Added 'lang' attribute to
<echo>
element for specifying the script language used for the message text - Using relative URLs in TemplateFileEntityExporter
<execute>
and<evaluate>
: Assuming type="shell" if a 'shell' attribute is set
- Added 'offset' and 'maxLogs' feature to LoggingConsumer
- Improved JavaHash to always create a hex string of 8 characters
- Created 'Append' converter which appends a string to its input texts
- New Converters 'Mask', 'MiddleMask' and 'CutLength'
- 'FileNameGenerator' got a 'pathType' which can be configured to generate 'absolute', 'canonical' or 'local' file names
Benchmark Tool
- Improved benchmark definition for shorter execution times
- Allowing to use both --ce and --ee at the same time
- Execution of a single benchmark by command line
- Restricting file generation to 1GB
- --list prints out a list of all available benchmarks
- New benchmark 'gen-big-entity.ben.xml'
- Rebalanced database benchmarks for more reads than writes
- Exporting benchmark results in file formats CSV, XLS and TXT
Bug Fixes
- 'time' data type support
- Regex-based string generation for optional groups
- Missing fields in benerator.xsd
- 'memstore' ignores entity identity
- Granularity in number generators
- Expression evaluation issue in the mapping of XML attributes to bean properties
- Syntax error for onError='ignore'
- Heap overflow on H2 varchar with unspecified length
- Postgres blocking table after query
- Entity comparison fails
- PartModifier: Nested Entities are ignored
- Exception on missing house number
- Bug fix for granularity >= 1
- handling of default country/dataset
- thread capability checking
- Handling of empty
<echo/>
elements - Errors in parsing stages are not logged
- MemStore.update()
- Shell invocation dos not resolve environment variables
- Quote escaping in CSVEntityExporter fails
- MemStore.queryEntities() returns all duplicates as only one Entity
- Mask fails for binary database columns
- Undefined component types
- NPE in multithreaded execution
- environment properties file not found
- For multiple database setups, meta data cache always writes to the same file
- If data is iterated and a converter is applied, then the input data is first overwritten then converted
- Parent type fields are not generated
- Regex based string generation for optional groups
- NPE when querying last element in GeneratorIterator
- 'minExclusive' and 'maxEclusive' settings are ignored
- Default constructor of RandomBigDecimalGenerator creates an illegal setup
- RandomBigDecimalGenerator refuses granularity of 1
Depenency Updated
- database_derbyclient from 10.15.2.0 to 10.7.1.1
- database_h2 from 1.4.200 to 2.1.210
- database_icu4j from 67.1 to 71.1
- database_jaybird from 4.0.1.java11 to 4.0.6.java11
- database_mssqldb from 9.2.1.jre11 to 11.1.2.jre11-preview
- database_mysql from 8.0.20 to 8.0.29
- database_oracle from >21.1.0.0 to 21.6.0.0.1
- database_postgresql from 42.2.23 to 42.4.1
- database_mongodb (new) 3.12.11
- antlr-runtime from 3.3 to 3.5.3
- xml-apis from 1.4.01 to 1.0.b2 (1.0.b2 is newest version)
- slf4j from 1.7.32 to 1.7.36
- log4j from 2.14.1 to 2.18.0
- scriptengine_freemarker from 2.3.20 to 2.3.31
- scriptengine_graalvm from 21.1.0 to 22.2.0
Release 2.0.0-jdk-11
Release Highlights
- Improved Benerator engine performance by 55-110% in average
- Added address domain package for the United Kingdom (GB)
- Supporting custom random implementations
- Reworked Benerator archetypes
- Improved JDBC metadata import
- Improved/reworked Benerator Project Wizard
- Improved/reworked Benerator Maven Plugin
- Add custom separator support for Benerator weighting files
- Add new Hash Converters
- Add Benchmark Tool and Performance Tuning section in Manual
- Extend PersonGenerator with attribute age
- Update Graalvm to 21.1.0
- Improved and extended Benerator Manual
Important Notes
- Redesigned the Distribution class hierarchy, introduced the AbstractDistribution
and DetachedSequence classes to compensate this for implementors.
Breaking Changes
- See the manual's Migration Guide what to do if you programmed custom Distributions.
Release 1.1.2-jdk-11
Release Highlights
- improved way of migrating Benerator Objects as ProxyObject into GraalVM Context
- further improvement of handling multi schema databases
- upgarde to GraalVM 21
- fix(RandomVarLengthStingGenerator): limit to 1000 character if there is no limit set in DB
- switch to official Microsoft SQL Server JDBC Driver
- further improvements docs
Release 1.1.1-jdk-11
Release Highlights
- improved way of handling databases with multi schema references
Important Notes
-
removed includeTables="#all" tag, this is not necessary anymore, because there is a mechanism now to identify
related schemas automatically based on JDBC metadata. -
known Issue: when you have two tables with identical name in different schemas, imported as Database connection in
your benerator context, for example: tableA in schema1 and tableA in schema2 ...<database id="schema1" url="{dbUrl}" driver="{dbDriver}" schema="schema1" user="{dbUser}" password="{dbPassword}" /> <database id="schema2" url="{dbUrl}" driver="{dbDriver}" schema="schema2" user="{dbUser}" password="{dbPassword}" />
... the Benerator won't be able to identify the right table when it comes to persisting entities to database.
Breaking Changes
N/A
Release 1.1.0-jdk-11
1.1.0
Release Highlights
- GraalVM Script engine support (https://www.graalvm.org/)
- support for case-sensitive database names and multi schema references (for supported databases)
- new MKDocs manual (https://www.benerator.de/ce/1.1.0/doc/)
- several new DemoCases to show how to use ...
- multi schema databases with references into foreign schemas
- case-sensitive database names like "cataloG"."Schema"."PersoN"
- GraalVM Script engine
Important Notes
- Repository shift to github.com
Breaking Changes
- removed Oracle Nashorn and replace it with GraalVM