Releases: gofiber/fiber
v1.9.6
🚀 Fiber v1.9.6
Special thanks to @renanbastos93 & @ReneWerner87 for optimizing the current router.
Help use translate our API documentation by clicking here
🔥 New
AcquireCtx/ReleaseCtx
The Ctx pool is now accessible for third-party packages- Fiber docs merged Russian translations 84%
- Fiber docs merged Spanish translations 65%
- Fiber docs merged French translations 40%
- Fiber docs merged German translations 32%
- Fiber docs merged Portuguese translations 24%
🩹 Fixes
- Hotfix for interpolated params in nested routes #354
- Some
Ctxmethods didn't work correctly when called without an*Apppointer. ctx.Varysometimes added duplicates to the response header- Improved router by ditching regexp and increased performance by 817% without allocations.
// Tested with 350 github API routes
Benchmark_Router_OLD-4 614 2467460 ns/op 68902 B/op 600 allocs/op
Benchmark_Router_NEW-4 3429 302033 ns/op 0 B/op 0 allocs/op🧹 Updates
- Add context benchmarks
- Remove some unnecessary functions from
utils - Add router & param test cases
- Add new coffee supporters to readme
- Add third party middlewares to readme
- Add more comments to source code
- Cleanup some old helper functions
🧬 Middleware
- gofiber/adaptor
v0.0.1Converter for net/http handlers to/from Fiber handlers - gofiber/session
v1.0.0big improvements and support for storage providers - gofiber/logger
v0.0.6supports${error}param - gofiber/embed
v0.0.9minor improvements and support for directory browsing
v1.9.3
🚀 Fiber v1.9.3
go get -u github.com/gofiber/fiber
Special thanks to @monzarrugh, @renanbastos93, @glaucia86, @bestgopher, @ofirrock, @jozsefsallai, @thomasvvugt, @elliotforbes, @Khaibin, @tianhongw, @arsmn, @da-z and everyone else who helped contribute to make this tag possible.
🔥 New
- API Documentation is translatable here https://crowdin.com/project/gofiber #309
c.Fresh()Experimental, not bulletproof for production #317 #311- Full address will be printed on listening
:3000=>0.0.0.0:3000 - New discord server https://gofiber.io/discord
- Added statuscodes
421,103#306 c.BodyParser()allows duplicate query keys #316 #288- Hebrew translation README_he.md #303
- Settings.DisableStartupMessage
When set to true, it will not print out the fiber ASCII and `.. listening on ..`` message
- Settings.ETag
Enable or disable ETag header generation, since both weak and strong etags are generated using the same hashing method (CRC-32). Weak ETags are the default when enabled. - Fiber on youtube https://youtu.be/Iq2qT0fRhAA @elliotforbes
🧹 Updates
c.BodyParser()will now ignore missing fields by default #308- Add new media links to README's
- Add
SaveFiletest #315 - Add
FormFiletest #315 - Update supporters in all README's
- Updated contributing.md #289
🧬 Middleware
- arsmn/fiber-swagger #276
- gofiber/embed
v0.0.8 - gofiber/logger
v0.0.4
🩹 Fixes
v1.9.2
Special thanks to József Sallai, Ray Mayemir, Encendre,Matthew Lee, Alireza Salary & Thomas van Vugt and everyone else who helped contribute to make this possible.
🔥 New
- New official website -> https://gofiber.io thanks for the landingpage @jozsefsallai
- README.md translated in Dutch @thomasvvugt
🧹 Updates
- API Docs moved to https://docs.gofiber.io
- Bumb fasthttp to
v1.12.0
🧬 Middleware
🗑️ Deprecated
- c.Body() is not used for form values anymore.
Use c.FormValue() to access any form value. - c.Cookies() must have a key.
If you want the raw cookie header please usec.Get("Cookies")
🗑️ Removed
- json-iterator dependency json-iterator/go#455
- travis.yml is replaced with github actions
Dependency Graph v1.9.2
v1.9.1
v1.9.0
Special thanks to József Sallai, Ray Mayemir, Encendre & Matthew Lee
🔥 New
app.Serve()#265ctx.BodyParser()now supports queries
🧹 Updates
🧬 Middleware
- https://github.com/gofiber/pprof gofiber/recipes#7
- https://github.com/gofiber/session #201
- https://github.com/gofiber/keyauth
- https://github.com/gofiber/jwt
- https://github.com/gofiber/redirect
🩹 Fixes
c.XHR()is now in case sensitive- Some tests were inconsistent
Dependency Graph v1.9.0
v1.8.43
v1.8.42
v1.8.41
🔥 New
- app.Settings.ReadTimeout https://fiber.wiki/application#settings #238
- app.Settings.WriteTimeout https://fiber.wiki/application#settings #238
- app.Settings.IdleTimeout https://fiber.wiki/application#settings #238
v1.8.4
Some old deprecated functions are now removed and template engines are moved to a separate middleware .
🔥 New
- Static struct can be used to tweak settings for serving static files https://fiber.wiki/application#static
app.Static("/", "./static", fiber.Static{
Compress: true, // Optional, default: false
ByteRange: true, // Optional, default: false
Browse: true, // Optional, default: false
Index: "john.html" // Optional, default: "index.html",
})🧹 Updates
- app.Static(prefix, root string, config ...Static)
- c.Method(
override ...string) - c.Path(
override ...string) TemplateEnginenow takes infunc(raw string, bind interface{}) (string, error)for custom template engines see https://fiber.wiki/middleware#templateapp.Test(req, ms ...int)Add optional timeout https://fiber.wiki/application#test (#236)SameSitegot added to Cookie https://fiber.wiki/context#cookie ( #233)
🩹 Fixes
- Serve index.html on root paths using Static #222 (comment)
1.11.x, 1.12.x, 1.13.x, 1.14.xGo version are now also tested- Internal optimizations / clean-up
- Removed unused dependencies
- Static case sensitive mis matches #227
- Static Update file/folder changes #221
- Static Fix iconfont files #222 (comment)
- Add partial comments to all functions for faster development
- Remove unused
*Connfrom*Ctxstruct
🗑️ Removed
engineargument inapp.Render()https://fiber.wiki/context#rendermiddlewarefrom Fiber package -> https://fiber.wiki/middlewareapp.WebSocket-> https://fiber.wiki/middleware#websocketapp.Recover-> https://fiber.wiki/middleware#recoverSettings.Compression-> https://fiber.wiki/middleware#compression
🧬 Middleware
templateengines https://fiber.wiki/middleware#template
index.mustache
<html>
<head>
<title>Template Demo</title>
</head>
<body>
Hi, my name is {{{name}}} and im {{{age}}} years old
</body>
</html>
server.go
package main
import (
"github.com/gofiber/fiber"
"github.com/gofiber/template"
)
func main() {
app := fiber.New()
app.Settings.TemplateEngine = template.Mustache()
app.Get("/", func(c *fiber.Ctx) {
bind := fiber.Map{
"name": "John",
"age": "35",
}
if err := c.Render("./index.mustache", bind); err != nil {
panic(err)
}
})
app.Listen(3000)
}v1.8.3
go get -u github.com/gofiber/fiber
All future middleware will be external so we can update/add features without updating the main version.
🔥 New
- https://github.com/gofiber/basicauth
- https://github.com/gofiber/compression #222
- https://github.com/gofiber/cors
- https://github.com/gofiber/helmet
- https://github.com/gofiber/limiter
- https://github.com/gofiber/logger
- https://github.com/gofiber/recover
- https://github.com/gofiber/requestid
- https://github.com/gofiber/websocket
🩹 Fixes
- Locals are supported in new WebSocket middleware #205
- Route params are not effected by
CaseSensitiveanymore #214 - Header duplication / Normalization #216
🗑️ Deprecated
- app.WebSocket()
- settings.Compression
- c.Compress()
- middleware.BasicAuth()
- middleware.Cors()
- middleware.Helmet()
- middleware.Limiter()
- middleware.Logger()
- middleware.Recover()
- middleware.RequestID()
