All Versions
26
Latest Version
Avg Release Cycle
14 days
Latest Release
1489 days ago
Changelog History
Page 2
Changelog History
Page 2
-
v2.10.1 Changes
May 09, 2020- ๐ Changed the behavior of
response.File()
andresponse.Download()
to respond with a status 404 if the given file doesn't exist instead of panicking. - ๐ Improved error handling:
log.Panicf
is not used anymore to print panics, removing possible duplicate logs.- Added error checks during automatic migrations.
goyave.Start()
now exits the program with the following error codes:2
: Panic (server already running, error when loading language files, etc)3
: Configuration is invalid4
: An error occurred when opening network listener5
: An error occurred in the HTTP server
๐ This change will require a slightly longer
main
function but offers better flexibility for error handling and multi-services.if err := goyave.Start(route.Register); err != nil { os.Exit(err.(\*goyave.Error).ExitCode) }
- ๐ Fixed a bug in
TestSuite
: HTTP client was re-created everytimegetHTTPClient()
was called. - ๐ Fixed testing documentation examples that didn't close http response body.
- ๐ Documentation meta improvements.
- Protect JSON requests with
maxUploadSize
. - ๐ง The server will now automatically return
413 Payload Too Large
if the request's size exceeds themaxUploadSize
defined in configuration. - ๐ The request parsing middleware doesn't drain the body anymore, improving native handler compatibility.
- 0๏ธโฃ Set a default status handler for all 400 errors.
- ๐ Fixed a bug preventing query parameters to be parsed when the request had the
Content-Type: application/json
header. - โ Added a dark theme for the documentation. It can be toggled by clicking the moon icon next to the search bar.
- ๐ Changed the behavior of
-
v2.10.0 Changes
April 23, 2020- โ Added router
Get
,Post
,Put
,Patch
,Delete
andOptions
methods to register routes directly without having to specify a method string. - โ Added placeholder support in regular language lines.
- โ Added router
-
v2.9.0 Changes
April 08, 2020- โ Added hidden fields.
- ๐ Entirely removed Gorilla mux. This change is not breaking: native middleware still work the same.
-
v2.8.0 Changes
March 25, 2020- โ Added a built-in logging system.
- Added a middleware for access logs using the Common Log Format or Combined Log Format. This allows custom formatters too.
- Added three standard loggers:
goyave.Logger
,goyave.AccessLogger
andgoyave.ErrLogger
- ๐ Fixed bug: the gzip middleware now closes underlying writer on close.
- โ Added a built-in logging system.
-
v2.7.1 Changes
March 12, 2020- ๐ Changed MIME type of
js
andmjs
files totext/javascript
. This is in accordance with an IETF draft that treats application/javascript as obsolete. - ๐ Improved error handling: stacktrace wasn't relevant on unexpected panic since it was retrieved from the route's request handler therefore not including the real source of the panic. Stacktrace retrieval has been moved to the recovery middleware to fix this.
- ๐ Changed MIME type of
-
v2.7.0 Changes
February 23, 2020- โ Added
Request.Request()
accessor to get the raw*http.Request
. - ๐ Fixed a bug allowing non-core middleware applied to the root router to be executed when the "Not Found" or "Method Not Allowed" routes were matched.
- ๐ Fixed a bug making route groups (sub-routers with empty prefix) conflict with their parent router when two routes having the same path but different methods are registered in both routers.
- โ Added chained writers.
- โ Added gzip compression middleware.
- โ Added the ability to register route-specific middleware in
Router.Static()
.
- โ Added
-
v2.6.0 Changes
February 19, 2020- Custom router implementation. Goyave is not using gorilla/mux anymore. The new router is twice as fast and uses about 3 times less memory.
- ๐ง Now redirects to configured protocol if request scheme doesn't match.
- โ Added named routes.
- โ Added
Route.GetFullURI()
andRoute.BuildURL()
for dynamic URL generation. - โ Added
helper.IndexOfStr()
andhelper.ContainsStr()
for better performance when using string slices. - ๐ Moved from GoDoc to pkg.go.dev.
- ๐จ Print errors to stderr.
-
v2.5.0 Changes
February 05, 2020- โ Added an authentication system.
- Various optimizations.
- ๐ Various documentation improvements.
- โ Added
dbMaxLifetime
configuration entry. - ๐ท Moved from Travis CI to Github Actions.
- ๐ Fixed a bug making duplicate log entries on error.
- ๐ Fixed a bug preventing language lines containing a dot to be retrieved.
- ๐ Fixed
TestSuite.GetJSONBody()
not working with structs and slices. - โ Added
TestSuite.ClearDatabaseTables()
. - โ Added
Config.Has()
andConfig.Register()
to check for the existence of a config entry and to allow custom config entries valdiation. - โ Added
Request.BearerToken()
. - โ Added
Response.HandleDatabaseError()
for easier database error handling and shorter controller handlers.
-
v2.4.3 Changes
January 15, 2020- ๐ Improved string validation by taking grapheme clusters into consideration when calculating length.
- 0๏ธโฃ
lang.LoadDefault
now correctly creates a fresh language map and clones the defaulten-US
language. This avoids the default language entries to be overridden permanently.
-
v2.4.2 Changes
January 11, 2020- Don't override
Content-Type
header when sending a file if already set. - ๐ Fixed a bug with validation message placeholder
:values
, which was mistakenly using the:value
placeholder.
- Don't override