Changelog
v2.5.0
- 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()
and Config.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
- Improved string validation by taking grapheme clusters into consideration when calculating length.
lang.LoadDefault
now correctly creates a fresh language map and clones the default en-US
language. This avoids the default language entries to be overridden permanently.
v2.4.2
- 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.
v2.4.1
- Bundle default config and language in executable to avoid needing to deploy
$GOROOT/pkg/mod/github.com/!system-!glitch/goyave/
with the application.
v2.4.0
- Added template rendring.
- Fixed PostgreSQL options not working.
TestSuite.Middleware()
now has a more realistic behavior: the finalization step of the request life-cycle is now also executed. This may require your tests to be updated if those check the status code in the response. - Added status handlers.
v2.3.0
v2.2.1
- Added
domain
config entry. This entry is used for url generation, especially for the TLS redirect. - Don't show port in TLS redirect response if ports are standard (80 for HTTP, 443 for HTTPS).
v2.2.0
v2.1.0
filesystem.GetMIMEType
now detects css
, js
, json
and jsonld
files based on their extension. - Added maintenance mode.
- Can be toggled at runtime.
- The server can be started in maintenance mode using the
maintenance
config option. (Defaults to false
)
- Added advanced array validation, with support for n-dimensional arrays.BETA
- Malformed request messages can now be localized. (
malformed-request
and malformed-json
entries in locale.json
) - Modified the validator to allow manual validation.
v2.0.0
- Documentation and README improvements.
- In the configuration:
- The default value of
dbConnection
has been changed to none
. - The default value of
dbAutoMigrate
has been changed to false
.
- Added request data accessors.
- Some refactoring and package renaming have been done to better respect the Go conventions.
- The
helpers
package have been renamed to helper
- The server now shuts down when it encounters an error during startup.
- New
validation.GetFieldType
function. - Config and Lang are now protected with a
sync.RWMutex
to avoid data races in multi-threaded environments. - Greatly improve concurrency.
- Config can now be reloaded manually.
- Added the
Trim
middleware. goyave.Response
now implements http.ResponseWriter
.
- All writing functions can now return an error.
- Added the
NativeHandler
compatibility layer. - Fixed a bug preventing the static resources handler to find
index.html
if a directory with a depth of one was requested without a trailing slash. - Now panics when calling
Start()
while the server is already running.