Repository navigation
·
1 commit
to 08b9dcb7658eccc20a070068c55efeaa081b501f
since this release
New Features
apisJson: APIs.json 0.24 catalog includingserviceProxy/soapProxy, tags and tag rules, ETag andHEAD#3556- OpenAPI 3.1/3.2 validation:
unevaluatedPropertiesandprefixItems#3473 #3574 - WSDL validation of SOAP headers:
headers: none|bound|declaredandrequireBoundHeaders#3582 - Kafka and JMS:
kafkaProducer,kafkaConsumerandjmsProducer(withjmsConnection) via the Membrane Kafka/JMS Extensions #3519 #3533 #3601
Improvements
- OpenAPI: concrete paths match before templated ones,
405carries anAllowheader, parameter names may contain any character but braces, templates are compiled once at startup #3517 - OpenAPI: undeclared path template parameters log a warning instead of a
500;/api-docsgives clearer 404s and ignores the query in document ids #3523 #3510 #3591 - Global
xmlConfignamespaces apply to alllanguage: xpathplugins andwsSecurity#3542 - Groovy: built-in functions callable without
fn.(xpath('//id')) #3559 - XPath/JSONPath read XML/JSON sent as form data; clearer
chooseerrors; less log noise from the APItest#3450 - Production mode shows client-facing rejection details (
apiKey,cors,idempotency,jsonProtection,rateLimiterwithRetry-After,rewriter) and real 5xx reason phrases #3493 - Logging: request URIs moved to
debugand out of error details; XML parse errors go to SLF4J instead of stderr #3547 #3596 #3516 - Configuration: real YAML syntax errors instead of a
---hint; better editor validation viamembrane.schema.json#3576 #3600 #3605 #3608 #3610 - Runtime: shutdown/hot deploy poll every 1s instead of 5s; Docker image runs under
tini#3593 #3505 - Docs: examples migrated to tutorials (routing, WebSockets, HTTP proxy, plugin chains, basic auth, OpenAPI), cross-platform
curl, SpEL reference #3435 #3563 #3525 #3509 #3553
Fixes
- Routing: bracketed IPv6
Hostheaders, forward proxies bound to an IP,ConcurrentModificationExceptionon runtime proxy changes #3566 #3464 #3463 - Routing: regular expression paths anchored with
$match again; they no longer ignore a trailing slash #3622 - OpenAPI: nested server paths pick the longest match; validation uses the routing path (
//,;jsessionid) #3545 - OpenAPI validation: boolean schemas (
falsenow rejects),enum/constfor all types, media types withoutschema, JSON Pointer escaping, unanchoredpatternPropertiesin query parameters #3500 #3592 #3571 #3594 #3501 - WSDL validation: header part before body part, spurious
cvc-elt.1.aerrors with several schemas #3582 - Plugins:
accessLoglogsdefaultValueinstead ofnull; unreadable bodies insetHeader/setProperty/rateLimitergive400;rewriterwith templated base path;idempotencyrace;shadowingof already-read bodies;webServerindex files #3583 #3462 #3512 #3514 #3579 #3474 - HTTP: close-delimited responses no longer kept alive; HTTP/1 and HTTP/2 client pooling and shutdown races; timer-thread and file-handle leaks #3423 #3424 #3541 #3550 #3503 #3508
- YAML: a child given via
$refsatisfies a required child #3598
Security
- XXE hardening: message bodies parsed with the hardened XML parser in more places;
DOCTYPEcan no longer bypassxmlContentFilter#3520 - BouncyCastle 1.86 #3470
See 7.8.0.md for details and breaking changes
See MIGRATION-GUIDE.md for migration hints