v7.0.6
Membrane 7.0.6
The introduction of the new YAML configuration is the major change in Membrane 7. It makes defining APIs and gateway features simpler and faster. Autocompletion provides a smooth workflow, and the new tutorials serve as ready to use templates and reference material.
Membrane’s architecture has been modernized and streamlined.
The XML configuration remains supported and most of the existing proxies.xml configurations should still work. Depending on the features used some adjustments are needed.
New Features
- Enhanced YAML configuration
- Tutorials
- Colored logging
- Harmonized scripting functions
Breaking Changes
For migrating from Membrane 6 to Membrane 7 refer to the Migration Guide
- Removed legacy interceptors:
gateKeeperClient,wadl, andxmlSessionIdExtractor. - Format for internal APIs has changed from
internal:<name>tointernal://<name> - The attribute
log/@headerOnlyhas been removed. Use log/@Body instead. - Groovy variable bindings changed.
headersnow referencesMap<String,Object>instead ofHeaders. - SpEL header handling changed.
headers.fooreturns a comma separated list of all values for that header. header['x-unknown']returnsnullinstead of an empty string.- JMX ObjectName format changed to
io.membrane-api:00=routers, name= - The
accessControlACL is now defined inline in the YAML/XML configuration (no external acl.xml), and ACL rules no longer support URI/path matching. They match only by peer IP/CIDR (IPv4/IPv6) or hostname (regex), with first-match-wins and default deny. - Router settings are now configured via the
configurationelement.