Skip to content

Update module github.com/kataras/iris/v12 to v12.2.11#37

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/github.com-kataras-iris-v12-12.x
Open

Update module github.com/kataras/iris/v12 to v12.2.11#37
renovate[bot] wants to merge 1 commit intomainfrom
renovate/github.com-kataras-iris-v12-12.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Apr 27, 2026

This PR contains the following updates:

Package Change Age Confidence
github.com/kataras/iris/v12 v12.2.6-0.20230908161203-24ba4e8933b9v12.2.11 age confidence

Release Notes

kataras/iris (github.com/kataras/iris/v12)

v12.2.11

Compare Source

Dear Iris Community,

You might have noticed a recent lull in activity on the Iris repository. I want to assure you that this silence is not without reason. For the past 3-4 months, I've been diligently working on the next major release of Iris.

This upcoming version is poised to be a significant leap forward, fully embracing the Generics feature introduced in Go. We're not just stopping at Generics, though. Expect a suite of new features, enhancements, and optimizations that will elevate your development experience to new heights.

My journey with Go spans over 8 years, and with each year, my expertise and understanding of the language deepen. This accumulated knowledge is being poured into Iris, ensuring that the framework not only evolves with the language but also with the community's growing needs.

Stay tuned for more updates, and thank you for your continued support and patience. The wait will be worth it.

Warm regards,

Gerasimos (Makis) Maropoulos

This is the last release for the version 12 family.
  • Security improvements and dependencies upgrade.

  • New Application/Party.MiddlewareExists(handlerNameOrHandler) method added, example:

package main

import (
	"fmt"

	"github.com/kataras/iris/v12"
	"github.com/kataras/iris/v12/x/errors"
)

func main() {
	app := iris.New()

	app.UseRouter(errors.RecoveryHandler)

	if app.MiddlewareExists(errors.RecoveryHandler) { // <- HERE.
		fmt.Println("errors.RecoveryHandler exists")
	}
	// OR:
	// if app.MiddlewareExists("iris.errors.recover") {
	// 	fmt.Println("Iris.Errors.Recovery exists")
	// }

	app.Get("/", indexHandler)

	app.Listen(":8080")
}

func indexHandler(ctx iris.Context) {
	panic("an error here")
	ctx.HTML("<h1>Index</h1>")
}
  • New x/errors.Intercept(func(ctx iris.Context, req *CreateRequest, resp *CreateResponse) error{ ... }) package-level function.
func main() {
    app := iris.New()

    // Create a new service and pass it to the handlers.
    service := new(myService)

    app.Post("/", errors.Intercept(responseHandler), errors.CreateHandler(service.Create))

    // [...]
}

func responseHandler(ctx iris.Context, req *CreateRequest, resp *CreateResponse) error {
    fmt.Printf("intercept: request got: %+v\nresponse sent: %#+v\n", req, resp)
    return nil
}
  • Rename x/errors/ContextValidator.ValidateContext(iris.Context) error to x/errors/RequestHandler.HandleRequest(iris.Context) error.

v12.2.10

Compare Source

  • Simplify the /core/host subpackage and remove its DeferFlow and RestoreFlow methods. These methods are replaced with: Supervisor.Configure(host.NonBlocking()) before Serve and Supervisor.Wait(context.Context) error after Serve.
  • Fix internal trimHandlerName and other minor stuff.
  • New iris.NonBlocking() configuration option to run the server without blocking the main routine, Application.Wait(context.Context) error method can be used to block and wait for the server to be up and running. Example:
func main() {
    app := iris.New()
    app.Get("/", func(ctx iris.Context) {
        ctx.Writef("Hello, %s!", "World")
    })

    app.Listen(":8080", iris.NonBlocking(), iris.WithoutServerError(iris.ErrServerClosed))

    ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second)
    defer cancel()

    if err := app.Wait(ctx); err != nil {
        log.Fatal(err)
    }

    // [Server is up and running now, you may continue with other functions below].
}
  • Add x/mathx.RoundToInteger math helper function.

v12.2.9

