Update major updates (major) #55

Open
alex wants to merge 1 commit from renovate/major-major-updates into devel
Owner

This PR contains the following updates:

Package Change Age Confidence Type Update
basecoat-css (source) ^0.3.11^1.0.0 age confidence devDependencies major
github.com/labstack/echo/v4 v4.15.4v5.3.1 age confidence require major
github.com/urfave/cli/v2 v2.27.7v3.12.0 age confidence require major
github.com/yuin/goldmark v1.8.4v2.1.5 age confidence require major
github.com/yuin/goldmark-emoji v1.0.6v2.0.2 age confidence require major
postgresql (source) 16.7.2718.11.5 age confidence major

Release Notes

hunvreus/basecoat (basecoat-css)

v1.0.2

Compare Source

Added
  • Added data-size="sm" support to Alert Dialog for the compact upstream size.
Changed
  • Removed global font smoothing from Basecoat's package CSS so antialiased remains an application-level choice.

v1.0.1

Compare Source

Added
  • Added explicit force: true support to window.basecoat.init() and window.basecoat.initAll() for rehydrating restored DOM after framework or navigation cache restores.
Fixed
  • Reinitialized Basecoat components after HTMX history restores in the docs site.

v1.0.0

Compare Source

Breaking Changes
  • Removed the CLI workspace from the repo. Template files now ship with basecoat-css under templates/nunjucks and templates/jinja; copy them from node_modules/basecoat-css/templates/* instead of installing basecoat-cli.
Added
  • Added Nunjucks and Jinja template files to the basecoat-css package.
  • Added a custom docs 404 page for Cloudflare static asset fallback.
Changed
  • Narrowed dark-mode generated selectors to html.dark to reduce broad style recalculation work.
  • Switched the docs site to Astro's sitemap integration and updated robots.txt to point at the generated sitemap index.
Fixed
  • Updated Scroll Area examples to use Card surfaces so framed examples inherit style-pack radius and border treatment.
labstack/echo (github.com/labstack/echo/v4)

v5.3.1

Compare Source

Fixes

  • fix(static): preserve matched handler 404s by @​JSap0914 in #​3043
  • fix(group): Implicitly registered group routes should be allowed overwritten in default routes by @​aldas in #​3049

Enhancements

v5.3.0

Compare Source

Logic changes
PR #​2996 revert back to v4 behavior for a group registering implicit 404 handlers.

If you do not want this behavior, can do not want implicit 404 handlers for groups, use:

e :=  echo.NewWithConfig(echo.Config{NoGroupAutoRegister404Routes: true})
g := e.Group("/api")

some other noteworthy echancements:

e.QUERY("/", func(c *Context) error {
  return c.String(http.StatusTeapot, "OK")
})
  • Router: automatically handle HEAD request by GET handlers in labtack#2949
e := echo.NewWithConfig(echo.Config{
  Router: echo.NewRouter(echo.RouterConfig{
    AutoHandleHEAD: true,
  }),
})

Enhancements

v5.2.1

Compare Source

Security

Make serving static file releated methods and middleware not unescape path by default - so how the way Router interprets paths and Static methods/middleware is consistent.

Given following situation:

// 0.
// given folder structure:
// private.txt
// public/
// public/index.html
// public/text.txt
// public/admin/private.txt

// 1. share `public/` folder contents from the server root. This folder actually contains subfolder `admin` which
// contents we want to forbid from downloading
e.Static("/", "public")

// 2. naively assume that everything under /admin folder is now forbidden
e.GET("/admin/*", func(c *Context) error {
    return ErrForbidden
})

Then requests to /admin%2fprivate.txt would not be matched to GET /admin/* route (routing does not look unescaped path) and static file serving will use unescaped path to serve the file.

Note: this way of "guarding" subfolders will never work for for paths like /assets/../admin%2fprivate.txt which will path.Clean("/assets/../admin%2fprivate.txt") to /admin/private.txt and are servable if static file serving is configured to unescape paths.

If you want to guard routes - use middlewares on Static* methods and before Static middleware.


  • revert PR #​3009 changes to just disabling path escaping by default in static methods/middleware by @​aldas in #​3016

Closes GHSA-vfp3-v2gw-7wfq more completely: the previous fix (#​3009) rejected explicitly encoded
separators at the handler level; this patch makes the no-unescape behavior the default so new configurations are safe without extra opt-out steps.

What changed: DisablePathUnescaping (on StaticConfig and StaticDirectoryHandlerConfig) is deprecated and replaced by EnablePathUnescaping (default false). Path unescaping is now opt-in.

What this protects: With EnablePathUnescaping: false (new default), encoded separators (%2F, %5C) are never decoded before routing or file lookup, so they cannot
bypass route-level authentication or other middleware guards.

What this does NOT protect: Serving a directory with Static, StaticFS, or StaticDirectoryHandler exposes its entire subtree. Sibling routes are not a reliable
ACL boundary — attach authorization middleware directly to the static mount, or serve sensitive sub-trees under separate guarded routes.

Breaking change / migration: If you serve files whose names contain URL-encoded characters (e.g., /hello%20world.txthello world.txt), you must now opt in:

// Static middleware
e.Use(middleware.StaticWithConfig(middleware.StaticConfig{
    EnablePathUnescaping: true, // only safe when NOT relying on route-based ACL guards
    ...
}))

// StaticDirectoryHandler
middleware.StaticDirectoryHandler(fs, &middleware.StaticDirectoryHandlerConfig{
    EnablePathUnescaping: true,
})

v5.2.0

Compare Source

Security

Fixes GHSA-vfp3-v2gw-7wfq: an encoded path separator (%2F or %5C) in a static file URL could bypass route-level middleware (e.g. authentication on a sibling route) and disclose static files. Both StaticDirectoryHandler/StaticFS and the Static middleware are affected. Thanks to @​a-tt-om and @​oran-gugu for reporting.

Enhancements

New Contributors

Full Changelog: https://github.com/labstack/echo/compare/v5.1.1...v5.2.0

v5.1.1

Compare Source

Security

Thanks to @​shblue21 for reporting this issue.

Enhancements

v5.1.0

Compare Source

Security

This change does not break the API contract, but it does introduce breaking changes in logic/behavior.
If your application is using c.RealIP() beware and read https://echo.labstack.com/docs/ip-address

v4 behavior can be restored with:

e := echo.New()
e.IPExtractor = echo.LegacyIPExtractor()
  • Remove legacy IP extraction logic from context.RealIP method by @​aldas in #​2933

Enhancements

v5.0.4

Compare Source

Enhancements

v5.0.3

Compare Source

Security

  • Fix directory traversal vulnerability under Windows in Static middleware when default Echo filesystem is used. Reported by @​shblue21.

This applies to cases when:

  • Windows is used as OS
  • middleware.StaticConfig.Filesystem is nil (default)
  • echo.Filesystem is has not been set explicitly (default)

Exposure is restricted to the active process working directory and its subfolders.

v5.0.2

Compare Source

Security

  • Fix Static middleware with config.Browse=true lists all files/subfolders from config.Filesystem root and not starting from config.Root in #​2887

v5.0.1

Compare Source

v5.0.0

Compare Source

Echo v5 is maintenance release with major breaking changes

  • Context is now struct instead of interface and we can add method to it in the future in minor versions.
  • Adds new Router interface for possible new routing implementations.
  • Drops old logging interface and uses moderm log/slog instead.
  • Rearranges alot of methods/function signatures to make them more consistent.

Upgrade notes and v4 support:

  • Echo v4 is supported with security* updates and bug fixes until 2026-12-31
  • If you are using Echo in a production environment, it is recommended to wait until after 2026-03-31 before upgrading.
  • Until 2026-03-31, any critical issues requiring breaking v5 API changes will be addressed, even if this violates semantic versioning.

See API_CHANGES_V5.md for public API changes between v4 and v5, notes on upgrading.

Upgrading TLDR:

If you are using Linux you can migrate easier parts like that:

find . -type f -name "*.go" -exec sed -i 's/ echo.Context/ *echo.Context/g' {} +
find . -type f -name "*.go" -exec sed -i 's/echo\/v4/echo\/v5/g' {} +

macOS

find . -type f -name "*.go" -exec sed -i '' 's/ echo.Context/ *echo.Context/g' {} +
find . -type f -name "*.go" -exec sed -i '' 's/echo\/v4/echo\/v5/g' {} +

or in your favorite IDE

Replace all:

  1. echo.Context -> *echo.Context
  2. echo/v4 -> echo/v5

This should solve most of the issues. Probably the hardest part is updating all the tests.

urfave/cli (github.com/urfave/cli/v2)

v3.12.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.11.0...v3.12.0

v3.11.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.10.1...v3.11.0

v3.10.1

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.10.0...v3.10.1

v3.10.0

Compare Source

What's Changed

Full Changelog: https://github.com/urfave/cli/compare/v3.9.1...v3.10.0

v3.9.1

Compare Source

What's Changed

Full Changelog: https://github.com/urfave/cli/compare/v3.9.0...v3.9.1

v3.9.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.8.0...v3.9.0

v3.8.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.7.0...v3.8.0

v3.7.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.6.2...v3.7.0

v3.6.2

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.6.1...v3.6.2

v3.6.1

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.6.0...v3.6.1

v3.6.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.5.0...v3.6.0

v3.5.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.4.1...v3.5.0

v3.4.1

Compare Source

What's Changed

Full Changelog: https://github.com/urfave/cli/compare/v3.4.0...v3.4.1

v3.4.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.3.9...v3.4.0

v3.3.9

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.3.8...v3.3.9

v3.3.8

Compare Source

What's Changed

Full Changelog: https://github.com/urfave/cli/compare/v3.3.7...v3.3.8

v3.3.7

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.3.6...v3.3.7

v3.3.6

Compare Source

What's Changed

Full Changelog: https://github.com/urfave/cli/compare/v3.3.5...v3.3.6

v3.3.5

Compare Source

What's Changed

Full Changelog: https://github.com/urfave/cli/compare/v3.3.4...v3.3.5

v3.3.4

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.3.3...v3.3.4

v3.3.3

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.3.2...v3.3.3

v3.3.2

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.3.1...v3.3.2

v3.3.1

Compare Source

What's Changed

Full Changelog: https://github.com/urfave/cli/compare/v3.3.0...v3.3.1

v3.3.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.2.0...v3.3.0

v3.2.0

Compare Source

Breaking change IntFlag now uses int type and not int64. Please change to using Int64Flag for int64 types. Similar behavior for UintFlag as well. See https://pkg.go.dev/github.com/urfave/cli/v3 for a full list of flag types. See #​2094 for full patch for this

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.1.1...v3.2.0

v3.1.1

Compare Source

v3.1.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/urfave/cli/compare/v3.0.0-beta1.01...v3.1.0

yuin/goldmark (github.com/yuin/goldmark)

v2.1.5

Compare Source

  • fix(parser): fail to parse link ref def contains new line
  • fix(parser): wrong block node position with leading tabs

v2.1.4

Compare Source

  • fix(text): ForceNewLine breaks original source bytes
  • fix(parser): setextHeadingParser does not pass source to id
  • fix(parser): indices of multiLineCodeSpanValue should be cloned
  • fix(parser): add invalid attribute name characters

v2.1.3

Compare Source

chore: delete debug print

v2.1.2

Compare Source

  • fix(renderer): renderFn is not set WithContext

v2.1.1

Compare Source

perf(parser): eliminate regexps

v2.1.0

Compare Source

  • feat: add parser.WithParseDelimiterFunc

v2.0.2

Compare Source

  • fix(parser): fix indented code block parsing to handle tabs correctly
  • refactor: make parser.Nil primitive type
  • fix: implement FirstRune and LastRune to support CJK-friendly line break strategies correctly
  • fix(extension): strip trailing punctuation exposed by an unmatched ')' in linkify
  • refactor(ast): make Link and Image properties exported

v2.0.1

Compare Source

  • perf: improve performance
  • fix(extension): fix #​571

v2.0.0

Compare Source

  • initial official release of v2

v1.8.6

Compare Source

v1.8.5

Compare Source

yuin/goldmark-emoji (github.com/yuin/goldmark-emoji)

v2.0.2

Compare Source

  • chore: update goldmark/v2 dependency

v2.0.1

Compare Source

  • chore: update goldmark/v2 dependency

v2.0.0

Compare Source

  • feat: initial commit of v2

Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • "before 5am"
  • 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.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | Type | Update | |---|---|---|---|---|---| | [basecoat-css](https://basecoatui.com/installation#npm) ([source](https://github.com/hunvreus/basecoat)) | [`^0.3.11` → `^1.0.0`](https://renovatebot.com/diffs/npm/basecoat-css/0.3.11/1.0.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/basecoat-css/1.0.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/basecoat-css/0.3.11/1.0.2?slim=true) | devDependencies | major | | [github.com/labstack/echo/v4](https://github.com/labstack/echo) | `v4.15.4` → `v5.3.1` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2flabstack%2fecho%2fv4/v5.3.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2flabstack%2fecho%2fv4/v4.15.4/v5.3.1?slim=true) | require | major | | [github.com/urfave/cli/v2](https://github.com/urfave/cli) | `v2.27.7` → `v3.12.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2furfave%2fcli%2fv2/v3.12.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2furfave%2fcli%2fv2/v2.27.7/v3.12.0?slim=true) | require | major | | [github.com/yuin/goldmark](https://github.com/yuin/goldmark) | `v1.8.4` → `v2.1.5` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fyuin%2fgoldmark/v2.1.5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fyuin%2fgoldmark/v1.8.4/v2.1.5?slim=true) | require | major | | [github.com/yuin/goldmark-emoji](https://github.com/yuin/goldmark-emoji) | `v1.0.6` → `v2.0.2` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fyuin%2fgoldmark-emoji/v2.0.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fyuin%2fgoldmark-emoji/v1.0.6/v2.0.2?slim=true) | require | major | | [postgresql](https://github.com/bitnami/charts) ([source](https://github.com/bitnami/charts/tree/HEAD/bitnami/postgresql)) | `16.7.27` → `18.11.5` | ![age](https://developer.mend.io/api/mc/badges/age/docker/registry-1.docker.io%2fbitnamicharts%2fpostgresql/18.11.5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/registry-1.docker.io%2fbitnamicharts%2fpostgresql/16.7.27/18.11.5?slim=true) | | major | --- ### Release Notes <details> <summary>hunvreus/basecoat (basecoat-css)</summary> ### [`v1.0.2`](https://github.com/hunvreus/basecoat/blob/HEAD/CHANGELOG.md#102---2026-07-06) [Compare Source](https://github.com/hunvreus/basecoat/compare/1.0.1...1.0.2) ##### Added - Added `data-size="sm"` support to Alert Dialog for the compact upstream size. ##### Changed - Removed global font smoothing from Basecoat's package CSS so `antialiased` remains an application-level choice. ### [`v1.0.1`](https://github.com/hunvreus/basecoat/blob/HEAD/CHANGELOG.md#101---2026-06-28) [Compare Source](https://github.com/hunvreus/basecoat/compare/1.0.0...1.0.1) ##### Added - Added explicit `force: true` support to `window.basecoat.init()` and `window.basecoat.initAll()` for rehydrating restored DOM after framework or navigation cache restores. ##### Fixed - Reinitialized Basecoat components after HTMX history restores in the docs site. ### [`v1.0.0`](https://github.com/hunvreus/basecoat/blob/HEAD/CHANGELOG.md#100---2026-06-27) [Compare Source](https://github.com/hunvreus/basecoat/compare/0.3.11...1.0.0) ##### Breaking Changes - Removed the CLI workspace from the repo. Template files now ship with `basecoat-css` under `templates/nunjucks` and `templates/jinja`; copy them from `node_modules/basecoat-css/templates/*` instead of installing `basecoat-cli`. ##### Added - Added Nunjucks and Jinja template files to the `basecoat-css` package. - Added a custom docs 404 page for Cloudflare static asset fallback. ##### Changed - Narrowed dark-mode generated selectors to `html.dark` to reduce broad style recalculation work. - Switched the docs site to Astro's sitemap integration and updated `robots.txt` to point at the generated sitemap index. ##### Fixed - Updated Scroll Area examples to use Card surfaces so framed examples inherit style-pack radius and border treatment. </details> <details> <summary>labstack/echo (github.com/labstack/echo/v4)</summary> ### [`v5.3.1`](https://github.com/labstack/echo/blob/HEAD/CHANGELOG.md#v531---2026-07-21) [Compare Source](https://github.com/labstack/echo/compare/v5.3.0...v5.3.1) **Fixes** - fix(static): preserve matched handler 404s by [@&#8203;JSap0914](https://github.com/JSap0914) in [#&#8203;3043](https://github.com/labstack/echo/pull/3043) - fix(group): Implicitly registered group routes should be allowed overwritten in default routes by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;3049](https://github.com/labstack/echo/pull/3049) **Enhancements** - docs: update HTTP badge URLs to HTTPS by [@&#8203;KeloYuan](https://github.com/KeloYuan) in [#&#8203;2968](https://github.com/labstack/echo/pull/2968) - docs: correct `Any` godoc to reflect true arbitrary-method matching by [@&#8203;hyorimitsu](https://github.com/hyorimitsu) in [#&#8203;3046](https://github.com/labstack/echo/pull/3046) - refactor: use range-over-integer loops by [@&#8203;zxysilent](https://github.com/zxysilent) in [#&#8203;3042](https://github.com/labstack/echo/pull/3042) - docs: add llms.txt and llms-full.txt for v5 documentation by [@&#8203;tamish560](https://github.com/tamish560) in [#&#8203;3041](https://github.com/labstack/echo/pull/3041) - Update deps to latest versions by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;3050](https://github.com/labstack/echo/pull/3050) ### [`v5.3.0`](https://github.com/labstack/echo/blob/HEAD/CHANGELOG.md#v530---2026-07-12) [Compare Source](https://github.com/labstack/echo/compare/v5.2.1...v5.3.0) **Logic changes** PR [#&#8203;2996](https://github.com/labstack/echo/pull/2996) revert back to `v4` behavior for a group registering implicit 404 handlers. If you do not want this behavior, can do not want implicit 404 handlers for groups, use: ```go e := echo.NewWithConfig(echo.Config{NoGroupAutoRegister404Routes: true}) g := e.Group("/api") ``` some other noteworthy echancements: - Adds first-class support for the QUERY HTTP method [RFC 10008](https://www.rfc-editor.org/info/rfc10008/) in [#&#8203;3038](https://github.com/labstack/echo/pull/3038) ```go e.QUERY("/", func(c *Context) error { return c.String(http.StatusTeapot, "OK") }) ``` - Router: automatically handle HEAD request by GET handlers in [labtack#2949](https://github.com/labtack/echo/pull/2949) ```go e := echo.NewWithConfig(echo.Config{ Router: echo.NewRouter(echo.RouterConfig{ AutoHandleHEAD: true, }), }) ``` **Enhancements** - perf(json): pooled-buffer JSON deserialize by [@&#8203;vishr](https://github.com/vishr) in [#&#8203;3023](https://github.com/labstack/echo/pull/3023) - perf(router): cache-friendly static child lookup by [@&#8203;vishr](https://github.com/vishr) in [#&#8203;3024](https://github.com/labstack/echo/pull/3024) - update golang.org/x deps to latest versions by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;3034](https://github.com/labstack/echo/pull/3034) - pin GitHub Actions to full commit SHAs and rework actions SHAs to own variables by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;3035](https://github.com/labstack/echo/pull/3035) - docs(csrf): fix godoc typo in Generator default (tp -> to) by [@&#8203;DucMinhNe](https://github.com/DucMinhNe) in [#&#8203;3026](https://github.com/labstack/echo/pull/3026) - docs(cors): note reverse-proxy header duplication by [@&#8203;vishr](https://github.com/vishr) in [#&#8203;3027](https://github.com/labstack/echo/pull/3027) - feat: add support for HTTP QUERY method by [@&#8203;thdxg](https://github.com/thdxg) in [#&#8203;3038](https://github.com/labstack/echo/pull/3038) - docs: fix typos in API\_CHANGES\_V5.md by [@&#8203;maxtaran2010](https://github.com/maxtaran2010) in [#&#8203;3039](https://github.com/labstack/echo/pull/3039) - Router: auto HEAD to GET by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2949](https://github.com/labstack/echo/pull/2949) - Revert back to v4 behavior for group registering implicit 404 handler… by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2996](https://github.com/labstack/echo/pull/2996) ### [`v5.2.1`](https://github.com/labstack/echo/blob/HEAD/CHANGELOG.md#v521---2026-06-15) [Compare Source](https://github.com/labstack/echo/compare/v5.2.0...v5.2.1) **Security** Make serving static file releated methods and middleware not unescape path by default - so how the way Router interprets paths and Static methods/middleware is consistent. Given following situation: ```go // 0. // given folder structure: // private.txt // public/ // public/index.html // public/text.txt // public/admin/private.txt // 1. share `public/` folder contents from the server root. This folder actually contains subfolder `admin` which // contents we want to forbid from downloading e.Static("/", "public") // 2. naively assume that everything under /admin folder is now forbidden e.GET("/admin/*", func(c *Context) error { return ErrForbidden }) ``` Then requests to `/admin%2fprivate.txt` would not be matched to `GET /admin/*` route (routing does not look unescaped path) and static file serving will use unescaped path to serve the file. Note: this way of "guarding" subfolders will never work for for paths like `/assets/../admin%2fprivate.txt` which will `path.Clean("/assets/../admin%2fprivate.txt")` to `/admin/private.txt` and are servable if static file serving is configured to unescape paths. If you want to guard routes - use middlewares on `Static*` methods and before `Static` middleware. *** - revert PR [#&#8203;3009](https://github.com/labstack/echo/issues/3009) changes to just disabling path escaping by default in static methods/middleware by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;3016](https://github.com/labstack/echo/pull/3016) Closes [GHSA-vfp3-v2gw-7wfq](https://github.com/labstack/echo/security/advisories/GHSA-vfp3-v2gw-7wfq) more completely: the previous fix ([#&#8203;3009](https://github.com/labstack/echo/issues/3009)) rejected explicitly encoded separators at the handler level; this patch makes the no-unescape behavior the **default** so new configurations are safe without extra opt-out steps. **What changed:** `DisablePathUnescaping` (on `StaticConfig` and `StaticDirectoryHandlerConfig`) is deprecated and replaced by `EnablePathUnescaping` (default `false`). Path unescaping is now opt-in. **What this protects:** With `EnablePathUnescaping: false` (new default), encoded separators (`%2F`, `%5C`) are never decoded before routing or file lookup, so they cannot bypass route-level authentication or other middleware guards. **What this does NOT protect:** Serving a directory with `Static`, `StaticFS`, or `StaticDirectoryHandler` exposes its **entire subtree**. Sibling routes are not a reliable ACL boundary — attach authorization middleware directly to the static mount, or serve sensitive sub-trees under separate guarded routes. **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: ```go // Static middleware e.Use(middleware.StaticWithConfig(middleware.StaticConfig{ EnablePathUnescaping: true, // only safe when NOT relying on route-based ACL guards ... })) // StaticDirectoryHandler middleware.StaticDirectoryHandler(fs, &middleware.StaticDirectoryHandlerConfig{ EnablePathUnescaping: true, }) ``` ### [`v5.2.0`](https://github.com/labstack/echo/blob/HEAD/CHANGELOG.md#v520---2026-06-14) [Compare Source](https://github.com/labstack/echo/compare/v5.1.1...v5.2.0) **Security** - fix(static): reject encoded path separators that bypass route-level middleware by [@&#8203;vishr](https://github.com/vishr) in [#&#8203;3009](https://github.com/labstack/echo/pull/3009) - fix(middleware/static): don't double-unescape request path ([#&#8203;2599](https://github.com/labstack/echo/issues/2599)) by [@&#8203;vishr](https://github.com/vishr) in [#&#8203;3006](https://github.com/labstack/echo/pull/3006) Fixes [GHSA-vfp3-v2gw-7wfq](https://github.com/labstack/echo/security/advisories/GHSA-vfp3-v2gw-7wfq): an encoded path separator (`%2F` or `%5C`) in a static file URL could bypass route-level middleware (e.g. authentication on a sibling route) and disclose static files. Both `StaticDirectoryHandler`/`StaticFS` and the `Static` middleware are affected. Thanks to [@&#8203;a-tt-om](https://github.com/a-tt-om) and [@&#8203;oran-gugu](https://github.com/oran-gugu) for reporting. **Enhancements** - feat(middleware): optional RateLimiterStoreContext for response headers ([#&#8203;2961](https://github.com/labstack/echo/issues/2961)) by [@&#8203;vishr](https://github.com/vishr) in [#&#8203;3007](https://github.com/labstack/echo/pull/3007) - perf: optimize core hot paths (chain, context, binding, responses) by [@&#8203;vishr](https://github.com/vishr) in [#&#8203;3008](https://github.com/labstack/echo/pull/3008) - fix(binder): include field name in bind conversion errors ([#&#8203;2629](https://github.com/labstack/echo/issues/2629)) by [@&#8203;vishr](https://github.com/vishr) in [#&#8203;3005](https://github.com/labstack/echo/pull/3005) - fix(binder): serialize BindingError to structured JSON ([#&#8203;2771](https://github.com/labstack/echo/issues/2771)) by [@&#8203;vishr](https://github.com/vishr) in [#&#8203;3004](https://github.com/labstack/echo/pull/3004) - fix(binder): MustUnixTime docs say time.Time, not time.Duration by [@&#8203;c-tonneslan](https://github.com/c-tonneslan) in [#&#8203;2988](https://github.com/labstack/echo/pull/2988) - fix(middleware): reset ContentLength after gzip decompression by [@&#8203;shblue21](https://github.com/shblue21) in [#&#8203;3000](https://github.com/labstack/echo/pull/3000) - fix(middleware/proxy): append RealIP to X-Forwarded-For for WebSocket requests by [@&#8203;kawaway](https://github.com/kawaway) in [#&#8203;2994](https://github.com/labstack/echo/pull/2994) - Fix proxy panic when balancer has no targets by [@&#8203;shblue21](https://github.com/shblue21) in [#&#8203;2977](https://github.com/labstack/echo/pull/2977) - fix(middleware): correct documented KeyAuth KeyLookup default by [@&#8203;leestana01](https://github.com/leestana01) in [#&#8203;2992](https://github.com/labstack/echo/pull/2992) - test: lock in v5 group route method-handling (405 + OPTIONS) by [@&#8203;vishr](https://github.com/vishr) in [#&#8203;3003](https://github.com/labstack/echo/pull/3003) - docs: liveness signals in README + public ROADMAP by [@&#8203;vishr](https://github.com/vishr) in [#&#8203;3002](https://github.com/labstack/echo/pull/3002) - Fix typos in CSRFConfig comments by [@&#8203;shblue21](https://github.com/shblue21) in [#&#8203;2979](https://github.com/labstack/echo/pull/2979) - refactor: modernize code usage using gofix by [@&#8203;kumapower17](https://github.com/kumapower17) in [#&#8203;2970](https://github.com/labstack/echo/pull/2970) - refactor: replace Split in loops with more efficient SplitSeq by [@&#8203;box4wangjing](https://github.com/box4wangjing) in [#&#8203;2969](https://github.com/labstack/echo/pull/2969) - refactor: use the built-in max/min to simplify the code by [@&#8203;criciss](https://github.com/criciss) in [#&#8203;2966](https://github.com/labstack/echo/pull/2966) - Update GitHub actions deps versions by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2971](https://github.com/labstack/echo/pull/2971) **New Contributors** - [@&#8203;criciss](https://github.com/criciss) made their first contribution in [#&#8203;2966](https://github.com/labstack/echo/pull/2966) - [@&#8203;box4wangjing](https://github.com/box4wangjing) made their first contribution in [#&#8203;2969](https://github.com/labstack/echo/pull/2969) - [@&#8203;shblue21](https://github.com/shblue21) made their first contribution in [#&#8203;2977](https://github.com/labstack/echo/pull/2977) - [@&#8203;c-tonneslan](https://github.com/c-tonneslan) made their first contribution in [#&#8203;2988](https://github.com/labstack/echo/pull/2988) - [@&#8203;leestana01](https://github.com/leestana01) made their first contribution in [#&#8203;2992](https://github.com/labstack/echo/pull/2992) - [@&#8203;kawaway](https://github.com/kawaway) made their first contribution in [#&#8203;2994](https://github.com/labstack/echo/pull/2994) **Full Changelog**: <https://github.com/labstack/echo/compare/v5.1.1...v5.2.0> ### [`v5.1.1`](https://github.com/labstack/echo/blob/HEAD/CHANGELOG.md#v511---2026-05-01) [Compare Source](https://github.com/labstack/echo/compare/v5.1.0...v5.1.1) **Security** - `Context.Scheme()` should validate values taken from header by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2953](https://github.com/labstack/echo/pull/2953) Thanks to [@&#8203;shblue21](https://github.com/shblue21) for reporting this [issue](https://github.com/labstack/echo/issues/2952). **Enhancements** - Add golangci linter configuration by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2930](https://github.com/labstack/echo/pull/2930) - Make StartConfig listener creation context-aware by [@&#8203;EricGusmao](https://github.com/EricGusmao) in [#&#8203;2936](https://github.com/labstack/echo/pull/2936) - fix(lint): resolve staticcheck issues and improve code quality by [@&#8203;itsllyaz](https://github.com/itsllyaz) in [#&#8203;2941](https://github.com/labstack/echo/pull/2941) - Context.Scheme should validate values taken from header by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2953](https://github.com/labstack/echo/pull/2953) - chore: fix typos in httperror.go by [@&#8203;tisonkun](https://github.com/tisonkun) in [#&#8203;2958](https://github.com/labstack/echo/pull/2958) - Context.Json should not unwrap response by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2964](https://github.com/labstack/echo/pull/2964) ### [`v5.1.0`](https://github.com/labstack/echo/blob/HEAD/CHANGELOG.md#v510---2026-03-31) [Compare Source](https://github.com/labstack/echo/compare/v5.0.4...v5.1.0) **Security** This change does not break the API contract, but it does introduce breaking changes in logic/behavior. If your application is using `c.RealIP()` beware and read <https://echo.labstack.com/docs/ip-address> `v4` behavior can be restored with: ```go e := echo.New() e.IPExtractor = echo.LegacyIPExtractor() ``` - Remove legacy IP extraction logic from context.RealIP method by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2933](https://github.com/labstack/echo/pull/2933) **Enhancements** - Add echo-opentelemetry to the README.md by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2908](https://github.com/labstack/echo/pull/2908) - fix: correct spelling mistakes in comments and field name by [@&#8203;crawfordxx](https://github.com/crawfordxx) in [#&#8203;2916](https://github.com/labstack/echo/pull/2916) - Add <https://github.com/labstack/echo-prometheus> to the middleware list in README.md by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2919](https://github.com/labstack/echo/pull/2919) - Add StartConfig.Listener so server with custom Listener is easier to create by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2920](https://github.com/labstack/echo/pull/2920) - Fix rate limiter documentation for default burst value by [@&#8203;karesansui-u](https://github.com/karesansui-u) in [#&#8203;2925](https://github.com/labstack/echo/pull/2925) - Add doc comments to clarify usage of File related methods and leading slash handling by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2928](https://github.com/labstack/echo/pull/2928) - Add NewDefaultFS function to help create filesystem that allows absolute paths by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2931](https://github.com/labstack/echo/pull/2931) - Do not set http.Server.WriteTimeout in StartConfig by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2932](https://github.com/labstack/echo/pull/2932) ### [`v5.0.4`](https://github.com/labstack/echo/blob/HEAD/CHANGELOG.md#v504---2026-02-15) [Compare Source](https://github.com/labstack/echo/compare/v5.0.3...v5.0.4) **Enhancements** - Remove unused import 'errors' from README example by [@&#8203;kumapower17](https://github.com/kumapower17) in [#&#8203;2889](https://github.com/labstack/echo/pull/2889) - Fix Graceful shutdown: after `http.Server.Serve` returns we need to wait for graceful shutdown goroutine to finish by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2898](https://github.com/labstack/echo/pull/2898) - Update location of oapi-codegen in README by [@&#8203;mromaszewicz](https://github.com/mromaszewicz) in [#&#8203;2896](https://github.com/labstack/echo/pull/2896) - Add Go 1.26 to CI flow by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2899](https://github.com/labstack/echo/pull/2899) - Add new function `echo.StatusCode` by [@&#8203;suwakei](https://github.com/suwakei) in [#&#8203;2892](https://github.com/labstack/echo/pull/2892) - CSRF: support older token-based CSRF protection handler that want to render token into template by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2894](https://github.com/labstack/echo/pull/2894) - Add `echo.ResolveResponseStatus` function to help middleware/handlers determine HTTP status code and echo.Response by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2900](https://github.com/labstack/echo/pull/2900) ### [`v5.0.3`](https://github.com/labstack/echo/blob/HEAD/CHANGELOG.md#v503---2026-02-06) [Compare Source](https://github.com/labstack/echo/compare/v5.0.2...v5.0.3) **Security** - Fix directory traversal vulnerability under Windows in Static middleware when default Echo filesystem is used. Reported by [@&#8203;shblue21](https://github.com/shblue21). This applies to cases when: - Windows is used as OS - `middleware.StaticConfig.Filesystem` is `nil` (default) - `echo.Filesystem` is has not been set explicitly (default) Exposure is restricted to the active process working directory and its subfolders. ### [`v5.0.2`](https://github.com/labstack/echo/blob/HEAD/CHANGELOG.md#v502---2026-02-02) [Compare Source](https://github.com/labstack/echo/compare/v5.0.1...v5.0.2) **Security** - Fix Static middleware with `config.Browse=true` lists all files/subfolders from `config.Filesystem` root and not starting from `config.Root` in [#&#8203;2887](https://github.com/labstack/echo/pull/2887) ### [`v5.0.1`](https://github.com/labstack/echo/blob/HEAD/CHANGELOG.md#v501---2026-01-28) [Compare Source](https://github.com/labstack/echo/compare/v5.0.0...v5.0.1) - Panic MW: will now return a custom PanicStackError with stack trace by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2871](https://github.com/labstack/echo/pull/2871) - Docs: add missing err parameter to DenyHandler example by [@&#8203;cgalibern](https://github.com/cgalibern) in [#&#8203;2878](https://github.com/labstack/echo/pull/2878) - improve: improve websocket checks in IsWebSocket() \[per RFC 6455] by [@&#8203;raju-mechatronics](https://github.com/raju-mechatronics) in [#&#8203;2875](https://github.com/labstack/echo/pull/2875) - fix: Context.Json() should not send status code before serialization is complete by [@&#8203;aldas](https://github.com/aldas) in [#&#8203;2877](https://github.com/labstack/echo/pull/2877) ### [`v5.0.0`](https://github.com/labstack/echo/blob/HEAD/CHANGELOG.md#v500---2026-01-18) [Compare Source](https://github.com/labstack/echo/compare/v4.15.4...v5.0.0) Echo `v5` is maintenance release with **major breaking changes** - `Context` is now struct instead of interface and we can add method to it in the future in minor versions. - Adds new `Router` interface for possible new routing implementations. - Drops old logging interface and uses moderm `log/slog` instead. - Rearranges alot of methods/function signatures to make them more consistent. Upgrade notes and `v4` support: - Echo `v4` is supported with **security**\* updates and **bug** fixes until **2026-12-31** - If you are using Echo in a production environment, it is recommended to wait until after 2026-03-31 before upgrading. - Until 2026-03-31, any critical issues requiring breaking `v5` API changes will be addressed, even if this violates semantic versioning. See [API\_CHANGES\_V5.md](./API_CHANGES_V5.md) for public API changes between `v4` and `v5`, notes on **upgrading**. Upgrading TLDR: If you are using Linux you can migrate easier parts like that: ```bash find . -type f -name "*.go" -exec sed -i 's/ echo.Context/ *echo.Context/g' {} + find . -type f -name "*.go" -exec sed -i 's/echo\/v4/echo\/v5/g' {} + ``` macOS ```bash find . -type f -name "*.go" -exec sed -i '' 's/ echo.Context/ *echo.Context/g' {} + find . -type f -name "*.go" -exec sed -i '' 's/echo\/v4/echo\/v5/g' {} + ``` or in your favorite IDE Replace all: 1. ` echo.Context` -> ` *echo.Context` 2. `echo/v4` -> `echo/v5` This should solve most of the issues. Probably the hardest part is updating all the tests. </details> <details> <summary>urfave/cli (github.com/urfave/cli/v2)</summary> ### [`v3.12.0`](https://github.com/urfave/cli/releases/tag/v3.12.0) [Compare Source](https://github.com/urfave/cli/compare/v3.11.0...v3.12.0) #### What's Changed - feat: add Command.ArgValidator for tree-wide argument validation by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2377](https://github.com/urfave/cli/pull/2377) - Single-value arguments can be marked as required by [@&#8203;idelchi](https://github.com/idelchi) in [#&#8203;2393](https://github.com/urfave/cli/pull/2393) - docs: clarify that named Arguments are excluded from cmd.Args() by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2411](https://github.com/urfave/cli/pull/2411) - fix: never run command action on shell completion past a double dash by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2412](https://github.com/urfave/cli/pull/2412) - chore(deps): bump github.com/stretchr/testify from 1.11.1 to 1.12.0 by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;2413](https://github.com/urfave/cli/pull/2413) - Support custom FlagStringer for MutuallyExclusiveFlags by [@&#8203;SHIVANSHGARG07](https://github.com/SHIVANSHGARG07) in [#&#8203;2414](https://github.com/urfave/cli/pull/2414) - Add TextFlag for encoding.TextMarshaler/TextUnmarshaler values by [@&#8203;ChrisJr404](https://github.com/ChrisJr404) in [#&#8203;2415](https://github.com/urfave/cli/pull/2415) - chore(deps): bump github.com/stretchr/testify from 1.12.0 to 1.12.1 by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;2416](https://github.com/urfave/cli/pull/2416) - chore(deps): bump the python-packages group with 2 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;2417](https://github.com/urfave/cli/pull/2417) - Show inherited persistent flags in child help by [@&#8203;justadityaraj](https://github.com/justadityaraj) in [#&#8203;2421](https://github.com/urfave/cli/pull/2421) - fix: preserve whitespace in positional arguments by [@&#8203;lenamonj](https://github.com/lenamonj) in [#&#8203;2423](https://github.com/urfave/cli/pull/2423) - fix: preserve whitespace in equals-form flag values by [@&#8203;BenYang12](https://github.com/BenYang12) in [#&#8203;2425](https://github.com/urfave/cli/pull/2425) - fix: complete subcommand flags after positional arguments by [@&#8203;fzlzjerry](https://github.com/fzlzjerry) in [#&#8203;2426](https://github.com/urfave/cli/pull/2426) - Fix a year-less timestamp layout losing January 1 by [@&#8203;youdie006](https://github.com/youdie006) in [#&#8203;2427](https://github.com/urfave/cli/pull/2427) - docs: add go-size-analyzer, module version, and reflection by [@&#8203;imsumedhaa](https://github.com/imsumedhaa) in [#&#8203;2428](https://github.com/urfave/cli/pull/2428) #### New Contributors - [@&#8203;idelchi](https://github.com/idelchi) made their first contribution in [#&#8203;2393](https://github.com/urfave/cli/pull/2393) - [@&#8203;SHIVANSHGARG07](https://github.com/SHIVANSHGARG07) made their first contribution in [#&#8203;2414](https://github.com/urfave/cli/pull/2414) - [@&#8203;ChrisJr404](https://github.com/ChrisJr404) made their first contribution in [#&#8203;2415](https://github.com/urfave/cli/pull/2415) - [@&#8203;justadityaraj](https://github.com/justadityaraj) made their first contribution in [#&#8203;2421](https://github.com/urfave/cli/pull/2421) - [@&#8203;lenamonj](https://github.com/lenamonj) made their first contribution in [#&#8203;2423](https://github.com/urfave/cli/pull/2423) - [@&#8203;BenYang12](https://github.com/BenYang12) made their first contribution in [#&#8203;2425](https://github.com/urfave/cli/pull/2425) - [@&#8203;youdie006](https://github.com/youdie006) made their first contribution in [#&#8203;2427](https://github.com/urfave/cli/pull/2427) - [@&#8203;imsumedhaa](https://github.com/imsumedhaa) made their first contribution in [#&#8203;2428](https://github.com/urfave/cli/pull/2428) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.11.0...v3.12.0> ### [`v3.11.0`](https://github.com/urfave/cli/releases/tag/v3.11.0) [Compare Source](https://github.com/urfave/cli/compare/v3.10.1...v3.11.0) #### What's Changed - fix: correct a typo in the help message for the powershell autocompletion by [@&#8203;suzuki-shunsuke](https://github.com/suzuki-shunsuke) in [#&#8203;2383](https://github.com/urfave/cli/pull/2383) - Escape backslashes in fish completion descriptions by [@&#8203;mahirhir](https://github.com/mahirhir) in [#&#8203;2378](https://github.com/urfave/cli/pull/2378) - chore(deps): bump actions/setup-go from 6 to 7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2389](https://github.com/urfave/cli/pull/2389) - chore(deps): bump mkdocs-material from 9.7.6 to 9.7.7 in the python-packages group by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2391](https://github.com/urfave/cli/pull/2391) - chore(deps): bump actions/setup-python from 6 to 7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2390](https://github.com/urfave/cli/pull/2390) - fix: skip all hidden flags in shell completion, not just bool flags by [@&#8203;vidigoat](https://github.com/vidigoat) in [#&#8203;2388](https://github.com/urfave/cli/pull/2388) - Fix nil pointer dereference for interface-typed flag values by [@&#8203;mrueg](https://github.com/mrueg) in [#&#8203;2400](https://github.com/urfave/cli/pull/2400) - Fix index out of range panic when Run is given no arguments by [@&#8203;mrueg](https://github.com/mrueg) in [#&#8203;2401](https://github.com/urfave/cli/pull/2401) - fix: honor BoolWithInverseFlag DefaultText by [@&#8203;fzlzjerry](https://github.com/fzlzjerry) in [#&#8203;2403](https://github.com/urfave/cli/pull/2403) - Fix Issue [#&#8203;2385](https://github.com/urfave/cli/issues/2385) by [@&#8203;BrandonIrizarry](https://github.com/BrandonIrizarry) in [#&#8203;2386](https://github.com/urfave/cli/pull/2386) - fix: inherit HideHelpCommand in subcommands by [@&#8203;utkarshalpha](https://github.com/utkarshalpha) in [#&#8203;2395](https://github.com/urfave/cli/pull/2395) - test: cover Run-with-no-arguments paths ([#&#8203;2406](https://github.com/urfave/cli/issues/2406)) by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2407](https://github.com/urfave/cli/pull/2407) - test: add shell-completion case for hidden BoolWithInverseFlag by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2408](https://github.com/urfave/cli/pull/2408) - test: fix ineffective mutex error-string assertion and add mirror cases by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2410](https://github.com/urfave/cli/pull/2410) #### New Contributors - [@&#8203;mahirhir](https://github.com/mahirhir) made their first contribution in [#&#8203;2378](https://github.com/urfave/cli/pull/2378) - [@&#8203;vidigoat](https://github.com/vidigoat) made their first contribution in [#&#8203;2388](https://github.com/urfave/cli/pull/2388) - [@&#8203;fzlzjerry](https://github.com/fzlzjerry) made their first contribution in [#&#8203;2403](https://github.com/urfave/cli/pull/2403) - [@&#8203;BrandonIrizarry](https://github.com/BrandonIrizarry) made their first contribution in [#&#8203;2386](https://github.com/urfave/cli/pull/2386) - [@&#8203;utkarshalpha](https://github.com/utkarshalpha) made their first contribution in [#&#8203;2395](https://github.com/urfave/cli/pull/2395) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.10.1...v3.11.0> ### [`v3.10.1`](https://github.com/urfave/cli/releases/tag/v3.10.1) [Compare Source](https://github.com/urfave/cli/compare/v3.10.0...v3.10.1) #### What's Changed - chore(deps): bump actions/checkout from 6 to 7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2371](https://github.com/urfave/cli/pull/2371) - fix: align gfmrun example counter with actual runnable count by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2369](https://github.com/urfave/cli/pull/2369) - v3: yield the version flag's -v alias to a user-defined flag by [@&#8203;c-tonneslan](https://github.com/c-tonneslan) in [#&#8203;2330](https://github.com/urfave/cli/pull/2330) - fix: keep completion subcommand order deterministic in help output by [@&#8203;suzuki-shunsuke](https://github.com/suzuki-shunsuke) in [#&#8203;2374](https://github.com/urfave/cli/pull/2374) - fix: allow DefaultCommand to handle its own flags by [@&#8203;lihan3238](https://github.com/lihan3238) in [#&#8203;2322](https://github.com/urfave/cli/pull/2322) #### New Contributors - [@&#8203;lihan3238](https://github.com/lihan3238) made their first contribution in [#&#8203;2322](https://github.com/urfave/cli/pull/2322) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.10.0...v3.10.1> ### [`v3.10.0`](https://github.com/urfave/cli/releases/tag/v3.10.0) [Compare Source](https://github.com/urfave/cli/compare/v3.9.1...v3.10.0) #### What's Changed - feat: add Flag.SchemaType() and Flag.SchemaItemsType() for JSON Schema introspection by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2368](https://github.com/urfave/cli/pull/2368) - feat: add Command.Walk() and Command.Path() convenience methods by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2353](https://github.com/urfave/cli/pull/2353) - fix: let --help flag take precedence over parse errors by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2360](https://github.com/urfave/cli/pull/2360) - fix: resolve remaining help invocation inconsistencies by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2361](https://github.com/urfave/cli/pull/2361) - fix: skip After hook when help is displayed on subcommand by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2363](https://github.com/urfave/cli/pull/2363) - fix: show GLOBAL OPTIONS in SubcommandHelpTemplate by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2359](https://github.com/urfave/cli/pull/2359) - fix: resolve broken links in CHANGELOG.md by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2357](https://github.com/urfave/cli/pull/2357) - docs: document what happened to build tags in v3 migration guide by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2358](https://github.com/urfave/cli/pull/2358) - Various docs updates and dependency bumps **Full Changelog**: <https://github.com/urfave/cli/compare/v3.9.1...v3.10.0> ### [`v3.9.1`](https://github.com/urfave/cli/releases/tag/v3.9.1) [Compare Source](https://github.com/urfave/cli/compare/v3.9.0...v3.9.1) #### What's Changed - fix: inherit Reader/Writer/ErrWriter from parent on subcommand setup by [@&#8203;c-tonneslan](https://github.com/c-tonneslan) in [#&#8203;2329](https://github.com/urfave/cli/pull/2329) - fix: correct greedy colon parsing in bash completion script by [@&#8203;TimSoethout](https://github.com/TimSoethout) in [#&#8203;2336](https://github.com/urfave/cli/pull/2336) - fix: Honor env sources on duplicated flags by [@&#8203;ibobgunardi](https://github.com/ibobgunardi) in [#&#8203;2355](https://github.com/urfave/cli/pull/2355) - fix: Remove incorrect flag check by [@&#8203;MohitPanchariya](https://github.com/MohitPanchariya) in [#&#8203;2280](https://github.com/urfave/cli/pull/2280) - fix: let completion command use normal flag parsing pipeline by [@&#8203;suzuki-shunsuke](https://github.com/suzuki-shunsuke) in [#&#8203;2279](https://github.com/urfave/cli/pull/2279) - fix: bash completion spacing by [@&#8203;cyphercodes](https://github.com/cyphercodes) in [#&#8203;2337](https://github.com/urfave/cli/pull/2337) - fix: fish custom completion arguments by [@&#8203;puneetdixit200](https://github.com/puneetdixit200) in [#&#8203;2338](https://github.com/urfave/cli/pull/2338) - fix: empty positional arg after a flag regression test by [@&#8203;c-tonneslan](https://github.com/c-tonneslan) in [#&#8203;2328](https://github.com/urfave/cli/pull/2328) - docs: document build tags in v3 migration guide by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2358](https://github.com/urfave/cli/pull/2358) - chore(deps): bump mkdocs-git-revision-date-localized-plugin by [@&#8203;dependabot](https://github.com/dependabot) in [#&#8203;2347](https://github.com/urfave/cli/pull/2347) - Fix typos by [@&#8203;myfloss](https://github.com/myfloss) in [#&#8203;2339](https://github.com/urfave/cli/pull/2339) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.9.0...v3.9.1> ### [`v3.9.0`](https://github.com/urfave/cli/releases/tag/v3.9.0) [Compare Source](https://github.com/urfave/cli/compare/v3.8.0...v3.9.0) #### What's Changed - chore(deps): bump codecov/codecov-action from 5 to 6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2300](https://github.com/urfave/cli/pull/2300) - chore(deps): bump the python-packages group across 1 directory with 3 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2301](https://github.com/urfave/cli/pull/2301) - docs: fix typo by [@&#8203;acrobatstick](https://github.com/acrobatstick) in [#&#8203;2299](https://github.com/urfave/cli/pull/2299) - feat: add descriptions for bash and powershell autocompletion by [@&#8203;gabelluardo](https://github.com/gabelluardo) in [#&#8203;2298](https://github.com/urfave/cli/pull/2298) - Made command help more consistent by [@&#8203;markshep-wbg](https://github.com/markshep-wbg) in [#&#8203;2287](https://github.com/urfave/cli/pull/2287) - Fix:(issue\_2285): correct function and variable naming in fish completion script by [@&#8203;TimSoethout](https://github.com/TimSoethout) in [#&#8203;2286](https://github.com/urfave/cli/pull/2286) - fix(ci): update docs after bash completion update by [@&#8203;gabelluardo](https://github.com/gabelluardo) in [#&#8203;2307](https://github.com/urfave/cli/pull/2307) - fix: apply SliceFlagSeparator to env var sources by [@&#8203;lawrence3699](https://github.com/lawrence3699) in [#&#8203;2309](https://github.com/urfave/cli/pull/2309) - fix: don't print empty line to stderr when Exit message is empty by [@&#8203;Yanhu007](https://github.com/Yanhu007) in [#&#8203;2310](https://github.com/urfave/cli/pull/2310) - flag: prevent BoolWithInverseFlag.String from panicking without a tab by [@&#8203;alliasgher](https://github.com/alliasgher) in [#&#8203;2311](https://github.com/urfave/cli/pull/2311) - refactor: bash completion script by [@&#8203;gabelluardo](https://github.com/gabelluardo) in [#&#8203;2308](https://github.com/urfave/cli/pull/2308) - fix: drop shebang from bash completion template by [@&#8203;barry3406](https://github.com/barry3406) in [#&#8203;2317](https://github.com/urfave/cli/pull/2317) - fix: show flag completions when completing a double-dash prefix by [@&#8203;morozov](https://github.com/morozov) in [#&#8203;2316](https://github.com/urfave/cli/pull/2316) - fix: parse flags for help subcommand ([#&#8203;2271](https://github.com/urfave/cli/issues/2271)) by [@&#8203;barry3406](https://github.com/barry3406) in [#&#8203;2319](https://github.com/urfave/cli/pull/2319) - fix: show BoolWithInverseFlag aliases in help text by [@&#8203;wucm667](https://github.com/wucm667) in [#&#8203;2321](https://github.com/urfave/cli/pull/2321) #### New Contributors - [@&#8203;gabelluardo](https://github.com/gabelluardo) made their first contribution in [#&#8203;2298](https://github.com/urfave/cli/pull/2298) - [@&#8203;markshep-wbg](https://github.com/markshep-wbg) made their first contribution in [#&#8203;2287](https://github.com/urfave/cli/pull/2287) - [@&#8203;lawrence3699](https://github.com/lawrence3699) made their first contribution in [#&#8203;2309](https://github.com/urfave/cli/pull/2309) - [@&#8203;Yanhu007](https://github.com/Yanhu007) made their first contribution in [#&#8203;2310](https://github.com/urfave/cli/pull/2310) - [@&#8203;alliasgher](https://github.com/alliasgher) made their first contribution in [#&#8203;2311](https://github.com/urfave/cli/pull/2311) - [@&#8203;barry3406](https://github.com/barry3406) made their first contribution in [#&#8203;2317](https://github.com/urfave/cli/pull/2317) - [@&#8203;morozov](https://github.com/morozov) made their first contribution in [#&#8203;2316](https://github.com/urfave/cli/pull/2316) - [@&#8203;wucm667](https://github.com/wucm667) made their first contribution in [#&#8203;2321](https://github.com/urfave/cli/pull/2321) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.8.0...v3.9.0> ### [`v3.8.0`](https://github.com/urfave/cli/releases/tag/v3.8.0) [Compare Source](https://github.com/urfave/cli/compare/v3.7.0...v3.8.0) #### What's Changed - chore(deps): bump mkdocs-material from 9.7.1 to 9.7.2 in the python-packages group by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2267](https://github.com/urfave/cli/pull/2267) - chore(deps): bump mkdocs-material from 9.7.2 to 9.7.3 in the python-packages group by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2272](https://github.com/urfave/cli/pull/2272) - chore(deps): bump mkdocs-material from 9.7.3 to 9.7.4 in the python-packages group by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2276](https://github.com/urfave/cli/pull/2276) - Fix: check MutuallyExclusiveFlags across parent command chain by [@&#8203;siutsin](https://github.com/siutsin) in [#&#8203;2274](https://github.com/urfave/cli/pull/2274) - Modernize source code by [@&#8203;kolyshkin](https://github.com/kolyshkin) in [#&#8203;2289](https://github.com/urfave/cli/pull/2289) - flag: replace regexp use by [@&#8203;kolyshkin](https://github.com/kolyshkin) in [#&#8203;2288](https://github.com/urfave/cli/pull/2288) - chore(deps): bump mkdocs-material from 9.7.4 to 9.7.5 in the python-packages group by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2284](https://github.com/urfave/cli/pull/2284) - Fix:(issue\_2281) Remove incorrect check for local flag for set by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2290](https://github.com/urfave/cli/pull/2290) - Fix:(issue\_2275) Make flag action execution consistent by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2295](https://github.com/urfave/cli/pull/2295) - Fix:(issue\_2293) --flag="" no longer rejected as missing argument by [@&#8203;idelchi](https://github.com/idelchi) in [#&#8203;2297](https://github.com/urfave/cli/pull/2297) - Fix:(issue\_2292) Empty positional args no longer break parse loop by [@&#8203;idelchi](https://github.com/idelchi) in [#&#8203;2296](https://github.com/urfave/cli/pull/2296) #### New Contributors - [@&#8203;idelchi](https://github.com/idelchi) made their first contribution in [#&#8203;2297](https://github.com/urfave/cli/pull/2297) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.7.0...v3.8.0> ### [`v3.7.0`](https://github.com/urfave/cli/releases/tag/v3.7.0) [Compare Source](https://github.com/urfave/cli/compare/v3.6.2...v3.7.0) #### What's Changed - Fix: use the correct type name in the tracef message by [@&#8203;icholy](https://github.com/icholy) in [#&#8203;2251](https://github.com/urfave/cli/pull/2251) - chore(deps): bump mkdocs-git-revision-date-localized-plugin from 1.5.0 to 1.5.1 in the python-packages group by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2252](https://github.com/urfave/cli/pull/2252) - Fix:(issue\_2254) Fix incorrect handling of arg after short option token by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2255](https://github.com/urfave/cli/pull/2255) - feat: ShellComplete for fish by [@&#8203;marcusramberg](https://github.com/marcusramberg) in [#&#8203;2256](https://github.com/urfave/cli/pull/2256) - Fix: propagate MutuallyExclusiveFlags persistent flags to subcommands by [@&#8203;siutsin](https://github.com/siutsin) in [#&#8203;2266](https://github.com/urfave/cli/pull/2266) - feat: support dynamic fish completion by [@&#8203;Maks1mS](https://github.com/Maks1mS) in [#&#8203;2270](https://github.com/urfave/cli/pull/2270) - fix(help): show GLOBAL OPTIONS for leaf subcommands when HideHelpCommand is true by [@&#8203;TimSoethout](https://github.com/TimSoethout) in [#&#8203;2269](https://github.com/urfave/cli/pull/2269) #### New Contributors - [@&#8203;marcusramberg](https://github.com/marcusramberg) made their first contribution in [#&#8203;2256](https://github.com/urfave/cli/pull/2256) - [@&#8203;siutsin](https://github.com/siutsin) made their first contribution in [#&#8203;2266](https://github.com/urfave/cli/pull/2266) - [@&#8203;TimSoethout](https://github.com/TimSoethout) made their first contribution in [#&#8203;2269](https://github.com/urfave/cli/pull/2269) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.6.2...v3.7.0> ### [`v3.6.2`](https://github.com/urfave/cli/releases/tag/v3.6.2) [Compare Source](https://github.com/urfave/cli/compare/v3.6.1...v3.6.2) #### What's Changed - chore(deps): bump actions/checkout from 5 to 6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2230](https://github.com/urfave/cli/pull/2230) - chore(deps): bump mkdocs-material from 9.6.23 to 9.7.0 in the python-packages group by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2231](https://github.com/urfave/cli/pull/2231) - Improve test coverage by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2236](https://github.com/urfave/cli/pull/2236) - Add more tests to improve code coverage by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2237](https://github.com/urfave/cli/pull/2237) - Fix:(issue\_2238) Dont process flags for completion command by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2239](https://github.com/urfave/cli/pull/2239) - Fix:(issue\_2228) Fix for default command by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2232](https://github.com/urfave/cli/pull/2232) - chore(deps): bump mkdocs-material from 9.7.0 to 9.7.1 in the python-packages group by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2242](https://github.com/urfave/cli/pull/2242) - Docs: correct typo in migration guide by [@&#8203;kzygmans](https://github.com/kzygmans) in [#&#8203;2243](https://github.com/urfave/cli/pull/2243) - Fix:(issue\_2244) Dont check req flags for help and completion commands by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2245](https://github.com/urfave/cli/pull/2245) - Only show separator if command has usage text by [@&#8203;mikecluck](https://github.com/mikecluck) in [#&#8203;2247](https://github.com/urfave/cli/pull/2247) #### New Contributors - [@&#8203;kzygmans](https://github.com/kzygmans) made their first contribution in [#&#8203;2243](https://github.com/urfave/cli/pull/2243) - [@&#8203;mikecluck](https://github.com/mikecluck) made their first contribution in [#&#8203;2247](https://github.com/urfave/cli/pull/2247) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.6.1...v3.6.2> ### [`v3.6.1`](https://github.com/urfave/cli/releases/tag/v3.6.1) [Compare Source](https://github.com/urfave/cli/compare/v3.6.0...v3.6.1) #### What's Changed - chore(deps): bump golangci/golangci-lint-action from 8 to 9 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2222](https://github.com/urfave/cli/pull/2222) - feat: add ability to override usage text of default help command by [@&#8203;Maks1mS](https://github.com/Maks1mS) in [#&#8203;2196](https://github.com/urfave/cli/pull/2196) - Fix:(issue\_2223) Fix incorrect processing of empty value after = by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2224](https://github.com/urfave/cli/pull/2224) #### New Contributors - [@&#8203;Maks1mS](https://github.com/Maks1mS) made their first contribution in [#&#8203;2196](https://github.com/urfave/cli/pull/2196) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.6.0...v3.6.1> ### [`v3.6.0`](https://github.com/urfave/cli/releases/tag/v3.6.0) [Compare Source](https://github.com/urfave/cli/compare/v3.5.0...v3.6.0) #### What's Changed - support parallel running of commands by [@&#8203;oprudkyi](https://github.com/oprudkyi) in [#&#8203;2215](https://github.com/urfave/cli/pull/2215) - Fix:(issue\_2208) Fix local flag by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2211](https://github.com/urfave/cli/pull/2211) - chore(deps): bump the python-packages group with 2 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2219](https://github.com/urfave/cli/pull/2219) - Call actions on flags set from env by [@&#8203;malclocke](https://github.com/malclocke) in [#&#8203;2221](https://github.com/urfave/cli/pull/2221) #### New Contributors - [@&#8203;malclocke](https://github.com/malclocke) made their first contribution in [#&#8203;2221](https://github.com/urfave/cli/pull/2221) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.5.0...v3.6.0> ### [`v3.5.0`](https://github.com/urfave/cli/releases/tag/v3.5.0) [Compare Source](https://github.com/urfave/cli/compare/v3.4.1...v3.5.0) #### What's Changed - Update mkdocs reqs by [@&#8203;meatballhat](https://github.com/meatballhat) in [#&#8203;2190](https://github.com/urfave/cli/pull/2190) - Allow the user to stop processing flags after seeing N args by [@&#8203;adrian-thurston](https://github.com/adrian-thurston) in [#&#8203;2163](https://github.com/urfave/cli/pull/2163) - chore(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2194](https://github.com/urfave/cli/pull/2194) - chore(deps): bump mkdocs-material from 9.6.16 to 9.6.18 in the python-packages group by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2195](https://github.com/urfave/cli/pull/2195) - chore(deps): bump actions/setup-go from 5 to 6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2198](https://github.com/urfave/cli/pull/2198) - chore(deps): bump actions/setup-node from 4 to 5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2199](https://github.com/urfave/cli/pull/2199) - chore(deps): bump actions/setup-python from 5 to 6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2200](https://github.com/urfave/cli/pull/2200) - chore(deps): bump github.com/stretchr/testify from 1.11.0 to 1.11.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2197](https://github.com/urfave/cli/pull/2197) - chore(deps): bump mkdocs-material from 9.6.18 to 9.6.19 in the python-packages group by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2201](https://github.com/urfave/cli/pull/2201) - chore(deps): bump mkdocs-material from 9.6.19 to 9.6.20 in the python-packages group by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2202](https://github.com/urfave/cli/pull/2202) - feat: add name of argument into error message when parsing fails by [@&#8203;oprudkyi](https://github.com/oprudkyi) in [#&#8203;2203](https://github.com/urfave/cli/pull/2203) - chore(deps): bump mkdocs-material from 9.6.20 to 9.6.21 in the python-packages group by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2204](https://github.com/urfave/cli/pull/2204) - add space between arguments usage by [@&#8203;dimfu](https://github.com/dimfu) in [#&#8203;2207](https://github.com/urfave/cli/pull/2207) - chore(deps): bump mkdocs-material from 9.6.21 to 9.6.22 in the python-packages group by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2213](https://github.com/urfave/cli/pull/2213) - Fix: Make DefaultText behaviour consistent by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2214](https://github.com/urfave/cli/pull/2214) #### New Contributors - [@&#8203;adrian-thurston](https://github.com/adrian-thurston) made their first contribution in [#&#8203;2163](https://github.com/urfave/cli/pull/2163) - [@&#8203;oprudkyi](https://github.com/oprudkyi) made their first contribution in [#&#8203;2203](https://github.com/urfave/cli/pull/2203) - [@&#8203;dimfu](https://github.com/dimfu) made their first contribution in [#&#8203;2207](https://github.com/urfave/cli/pull/2207) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.4.1...v3.5.0> ### [`v3.4.1`](https://github.com/urfave/cli/releases/tag/v3.4.1) [Compare Source](https://github.com/urfave/cli/compare/v3.4.0...v3.4.1) #### What's Changed - Use recommended GitHub Actions runner labels by [@&#8203;meatballhat](https://github.com/meatballhat) in [#&#8203;2181](https://github.com/urfave/cli/pull/2181) - chore(deps): bump actions/checkout from 4 to 5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2179](https://github.com/urfave/cli/pull/2179) - Document that `v3` series is recommended for new development by [@&#8203;meatballhat](https://github.com/meatballhat) in [#&#8203;2186](https://github.com/urfave/cli/pull/2186) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.4.0...v3.4.1> ### [`v3.4.0`](https://github.com/urfave/cli/releases/tag/v3.4.0) [Compare Source](https://github.com/urfave/cli/compare/v3.3.9...v3.4.0) #### What's Changed - Export help display functions as variables to allow custom help display logic by [@&#8203;almas-x](https://github.com/almas-x) in [#&#8203;2150](https://github.com/urfave/cli/pull/2150) - Invoke OnUsageError when missing required flags by [@&#8203;MohitPanchariya](https://github.com/MohitPanchariya) in [#&#8203;2161](https://github.com/urfave/cli/pull/2161) - Fix:(issue\_2169) Allow trim space for string slice flags by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2171](https://github.com/urfave/cli/pull/2171) - Add example of flag groups to docs by [@&#8203;jllovet](https://github.com/jllovet) in [#&#8203;2178](https://github.com/urfave/cli/pull/2178) - Add installation instructions for gfmrun by [@&#8203;jllovet](https://github.com/jllovet) in [#&#8203;2177](https://github.com/urfave/cli/pull/2177) - Ensure public vars reference public types by [@&#8203;meatballhat](https://github.com/meatballhat) in [#&#8203;2180](https://github.com/urfave/cli/pull/2180) #### New Contributors - [@&#8203;almas-x](https://github.com/almas-x) made their first contribution in [#&#8203;2150](https://github.com/urfave/cli/pull/2150) - [@&#8203;MohitPanchariya](https://github.com/MohitPanchariya) made their first contribution in [#&#8203;2161](https://github.com/urfave/cli/pull/2161) - [@&#8203;jllovet](https://github.com/jllovet) made their first contribution in [#&#8203;2178](https://github.com/urfave/cli/pull/2178) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.3.9...v3.4.0> ### [`v3.3.9`](https://github.com/urfave/cli/releases/tag/v3.3.9) [Compare Source](https://github.com/urfave/cli/compare/v3.3.8...v3.3.9) #### What's Changed - Fix typos in documentation for customizations and full API example by [@&#8203;amarjit03](https://github.com/amarjit03) in [#&#8203;2165](https://github.com/urfave/cli/pull/2165) - Update advanced.md by [@&#8203;thetillhoff](https://github.com/thetillhoff) in [#&#8203;2170](https://github.com/urfave/cli/pull/2170) #### New Contributors - [@&#8203;amarjit03](https://github.com/amarjit03) made their first contribution in [#&#8203;2165](https://github.com/urfave/cli/pull/2165) - [@&#8203;thetillhoff](https://github.com/thetillhoff) made their first contribution in [#&#8203;2170](https://github.com/urfave/cli/pull/2170) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.3.8...v3.3.9> ### [`v3.3.8`](https://github.com/urfave/cli/releases/tag/v3.3.8) [Compare Source](https://github.com/urfave/cli/compare/v3.3.7...v3.3.8) #### What's Changed - Remove "alpha" wording around `v3` series by [@&#8203;meatballhat](https://github.com/meatballhat) in [#&#8203;2155](https://github.com/urfave/cli/pull/2155) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.3.7...v3.3.8> ### [`v3.3.7`](https://github.com/urfave/cli/releases/tag/v3.3.7) [Compare Source](https://github.com/urfave/cli/compare/v3.3.6...v3.3.7) #### What's Changed - fix: add missing `IsLocal` for BoolWithInverseFlag by [@&#8203;huiyifyj](https://github.com/huiyifyj) in [#&#8203;2151](https://github.com/urfave/cli/pull/2151) - Fix OnUsageError Trigger When Error Is Caused by Mutually Exclusive Flags by [@&#8203;Ali-Doustkani](https://github.com/Ali-Doustkani) in [#&#8203;2152](https://github.com/urfave/cli/pull/2152) #### New Contributors - [@&#8203;Ali-Doustkani](https://github.com/Ali-Doustkani) made their first contribution in [#&#8203;2152](https://github.com/urfave/cli/pull/2152) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.3.6...v3.3.7> ### [`v3.3.6`](https://github.com/urfave/cli/releases/tag/v3.3.6) [Compare Source](https://github.com/urfave/cli/compare/v3.3.5...v3.3.6) #### What's Changed - Fish completions with identically named sub-commands now work by [@&#8203;bittrance](https://github.com/bittrance) in [#&#8203;2130](https://github.com/urfave/cli/pull/2130) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.3.5...v3.3.6> ### [`v3.3.5`](https://github.com/urfave/cli/releases/tag/v3.3.5) [Compare Source](https://github.com/urfave/cli/compare/v3.3.4...v3.3.5) #### What's Changed - Fix:(issue\_2137) Ensure default value for bool with inverse flag is h… by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2138](https://github.com/urfave/cli/pull/2138) - Fix:(issue\_2131) Show help text for BoolWithInverseFlag by [@&#8203;Juneezee](https://github.com/Juneezee) in [#&#8203;2142](https://github.com/urfave/cli/pull/2142) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.3.4...v3.3.5> ### [`v3.3.4`](https://github.com/urfave/cli/releases/tag/v3.3.4) [Compare Source](https://github.com/urfave/cli/compare/v3.3.3...v3.3.4) #### What's Changed - Fix Docs(issue\_2125) Add PathFlag to StringFlag migration by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2136](https://github.com/urfave/cli/pull/2136) - fix: remove extraneous space from subcommand help template by [@&#8203;G-Rath](https://github.com/G-Rath) in [#&#8203;2140](https://github.com/urfave/cli/pull/2140) - Fix:(issue\_2135) Correct formatting of default subcommand USAGE text by [@&#8203;zzspoon](https://github.com/zzspoon) in [#&#8203;2139](https://github.com/urfave/cli/pull/2139) #### New Contributors - [@&#8203;zzspoon](https://github.com/zzspoon) made their first contribution in [#&#8203;2139](https://github.com/urfave/cli/pull/2139) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.3.3...v3.3.4> ### [`v3.3.3`](https://github.com/urfave/cli/releases/tag/v3.3.3) [Compare Source](https://github.com/urfave/cli/compare/v3.3.2...v3.3.3) #### What's Changed - Simpler top-level context detection for fish completions by [@&#8203;bittrance](https://github.com/bittrance) in [#&#8203;2121](https://github.com/urfave/cli/pull/2121) - Fish completion inside hidden commands by [@&#8203;bittrance](https://github.com/bittrance) in [#&#8203;2122](https://github.com/urfave/cli/pull/2122) - chore(deps): bump golangci/golangci-lint-action from 7 to 8 by [@&#8203;dependabot](https://github.com/dependabot) in [#&#8203;2123](https://github.com/urfave/cli/pull/2123) - fix: off-by-one in timestamp parsing by [@&#8203;nickajacks1](https://github.com/nickajacks1) in [#&#8203;2127](https://github.com/urfave/cli/pull/2127) - Fish completions tests invokes setup by [@&#8203;bittrance](https://github.com/bittrance) in [#&#8203;2124](https://github.com/urfave/cli/pull/2124) - Fix docs by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2128](https://github.com/urfave/cli/pull/2128) #### New Contributors - [@&#8203;nickajacks1](https://github.com/nickajacks1) made their first contribution in [#&#8203;2127](https://github.com/urfave/cli/pull/2127) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.3.2...v3.3.3> ### [`v3.3.2`](https://github.com/urfave/cli/releases/tag/v3.3.2) [Compare Source](https://github.com/urfave/cli/compare/v3.3.1...v3.3.2) #### What's Changed - Add docs for advanced value source by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2119](https://github.com/urfave/cli/pull/2119) - docs: add renames to v3 migration doc by [@&#8203;G-Rath](https://github.com/G-Rath) in [#&#8203;2111](https://github.com/urfave/cli/pull/2111) #### New Contributors - [@&#8203;G-Rath](https://github.com/G-Rath) made their first contribution in [#&#8203;2111](https://github.com/urfave/cli/pull/2111) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.3.1...v3.3.2> ### [`v3.3.1`](https://github.com/urfave/cli/releases/tag/v3.3.1) [Compare Source](https://github.com/urfave/cli/compare/v3.3.0...v3.3.1) #### What's Changed - Avoid suggesting files in fish command completions. by [@&#8203;bittrance](https://github.com/bittrance) in [#&#8203;2114](https://github.com/urfave/cli/pull/2114) - Cleanup docs by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2118](https://github.com/urfave/cli/pull/2118) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.3.0...v3.3.1> ### [`v3.3.0`](https://github.com/urfave/cli/releases/tag/v3.3.0) [Compare Source](https://github.com/urfave/cli/compare/v3.2.0...v3.3.0) #### What's Changed - Add v3 issue template by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2104](https://github.com/urfave/cli/pull/2104) - Fix:(issue\_2105) Ensure fish completion works by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2106](https://github.com/urfave/cli/pull/2106) - add test for MutuallyExclusiveFlags with After by [@&#8203;bystones](https://github.com/bystones) in [#&#8203;2107](https://github.com/urfave/cli/pull/2107) - use correct context in After function with subcommand by [@&#8203;bystones](https://github.com/bystones) in [#&#8203;2108](https://github.com/urfave/cli/pull/2108) - Enable to customize completion commands by [@&#8203;suzuki-shunsuke](https://github.com/suzuki-shunsuke) in [#&#8203;2103](https://github.com/urfave/cli/pull/2103) - Fish completions no longer suggest subcommands that have already been picked by [@&#8203;bittrance](https://github.com/bittrance) in [#&#8203;2117](https://github.com/urfave/cli/pull/2117) - feat: adds support for explicit `float32` and `float64` by [@&#8203;ldez](https://github.com/ldez) in [#&#8203;2112](https://github.com/urfave/cli/pull/2112) #### New Contributors - [@&#8203;bystones](https://github.com/bystones) made their first contribution in [#&#8203;2107](https://github.com/urfave/cli/pull/2107) - [@&#8203;bittrance](https://github.com/bittrance) made their first contribution in [#&#8203;2117](https://github.com/urfave/cli/pull/2117) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.2.0...v3.3.0> ### [`v3.2.0`](https://github.com/urfave/cli/releases/tag/v3.2.0) [Compare Source](https://github.com/urfave/cli/compare/v3.1.1...v3.2.0) **Breaking change IntFlag now uses int type and not int64. Please change to using Int64Flag for int64 types. Similar behavior for UintFlag as well. See <https://pkg.go.dev/github.com/urfave/cli/v3> for a full list of flag types. See [#&#8203;2094](https://github.com/urfave/cli/issues/2094) for full patch for this** #### What's Changed - chore: Bump golangci-lint to v2 by [@&#8203;mrueg](https://github.com/mrueg) in [#&#8203;2083](https://github.com/urfave/cli/pull/2083) - Fix docs for shell completions by [@&#8203;antimatter96](https://github.com/antimatter96) in [#&#8203;2090](https://github.com/urfave/cli/pull/2090) - docs: improve migration guides render by [@&#8203;ldez](https://github.com/ldez) in [#&#8203;2091](https://github.com/urfave/cli/pull/2091) - docs: improve migration guide v3 by [@&#8203;ldez](https://github.com/ldez) in [#&#8203;2093](https://github.com/urfave/cli/pull/2093) - feat!: add more integers and unsigned integers type flags by [@&#8203;somebadcode](https://github.com/somebadcode) in [#&#8203;2094](https://github.com/urfave/cli/pull/2094) - PR-2094: Fix docs by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2099](https://github.com/urfave/cli/pull/2099) - Fix:(PR-2094) Update docs for new types by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2100](https://github.com/urfave/cli/pull/2100) - Fix:(issue\_2056) Add cmd.XXXArgs() functions for retrieving args by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2088](https://github.com/urfave/cli/pull/2088) - Add docs for arg types by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2101](https://github.com/urfave/cli/pull/2101) #### New Contributors - [@&#8203;antimatter96](https://github.com/antimatter96) made their first contribution in [#&#8203;2090](https://github.com/urfave/cli/pull/2090) - [@&#8203;ldez](https://github.com/ldez) made their first contribution in [#&#8203;2091](https://github.com/urfave/cli/pull/2091) - [@&#8203;somebadcode](https://github.com/somebadcode) made their first contribution in [#&#8203;2094](https://github.com/urfave/cli/pull/2094) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.1.1...v3.2.0> ### [`v3.1.1`](https://github.com/urfave/cli/compare/v3.1.0...v3.1.1) [Compare Source](https://github.com/urfave/cli/compare/v3.1.0...v3.1.1) ### [`v3.1.0`](https://github.com/urfave/cli/releases/tag/v3.1.0) [Compare Source](https://github.com/urfave/cli/compare/v2.27.7...v3.1.0) #### What's Changed - go.mod: Require go1.22 by [@&#8203;mrueg](https://github.com/mrueg) in [#&#8203;2026](https://github.com/urfave/cli/pull/2026) - Fix:(issue\_2030) Add support for trailing hypen for short options by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2031](https://github.com/urfave/cli/pull/2031) - Run Before actions after setting up subcommand by [@&#8203;fjl](https://github.com/fjl) in [#&#8203;2028](https://github.com/urfave/cli/pull/2028) - The example have some problem in api by [@&#8203;jokemanfire](https://github.com/jokemanfire) in [#&#8203;2039](https://github.com/urfave/cli/pull/2039) - Rename "Bash Completions" to "Shell Completions" by [@&#8203;abitrolly](https://github.com/abitrolly) in [#&#8203;2044](https://github.com/urfave/cli/pull/2044) - Support root level map keys in map sources by [@&#8203;lukasbindreiter](https://github.com/lukasbindreiter) in [#&#8203;2047](https://github.com/urfave/cli/pull/2047) - while print flag , the placeholder if need but not set. by [@&#8203;jokemanfire](https://github.com/jokemanfire) in [#&#8203;2043](https://github.com/urfave/cli/pull/2043) - Add dependabot by [@&#8203;mrueg](https://github.com/mrueg) in [#&#8203;2025](https://github.com/urfave/cli/pull/2025) - Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by [@&#8203;dependabot](https://github.com/dependabot) in [#&#8203;2054](https://github.com/urfave/cli/pull/2054) - Bump golangci/golangci-lint-action from 5 to 6 by [@&#8203;dependabot](https://github.com/dependabot) in [#&#8203;2053](https://github.com/urfave/cli/pull/2053) - Bump codecov/codecov-action from 4 to 5 by [@&#8203;dependabot](https://github.com/dependabot) in [#&#8203;2052](https://github.com/urfave/cli/pull/2052) - Fix:(issue\_2032) Support for post parse config loading by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2033](https://github.com/urfave/cli/pull/2033) - Fix:(issue\_2066) Remove dependency on golang flag library by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2074](https://github.com/urfave/cli/pull/2074) - Fix:(issue\_1891) Roll out v3 docs by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2080](https://github.com/urfave/cli/pull/2080) - Fix:(issue\_2077) Make sure onUsageError is invoked for command when a… by [@&#8203;dearchap](https://github.com/dearchap) in [#&#8203;2081](https://github.com/urfave/cli/pull/2081) #### New Contributors - [@&#8203;mrueg](https://github.com/mrueg) made their first contribution in [#&#8203;2026](https://github.com/urfave/cli/pull/2026) - [@&#8203;jokemanfire](https://github.com/jokemanfire) made their first contribution in [#&#8203;2039](https://github.com/urfave/cli/pull/2039) - [@&#8203;lukasbindreiter](https://github.com/lukasbindreiter) made their first contribution in [#&#8203;2047](https://github.com/urfave/cli/pull/2047) - [@&#8203;dependabot](https://github.com/dependabot) made their first contribution in [#&#8203;2054](https://github.com/urfave/cli/pull/2054) **Full Changelog**: <https://github.com/urfave/cli/compare/v3.0.0-beta1.01...v3.1.0> </details> <details> <summary>yuin/goldmark (github.com/yuin/goldmark)</summary> ### [`v2.1.5`](https://github.com/yuin/goldmark/releases/tag/v2.1.5) [Compare Source](https://github.com/yuin/goldmark/compare/v2.1.4...v2.1.5) - fix(parser): fail to parse link ref def contains new line - fix(parser): wrong block node position with leading tabs ### [`v2.1.4`](https://github.com/yuin/goldmark/releases/tag/v2.1.4) [Compare Source](https://github.com/yuin/goldmark/compare/v2.1.3...v2.1.4) - fix(text): ForceNewLine breaks original source bytes - fix(parser): setextHeadingParser does not pass source to id - fix(parser): indices of multiLineCodeSpanValue should be cloned - fix(parser): add invalid attribute name characters ### [`v2.1.3`](https://github.com/yuin/goldmark/releases/tag/v2.1.3) [Compare Source](https://github.com/yuin/goldmark/compare/v2.1.2...v2.1.3) chore: delete debug print ### [`v2.1.2`](https://github.com/yuin/goldmark/releases/tag/v2.1.2) [Compare Source](https://github.com/yuin/goldmark/compare/v2.1.1...v2.1.2) - fix(renderer): renderFn is not set WithContext ### [`v2.1.1`](https://github.com/yuin/goldmark/releases/tag/v2.1.1) [Compare Source](https://github.com/yuin/goldmark/compare/v2.1.0...v2.1.1) perf(parser): eliminate regexps ### [`v2.1.0`](https://github.com/yuin/goldmark/releases/tag/v2.1.0) [Compare Source](https://github.com/yuin/goldmark/compare/v2.0.2...v2.1.0) - feat: add parser.WithParseDelimiterFunc ### [`v2.0.2`](https://github.com/yuin/goldmark/releases/tag/v2.0.2) [Compare Source](https://github.com/yuin/goldmark/compare/v2.0.1...v2.0.2) - fix(parser): fix indented code block parsing to handle tabs correctly - refactor: make parser.Nil primitive type - fix: implement FirstRune and LastRune to support CJK-friendly line break strategies correctly - fix(extension): strip trailing punctuation exposed by an unmatched ')' in linkify - refactor(ast): make Link and Image properties exported ### [`v2.0.1`](https://github.com/yuin/goldmark/releases/tag/v2.0.1) [Compare Source](https://github.com/yuin/goldmark/compare/v2.0.0...v2.0.1) - perf: improve performance - fix(extension): fix [#&#8203;571](https://github.com/yuin/goldmark/issues/571) ### [`v2.0.0`](https://github.com/yuin/goldmark/releases/tag/v2.0.0) [Compare Source](https://github.com/yuin/goldmark/compare/v1.8.6...v2.0.0) - initial official release of v2 ### [`v1.8.6`](https://github.com/yuin/goldmark/releases/tag/v1.8.6) [Compare Source](https://github.com/yuin/goldmark/compare/v1.8.5...v1.8.6) - fix(extension): fix [#&#8203;571](https://github.com/yuin/goldmark/issues/571) - Merge pull request [#&#8203;569](https://github.com/yuin/goldmark/issues/569) ### [`v1.8.5`](https://github.com/yuin/goldmark/releases/tag/v1.8.5) [Compare Source](https://github.com/yuin/goldmark/compare/v1.8.4...v1.8.5) - fix: [#&#8203;568](https://github.com/yuin/goldmark/issues/568) </details> <details> <summary>yuin/goldmark-emoji (github.com/yuin/goldmark-emoji)</summary> ### [`v2.0.2`](https://github.com/yuin/goldmark-emoji/releases/tag/v2.0.2) [Compare Source](https://github.com/yuin/goldmark-emoji/compare/v2.0.1...v2.0.2) - chore: update goldmark/v2 dependency ### [`v2.0.1`](https://github.com/yuin/goldmark-emoji/releases/tag/v2.0.1) [Compare Source](https://github.com/yuin/goldmark-emoji/compare/v2.0.0...v2.0.1) - chore: update goldmark/v2 dependency ### [`v2.0.0`](https://github.com/yuin/goldmark-emoji/releases/tag/v2.0.0) [Compare Source](https://github.com/yuin/goldmark-emoji/compare/v1.0.6...v2.0.0) - feat: initial commit of v2 </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - Branch creation - "before 5am" - 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC41My4wIiwidXBkYXRlZEluVmVyIjoiNDQuODIuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
alex force-pushed renovate/major-major-updates from aa809fb882 to 2a9e9b7bd9 2026-09-02 02:03:27 +00:00 Compare
alex force-pushed renovate/major-major-updates from 2a9e9b7bd9 to 19583651cd 2026-09-03 02:03:33 +00:00 Compare
alex force-pushed renovate/major-major-updates from 19583651cd to 105ce0c088 2026-09-04 02:03:29 +00:00 Compare
alex force-pushed renovate/major-major-updates from 105ce0c088 to af07184085 2026-09-05 02:03:40 +00:00 Compare
alex force-pushed renovate/major-major-updates from af07184085 to 5d1252193f 2026-09-06 02:03:31 +00:00 Compare
alex force-pushed renovate/major-major-updates from 5d1252193f to bfae3180e3 2026-09-07 02:03:42 +00:00 Compare
alex force-pushed renovate/major-major-updates from bfae3180e3 to e3af265c03 2026-09-08 02:04:16 +00:00 Compare
alex force-pushed renovate/major-major-updates from e3af265c03 to d1c102fdea 2026-09-09 02:04:34 +00:00 Compare
alex force-pushed renovate/major-major-updates from d1c102fdea to 25c862943e 2026-09-10 02:03:50 +00:00 Compare
alex force-pushed renovate/major-major-updates from 25c862943e to 3c5b90134c 2026-09-11 01:01:30 +00:00 Compare
alex force-pushed renovate/major-major-updates from 3c5b90134c to ef59252631 2026-09-12 00:25:19 +00:00 Compare
alex force-pushed renovate/major-major-updates from ef59252631 to a20bb4fb27 2026-09-12 22:03:49 +00:00 Compare
alex force-pushed renovate/major-major-updates from a20bb4fb27 to 74f7d2e36c 2026-09-13 00:19:14 +00:00 Compare
alex force-pushed renovate/major-major-updates from 74f7d2e36c to a08c8f0239 2026-09-13 00:43:30 +00:00 Compare
alex force-pushed renovate/major-major-updates from a08c8f0239 to d95ae0d58f 2026-09-13 00:49:37 +00:00 Compare
alex force-pushed renovate/major-major-updates from d95ae0d58f to 165824f68e 2026-09-13 01:05:57 +00:00 Compare
alex force-pushed renovate/major-major-updates from 165824f68e to 3f119fe203 2026-09-13 22:03:49 +00:00 Compare
alex force-pushed renovate/major-major-updates from 3f119fe203 to dd42d67040 2026-09-14 22:03:53 +00:00 Compare
Author
Owner

ℹ️ 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):

  • 1 additional dependency was updated

Details:

Package Change
github.com/stretchr/testify v1.11.1 -> v1.12.1
### ℹ️ 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): - 1 additional dependency was updated Details: | **Package** | **Change** | | :---------------------------- | :--------------------- | | `github.com/stretchr/testify` | `v1.11.1` -> `v1.12.1` |
alex force-pushed renovate/major-major-updates from dd42d67040 to d5faf98daa 2026-09-15 22:03:58 +00:00 Compare
alex force-pushed renovate/major-major-updates from d5faf98daa to 6649074768 2026-09-16 22:03:07 +00:00 Compare
alex force-pushed renovate/major-major-updates from 6649074768 to 4fff9c845b 2026-09-17 22:03:49 +00:00 Compare
alex force-pushed renovate/major-major-updates from 4fff9c845b to 98c932d39e 2026-09-18 22:03:38 +00:00 Compare
alex force-pushed renovate/major-major-updates from 98c932d39e to d162d8064c 2026-09-19 08:24:07 +00:00 Compare
alex force-pushed renovate/major-major-updates from d162d8064c to b23ade6836 2026-09-19 22:03:42 +00:00 Compare
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/major-major-updates:renovate/major-major-updates
git switch renovate/major-major-updates

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch devel
git merge --no-ff renovate/major-major-updates
git switch renovate/major-major-updates
git rebase devel
git switch devel
git merge --ff-only renovate/major-major-updates
git switch renovate/major-major-updates
git rebase devel
git switch devel
git merge --no-ff renovate/major-major-updates
git switch devel
git merge --squash renovate/major-major-updates
git switch devel
git merge --ff-only renovate/major-major-updates
git switch devel
git merge renovate/major-major-updates
git push origin devel
Sign in to join this conversation.
No reviewers
No labels
dependencies
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
alex/opengist!55
No description provided.