Skip to content

Releases: go-goyave/goyave

Release v5.11.3

13 Feb 11:10
v5.11.3
918137f

Choose a tag to compare

  • *errors.Error:
    • New and NewSkip now return nil if the given reason is an empty slice.
    • nil values are now also excluded if the given reason is of type []*errors.Error.

Release v5.11.2

15 Jan 09:30
v5.11.2
1abc0ba

Choose a tag to compare

  • Validation: fixed missing data in the validation.Context given to the RequiredIf validator when checking for the field's absence.

Release v5.11.1

01 Dec 15:52
v5.11.1
cbaded2

Choose a tag to compare

  • bump github.com/klauspost/compress v1.8.1 => v1.8.2 to fix dependency issue as v1.8.1 was retracted (by @fnoopv in #284)
  • updated the other dependencies and bumped minimum Go version to 1.24.10

Release v5.11.0

30 Oct 09:02
v5.11.0
cca5560

Choose a tag to compare

Changes

  • Authentication (#282)
    • Added auth.SchemeAuthenticator interface that authenticators can implement to indicate the scheme they are using. On authentication failure, the auth middleware adds the WWW-Authenticate header to the response if the authenticator implements auth.SchemeAuthenticator.
    • Added auth.MiddlewareWithRealm to provide custom realm description for the WWW-Authenticate header.
  • Added an explicit error message when server.RegisterRoutes is called more than once.
  • Static file serving: fixed an issue on Windows which resulted in 404 errors if the filesystem was embedded and the requested path contained slashes. #281

New Contributors

Full Changelog: v5.10.0...v5.11.0

Release v5.10.0

03 Oct 08:24
v5.10.0
7748b33

Choose a tag to compare

  • Validation: UniqueArray / ExistsArray improvements
    • This validator was previously using a naive dialect detection based on the config database.connection. This didn't work with custom dialectors. It now detects the dialect and generate the corresponding query based on the gorm.Dialector's name.
    • Fixed query generation for BigQuery.
    • Validation middleware now checks if server database is not nil instead of relying on config database.connection. This improves support for servers where the database connection has been setup manually.
  • Added server.HasDB() to check if the server's database connection is setup or not without having to rely on config database.connection.
  • Added *Options.ListenConfig (type net.ListenConfig). This option let developers customize the network listener settings and keep-alives to better accomodate large traffic scenarios. (@supakornn #280)

Full Changelog: v5.9.0...v5.10.0

Release v5.9.0

17 Sep 09:35
v5.9.0
cb3572f

Choose a tag to compare

  • Added CommonWriter.Writer() to retrieve the underlying writer.
  • Compression:
    • Fixed an error raised in case of no content responses (HTTP 204 notably) when using the compress middleware.
    • Added the header Vary: Accept-Encoding if a response is compressed.
    • Set the Content-Encoding header only if the response is compressed. The header won't be added anymore for no content responses.
  • Prevent Response.JSON() and Response.String() from overriding the response status after the headers have been written, which could lead to incorrect information given to other components such as the access logger.
  • Error handling edge cases improvements:
    • The panic status handler (500) is now executed too if an error happens after writing to the response. Previously, the panic status handler was executed just like any other status handler: only if the response is empty. This allows better error handling in scenarios such as streaming, SSE, etc.
    • The panic status handler (500) doesn't attempt to write to the response body anymore if a non-500 header has already been written.
    • The recovery middleware doesn't override the status if header has already been written. This avoids inconsistencies between real response and logged response.

Full Changelog: v5.8.1...v5.9.0

Release v5.8.1

02 Sep 14:26
v5.8.1
5b241ac

Choose a tag to compare

  • Better IPv6 support:
    • Fixed an error when starting the server when server.host was an IPv6.
    • server.Host(), server.BaseURL() and server.ProxyBaseURL() properly format IPv6 hosts with enclosing square brackets, which also fixes route.BuildURL() and route.BuildProxyURL() when the host is an IPv6.
    • server.BaseURL() now converts :: to ::1 (IPv6 loopback).

Full Changelog: v5.8.0...v5.8.1

Release v5.8.0

29 Aug 09:46
v5.8.0
d8c14f9

Choose a tag to compare

Full Changelog: v5.7.0...v5.8.0

Release v5.7.0

01 Aug 08:10
v5.7.0
341d6aa

Choose a tag to compare

  • util/walk package
    • walk.Path:
      • Path now support escaping characters (., [, ], *, \) using a backslash. ( #236 by @achimoraites )
      • Path.String() outputs the path with the escape characters.
      • Improved illegal path syntax error to make it easier for developers to troubleshoot.
      • New methods:
        • Path.IsWildcard: returns true if the path has unescaped "*" as Name.
        • Path.UnescapedString: returns a string representation of the path without the escape characters.
    • New function Unescape: remove escape characters from a path without parsing it.
  • Validation:
    • field paths in rule sets now support escaping characters using a backslash.
    • validating both the the literal object fields and the wildcard (*) isn't allowed anymore. This goes with the same logic as the repeated paths rule introduced in v5.6.0.
    • minor optimizations.
  • Added support for bigquery database dialect. You must disable prepared statements for the dialect to work, as this is not supported by this driver. ( #238 by @pn03 )
  • Upgraded to golangci-lint v2. New rules and changes to the configuration were made. Minor changes to the codebase were made to fix the newly reported lint issues.
  • Updated dependencies.

Full Changelog: v5.6.1...v5.7.0

Release v5.6.1

21 May 09:15
82b8703

Choose a tag to compare

  • Fixed default language entry for the validation error message of the KeysIn validator.
  • KeysIn validator now accepts any concrete type string. This allows the use of type aliases.

Full Changelog: v5.6.0...v5.6.1