2024-09-17
Security | Upgrade undertow version to 2.3.17.Final (CVE-2024-7885) |
Improved | Replace deprecated Bucket4J usage with new API |
Improved | Upgrade dependencies |
2024-06-27
Security | Upgrade undertow version to 2.3.14.Final (CVE-2024-6162) |
Improved | Upgrade dependencies |
2024-05-01
Security | Upgrade guava version to 32.0.1 (CVE-2023-2976 & CVE-2020-8908) |
Fixed | Force close BlockingHttpExchange |
Improved | Upgrade dependencies |
2024-03-10
New | Simplified URL variable |
Improved | Upgrade dependencies |
2024-01-02
New | Add ClassMethodUtils class |
Fixed | Constants PARENTHESIS_OPEN and PARENTHESIS_CLOSE are no longer inverted |
Improved | Error page (dev mode): display filename & partial content |
Improved | Upgrade dependencies |
2023-12-05
Security | Upgrade logback-classic version to 1.4.14 (CVE-2023-6378) |
2023-11-23
Fixed | Fix SQLDialect detection KO (jOOQ) |
Fixed | Fix can't override Hibernate dialect |
2023-10-19
New | Add KryoUtils class |
New | Add new method ClassResolverUtils::isClassAvailable |
New | Add new Kryo serializers |
New | Add MockitoUtils class (spy lambda) |
Fixed | Application must shutdown on "start" lifecycle failure |
Fixed | H2 web console fail to start because password not encoded |
Improved | AbstractCacheEngine now using KryoUtils |
Improved | Add TypedMap static "constructor" methods |
Improved | Redis ACL authentication (username/password) |
Improved | Upgrade dependencies |
2023-09-11
New | REST Client authentication (API Key, Basic, Bearer) |
Improved | New constant values: CharConstants.EXCLAMATION_MARK , CharConstants.PIPE , StringConstants.EXCLAMATION_MARK and StringConstants.PIPE |
Improved | Upgrade dependencies |
2023-07-13
New | AspectJ |
New | REST client |
New | Bucket4J (rate-limiting) |
New | Add ConfigurationUtils class |
Improved | Upgrade dependencies |
Improved | New constant value: CharConstants.TAB and StringConstants.TAB |
2023-16-16
Improved | Add exception AppLauncherException.ModuleConstructorNotFound |
2023-05-18
New | Proxyable interface |
New | H2 web console |
Fixed | Guice module implementing interface not recognized |
Improved | Bind automatically interface with single implementation |
Improved | Updated version of all dependencies |
2023-04-12
Security | Upgrade Undertow version to 2.3.5 (CVE-2022-4492) |
New | Conditional feature RunInDevModeConditionalFeature |
New | Sendmail module |
New | Sendmail module implementation Apache Commons Email |
New | Add @CachePut annotation |
Fixed | Transactional annotation multiple calls |
Improved | Javadoc |
Improved | HttpClient is now used instead of raw URL connection (Remote Configuration) |
Improved | Result: method badRequest(final String content, final String contentType) |
Improved | Updated version of all dependencies |
2023-02-24
Fixed | HTTP webserver graceful shutdown not honored |
2023-02-11
New | Web module can now respond to requests securely via HTTPS |
New | NotInstance validation constraint |
New | Utility class DurationUtils |
Improved | Graceful stop timeout is now a duration (with time unit) |
Improved | Commercial at "@" constant now available in CharConstants and StringConstants classes |
Improved | Annotation RequestVariable can now use fallback value |
Improved | Updated version of all dependencies |
2023-01-07
Fixed | JavaScript i18n reverse routing name (js_i18n ) |
2023-01-02
New | CUID validator |
New | Internationalization for JavaScript |
New | Conditional feature |
Improved | Http Result methods now accept charset |
Improved | Rename bindable annotation from @BindClass to @Bindable |
Improved | Clean thread data (Transactional) |
Improved | Updated version of all dependencies |
2022-12-05
New | Guice module prioritisation |
New | jOOQ module |
New | Web context path is now customizable (voidframework.web.contextPath ) |
Improved | Deserialization: Unknown enum value to null |
Improved | Scheduler "run once" mode |
Improved | Static files/webjars controller: add route name (static_file and static_webjar ) |
Improved | Updated version of all dependencies |
2022-11-14
Fixed | NullPointerException when requested config is null on FreeMarker |
2022-11-07
Fixed | NullPointerException if header Accept-Language not provided |
2022-11-07
Security | Upgrade Jackson Databind version to 2.14.0 (CVE-2022-42003) |
New | WebSocket support |
New | Can configure temporary files location (voidframework.web.server.tempFileLocation ) |
New | Mockito annotation support |
New | CUID: a Collision-resistant Unique ID |
New | Add HttpHeaderNames class |
New | Virtual File Storage |
New | No HTTP request timeout (voidframework.web.server.idleTimeout ) |
Fixed | The abbreviation of "december" is now correct (scheduler) |
Fixed | "Day of Week" and "Month" can't be zero (Scheduler) |
Fixed | Redis methods addInList , getFromList and decrement now working correctly |
Fixed | Force close all InputStream of uploaded files |
Fixed | Can use template-freemarker without web |
Improved | Configuration Key/Value from CLI JVM properties (-D flag) |
Improved | Annotation @RequestVariable can now retrieve array |
Improved | Move cache annotations to subpackage annotation |
Improved | Use wrap/unwrap on Memory cache engine |
Improved | Updated version of all dependencies |
Improved | Redis parameter connectionTimeout is now a duration |
Improved | Rename all utility classes |
Improved | Add new redirection methods on Result |
Improved | HttpRequestBodyContent::asRaw is now an InputStream |
Improved | Redis::addInList now return the current list size |
Improved | ValidationError is now a record |
2022-09-15
Fixed | The "Modules loaded" log is displayed too early |
Fixed | Remove unused "GlobalFilterDefinition" interface |
Improved | Add converter String to Locale (Web). Used to extract Locale from incoming request (route path or query parameter) |
2022-09-05
Security | Upgrade Undertow version to 2.2.19 (CVE-2022-2053) |
New | Add SecurityHeadersFilter |
New | Add unit test JUnit extension and annotation |
New | Add ability to fetch remote configuration provider & "etcd" remote configuration provider |
New | Add "http" remote configuration provider |
New | Add CharConstants & StringConstants classes |
Improved | Force EntityManagerFactory initialization during boot sequence |
Improved | Add new Result methods to handle empty content easily |
Improved | Validation constraints can be grouped |
Improved | Clean code |
Improved | Better boolean support (Freemarker / config) |
Improved | Refactoring module "web" (move files, new constant values, unit tests) |
Improved | Updated version of all dependencies |
2022-08-02
Fixed | EntityManagerFactory don't find models on multiple-jars project |
2022-07-24
Fixed | Error 500 CSRF when POST request render template |
Improved | Change CSRF signature algorithm to HMACSHA256 |
2022-07-22
New | Methods on Reflection util class: getAnnotatedField(Object, Class) and getAnnotatedField(Class, Class) |
New | Configuration keys to define number of I/O and Worker threads (Web) |
New | Redis (base + cache + healthcheck) |
New | CSRF token |
Fixed | Cookie revocation not working |
Fixed | C3P0/HikariCP settings |
Fixed | Issue on routes sorting when regex and capture regex are used |
Fixed | Assets not found when devMode=false |
Fixed | Hibernate : Models not found when application is compiled |
Improved | No longer necessary for HealthChecker to be Singleton |
Improved | Add cache abstraction helper |
Improved | Session signature key configuration is now required |
Improved | Rename ApplicationLauncher to VoidApplication |
Improved | Updated version of all dependencies |
2022-07-08
New | Ability to retrieve XML body content as Java object |
Fixed | Removed I18N reference from Hibernate module |
Fixed | Transactional annotation : rollback not occur on unchecked exception |
Fixed | Routes are randomly sorted |
Improved | Cache management : rename the annotation Cache to CacheResult and add CacheRemove |
2022-07-02
Initial release