Compare Source

  • Add x/errors.RecoveryHandler package-level function.
  • Add x/errors.Validation package-level function to add one or more validations for the request payload before a service call of the below methods.
  • Add x/errors.Handler, CreateHandler, NoContentHandler, NoContentOrNotModifiedHandler and ListHandler ready-to-use handlers for service method calls to Iris Handler.
  • Add x/errors.List package-level function to support ListObjects(ctx context.Context, opts pagination.ListOptions, f Filter) ([]Object, int64, error) type of service calls.
  • Simplify how validation errors on /x/errors package works. A new x/errors/validation sub-package added to make your life easier (using the powerful Generics feature).
  • Add x/errors.OK, Create, NoContent and NoContentOrNotModified package-level generic functions as custom service method caller helpers. Example can be found here.
  • Add x/errors.ReadPayload, ReadQuery, ReadPaginationOptions, Handle, HandleCreate, HandleCreateResponse, HandleUpdate and HandleDelete package-level functions as helpers for common actions.
  • Add x/jsonx.GetSimpleDateRange(date, jsonx.WeekRange, time.Monday, time.Sunday) which returns all dates between the given range and start/end weekday values for WeekRange.
  • Add x/timex.GetMonthDays and x/timex.GetMonthEnd functions.
  • Add iris.CookieDomain and iris.CookieOverride cookie options to handle #​2309.
  • New x/errors.ErrorCodeName.MapErrorFunc, MapErrors, Wrap methods and x/errors.HandleError package-level function.

v12.2.8

Compare Source

  • A new way to customize the handler's parameter among with the hero and mvc packages. New iris.NewContextWrapper and
    iris.NewContextPool methods were added to wrap a handler (.Handler, .Handlers, .HandlerReturnError, HandlerReturnDuration, Filter and FallbackViewFunc methods) and use a custom context instead of the iris.Context directly. Example at: https://github.com/kataras/iris/tree/main/_examples/routing/custom-context.

  • The cache sub-package has an update, 4 years after:

    • Add support for custom storage on cache package, through the Handler#Store method.
    • Add support for custom expiration duration on cache package, trough the Handler#MaxAge method.
    • Improve the overral performance of the cache package.
    • The cache.Handler input and output arguments remain as it is.
    • The cache.Cache input argument changed from time.Duration to func(iris.Context) time.Duration.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot requested a review from a team as a code owner April 27, 2026 19:19
@renovate
Copy link
Copy Markdown
Contributor Author

renovate Bot commented Apr 27, 2026

ℹ️ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 17 additional dependencies were updated
  • The go directive was updated for compatibility reasons

Details:

Package Change
go 1.20 -> 1.22
github.com/andybalholm/brotli v1.0.5 -> v1.1.0
github.com/gomarkdown/markdown v0.0.0-20230716120725-531d2d74bc12 -> v0.0.0-20240328165702-4d01890c35c0
github.com/google/uuid v1.3.1 -> v1.6.0
github.com/kataras/blocks v0.0.7 -> v0.0.8
github.com/kataras/golog v0.1.9 -> v0.1.11
github.com/kataras/pio v0.0.12 -> v0.0.13
github.com/klauspost/compress v1.16.7 -> v1.17.7
github.com/microcosm-cc/bluemonday v1.0.25 -> v1.0.26
github.com/tdewolff/minify/v2 v2.12.9 -> v2.20.19
github.com/tdewolff/parse/v2 v2.6.8 -> v2.7.12
github.com/vmihailenco/msgpack/v5 v5.3.5 -> v5.4.1
golang.org/x/crypto v0.13.0 -> v0.22.0
golang.org/x/net v0.15.0 -> v0.24.0
golang.org/x/sys v0.12.0 -> v0.19.0
golang.org/x/text v0.13.0 -> v0.14.0
golang.org/x/time v0.3.0 -> v0.5.0
google.golang.org/protobuf v1.31.0 -> v1.33.0

@socket-security
Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedgithub.com/​kataras/​iris/​v12@​v12.2.6-0.20230908161203-24ba4e8933b9 ⏵ v12.2.1174 +1100100100100

View full report

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants