Skip to content

Commit b3e13e9

Browse files
committed
Bump dependencies and update migration guide for Echo v5 support. Add notes about supported Echo versions to README.md.
1 parent 8bfe9f5 commit b3e13e9

File tree

5 files changed

+39
-9
lines changed

5 files changed

+39
-9
lines changed

.github/workflows/echo.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ jobs:
2323
os: [ubuntu-latest, macos-latest, windows-latest]
2424
# Each major Go release is supported until there are two newer major releases. https://golang.org/doc/devel/release.html#policy
2525
# Echo tests with last four major releases (unless there are pressing vulnerabilities)
26-
# As we depend on `golang.org/x/` libraries which only support last 2 Go releases we could have situations when
27-
# we derive from last four major releases promise.
26+
# As we depend on `golang.org/x/` libraries which only support the last 2 Go releases, we could have situations when
27+
# we derive from the last four major releases promise.
2828
go: ["1.25"]
2929
name: ${{ matrix.os }} @ Go ${{ matrix.go }}
3030
runs-on: ${{ matrix.os }}

API_CHANGES_V5.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,15 @@ Generated: 2026-01-01
66

77
---
88

9-
## Executive Summary
9+
## Executive Summary (by authors)
10+
11+
Echo `v5` is maintenance release with **major breaking changes**
12+
- `Context` is now struct instead of interface and we can add method to it in the future in minor versions.
13+
- Adds new `Router` interface for possible new routing implementations.
14+
- Drops old logging interface and uses moderm `log/slog` instead.
15+
- Rearranges alot of methods/function signatures to make them more consistent.
16+
17+
## Executive Summary (by LLMs)
1018

1119
Echo v5 represents a **major breaking release** with significant architectural changes focused on:
1220
- **Updated generic helpers** to take `*Context` and rename form helpers to `FormValue*`
@@ -1014,6 +1022,18 @@ func NewResponse(w http.ResponseWriter, logger *slog.Logger) *Response
10141022

10151023
## Migration Guide Summary
10161024

1025+
If you are using Linux you can migrate easier parts like that:
1026+
```bash
1027+
find . -type f -name "*.go" -exec sed -i 's/ echo.Context/ *echo.Context/g' {} +
1028+
find . -type f -name "*.go" -exec sed -i 's/echo\/v4/echo\/v5/g' {} +
1029+
```
1030+
or in your favorite IDE
1031+
1032+
Replace all:
1033+
1. ` echo.Context` -> ` *echo.Context`
1034+
2. `echo/v4` -> `echo/v5`
1035+
1036+
10171037
### 1. Update All Handler Signatures
10181038

10191039
```go

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,15 @@ Click [here](https://github.com/sponsors/labstack) for more information on spons
4848

4949
## [Guide](https://echo.labstack.com/guide)
5050

51+
### Supported Echo versions
52+
53+
- Latest major version of Echo is `v5` as of 2026-01-18.
54+
- Until 2026-03-31, any critical issues requiring breaking API changes will be addressed, even if this violates semantic versioning.
55+
- See [API_CHANGES_V5.md](./API_CHANGES_V5.md) for public API changes between `v4` and `v5`, notes on upgrading.
56+
- If you are using Echo in a production environment, it is recommended to wait until after 2026-03-31 before upgrading.
57+
- Echo `v4` is supported with **security*** updates and **bug** fixes until **2026-12-31**
58+
59+
5160
### Installation
5261

5362
```sh
@@ -56,6 +65,7 @@ go get github.com/labstack/echo/v5
5665
```
5766
Latest version of Echo supports last four Go major [releases](https://go.dev/doc/devel/release) and might work with older versions.
5867

68+
5969
### Example
6070

6171
```go

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ go 1.25.0
44

55
require (
66
github.com/stretchr/testify v1.11.1
7-
golang.org/x/net v0.48.0
7+
golang.org/x/net v0.49.0
88
golang.org/x/time v0.14.0
99
)
1010

1111
require (
1212
github.com/davecgh/go-spew v1.1.1 // indirect
1313
github.com/pmezard/go-difflib v1.0.0 // indirect
14-
golang.org/x/text v0.32.0 // indirect
14+
golang.org/x/text v0.33.0 // indirect
1515
gopkg.in/yaml.v3 v3.0.1 // indirect
1616
)

go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
44
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
55
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
66
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
7-
golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU=
8-
golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY=
9-
golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU=
10-
golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY=
7+
golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o=
8+
golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8=
9+
golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE=
10+
golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8=
1111
golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI=
1212
golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=
1313
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=

0 commit comments

Comments
 (0)