Flamingo Framework and Core Library. Flamingo is a go based framework to build pluggable applications. Focus is on clean architecture, maintainability and operation readiness.
Full Changelog: https://github.com/i-love-flamingo/flamingo/compare/v3.8.0...v3.8.1
Full Changelog: https://github.com/i-love-flamingo/flamingo/compare/v3.7.0...v3.8.0
AuthCodeOption
in the token exchange during callback (#338) (b2453bab)AuthCodeOption
in the token exchange during callback by @carstendietrich in https://github.com/i-love-flamingo/flamingo/pull/338
Full Changelog: https://github.com/i-love-flamingo/flamingo/compare/v3.6.1...v3.7.0
Full Changelog: https://github.com/i-love-flamingo/flamingo/compare/v3.6.0...v3.6.1
Full Changelog: https://github.com/i-love-flamingo/flamingo/compare/v3.5.1...v3.6.0
Full Changelog: https://github.com/i-love-flamingo/flamingo/compare/v3.5.0...v3.5.1
Full Changelog: https://github.com/i-love-flamingo/flamingo/compare/v3.4.0...v3.5.0
switched from github.com/dgrijalva/jwt-go
to github.com/golang-jwt/jwt/v4
. this is a drop-in replacement
use search and replace to change the import path or add a replace statement to your go.mod:
replace (
github.com/dgrijalva/jwt-go v3.2.0+incompatible => github.com/golang-jwt/jwt/v4 v4.1.0
)
More details can be found here: https://github.com/golang-jwt/jwt/blob/main/MIGRATION_GUIDE.md
"locale" package:
Deprecated Features are removed:
flamingo.me/dingo
need to be used nowframework/web.Response
is now framework/web.Result
web.Request
is heavily condensed
web.Session
does not expose .GS()
for the gorilla session anymore
event.Subscriber
changes:
context.Context
as the first argument: Notify(ctx context.Context, e flamingo.Event)
event.Subscriber
are registered via framework/flamingo.BindEventSubscriber(injector).To(...)
several other Modules have been moved out of flamingo and exist as separate modules:
For all the stuff in this section: you may use the script docs/updates/v3/renameimports.sh
for autoupdate the import paths in your project and to do some first replacements.
moved modules outside of flamingo:
restructures inside flamingo:
core/requestTask
is renamed to core/requesttask
core/canonicalUrl
is renamed to core/canonicalurl
core/cmd
package moved to framework/cmd
and the cmd have been moved to the packages they belong toframework/router
package merged into framework/web
framework/event
package merged into framework/flamingo
framework/template
package merged into framework/flamingo
:
template.BindFunc
and template.BindCtxFunc
you have to use flamingo.BindTemplateFunc
framework/session
package merged into framework/flamingo
:
session.Module
use flamingo.SessionMdule
flamingo now uses go mod - we encourage to use it also in the projects:
go mod init YOURMODULEPATH
replace (
flamingo.me/flamingo/v3 => ../../PATHTOFLAMINGO
flamingo.me/flamingo-commerce/v3 => ../../PATHTOFLAMINGO
)
go mod vendor
and link the modules after this from vendor folderPrefixrouter configuration: rename prefixrouter.baseurl in flamingo.router.path
web.Responder
is now used
responder.JSONAware
responder.RenderAware
responder.RedirectAware
in a controller you need to inject
responder *web.Responder
And use the Methods of the Responder:
c.responder.Data()
c.responder.Render()
c.responder.Redirect()
dingo
is moved out to flamingo.me/dingo
and we recommend to use the Inject() methods instead of public properties.Full Changelog: https://github.com/i-love-flamingo/flamingo/compare/v3.3.0...v3.4.0