Releases: j-easy/easy-random
v3.5.0
This is a minor release with the following changes:
Features
- issue #216 : Support customization for internal randomizers
- issue #225 : add
collectionSizeRange
parameter - issue #227 : add
stringLengthRange
parameter
Fixed bugs
- issue #229 : Unable to configure
maxObjectPoolSize
parameter inEnhancedRandomFactoryBean
- issue #230 : Unable to configure
maxRandomizationDepth
parameter inEnhancedRandomFactoryBean
- issue #223:
StringRandomizer
never returns Strings ofmaxStringLength
Enhancements and APIs changes
- issue #231 : rename
maxObjectPoolSize
toobjectPoolSize
- issue #232 : rename
maxRandomizationDepth
torandomizationDepth
- issue #221 : improve error message when unable to randomize a bean
- issue #220 : EnhancedRandomImpl.getRandomCollectionSize never returns maxCollectionSize
API deprecations
- The
minCollectionSize
andmaxCollectionSize
parameters have been deprecated in favour ofcollectionSizeRange
- The
minStringLength
andmaxStringLength
parameters have been deprecated in favour ofstringLengthRange
Many thanks to @enedzvetsky, @dermoritz and @kermit-the-frog for testing and reporting issues.
A big thank to @PascalSchumacher for his active contributions to random beans!
v3.4.0
This is a minor release with new features and bug fixes. A special thank to @PascalSchumacher and @sansherbina for their contributions to this release!
Here is the complete change log:
New Features
Bug fixes
v3.3.0
A special thank to @PascalSchumacher for his amazing contributions to Random Beans! Many thanks to other contributors (@alimohebbi , @MarvinWyrich, @vanhove, @mikemaaaa, @oyxiaogua, @pmaciocia, @rodriguealcazar) for reporting bugs, requesting features and reviewing code. Open source community is really wonderful 😄
v3.3 is a minor release with new features, bug fixes and enhancements. It can be used as a drop-in replacement of v3.2 . Here is the complete change log:
New features
- issue #177 : add method to create EnhancedRandom instances with default parameters
- issue #182 : add maxObjectPoolSize parameter
- issue #192 : add minStringLength parameter
- issue #197 : add minCollectionSize parameter
Enhancements
- issue #201 : allow generation of empty collections
Fixed Bugs
- issue #184 : Enum values are not randomized
- issue #189 : Abstract enums are not initialized
- issue #191 : maxCollectionSize parameter is not used for arrays
- issue #199 : MapRandomizer sometimes fails because "random number of entries = 0"
- issue #204 : fields of direct abstract superclass are not populated
Random Beans v3.2.0
New features
- issue #151: Add method to exclude fields by type
EnhancedRandomBuilder#exclude(Class... types)
- issue #156: Add possibility to exclude field annotated with a custom annotation
- issue #160:
FieldDefinition
should be more flexible - issue #162: Add support for
@Pattern
to generate random strings that match a regex - issue #166: add
overrideDefaultInitialization
parameter - issue #172: add
ZonedDateTimeRangeRandomizer
API changes and improvements
- issue #171: Deprecated constructors
JodaTimeDateTimeRangeRandomizer(Date min, Date max, long seed)
,JodaTimeLocalDateRangeRandomizer(Date min, Date max, long seed)
andJodaTimeLocalDateTimeRangeRandomizer(Date min, Date max, long seed)
Fixed Bugs
- issue #153: Exception when randomizing collection with type variable generics
- issue #169: Default field initialization should not be overridden
- issue #171: Joda time range randomizers must take Joda time types as parameters (not java.util.Date)
- issue #175: Unable to register parameters through Spring factory bean
Random Beans v3.1.0
This new release brings new features, improvements and bug fixes. Many thanks to all contributors for suggesting ideas, testing snapshot versions and filing bugs!
New features
- issue #136: add
maxCollectionSize
parameter - issue #140: add
maxStringLength
parameter - issue #141: add
charset
parameter - issue #142: add
dateRange
parameter - issue #144: add
timeRange
parameter
API changes and improvements
- issue #134:
- Deprecate method
random(Class, int, String...)
inEnhancedRandom
- Add method
randomStreamOf(Class, int, String...)
inEnhancedRandom
- Add method
randomListOf(Class, int, String...)
inEnhancedRandom
- Add method
randomSetOf(Class, int, String...)
inEnhancedRandom
- Add method
randomCollectionOf(Class, int, String...)
inEnhancedRandom
- Deprecate method
- issue #130: add
@RandomizerArgument
annotation
Fixed Bugs
Random Beans v3.0.0
A special thanks to @PascalSchumacher for his amazing contributions to this release!
Pascal has added features, fixed bugs and tremendously improved the code quality. This guy is awesome 👍
Many thanks to all others contributors who reported bugs, requested features and tested snapshot versions.
Major Changes
- Random Beans now requires a Java 1.8+ runtime.
- Module
random-beans-java8
has been merged into the core modulerandom-beans
(#88)
New features
#28: add ability to use Java 8 Supplier
as randomizer
#41: add support for Java 8 Date and Time API (JSR 310) types
#118: Allow more controll over generated values
#102: Added more randomizers: LocaleRandomizer
, UUIDRandomizer
, GregorianCalendarRandomizer
, TimeZoneRandomizer
, RegularExpressionRandomizer
#124: Integrate Lombok to reduce boilerplate code
API changes and improvements
#78: Make the constructor of EnhancedRandomBuilder
public
#82: Add support to register a Randomizer
for a given type
#112: Add Spring support to register a custom randomizer for a given type
#116: Add static factory method to generate random beans with default configuration parameters
#117: rename nextObjects
method into objects
to conform with the standard java.util.Random
API naming pattern
#120: Merge StringLengthRandomizer
and StringRandomizer
#110: Merge NameRandomizer
and FullNameRandomzier
Fixed Bugs
#84: "Pre-initialized" Bean Fields are nulled
#86: Exception if java-faker does not support default locale
#113: Empty first Collection when no seed is provided
#121 User defined Collection/Map types are not populated
Random Beans v2.0.0
Major changes
- The project has been renamed from
jPopulator
toRandom Beans
- The
Populator
interface has been renamed toEnhancedRandom
- The
PopulatorBuilder
class has been renamed toEnhancedRandomBuilder
- The
Populator.populateBean(Class type)
method has been renamed toEnhancedRandom.nextObject(Class type)
- Java 7 is the minimum Java version required for v2.x line
Features
- issue #19: Add support to populate arrays and collection types
- issue #24: Add support to exclude subfields using the dotted notation
- issue #25: Add support to populate immutable objects
- issue #30: Add random seed parameter
- issue #32: Add the
RandomizerRegistry
API as a SPI to register custom randomizers - issue #33: Add support for recursive data structures
- issue #36: Add support to register randomizers using the
@Randomizer
annotation - issue #59: Add support to scan the classpath for concrete types when the field is an abstract or interface type
- issue #61: Add support to skip fields using the
SkipRandomizer
API
Bug fixes
- issue #37: Fix incorrect error message in
MapRandomizer
- issue #44: Fix
StackOverflowError
when a field is of the same type as declaring class (infinite recursion) - issue #56: Fix regression of #1 , Random Beans should not try to populate static final fields