diff --git a/README_FR.md b/README_FR.md
index 9a0b8c6159..6d8c7327e8 100644
--- a/README_FR.md
+++ b/README_FR.md
@@ -1,6 +1,6 @@
# Iris Web Framework
-[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community)
+[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community)

@@ -57,7 +57,7 @@ Iris possède un **[wiki](https://www.iris-go.com/#ebookDonateForm)** complet et
-Pour une documentation encore plus complète vous pouvez visiter notre [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@v12.2.8) (en Anglais). Et vous trouverez du code executable dans le dossier [\_examples](_examples/).
+Pour une documentation encore plus complète vous pouvez visiter notre [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@v12.2.9) (en Anglais). Et vous trouverez du code executable dans le dossier [\_examples](_examples/).
### Vous préférez une version PDF?
diff --git a/README_GR.md b/README_GR.md
index a818238ce1..3e3f4338b4 100644
--- a/README_GR.md
+++ b/README_GR.md
@@ -1,6 +1,6 @@
# Iris Web Framework
-[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community)
+[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community)
Το Iris είναι ένα γρήγορο, απλό αλλά και πλήρως λειτουργικό και πολύ αποδοτικό web framework για τη Go γλώσσα προγραμματισμού. Παρέχει ένα εκφραστικό και εύχρηστο υπόβαθρο για την επόμενη ιστοσελίδα σας.
@@ -53,7 +53,7 @@ $ go run example.go
Το Iris περιέχει εκτενείς και λεπτομερείς **[book](https://www.iris-go.com/#ebookDonateForm)** καθιστώντας το εύκολο στην εκμάθηση.
-Για λεπτομερέστερη τεχνική τεκμηρίωση μπορείτε να κατευθυνθείτε προς τα [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@v12.2.8) μας. Και για εκτελέσιμο κώδικα μπορείτε πάντα να επισκέπτεστε τα [παραδείγματα](_examples/).
+Για λεπτομερέστερη τεχνική τεκμηρίωση μπορείτε να κατευθυνθείτε προς τα [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@v12.2.9) μας. Και για εκτελέσιμο κώδικα μπορείτε πάντα να επισκέπτεστε τα [παραδείγματα](_examples/).
### Σας αρέσει να διαβάζετε ενώ ταξιδεύετε;
diff --git a/README_JA.md b/README_JA.md
index a9d9e29842..600c9953c5 100644
--- a/README_JA.md
+++ b/README_JA.md
@@ -6,7 +6,7 @@ Try the official [Iris Command Line Interface](https://github.com/kataras/iris-c
#

Iris Web Framework

-[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community) [](https://iris-go.com/donate)
+[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community) [](https://iris-go.com/donate)
Irisは、高速でシンプルでありながら、十分な機能を備えた、非常に効率的なGo用Webフレームワークです。
@@ -219,7 +219,7 @@ Irisが提供する機能の一部:
$ mkdir myapp
$ cd myapp
$ go mod init myapp
-$ go get github.com/kataras/iris/v12@latest # or @v12.2.8
+$ go get github.com/kataras/iris/v12@latest # or @v12.2.9
```
既存のプロジェクトにインストールする場合
diff --git a/README_KO.md b/README_KO.md
index dee7b95864..05c594d7b8 100644
--- a/README_KO.md
+++ b/README_KO.md
@@ -1,6 +1,6 @@
# Iris Web Framework
-[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community)
+[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community)
Iris는 단순하고 빠르며 좋은 성능과 모든 기능을 갖춘 Go언어용 웹 프레임워크입니다. 당신의 웹사이트나 API를 위해서 아름답고 사용하기 쉬운 기반을 제공합니다.
@@ -49,7 +49,7 @@ $ go run example.go
Iris는 광범위하고 꼼꼼한 **[wiki](https://www.iris-go.com/#ebookDonateForm)** 를 가지고 있기 때문에 쉽게 프레임워크를 시작할 수 있습니다.
-더 자세한 기술문서를 보시려면 [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@v12.2.8)를 방문하세요. 그리고 실행가능한 예제코드는 [\_examples](_examples/) 하위 디렉토리에 있습니다.
+더 자세한 기술문서를 보시려면 [godocs](https://pkg.go.dev/github.com/kataras/iris/v12@v12.2.9)를 방문하세요. 그리고 실행가능한 예제코드는 [\_examples](_examples/) 하위 디렉토리에 있습니다.
### 여행하면서 독서를 즐기세요?
diff --git a/README_PT_BR.md b/README_PT_BR.md
index de647163f2..c605b19a10 100644
--- a/README_PT_BR.md
+++ b/README_PT_BR.md
@@ -2,7 +2,7 @@
# Iris Web Framework
-[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community) [](https://iris-go.com/donate)
+[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community) [](https://iris-go.com/donate)
@@ -226,7 +226,7 @@ O único requisito é a [Linguagem de programação Go](https://go.dev/dl/).
$ mkdir myapp
$ cd myapp
$ go mod init myapp
-$ go get github.com/kataras/iris/v12@latest # or @v12.2.8
+$ go get github.com/kataras/iris/v12@latest # or @v12.2.9
```
Instalar num projeto existente
diff --git a/README_RU.md b/README_RU.md
index afc59df53e..37766319d8 100644
--- a/README_RU.md
+++ b/README_RU.md
@@ -1,6 +1,6 @@
# Iris Web Framework
-[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community)
+[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://app.fossa.io/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community)
Iris — это быстрый, простой, но полнофункциональный и эффективный веб-фреймворк для Go. Он обеспечивает красивую, выразительную и простую в использовании основу для вашего следующего веб-сайта или API.
Узнайте, что [говорят другие люди об Iris](https://iris-go.com/testimonials/) и поставьте **[звёздочку](https://github.com/kataras/iris/stargazers)** этому проекту с открытым исходным кодом, чтобы поддержать его потенциал.
@@ -50,7 +50,7 @@ $ go run example.go
-Для получения более подробной технической документации вы можете обратиться к нашему [godoc](https://pkg.go.dev/github.com/kataras/iris/v12@v12.2.8). А для живых примеров кода — вы всегда можете посетить [\_examples](_examples/) в поддиректории этого репозитория.
+Для получения более подробной технической документации вы можете обратиться к нашему [godoc](https://pkg.go.dev/github.com/kataras/iris/v12@v12.2.9). А для живых примеров кода — вы всегда можете посетить [\_examples](_examples/) в поддиректории этого репозитория.
### Вы любите читать во время путешествий?
diff --git a/README_VN.md b/README_VN.md
index 520594e1e8..5550319da0 100644
--- a/README_VN.md
+++ b/README_VN.md
@@ -6,7 +6,7 @@ Try the official [Iris Command Line Interface](https://github.com/kataras/iris-c
#
Iris Web Framework
-[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community) [](https://iris-go.com/donate)
+[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community) [](https://iris-go.com/donate)
Iris là một khung web nhanh, đơn giản nhưng đầy đủ tính năng và rất hiệu quả dành cho Go.
@@ -220,7 +220,7 @@ Yêu cầu duy nhất là [Ngôn ngữ lập trình Go](https://go.dev/dl/).
$ mkdir myapp
$ cd myapp
$ go mod init myapp
-$ go get github.com/kataras/iris/v12@latest # or @v12.2.8
+$ go get github.com/kataras/iris/v12@latest # or @v12.2.9
```
Cài đặt trên dự án hiện có
diff --git a/README_ZH_HANS.md b/README_ZH_HANS.md
index 738b42be5d..613845e9cd 100644
--- a/README_ZH_HANS.md
+++ b/README_ZH_HANS.md
@@ -10,7 +10,7 @@
# Iris Web Framework
-[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community) [](https://iris-go.com/donate)
+[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community) [](https://iris-go.com/donate)
diff --git a/README_ZH_HANT.md b/README_ZH_HANT.md
index 0816db8594..52f2387439 100644
--- a/README_ZH_HANT.md
+++ b/README_ZH_HANT.md
@@ -12,7 +12,7 @@
# Iris Web 框架
-[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community) [](https://iris-go.com/donate)
+[](https://github.com/kataras/iris/actions/workflows/ci.yml) [](https://github.com/kataras/iris/tree/main/_examples) [](https://gitter.im/iris_go/community) [](https://iris-go.com/donate)
@@ -237,7 +237,7 @@ Iris 提供了至少這些功能:
$ mkdir myapp
$ cd myapp
$ go mod init myapp
-$ go get github.com/kataras/iris/v12@latest # 或 @v12.2.8
+$ go get github.com/kataras/iris/v12@latest # 或 @v12.2.9
```
在現有專案安裝
diff --git a/_proposals/generic_handler.md b/_proposals/generic_handler.md
deleted file mode 100644
index 41e3fb42e5..0000000000
--- a/_proposals/generic_handler.md
+++ /dev/null
@@ -1,81 +0,0 @@
-# Iris Handler with Generics support
-
-```go
-package x
-
-import (
- "github.com/kataras/iris/v12/context"
- "github.com/kataras/iris/v12/x/errors"
-)
-
-var ErrorHandler context.ErrorHandler = context.ErrorHandlerFunc(errors.InvalidArgument.Err)
-
-type (
- Handler[Request any | *context.Context, Response any] func(Request) (Response, error)
- HandlerWithCtx[Request any, Response any] func(*context.Context, Request) (Response, error)
-)
-
-func HandleContext[Request any, Response any](handler HandlerWithCtx[Request, Response]) context.Handler {
- return func(ctx *context.Context) {
- var req Request
- if err := ctx.ReadJSON(&req); err != nil {
- errors.InvalidArgument.Details(ctx, "unable to parse body", err.Error())
- return
- }
-
- resp, err := handler(ctx, req)
- if err != nil {
- ErrorHandler.HandleContextError(ctx, err)
- return
- }
-
- if _, err = ctx.JSON(resp); err != nil {
- errors.Internal.Details(ctx, "unable to parse response", err.Error())
- return
- }
- }
-}
-
-func Handle[Request any, Response any](handler Handler[Request, Response]) context.Handler {
- return HandleContext(func(_ *context.Context, req Request) (Response, error) { return handler(req) })
-}
-
-```
-
-Usage Code:
-
-```go
-import (
- "github.com/kataras/iris/v12"
- "github.com/kataras/iris/v12/x"
-)
-
-type (
- Req struct {
- Email string `json:"email"`
- }
-
- Res struct {
- Verified bool `json:"verified"`
- }
-)
-
-func main() {
- app := iris.New()
- app.Post("/", x.Handle(handler))
- app.Listen(":8080")
-}
-
-func handler(req Req) (Res, error){
- verified := req.Email == "iris-go@outlook.com"
- return Res{Verified: verified}, nil
-}
-```
-
-Example response:
-
-```json
-{
- "verified": true
-}
-```
diff --git a/doc.go b/doc.go
index 356d26a61a..b4b2c43cc8 100644
--- a/doc.go
+++ b/doc.go
@@ -10,11 +10,11 @@ Source code and other details for the project are available at GitHub:
# Current Version
-12.2.8
+12.2.9
# Installation
-The only requirement is the Go Programming Language, at least version 1.20.
+The only requirement is the Go Programming Language, at least version 1.21.
$ go get github.com/kataras/iris/v12@latest