Repository navigation
Releases
Releases · enkan/enkan
v0.15.1
What's Changed
- fix: remove spurious routing dependency from JooqDslContextMiddleware by @kawasima in #176
- build(deps): bump tools.jackson.core:jackson-databind from 3.1.1 to 3.1.4 by @dependabot[bot] in #180
- build(deps): bump io.opentelemetry:opentelemetry-api from 1.60.1 to 1.62.0 in /enkan-component-opentelemetry by @dependabot[bot] in #178
- build(deps): bump org.thymeleaf:thymeleaf from 3.1.3.RELEASE to 3.1.5.RELEASE in /enkan-component-thymeleaf by @dependabot[bot] in #177
- build(deps): bump ch.qos.logback:logback-core from 1.5.32 to 1.5.33 in /docs by @dependabot[bot] in #181
- build(deps): bump ch.qos.logback:logback-core from 1.5.33 to 1.5.35 in /docs by @dependabot[bot] in #182
New Contributors
- @dependabot[bot] made their first contribution in #180
Full Changelog: v0.15.0...v0.15.1
v0.15.0
What's Changed
- feat: configurable graceful shutdown for Jetty and Undertow by @kawasima in #123
- feat: add COEP and Permissions-Policy to SecurityHeadersMiddleware by @kawasima in #136
- feat: add HostCookie and SecureCookie as sealed subclasses of Cookie by @kawasima in #137
- feat: add RFC 8941 Structured Fields parser and serializer by @kawasima in #138
- feat: add Idempotency-Key middleware for safe POST/PATCH retries by @kawasima in #139
- feat: add CspNonceMiddleware and Reporting-Endpoints support by @kawasima in #140
- feat: add FetchMetadataMiddleware for Resource Isolation Policy by @kawasima in #141
- feat: replace ForwardedSchemeMiddleware with RFC 7239-compliant ForwardedMiddleware by @kawasima in #142
- feat: SSE support with JobExecutor and StreamingBody (#130) by @kawasima in #143
- fix: remove maven-invoker to eliminate javax.inject leak (#144) by @kawasima in #145
- feat: add RequestTimeoutMiddleware by @kawasima in #146
- fix: make timeoutMillis and timeoutStatus volatile by @kawasima in #147
- feat: add CRaC support via EnkanSystem.registerCrac() by @kawasima in #153
- fix(graalvm): pre-generate WebSessionAvailable mixin to fix native image crash by @kawasima in #154
- fix(graalvm): support ValidateBodyMiddleware in native image by @kawasima in #155
- feat(graalvm): auto-register controller parameter and return types for reflection by @kawasima in #156
- feat: JPMS support — resolve split packages, add module-info.java, rewrite shouldSkipType by @kawasima in #157
- fix(graalvm): walk superclass hierarchy for unnamed @Inject fields in NativeComponentInjector by @kawasima in #158
- feat(graalvm): auto-register all META-INF/services SPI implementations for reflection by @kawasima in #159
- feat: adopt Java 21–25 language features (closes #160) by @kawasima in #161
- feat: add WebSocket application support for Jetty (closes #134) by @kawasima in #162
- feat(rfc9530): implement RFC 9530 Digest Fields for Jetty and Undertow by @kawasima in #163
- refactor: move adapter classes into component packages (Jetty + Undertow) by @kawasima in #165
- feat: RFC 9421 HTTP Message Signatures + shared crypto layer + JWT processor by @kawasima in #166
- Refactor enkan-web digest/signature HTTP field package boundaries by @kawasima in #167
- feat(devel): /init command — AI-powered Enkan project generator by @kawasima in #170
- feat(init): jOOQ+Raoh default, reference patterns, pre-flight checks, REPL connect fix by @kawasima in #172
- release: v0.15.0 by @kawasima in #174
Full Changelog: v0.14.1...v0.15.0
v0.14.1
What's Changed
- fix: improve cookie RFC 6265 compliance by @kawasima in #98
- fix: make ComponentInjector classloader-safe for hot-reload by @kawasima in #99
- fix: use Charset-based comparison for Accept-Charset negotiation by @kawasima in #107
- fix: prefer specific media types over wildcards at same q value (RFC 9110 §12.5.1) by @kawasima in #113
- fix: prevent NPE in bestAllowedEncoding when wildcard is absent by @kawasima in #114
- fix: add reverse prefix matching for Accept-Language (RFC 4647 §3.4) by @kawasima in #115
- feat: add opt-in charset/encoding negotiation to ContentNegotiationMiddleware by @kawasima in #116
- fix: add 308 Permanent Redirect to AbsoluteRedirectsMiddleware by @kawasima in #117
- feat: add HTTP-date parsing, ETag utilities, a F438 nd conditional request middleware by @kawasima in #118
- build: upgrade EclipseLink from 4.0.9 to 5.0.0 by @kawasima in #119
- fix: add null safety to MicrometerComponent metric cleanup by @kawasima in #120
Full Changelog: v0.14.0...v0.14.1
v0.14.0
What's Changed
- Make hibernate-validator optional and harden MisconfigurationException by @kawasima in #67
- fix: Use RFC1123 (GMT) format for Cookie Expires attribute per RFC 6265 by @kawasima in #76
- fix: Echo request Origin in ACAO header instead of joining all origins (RFC 6454) by @kawasima in #77
- fix: Wrap appendReplacement with Matcher.quoteReplacement in CodecUtils by @kawasima in #78
- fix: Replace multipart boundary regex with parameter-list parsing (RFC 2046 §5.1) by @kawasima in #79
- fix: Validate Access-Control-Max-Age is non-negative (Fetch spec §3.2.1) by @kawasima in #80
- fix: Add charset to application/json and related content types (RFC 7231 §3.1.1.2) by @kawasima in #81
- fix: align RE_COOKIE_OCTET with RFC 6265 §4.1.1 to exclude backslash by @kawasima in #82
- docs: document redirect status code method-change semantics per RFC 7231 by @kawasima in #83
- feat: Auto-connect ReplClient from .enkan-repl-port file by @kawasima in #84
- perf: Eliminate Stream allocations in Env getters by @kawasima in #87
- feat: Add optional Virtual Thread support to JettyComponent (#88) by @kawasima in #90
- feat: GraalVM Native Image support by @kawasima in #91
- chore: update LICENSE from EPL 1.0 to EPL 2.0 by @kawasima in #92
- feat: add Micrometer metrics module (replaces Dropwizard Metrics) by @kawasima in #93
- chore: release quality improvements by @kawasima in #94
- test/docs: add comprehensive test coverage and Javadoc for public API by @kawasima in #95
- refactor: remove mockito from kotowari-jpa and enkan-servlet by @kawasima in #96
- docs: update README and docs for release readiness by @kawasima in #97
Full Changelog: v0.13.0...v0.14.0
v0.13.0
What's Changed
New Features
- feat: Support constructor injection for controllers
- feat: Implement WebSocket transport for REPL server
Performance Improvements
- IMP-034: Pre-mixed request factory to eliminate per-request proxy creation
- IMP-035: Use Class-File API (JEP 484) for pre-mixed request factory
- IMP-036: Reduce per-request string processing and allocation overhead
- Replace Method.invoke() with cached MethodHandle in MixinUtils proxy
- Cache injector mapping per controller method
- Optimize content negotiation caching and MixinUtils proxy creation
- Optimize hot-path allocations in middleware chain
Bug Fixes
- fix: Enhance ControllerInvokerMiddleware to handle ClassLoader mismatches for method invocations
- fix: Improve 🍥Named error when no matching component type exists
- fix: Fix parameter injection bugs
Other Changes
- Update Java version requirement to 25
- Add Enkan vs Spring Boot benchmark suite
Full Changelog: v0.12.0...v0.13.0
v0.12.0
v0.11.0
Release v0.9.0
- Compatible JDK12
- Fix the problem in REPL
- Fix the vulnerability in dependencies