Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions content/changelog/2026/01-30-otoroshi-17.12.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: Otoroshi 17.12 is available with JWT Verification, new WAF engine and plugin improvements

Check notice on line 2 in content/changelog/2026/01-30-otoroshi-17.12.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/changelog/2026/01-30-otoroshi-17.12.md#L2

[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.", "location": {"path": "content/changelog/2026/01-30-otoroshi-17.12.md", "range": {"start": {"line": 2, "column": 41}}}, "severity": "INFO"}
description: JWT verification via OIDC with session extraction, JVM-native WAF engine with OWASP CRS, plugin development enhancements and LLM extensions updates

Check notice on line 3 in content/changelog/2026/01-30-otoroshi-17.12.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/changelog/2026/01-30-otoroshi-17.12.md#L3

[Google.Acronyms] Spell out 'OIDC', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'OIDC', if it's unfamiliar to the audience.", "location": {"path": "content/changelog/2026/01-30-otoroshi-17.12.md", "range": {"start": {"line": 3, "column": 35}}}, "severity": "INFO"}

Check notice on line 3 in content/changelog/2026/01-30-otoroshi-17.12.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/changelog/2026/01-30-otoroshi-17.12.md#L3

[Google.Acronyms] Spell out 'JVM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'JVM', if it's unfamiliar to the audience.", "location": {"path": "content/changelog/2026/01-30-otoroshi-17.12.md", "range": {"start": {"line": 3, "column": 65}}}, "severity": "INFO"}

Check notice on line 3 in content/changelog/2026/01-30-otoroshi-17.12.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/changelog/2026/01-30-otoroshi-17.12.md#L3

[Google.Acronyms] Spell out 'OWASP', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'OWASP', if it's unfamiliar to the audience.", "location": {"path": "content/changelog/2026/01-30-otoroshi-17.12.md", "range": {"start": {"line": 3, "column": 92}}}, "severity": "INFO"}

Check notice on line 3 in content/changelog/2026/01-30-otoroshi-17.12.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/changelog/2026/01-30-otoroshi-17.12.md#L3

[Google.Acronyms] Spell out 'CRS', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'CRS', if it's unfamiliar to the audience.", "location": {"path": "content/changelog/2026/01-30-otoroshi-17.12.md", "range": {"start": {"line": 3, "column": 98}}}, "severity": "INFO"}
date: 2026-01-30
tags:
- addons
- otoroshi
authors:
- name: SΓ©bastien Allemand
link: https://github.com/allemas
image: https://github.com/allemas.png?size=40
- name: David Legrand
link: https://github.com/davlgd
image: https://github.com/davlgd.png?size=40
excludeSearch: true
---

[Otoroshi v17.12](https://github.com/MAIF/otoroshi/releases/tag/v17.12.0) is available with multiple improvements. It brings JWT verification support based on the settings of an OIDC authentication module with optional user session extraction through OIDCJwtVerifier. The release also allows Fail2Ban to be triggered by other plugins that can't use the `requestError` phase.

Check notice on line 18 in content/changelog/2026/01-30-otoroshi-17.12.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/changelog/2026/01-30-otoroshi-17.12.md#L18

[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.", "location": {"path": "content/changelog/2026/01-30-otoroshi-17.12.md", "range": {"start": {"line": 18, "column": 126}}}, "severity": "INFO"}

Check notice on line 18 in content/changelog/2026/01-30-otoroshi-17.12.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/changelog/2026/01-30-otoroshi-17.12.md#L18

[Google.Acronyms] Spell out 'OIDC', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'OIDC', if it's unfamiliar to the audience.", "location": {"path": "content/changelog/2026/01-30-otoroshi-17.12.md", "range": {"start": {"line": 18, "column": 179}}}, "severity": "INFO"}

Check notice on line 18 in content/changelog/2026/01-30-otoroshi-17.12.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/changelog/2026/01-30-otoroshi-17.12.md#L18

[Google.Passive] In general, use active voice instead of passive voice ('be triggered').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('be triggered').", "location": {"path": "content/changelog/2026/01-30-otoroshi-17.12.md", "range": {"start": {"line": 18, "column": 305}}}, "severity": "INFO"}

This version also integrates a new WAF engine providing JVM-native implementation of ModSecurity SecLang with the OWASP Core Rule Set included. This eliminates binary dependencies and simplifies deployment in containerized environments, with flexible modes for comprehensive WAF inspection or lightweight request validation.

Check notice on line 20 in content/changelog/2026/01-30-otoroshi-17.12.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/changelog/2026/01-30-otoroshi-17.12.md#L20

[Google.Acronyms] Spell out 'JVM', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'JVM', if it's unfamiliar to the audience.", "location": {"path": "content/changelog/2026/01-30-otoroshi-17.12.md", "range": {"start": {"line": 20, "column": 57}}}, "severity": "INFO"}

Check notice on line 20 in content/changelog/2026/01-30-otoroshi-17.12.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/changelog/2026/01-30-otoroshi-17.12.md#L20

[Google.Acronyms] Spell out 'OWASP', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'OWASP', if it's unfamiliar to the audience.", "location": {"path": "content/changelog/2026/01-30-otoroshi-17.12.md", "range": {"start": {"line": 20, "column": 115}}}, "severity": "INFO"}

For plugin developers, this version introduces various internal improvements: Monaco editor support in classic forms for enhanced code editing experience, provider helpers to create customizable errors in plugins, and the ability to always display plugins even if missing from the JS plugins list.

Check warning on line 22 in content/changelog/2026/01-30-otoroshi-17.12.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/changelog/2026/01-30-otoroshi-17.12.md#L22

[Google.Colons] ': M' should be in lowercase.
Raw output
{"message": "[Google.Colons] ': M' should be in lowercase.", "location": {"path": "content/changelog/2026/01-30-otoroshi-17.12.md", "range": {"start": {"line": 22, "column": 77}}}, "severity": "WARNING"}

This release includes LLM extensions [0.0.68](https://github.com/cloud-apim/otoroshi-llm-extension/releases/tag/0.0.68) and [0.0.69](https://github.com/cloud-apim/otoroshi-llm-extension/releases/tag/0.0.69), bringing OpenResponses-compatible endpoints for standardized LLM response handling through the [OpenResponses framework](https://www.openresponses.org/). These versions embed rate limit and budget consumption data in `GatewayEvents` and `LLMAuditEvents` for enhanced tracking, and support exposing any model with an Anthropic API compatible format.

You can update through add-on's dashboard in the [Clever Cloud Console](https://console.clever-cloud.com). You can also set `CC_OTOROSHI_VERSION` of the underlying Java application to `v17.12.0_1769783775` and rebuild it, or use [Clever Tools](/doc/cli/operators/):

```bash
clever features enable operators

clever otoroshi version check yourOtoroshiNameOrId
clever otoroshi version update yourOtoroshiNameOrId
clever otoroshi version update yourOtoroshiNameOrId v17.12.0_1769783775
```

- [Learn more about Otoroshi with LLM on Clever Cloud](/doc/addons/otoroshi/)
Loading