Skip to content

v7.0.6

Choose a tag to compare

@rrayst rrayst released this 15 Jan 16:01
· 1 commit to bfad44f465fe4bc3ce459b66d911b0346cb587d4 since this release

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, and xmlSessionIdExtractor.
  • Format for internal APIs has changed from internal:<name> to internal://<name>
  • The attribute log/@headerOnly has been removed. Use log/@Body instead.
  • Groovy variable bindings changed. headers now references Map<String,Object> instead of Headers .
  • SpEL header handling changed. headers.foo returns a comma separated list of all values for that header.
  • header['x-unknown'] returns null instead of an empty string.
  • JMX ObjectName format changed to io.membrane-api:00=routers, name=
  • The accessControl ACL 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 configuration element.