What changed:** `DisablePathUnescaping` (on `StaticConfig` and `StaticDirectoryHandlerConfig`) is deprecated and replaced by `EnablePathUnescaping` (default `false`). Path unescaping is now opt-in.
Breaking change / migration:** If you serve files whose names contain URL-encoded characters (e.g., `/hello%20world.txt` → `hello world.txt`), you must now opt in:
v4.15.4
2026-06-15
⚠ Potential breaking changes
Breaking change / migration:** If you serve files whose names contain URL-encoded characters (e.g., `/hello%20world.txt` → `hello world.txt`), you must now opt in:
v5.2.0
2026-06-14
No breaking-change keywords detected in release notes.
v4.15.3
2026-06-14
No breaking-change keywords detected in release notes.
v5.1.1
2026-05-01
No breaking-change keywords detected in release notes.
v4.15.2
2026-05-01
No breaking-change keywords detected in release notes.
v5.1.0
2026-03-31
⚠ Potential breaking changes
This change does not break the API contract, but it does introduce breaking changes in logic/behavior.
Related PR: Remove legacy IP extraction logic from context.RealIP method by @aldas in https://github.com/labstack/echo/pull/2933
Remove legacy IP extraction logic from context.RealIP method by @aldas in https://github.com/labstack/echo/pull/2933
v4.15.1
2026-02-22
No breaking-change keywords detected in release notes.