Releases: microsphere-projects/microsphere-java
Releases · microsphere-projects/microsphere-java
Release list
v0.1.5
What's Changed
Enhancement
Module microsphere-java-core
- [JSON] Added a comprehensive
escapemethod inJSONUtilsto 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
JSONUtilsfor simplification. [1] [2] [3] - [Collection] Improved the
addAllmethod inCollectionUtilsby 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
ArrayStackclass, 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
ConfigurationPropertyJSONElementVisitorto fall back to the JavaDoc comment if the annotation's description attribute is blank. [1] [2] [3] - [Metadata] Added
MethodUtilsto 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
ConfigurationPropertyJSONGeneratortoConfigurationPropertyGenerator - [Metadata] a new
BeanMetadataclass to encapsulate Java Bean metadata, and adding a configurable cache forBeanMetadatainBeanUtils. - [Metadata] Added a new
BeanMetadataclass 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_LEVELStoDEFAULT_BEAN_PROPERTIES_MAX_RESOLVED_DEPTHfor clarity and consistency in configuration property naming. - [Beans] Enhanced
BeanUtilswith a configurable cache forBeanMetadatainstances, 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
ConfigurationPropertyJSONGeneratortoConfigurationPropertyGeneratorinConfigurationPropertyAnnotationProcessorandConfigurationPropertyJSONElementVisitor, 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 -
@Immutableand 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,DefaultConfigurationPropertyJSONGeneratorandReflectiveConfigurationPropertyJSONGenerator
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,UnmodifiableDequeandUnmodifiableQueueto be top-level - [Collection] Introduced new API -
DelegatingDeque,DelegatingQueue,ReversedDeque,
Dependencies
- Update the
microsphere-buildfrom 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 :
@Nonnullan.d@Nullable. - Adding the
Converterbuild-in classes. - Adding
ThrowableBiConsumerandThrowableBiFunction
Module microsphere-annotation-processor
- Adding the SPI registration file for the Annotation processor.
- Generating
@ConfigurationPropertymetadata 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