All Versions
Latest Version
Avg Release Cycle
20 days
Latest Release
1524 days ago

Changelog History
Page 1

  • v12.1.8 Changes

    February 16, 2020

    Su, 16 February 2020 | v12.1.8

    ๐Ÿ†• New Features:

    ๐Ÿ›  Fixes:

    ๐Ÿ†• New Examples:

  • v12.1.7 Changes

    February 10, 2020

    ๐Ÿ†• Implement new SetRegisterRule(iris.RouteOverride, RouteSkip, RouteError) to resolve:

    ๐Ÿ†• New Examples:

    • ๐Ÿณ [_examples/Docker](_examples/Docker)
    • [_examples/routing/route-register-rule](_examples/routing/route-register-rule)
  • v12.1.5 Changes

    February 02, 2020

    โฌ†๏ธ Various improvements and linting. It's a generic message but please upgrade your project's Iris dependency if you had any issues serving files from subdomains or sharing dependencies through Iris controllers.

    Gerasimos Maropoulos

  • v12.1.4 Changes

    December 29, 2019

    Minor fix on serving embedded files.

  • v12.1.3 Changes

    December 25, 2019
  • v12.1.2 Changes

    December 19, 2019
  • v12.1.1 Changes

    December 16, 2019

    โž• Add Context.FindClosest(n int) []string

    app := iris.New()
    app.OnErrorCode(iris.StatusNotFound, notFound)
    func notFound(ctx iris.Context) {
        suggestPaths := ctx.FindClosest(3)
        if len(suggestPaths) == 0 {
            ctx.WriteString("404 not found")
        ctx.HTML("Did you mean?<ul>")
        for _, s := range suggestPaths {
            ctx.HTML(`<li><a href="%s">%s</a></li>`, s, s)

  • v12.1.0 Changes

    December 13, 2019

    ๐Ÿ’ฅ Breaking Changes

    Minor as many of you don't even use them but, indeed, they need to be covered here.

    • ๐Ÿ‘€ Old i18n middleware(iris/middleware/i18n) was replaced by the [i18n](i18n) sub-package which lives as field at your application: app.I18n.Load(globPathPattern string, languages ...string) (see below)
    • ๐Ÿ“œ Community-driven i18n middleware(iris-contrib/middleware/go-i18n) has a NewLoader function which returns a loader which can be passed at app.I18n.Reset(loader i18n.Loader, languages ...string) to change the locales parser
    • ๐Ÿ”ง The Configuration's TranslateFunctionContextKey was replaced by LocaleContextKey which Context store's value (if i18n is used) returns the current Locale which contains the translate function, the language code, the language tag and the index position of it
    • The context.Translate method was replaced by context.Tr as a shortcut for the new context.GetLocale().GetMessage(format, args...) method and it matches the view's function {{tr format args}} too
    • If you used Iris Django view engine with import _ you must change the import path to _ or add a go mod replace to your go.mod file, e.g. replace => v0.0.1.

    ๐Ÿ›  Fixes

    All known issues.

    1. #1395
    2. #1369
    3. #1399 with PR #1400
    4. #1401
    5. #1406
    6. neffos/#20
    7. pio/#5

    ๐Ÿ†• New Features

    Internationalization and localization

    Support for i18n is now a builtin feature and is being respected across your entire application, per say sitemap and views.

    Refer to the wiki section: for details.


    Iris generates and serves one or more sitemap.xml for your static routes.

    Navigate through: for more.

    ๐Ÿ†• New Examples

    1. [_examples/i18n](_examples/i18n)
    2. [_examples/sitemap](_examples/sitemap)
    3. [_examples/desktop-app/blink](_examples/desktop-app/blink)
    4. [_examples/desktop-app/lorca](_examples/desktop-app/lorca)
    5. [_examples/desktop-app/webview](_examples/desktop-app/webview)
  • v12.0.1 Changes

    October 26, 2019
    • Add version suffix of the import path , learn why and see what people voted at issue #1370

    • ๐Ÿ“ฆ All errors are now compatible with go1.13 errors.Is, errors.As and fmt.Errorf and a new core/errgroup package created
    • ๐Ÿ›  Fix #1383
    • Report whether system couldn't find the directory of view templates
    • โœ‚ Remove the Party#GetReport method, keep Party#GetReporter which is an error and an errgroup.Group.
    • โœ‚ Remove the router's deprecated methods such as StaticWeb and StaticEmbedded_XXX
    • The Context#CheckIfModifiedSince now returns an context.ErrPreconditionFailed type of error when client conditions are not met. Usage: if errors.Is(err, context.ErrPreconditionFailed) { ... }
    • โž• Add SourceFileName and SourceLineNumber to the Route, reports the exact position of its registration inside your project's source code.
    • ๐Ÿ›  Fix a bug about the MVC package route binding, see PR #1364
    • โž• Add mvc/Application#SortByNumMethods as requested at #1343
    • โž• Add status code 103 Early Hints
    • ๐Ÿ›  Fix performance of session.UpdateExpiration on 200 thousands+ keys with new radix as reported at issue #1328
    • ๐Ÿ†• New redis session database configuration field: Driver: redis.Redigo() or redis.Radix(), see updated examples
    • โž• Add Clusters support for redis:radix session database (Driver: redis:Radix()) as requested at issue #1339
    • Create Iranian README_FA translation with PR #1360
    • Create Korean README_KO translation with PR #1356
    • Create Spanish README_ES and HISTORY_ES translations with PR #1344.

    โšก๏ธ The iris-contrib/middleare and examples are updated to use the new import path.