Releases: MAIF/otoroshi
v17.4.0
Otoroshi version 17.4.0
https://github.com/MAIF/otoroshi/milestone/119?closed=1
v17.3.2...v17.4.0
https://github.com/MAIF/otoroshi/releases/tag/v17.4.0
Added
- Add JSON documentation generator for workflows (#2199 fixed by mathieuancelin)
- Add Markdown documentation generator for workflows (#2200 fixed by mathieuancelin)
- Add more operators (#2202 fixed by mathieuancelin)
- Plugin to assert that a consumer is present on a route (#2203 fixed by mathieuancelin)
- Plugin to validate basic auth. using an auth. module without the otoroshi proxy sso mode (#2204 fixed by mathieuancelin)
- Cookie manipulation plugins can now use expression language (#2207 fixed by mathieuancelin)
- Http Call data exporter (#2211 fixed by mathieuancelin)
- Workflow data exporter (#2212 fixed by mathieuancelin)
Changed
- Add documentation details in workflow APIs (#2198 fixed by mathieuancelin)
- Support host functions in WebAssembly written in JavaScript. (#2209 fixed by Zwiterrion)
- update bitnami/redis version for otoroshi helm chart (#2210 fixed by mathieuancelin)
Documentation
- Add documentation data for all core nodes/functions/operators (#2201 fixed by mathieuancelin)
- Remove Scripts from documentation (#2206 fixed by mathieuancelin)
Contributors
v17.3.2
Otoroshi version 17.3.2
https://github.com/MAIF/otoroshi/milestone/118?closed=1
v17.3.1...v17.3.2
https://github.com/MAIF/otoroshi/releases/tag/v17.3.2
Fixed
- Bad JMS data exporter parsing (#2197 fixed by mathieuancelin)
Contributors
v17.3.1
Otoroshi version 17.3.1
https://github.com/MAIF/otoroshi/milestone/117?closed=1
v17.3.0...v17.3.1
https://github.com/MAIF/otoroshi/releases/tag/v17.3.1
Added
- add a
value
node in workflow (#2195 fixed by mathieuancelin)
Fixed
- Map, FlatMap and Filter workflow nodes does not work as expected (#2193 fixed by mathieuancelin)
Documentation
- Add documentation for workflows (#2194 fixed by mathieuancelin)
Contributors
v17.3.0
Otoroshi version 17.3.0
https://github.com/MAIF/otoroshi/milestone/116?closed=1
v17.2.0...v17.3.0
https://github.com/MAIF/otoroshi/releases/tag/v17.3.0
Added
- secret vault expression can now have multiple values using the
||
and&&
operators (#2175 fixed by mathieuancelin) - add new notations in the EL to evaluate dates from EL expressions (#2177 fixed by mathieuancelin)
- Add file base functions to Workflows (#2178 fixed by mathieuancelin)
- expose workflows to all users (#2180 fixed by mathieuancelin)
- add expression language operator to workflows (#2181 fixed by mathieuancelin)
- error node in Workflows (#2182 fixed by mathieuancelin)
- wait node in Workflows (#2183 fixed by mathieuancelin)
- add syntax helper to apply EL more easily (#2184 fixed by mathieuancelin)
- Context validator plugin can use EL expressions (#2185 fixed by mathieuancelin)
- Apikey can be extracted from cookie value in
simple_id
mode (#2186 fixed by mathieuancelin) - Apikey can be extracted from cookie value in
basic_auth
mode (#2187 fixed by mathieuancelin) - Apikey can be extracted from path param value in
simple_id
mode (#2188 fixed by mathieuancelin) - Apikey can be extracted from path param value in
basic_auth
mode (#2189 fixed by mathieuancelin) - add
send_mail
function in workflow (#2191 fixed by mathieuancelin)
Fixed
- EL expression date(value).format('expr') does not format (#2176 fixed by Zwiterrion)
- workflow tester does not fill secrets (#2179 fixed by mathieuancelin)
- bad data binding for the robots.txt plugin (#2190 fixed by mathieuancelin)
- oom error let wasm vms unusable in certain circumstances (#2192 fixed by Zwiterrion)
Contributors
v17.2.0
Otoroshi version 17.2.0
https://github.com/MAIF/otoroshi/milestone/115?closed=1
v17.1.1...v17.2.0
https://github.com/MAIF/otoroshi/releases/tag/v17.2.0
Added
- zip bomb backend plugin (#2153 fixed by mathieuancelin)
- TCP data exporter (#2154 fixed by mathieuancelin)
- UDP data exporter (#2155 fixed by mathieuancelin)
- syslog data exporter (#2156 fixed by mathieuancelin)
- ForEach node for Workflows (#2157 fixed by mathieuancelin)
- Map node for Workflows (#2158 fixed by mathieuancelin)
- Filter node for Workflows (#2159 fixed by mathieuancelin)
- FlatMap node for Workflows (#2160 fixed by mathieuancelin)
- IfThenElse node for Workflows (#2161 fixed by mathieuancelin)
- JMS data exporter (#2162 fixed by mathieuancelin)
- Add
path_params
in request serialization of plugin contexts (#2163 fixed by mathieuancelin) - apikey can be extracted from a named path param (#2164 fixed by mathieuancelin)
- Router can now match routes based on cookie values (#2165 fixed by mathieuancelin)
- Router can now match routes based on the existance of a specific headers, query param, cookie (#2166 fixed by mathieuancelin)
- Router can now match routes based wether a specific headers, query param, cookie is missing (#2167 fixed by mathieuancelin)
- Add
IsDefined()
andNotDefined()
in JsonValidator operators (#2168 fixed by mathieuancelin) - Add
AccessValidator
plugin forWorkflow
(#2169 fixed by mathieuancelin) - Support chaining expressions in the global expression language (#2172 fixed by mathieuancelin)
Changed
- Add assignee mention in release notes (#2170 fixed by mathieuancelin)
- Sort data exporter alphabetically (#2171 fixed by mathieuancelin)
Fixed
- bad JWKs format (#2173 fixed by mathieuancelin)
- Default config. references an old ClientCredentials plugin (#2174 fixed by mathieuancelin)
Contributors
v17.1.1
Otoroshi version 17.1.1
https://github.com/MAIF/otoroshi/milestone/114?closed=1
v17.1.0...v17.1.1
https://github.com/MAIF/otoroshi/releases/tag/v17.1.1
Fixed
- ensure OpenAPI is always up to date when releasing otoroshi (#2152)
Contributors
v17.1.0
Otoroshi version 17.1.0
https://github.com/MAIF/otoroshi/milestone/113?closed=1
v17.0.0...v17.1.0
https://github.com/MAIF/otoroshi/releases/tag/v17.1.0
Added
- Migrate from proxy-wasm to a vanilla configuration for integrating Coraza. (#2134)
- New loadbalancing strategy: LeastConnections (#2142)
- New loadbalancing strategy: Power Of Two Random Choices (#2143)
- Add ServiceDescriptor migration logs for Kubernetes Ingress job (#2144)
- Support Route in the Kubernetes Ingress job (#2145)
- New canary mode plugin with autonomous rollout (#2146)
- Coraza can inspect input / output bodies separately (#2151)
Changed
Fixed
- CRDs import should warn user when importing ServiceDescriptors (#2130)
- Coraza only understand unsigned bytes for body payloads (#2150)
Contributors
v17.0.0
Otoroshi version 17.0.0
https://github.com/MAIF/otoroshi/milestone/112?closed=1
v16.24.0...v17.0.0
https://github.com/MAIF/otoroshi/releases/tag/v17.0.0
⚠️ Breaking changes ⚠️
there was some internal API breaking changes in Otoroshi 17.0.0. So if you're building plugins, you might need to adapt your code
- the type of
otoroshi.plugins.Keys.ExtraAnalyticsDataKey
is nowJsObject
instead ofJsValue
- the type of
otoroshi.plugins.Keys.GatewayEventExtraInfosKey
is nowJsObject
instead ofJsValue
- the type of
otoroshi.next.plugins.Keys.PreExtractedApikeyKey
is nowEither[(Option[ApiKey], Option[String]), ApiKey]
instead ofEither[Option[ApiKey], ApiKey]
- method
def template(version: String, params: Map[String, String], ctx: Option[ApiActionContext[_]] = None): JsValue
inotoroshi.api.ResourceAccessApi[T]
now takes an additionalctx: Option[ApiActionContext[_]] = None
param
New features
Otoroshi now introduces a new core entity: APIs. This feature marks a major step towards a more API Management–oriented experience by allowing users to manage their APIs as a whole, rather than configuring them route by route. With the API entity, you can define reusable backends, declare multiple plugin flows that can be applied across different paths, manage consumers and subscriptions, and track the state of an API throughout its lifecycle. This evolution unlocks powerful capabilities for building developer portals and brings Otoroshi closer to the expectations of a full-featured API Management platform.
APIs are now available is with alpha
tag. The documentation and tutorial are coming in next versions. Do not hesitate to provide feedback to make it a killer feature
Sunsetting Service Descriptors
For more than 2 years, after the rewrite of the proxy engine in v1.5.3, Service Descriptors has been deprecated.
Now (v17.0.0) it’s time to go ahead and provide some migration tools to help users getting rid of Service Descriptor in favor of routes before completely removing support of Service Descriptors in v18.0.0 (probably in 2026). Under the hood the new proxy engine already convert your Service Descriptors to Route in order to route traffic to your backends. The idea here is to remove the Service Descriptor entity in favor of the Route entity and let the user adapt their workflows and automations.
You can read more about it here
Added
- API entity with full lifecycle management (#2098)
- Support flows of plugins (#2101)
- Allow defining custom routes in API (#2102)
- Allow defining custom backends in API (#2103)
- Allow defining custom customers in API (#2104)
- Allow defining custom subscriptions in API (#2105)
- Expose full API health and metrics dashboard (#2106)
- Implement API state management (#2107)
- Investigate API deployment lifecycle management (#2108)
- Allow activating circuit breaker on a specific route only (#2111)
- Support target failover (#2113)
- Allow Expression Language to use private apps user tokens (#2115)
- Support JDK 24 (#2116)
- allow to select a specific api group in the admin api openapi descriptor (#2118)
- allow openapi to be consumed as yaml (#2119)
- Add extra information in GatewayEvent about apikey rejection reason (#2120)
- Add matched jwt verifier in GatewayEvents and attrs (#2124)
- ServiceDescriptor migration toolkit (#2125)
Changed
- Change the type of
otoroshi.plugins.keys.ExtraAnalyticsData
(#2126) - Change the type of
otoroshi.plugins.keys.GatewayEventExtraInfos
(#2127)
Fixed
- Admin API should not be served in worker mode (#2112)
- Scala schema fails on some SDK annotations (#2117)
Contributors
v16.24.0
Otoroshi version 16.24.0
https://github.com/MAIF/otoroshi/milestone/111?closed=1
v16.23.2...v16.24.0
https://github.com/MAIF/otoroshi/releases/tag/v16.24.0
Added
- CORS plugin: Accept * as Access-Control-Allow-Headers (#2099)
Changed
- enhance secret vaults doc (#2090)
- No Route data in GatewayEvent logs when a call is blocked by Otoroshi (#2092)
- Ensure correct tenant and teams are displayed when creating new entities (#2096)
- Ensure the correct tenant and teams are displayed when using 'Get from OIDC config' (#2097)
Fixed
- fix kubernetes vault implementation (#2091)
- pulsar connector cannot use basic or token auth. (#2110)
Documentation
- enhance secret vaults doc (#2090)
Contributors
v16.23.2
Otoroshi version 16.23.2
https://github.com/MAIF/otoroshi/milestone/109?closed=1
v16.23.1...v16.23.2
https://github.com/MAIF/otoroshi/releases/tag/v16.23.2
Added
- add sidebar category for WAF (#2084)
- upgrade coraza to use latest CRS (#2085)
- Allow extensions to use CodeInput (#2088)
Changed
- enhance WAF UI (#2087)
Fixed
- recursive call in the privateapp session manager (#2086)