Releases: microsphere-projects/microsphere-java
Releases · microsphere-projects/microsphere-java
v0.1.5
What's Changed
Enhancement
Module microsphere-java-core
- [JSON] Added a comprehensive
escape
method inJSONUtils
to properly escape JSON strings, including control characters and special Unicode characters (\u2028
,\u2029
), and updated all relevant usages to use this method for safer JSON output. [1] [2] [3] - [JSON] Removed unused logger imports and related code from
JSONUtils
for simplification. [1] [2] [3] - [Collection] Improved the
addAll
method inCollectionUtils
by renaming parameters for clarity and adding a new overload that supports adding all elements from anIterable
, not just arrays. [1] [2] - [Collection] Added a new
ArrayStack
class, a non-thread-safe stack implementation based onArrayList
, providing standard stack operations (push
,pop
,peek
,empty
, andsearch
). - [Reflection] Added new static imports and constants to
MethodUtils
, including a new property name for banning methods via system properties, and improved documentation and usage examples for this feature. [1] [2] [3] [4]
Module microsphere-annotation-processor
- [Metadata] Enhanced the description resolution in
ConfigurationPropertyJSONElementVisitor
to fall back to the JavaDoc comment if the annotation's description attribute is blank. [1] [2] [3] - [Metadata] Added
MethodUtils
to the test classpath for annotation processor tests. [1] [2]
Full Changelog: 0.1.4...0.1.5
v0.1.4
What's Changed
Enhancement
Module microsphere-java-core
- [Metadata] Renamed
ConfigurationPropertyJSONGenerator
toConfigurationPropertyGenerator
- [Metadata] a new
BeanMetadata
class to encapsulate Java Bean metadata, and adding a configurable cache forBeanMetadata
inBeanUtils
. - [Metadata] Added a new
BeanMetadata
class to encapsulate Java Bean metadata, including property descriptors and bean class information, with utility methods for access and introspection. This provides a reusable and immutable representation of bean structure. - [Metadata] Renamed
DEFAULT_BEAN_PROPERTIES_MAX_RESOLVED_LEVELS
toDEFAULT_BEAN_PROPERTIES_MAX_RESOLVED_DEPTH
for clarity and consistency in configuration property naming. - [Beans] Enhanced
BeanUtils
with a configurable cache forBeanMetadata
instances, including new constants for cache size and property names, and a concurrent map for caching. This improves performance when repeatedly accessing bean metadata.
Module microsphere-annotation-processor
- [JSON] Renamed all references of
ConfigurationPropertyJSONGenerator
toConfigurationPropertyGenerator
inConfigurationPropertyAnnotationProcessor
andConfigurationPropertyJSONElementVisitor
, including imports, field names, comments, and method calls.
Full Changelog: 0.1.3...0.1.4
v0.1.3
What's Changed
Enhancement
- [JavaDoc] Enhanced the Javadoc with examples covering the core API or components
- [Document] Added DeepWiki Badge
Module microsphere-java-core
- [Annotation] Introduced a new Annotation -
@Immutable
and applied it on the nessessary targets - [Beans] Introduced a new Bean utilities class -
BeanUtils
- [Beans] Introduced a new Metadata class of configuration properties -
ConfigurationProperty
- [Metadata] Introduced some generator interfaces and classes -
ConfigurationPropertyJSONGenerator
,ConfigurationPropertyLoader
,DefaultConfigurationPropertyJSONGenerator
andReflectiveConfigurationPropertyJSONGenerator
Dependencies
- Bump junit-jupiter.version from 5.13.2 to 5.13.4
Module microsphere-annotation-processor
- [JSON] Changed the JSON scheme generated by the annotation processor of
ConfigurationProperty
Full Changelog: 0.1.2...0.1.3
v0.1.2
What's Changed
Enhancement
- [JavaDoc] Add the Javadoc with examples covering the core API or components
Module microsphere-java-core
- [Language] Introduced new API -
MutableInteger
- [Function] Introduced new convenience methods in
ThrowableSupplier
,ThrowableFunction
, andThrowableConsumer
- [Collection] Refactor the classes :
DefaultEntry
,EmptyDeque
,ImmutableEntry
,SingletonDeque
,UnmodifiableDeque
andUnmodifiableQueue
to be top-level - [Collection] Introduced new API -
DelegatingDeque
,DelegatingQueue
,ReversedDeque
,
Dependencies
- Update the
microsphere-build
from 0.1.0 to 0.2.0 - Bump junit-jupiter.version from 5.13.1 to 5.13.2
Full Changelog: 0.1.1...0.1.2
v0.1.1
What's Changed
Enhancement
- [Testing] Enhance testing coverage +11.05%
Module microsphere-java-core
- Adding the annotations :
@Nonnull
an.d@Nullable
. - Adding the
Converter
build-in classes. - Adding
ThrowableBiConsumer
andThrowableBiFunction
Module microsphere-annotation-processor
- Adding the SPI registration file for the Annotation processor.
- Generating
@ConfigurationProperty
metadata as the JSON content within the artifact's resource. - Refactoring several utility classes (TypeUtils, MethodUtils, MemberUtils, etc.) to improve modularity and maintainability.
- Updated tests in MethodHandleUtilsTest to cover the new failure handling behavior.
Dependencies
- Removing com.google.code.findbugs:jsr305
- Bump junit-jupiter.version from 5.12.2 to 5.13.1 #157
Full Changelog: 0.1.0...0.1.1
0.1.0
What's Changed
Bugfixes
- A lot of bugfixes
Enhancement
- [Testing] Enhance testing coverage #82
Dependencies
- Bump com.google.code.findbugs:jsr305 from 3.0.1 to 3.0.2 by @dependabot in #47
- Bump org.antlr:antlr4-runtime from 4.13.1 to 4.13.2 by @dependabot in #46
- Bump junit-jupiter.version from 5.8.2 to 5.12.1 by @dependabot in #118
Full Changelog: 0.0.9...0.1.0
0.0.9
What's Changed
- [Enhancement] Add an annotation indicating the component since version #38
- [Refactor] Change the logging level from DEBUG to TRACE for microsphere-java-core #39
- [Security] Bump ch.qos.logback:logback-classic from 1.2.12 to 1.2.13 in /microsphere-java-parent by @dependabot in #34
Full Changelog: 0.0.8...0.0.9
v0.0.8
What's Changed
- [Enhancement] Optimize the MethodUtils#findDeclaredMethod implementation #25
- [Feature] A new method to assert for String not empty and not blank #28
- [Feature] Add MethodDefinition #27
- [Enhancement] The class 'Version' supports serialization #30
- [Enhancement] Refactor Deprecation #31
- [Feature] Introduce a new definition class for Java Reflection Members #29
Full Changelog: 0.0.7...0.0.8
0.0.7
What's Changed
New API Introduced
New Annotation
@Experimental
: The marker annotation indicates a feature is experimental, it could be changed or even be removed in the future.
New Interface
Wrapper
: The Wrapper interface.DelegatingWrapper
: Delegating Wrapper.WrapperProcessor
: The Processor for Wrapper.
New Class
Deprecation
: The info class for deprecation.Assert
: The utility class for Assertion.
API Changed
BeanProperty
: Make the fields to be final
Full Changelog: 0.0.6...0.0.7
v0.0.6
What's Changed
- Feature remove apache commons by @mercyblitz in #10
- Update JarUtilsTest.java by @mercyblitz in #11
- [Optimization] Remove the third-party libararies by @mercyblitz in #13
- Feature compatible with jdk21 by @mercyblitz in #14 #15 #16 #17 #18 #19
New Contributors
- @mercyblitz made their first contribution in #6
Full Changelog: 0.0.5...0.0.6