What's New?
For detailed version information, please refer to Github and Gitee. This section introduces the new features introduced in each milestone version.
V4 Version
New Features in v4.4 (v4.4.3)
- Bean Searcher
- Added
IndexArrayParamFilter: Supports parsing parameters in the formkey[0]=v1 & key[1]=v2. - Enhanced
SuffixOpParamFilter: Supports merging case-insensitive checks into a single parameter, e.g.,name-ct-ic=xxx. - Enhanced
MetaResolver: AddedclearCache()method to manually clear theBeanMetacache. - Enhanced
@DbIgnore: Supports annotating other custom annotations to inherit@DbIgnorefunctionality. - Added
AnnoUtils: For parsing composite annotations. - Enhanced
MapUtilsutility class (since v4.4.2)- Added
flat(Map<String, String[]> map, boolean urlDecode)method to support specifying whether to perform URL decoding - Added
flatBuilder(Map<String, String[]> map, boolean urlDecode)method to support specifying whether to perform URL decoding - The original
flat(Map<String, String[]> map)method now performs URL decoding by default - The original
flatBuilder(Map<String, String[]> map)method now performs URL decoding by default
- Added
- Added
- Bean Searcher Label (First Release)
- Introduced
@LabelForannotation (inherits@DbIgnore) to label and resolve Label fields (e.g., markingstatusNameas the Label forstatus). - Added
LabelLoaderinterface for loading custom Labels. - Provided
EnumLabelLoaderimplementation for loading enum Labels. - Optimized
LabelLoaderinterface to ensure theidsparameter inload(key, ids)is non-empty (since v4.4.1). - Enhanced
@LabelForto support fields in parent and child classes (since v4.4.1).
- Introduced
- Bean Searcher Boot Starter
- Added configuration
bean-searcher.params.filter.use-index-arrayto enableIndexArrayParamFilter(default:false). - Added automated configuration for Bean Searcher Label.
- Added configuration
- Bean Searcher Solon Plugin
- Added configuration
bean-searcher.params.filter.use-index-arrayto enableIndexArrayParamFilter(default:false). - Added automated configuration for Bean Searcher Label.
- Added configuration
New Features in v4.3 (v4.3.6)
- Bean Searcher
- Optimized
BeanMeta: AddedgetSqlSnippets()to retrieve all parsed SQL snippets on an entity class. - Enhanced
SearchSql: AddedgetSearchParam()to access resolved search parameters inSqlInterceptor. - Enhanced
MapBuilder: Addedor(..)andand(..)for simplifying logical grouping. See issue. - Enhanced
MapBuilder: AddedbuildForRpc()andbuildForRpc(RpcNames)for building parameters for remote API calls. - Optimized
MapBuilder: Methodsfield(FieldFn, Collection)andfield(String, Collection)now acceptnullas the second parameter. - Enhanced
DefaultParamResolver: AddedgexprMergeto control merging/overriding group expressions. See issue. - Added
JoinParaSerializer: Serializes collection-type parameters into comma-separated strings. - Added
ArrayValueParamFilter: Compatible with array parameters likeage=20 & age=30 & age-op=bt. - Added
SuffixOpParamFilter: Simplifies parameters (e.g.,age-gt=25instead ofage=25 & age-op=gt). - Added
JsonArrayParamFilter: Simplifies parameters (e.g.,age=[20,30]instead ofage-0=20 & age-1=30). - Added
AlwaysTrue(at) andAlwaysFalse(af) operators. See issue. - Upgraded
OracleDialect: Usesoffset ? rows fetch next ? rows onlysyntax (requires Oracle 12c+). - Optimized
ExprParser: Logical operators&and|are no longer customizable. - Enhanced
DateTimeParamConvertor: Supports timestamp values (since v4.3.2). - Optimized
BeanMetato preserve field declaration order (since v4.3.3). - Fixed caching order in
DefaultGroupResolver(since v4.3.3). - Enhanced
DateParamConvertorto support multiple date formats (since v4.3.5). - Enhanced
DateTimeParamConvertorto support flexible datetime formats (since v4.3.5). - Fixed
EnumParamConvertorcompatibility with empty strings. - Upgraded Junit to 5.10.2.
- Optimized
- Bean Searcher Boot Starter
- Added configurations:
bean-searcher.params.group.mergeable,bean-searcher.params.filter.use-size-limit,bean-searcher.params.filter.use-array-value,bean-searcher.params.filter.use-suffix-op,bean-searcher.params.filter.use-json-array. - Added
SpringSqlExecutorfor Spring transaction support (since v4.3.2). - Added timezone configuration for
DateTimeParamConvertor(since v4.3.2).
- Added configurations:
- Bean Searcher Solon Plugin
- Added configurations similar to Boot Starter.
- Added
SolonSqlExecutorfor Solon transaction support (since v4.3.2). - Supports IDE configuration hints with Solon plugin (since v4.3.5).
Reference sections: Field Parameters, Logical Grouping, Parameter Filters, Embedded Parameters, Requesting Third-Party BS Services.
New Features in v4.2 (v4.2.9)
- Bean Searcher
- Added
DynamicDialectandDynamicDialectSupportfor dynamic dialects (v4.2.0). - Renamed
FieldParam.Value.isEmptyValue()toisEmpty()(v4.2.0). - Renamed
AbstractSearchertoBaseSearcher(v4.2.0). - Enhanced
DateTimeParamConvertorto parseyyyy-MM-dd HH:mm:ss.SSS,yyyy-MM, andyyyyformats (v4.2.0). - Added
EnumParamConvertorfor enum serialization (v4.2.1). - Enhanced
JsonFieldConvertorfor complex JSON array conversion (v4.2.6).
- Added
- Bean Searcher Boot Starter
- Added
bean-searcher.sql.dialect-dynamicto enable dynamic dialects (default:false). - Added
bean-searcher.params.fail-on-errorto control exception throwing (v4.2.3).
- Added
- Bean Searcher Solon Plugin
- Similar updates as Boot Starter.
New Features in v4.1 (v4.1.2)
- Bean Searcher
- Enhanced
@DbFieldwithname,cluster, andmapToattributes. - Added dynamic condition fields via
@SearchBean.fields. - Optimized logical expression simplification.
- Enhanced
- Bean Searcher Boot Starter
- Customizable
GroupPairResolvervia Bean injection.
- Customizable
- Bean Searcher Solon Plugin
- Initial Solon plugin release.
New Features in v4.0 (v4.0.2)
- Bean Searcher
- GroupId changed to
cn.zhxu. - Package renamed to
cn.zhxu.bs. - Added
timeoutproperty in@SearchBean. - Introduced JSON field support via
JsonFieldConvertor. - Enhanced
MapUtilswith convenient Map construction methods.
- GroupId changed to
- Bean Searcher Boot Starter
- Supports Spring Boot 3.
- Added configurations for JSON and List field conversion.
V3 Version
The version is too old, and the author is too lazy to translate it.
V2 Version
This version is too old; details are unavailable.
V1 Version
This version is too old; details are unavailable.
