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.1)
- 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 theBeanMeta
cache. - Enhanced
@DbIgnore
: Supports annotating other custom annotations to inherit@DbIgnore
functionality. - Added
AnnoUtils
: For parsing composite annotations.
- Added
- Bean Searcher Label (First Release)
- Introduced
@LabelFor
annotation (inherits@DbIgnore
) to label and resolve Label fields (e.g., markingstatusName
as the Label forstatus
). - Added
LabelLoader
interface for loading custom Labels. - Provided
EnumLabelLoader
implementation for loading enum Labels. - Optimized
LabelLoader
interface to ensure theids
parameter inload(key, ids)
is non-empty (since v4.4.1). - Enhanced
@LabelFor
to support fields in parent and child classes (since v4.4.1).
- Introduced
- Bean Searcher Boot Starter
- Added configuration
bean-searcher.params.filter.use-index-array
to enableIndexArrayParamFilter
(default:false
). - Added automated configuration for Bean Searcher Label.
- Added configuration
- Bean Searcher Solon Plugin
- Added configuration
bean-searcher.params.filter.use-index-array
to 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 acceptnull
as the second parameter. - Enhanced
DefaultParamResolver
: AddedgexprMerge
to 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=25
instead 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 only
syntax (requires Oracle 12c+). - Optimized
ExprParser
: Logical operators&
and|
are no longer customizable. - Enhanced
DateTimeParamConvertor
: Supports timestamp values (since v4.3.2). - Optimized
BeanMeta
to preserve field declaration order (since v4.3.3). - Fixed caching order in
DefaultGroupResolver
(since v4.3.3). - Enhanced
DateParamConvertor
to support multiple date formats (since v4.3.5). - Enhanced
DateTimeParamConvertor
to support flexible datetime formats (since v4.3.5). - Fixed
EnumParamConvertor
compatibility 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
SpringSqlExecutor
for 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
SolonSqlExecutor
for 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
DynamicDialect
andDynamicDialectSupport
for dynamic dialects (v4.2.0). - Renamed
FieldParam.Value.isEmptyValue()
toisEmpty()
(v4.2.0). - Renamed
AbstractSearcher
toBaseSearcher
(v4.2.0). - Enhanced
DateTimeParamConvertor
to parseyyyy-MM-dd HH:mm:ss.SSS
,yyyy-MM
, andyyyy
formats (v4.2.0). - Added
EnumParamConvertor
for enum serialization (v4.2.1). - Enhanced
JsonFieldConvertor
for complex JSON array conversion (v4.2.6).
- Added
- Bean Searcher Boot Starter
- Added
bean-searcher.sql.dialect-dynamic
to enable dynamic dialects (default:false
). - Added
bean-searcher.params.fail-on-error
to 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
@DbField
withname
,cluster
, andmapTo
attributes. - Added dynamic condition fields via
@SearchBean.fields
. - Optimized logical expression simplification.
- Enhanced
- Bean Searcher Boot Starter
- Customizable
GroupPairResolver
via 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
timeout
property in@SearchBean
. - Introduced JSON field support via
JsonFieldConvertor
. - Enhanced
MapUtils
with 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.