Releases: rxmicro/rxmicro
Releases · rxmicro/rxmicro
RxMicro v0.11
- Add
ArgumentSupplier - Aggregate all possible config exceptions
- Add required
ConstraintParametersOrderannotation for constraint validators that contain two and more parameters - Add
TestRequestIdGenerator - Add description for
ModelExceptionErrorResponse - Add logger for tests
- Add
JDK6448699Bug(Workaround for https://bugs.openjdk.java.net/browse/JDK-6448699) - Disable logger for annotation processor
- Add
RX_MICRO_ANNOTATION_PROCESSOR_RUNTIMEparameter - Add multi module support
- Dependency updates:
guice: 4.2.3 -> 5.1.0guava: 30.1-jre -> 31.1-jrefreemarker: 2.3.30 -> 2.3.31maven-model: 3.6.3 -> 3.8.6junit: 5.7.0 -> 5.9.1junit-platform: 1.7.0 -> 1.9.1mockito: 3.6.28 -> 4.9.0dbunit: 2.7.0 -> 2.7.3wiremock: 2.27.2 -> 2.35.0netty: 4.1.56.Final -> 4.1.85.Finalrxjava: 3.0.9 -> 3.1.5projectreactor: 3.4.1 -> 3.5.0reactive streams: 1.0.3 -> 1.0.4reactor-netty: 1.0.2 -> 1.1.0mongo-driver: 4.1.1 -> 4.8.1r2dbc-spi: 0.8.3.RELEASE -> 1.0.0.RELEASEr2dbc-postgresql: 0.8.6.RELEASE -> 1.0.0.RELEASEr2dbc-pool: 0.8.5.RELEASE -> 1.0.0.RELEASE
- Source code tool updates:
spotbugs: 4.2.0 -> 4.4.2pmd: 6.30.0 -> 6.40.0checkstyle: 8.39 -> 9.1
RxMicro v0.9
- Add status code constants.
- Fix
Missing alias for expressionissue. - Add variable support for documentation annotations.
- Add JSON wrapper classes:
JsonObjectandJsonArray. - Add base url for
@BlockingHttpClientSettingsannotation. - Add UPPERCASE environment variables support for configs.
- Add config converter for
java.nio.file.Pathtype. - Add
autostream forSystemConsoleHandlercomponent. - Add
singleLineparameter forPatternFormattercomponent. - Add
forwardedHeaderNamesparameter forRestServerConfigclass. - Add
LoggerConfigSourcelogic that allows configuring the sources of the logger configuration. - Exclude
Request-Idheader from documentation:
Request-Idheader must be present for http response only! - Add
RX_MICRO_CONFIG_ENVIRONMENT_VARIABLE_PREFIXenvironment variable. - Refactor
AsMapConfigclass. - Add
@StartsWithconstraint. - Add
@EndsWithconstraint. - Add params and headers support for the
@SimpleErrorResponseannotation. - Refactor custom exception classes:
The RxMicro framework generates ModelWriters and validators for custom exception types instead of using overridden methods!
RxMicro v0.8
- Introduce
@StaticResourcesannotation. - Fix
Deterministic96BitsRequestIdGenerator. - Set
JdkLoggerFactory.INSTANCEas default logger factory for netty. - Update
HttpServerConfigclass. - Add default implementation for
HttpErrorResponseBodyBuilder. - Update dependency hierarchy: now
rxmicro.runtimemodule depends onrxmicro.configone. - Add
LoggerEventandLoggerEventBuilderinterfaces that must be used to build logger event with custom data. - Introduce
rxmicro.netty.runtimemodule. - Add ability configuring the netty event loop groups.
- Rename
rxmicro.filesmodule torxmicro.resourceone. - Remove
rxmicro.http.clientandrxmicro.http-client.jdkmodules. - Moves logic from
rxmicro.http.clientandrxmicro.http.client.jdktorxmicro.rest.clientandrxmicro.http.rest.jdkmodules. - Rename
ClientHttpResponseinterface toHttpResponseone. - Provide a separate jdk http client for test environment:
Now it is not necessary to addrxmicro.http.rest.jdkdependency to test scope if rest based or integration test will be written! - Remove unsupported void promises for
rxmicro.rest.server.nettymodule. - Introduce
rxmicro.rest.client.nettymodule. - Dependency updates:
guava: 30.0-jre -> 30.1-jrenetty: 4.1.55.Final -> 4.1.56.Finalrxjava: 3.0.8 -> 3.0.9
- Source code tool updates:
checkstyle: 8.38 -> 8.39
RxMicro v0.7.4
- Add unit tests and remove redundant code
- Refactor
rxmicro-jsonmodule:
It must support test suites from https://github.com/nst/JSONTestSuite - Add
SystemErrinterface. - Add
assertSystemOutContainsandassertSystemErrContainsassert methods. - Refactor
LoggerImplProviderFactory:resetLoggerImplFactorymethod recreatesJULLoggerImplProviderinstance. - Add missing methods for
Loggerinterface. - Update
DeniedPackageConstants. - Refactor
PatternFormatter:
if providedpatterninvalid, thePatternFormatterwill use default pattern instead of throwing an exception. - Introduce
rxmicro.reflectionmodule
RxMicro v0.7.3
- Refactor predefined request id generators: introduce the following generators:
UUID_128_BITSRANDOM_96_BITSPARTLY_RANDOM_96_BITSDETERMINISTIC_96_BITSDEFAULT_96_BIT
- Introduce
validatemethod for any config classes. - Dependency updates:
netty: 4.1.54.Final -> 4.1.55.Finalrxjava: 3.0.7 -> 3.0.8projectreactor: 3.4.0 -> 3.4.1
- Source code tool updates:
spotbugs: 4.1.4 -> 4.2.0pmd: 6.29.0 -> 6.30.0checkstyle: 8.37 -> 8.38
RxMicro v0.7.2
- Add
NettyRestServerConfigCustomizerandNettyConfiguratorBuilderclasses.
(SoNettyRestServerConfigmust be used for environment specific configs and
NettyRestServerConfigCustomizermust be used for application specific configs). - Add support for custom types that now can be used as valid config parameter type.
- Update
SystemOutImpllogic
(SystemOutImplmust print all messages to the original console and must store it to the local cache for future comparison!) - Fix
TestedProcessProxyimplementation. - Add an inheritance support for REST controller models
(REST clients and entity converters still does not support an inheritance. It will be implemented later):RequestModelReader;RequestModelFromJsonConverter;RequestValidator;ResponseModelWriter;ResponseModelToJsonConverter;ResponseValidator;
- Add additional validators:
java.util.Map<String, ?>model must be supported for HTTP body only!@RepeatQueryParametercan be applied to REST client request only!
- Fix path builder issue: now
/${a}/${b}and/${b}/${a}resolved as different paths. - Add
rxmicro-annotation-processor-configmodule, that contains public classes that used as configuration for
theRxMicro Annotation Processor. - Fix the
RxMicro Annotation Processorlogger. - Add useful
DEBUGlog messages for theRxMicro Annotation Processor. - Add useful
INFOlog messages for theRxMicro Test Annotation Processor. - Fix
modelReadAccessorTypeissue. - Fix
rxmicro-test-dbunitmodule issues:setCurrentDatabaseConnection()must release previous connection if found;TestDatabaseConfigthreadLocal variable must save copy of the globalTestDatabaseConfiginstance;sharedDatabaseConnection(connection for all tests in project) must be implemented correctly;
- Add
JsonFactory.orderedJsonObject()method that allows comparing two JSON objects with unordered properties. - Add
TYPEVARvalidation. - Add
InterruptProcessingBecauseAFewErrorsFoundExceptionthat must be used to interrupt processing if any errors found. - Refactor
integration.testmodule:- Add
@ExcludeExampleannotation; - Add
@IncludeExampleannotation; - Add
ExampleWithErrorcontract that allows setting the error messages at example source code as line comment. - Add
shouldThrowCompilationErrormethod that simplifies the failed compilation test writing.
- Add
- Fix
JsonReadercomponent:
the previous version did not supportnullvalues, thus the following JSON{"value": null}couldn't be parsed. - Rename
addOptiontosetOptionsfor SQL database config classes.
RxMicro v0.7.1
- Dependency updates:
guava: 29.0-jre -> 30.0-jremockito: 3.5.13 -> 3.6.28google compile-testing: 0.18 -> 0.19netty: 4.1.52.Final -> 4.1.54.Finalrxjava3: 3.0.6 -> 3.0.7projectreactor: 3.3.10.RELEASE -> 3.4.0mongodb-driver-reactivestreams: 4.1.0 -> 4.1.1mongodb-driver-core: 4.1.0 -> 4.1.1bson: 4.1.0 -> 4.1.1r2dbc-spi: 0.8.2.RELEASE -> 0.8.3.RELEASEr2dbc-postgresql: 0.8.5.RELEASE -> 0.8.6.RELEASEr2dbc-pool: 0.8.4.RELEASE -> 0.8.5.RELEASE
- Source code tool updates:
spotbugs: 4.0.3 -> 4.1.4pmd: 6.23.0 -> 6.29.0checkstyle: 8.32 -> 8.37
RxMicro v0.7
- Add support for
${on-conflict-update-inserted-columns}SQL variable. - Add support for
${returning-columns}SQL variable. - Add support for
java.util.Map<java.lang.String, ?>type for REST models. - Introduce
strict modefor theRxMicro Annotation Processor.
(This mode activates additional checks during compile time). - Add support for
java.util.SetREST model containers. - Add validators for
java.util.Map<java.lang.String, ?>andjava.util.Settypes. - Add
AsMapConfigbasic class that supports dynamic configurations. - Add transaction rollback factory methods.
- Fix for
loadPropertiesmethod. - Add support for
nullvalues (Insert and update repository methods now support null parameters and entities with null values). - Add an analyzer for custom exception types.
- Introduce Mongo Config and PostgreSQL config customizers.
(So?Configmust be used for environment specific configs and?ConfigCustomizermust be used for application specific configs). - Add auto registration feature for enum codecs for Postgres R2DBC driver.
- Add support collections for configs.
- Fix the logger module.
- Add
PatternFormatterfor logger module. - Add missing unit tests for converters.
- Refactor
JsonNumberclass. (Previous version did not matchjava.lang.Numbercontract). - Add length and nullable params for
@Columnannotation. - Introduce
@AllowEmptyStringconstraint. - Add not empty string validator.
- Add validator for
@VariableValues. - Add
@ExpectedUpdatedRowsCountannotation that enables validation for updated rows count during DML operation,
like Insert, Update and Delete. - Add delete all rule.
- Add
RequestIdSuppliercontract that allows tracing user request. - Add integration with DbUnit.
- Add expression support for dbunit datasets.
- Introduce
BaseModelclass. - Introduce
enableAdditionalValidationslogic. - Introduce
RX_MICRO_RUNTIME_STRICT_MODEenvironment variable that activates additional checks in runtime.
(Fordevandstagingenvironments only!)
RxMicro v0.6
- Add an ability to customize the standard error response.
- Add
@Resourcecdi annotation to inject resources. - Dependency updates:
junit: 5.6.2 -> 5.7.0mockito: 3.3.3 -> 3.5.13netty: 4.1.50.Final -> 4.1.52.Finalrxjava: 3.0.4 -> 3.0.6projectreactor: 3.3.5.RELEASE -> 3.3.10.RELEASEmongodb-driver-reactivestreams: 4.0.3 -> 4.1.0mongodb-driver-core: 4.0.3 -> 4.1.0bson: 4.0.3 -> 4.1.0r2dbc-spi: 0.8.1.RELEASE -> 0.8.2.RELEASEr2dbc-postgresql: 0.8.2.RELEASE -> 0.8.5.RELEASEr2dbc-pool: 0.8.2.RELEASE -> 0.8.4.RELEASEjunit-platform-commons: 1.6.2 -> 1.7.0
- JDK 15 Support.
RxMicro v0.5
- Update spotbugs, PMD and checkstyle rules.
- Rename
io.rxmicro.test.junit.BeforeTest->io.rxmicro.test.junit.BeforeThisTest. - Dependency updates:
netty: 4.1.49.Final -> 4.1.50.Finalrxjava3: 3.0.2 -> 3.0.4projectreactor: 3.3.4.RELEASE -> 3.3.5.RELEASEmongodb-driver-reactivestreams: 4.0.2 -> 4.0.3mongodb-driver-core: 4.0.2 -> 4.0.3bson: 4.0.2 -> 4.0.3r2dbc-postgresql: 0.8.1.RELEASE -> 0.8.2.RELEASEr2dbc-pool: 0.8.1.RELEASE -> 0.8.2.RELEASEspotbugs: 4.0.2 -> 4.0.3pmd: 6.23.0 -> 6.24.0