Releases: go-fuego/fuego
v0.15.0: Variadic options
Main feature : variadic options pattern 🔥
This pattern has been in test for the last months and is now confirmed. We fixed a lot of bugs, and it should be stable now. If not, don't hesitate to raise an issue!
The new syntax is described here : #174.
Thank you @rizerkrof @dylanhitt @ccoVeille @redecs for being regular contributors, and also thanks to the newcomers!
What's Changed
- chore: add test for multidimensional array bodies by @dylanhitt in #152
- feat: add ability to disable just the swagger ui by @dylanhitt in #155
- Tests/golden 2d array by @dylanhitt in #158
- Uses operation provided in register by @EwenQuim in #157
- chore: petstore tests cleanup by @dylanhitt in #160
- chore: fix comment typos in deserialization.go by @dylanhitt in #161
- BREAKING: all default Send* and Send*Error functions to have the same… by @dylanhitt in #164
- Fixing EOF bad request error when consume a route with empty request body by @dhanielsales in #168
- chore: ensure we test EOF clause in read by @dylanhitt in #170
- Enhance query parameters to support a list of parameters by @dhanielsales in #169
- chore: add test for SendHTML and minor test cleanup by @dylanhitt in #171
- feat: add group parameters by @rizerkrof in #165
- feat: add route.RequestContentType by @dylanhitt in #177
- Fix (potential) typo in the word resources by @asahasrabuddhe in #179
- Chore/send default by @dylanhitt in #175
- Correctly log status code by @MaikelH in #181
- Fix package name for Generated Controllers by @asahasrabuddhe in #178
- sort go imports by @ccoVeille in #186
- typos suggestion by @ccoVeille in #187
- feature: Add a CI for detecting typos by @imransolanki in #189
- ci: add a spellchecker to GitHub CI by @ccoVeille in #190
- Variadic route options by @EwenQuim in #176
- Hide route from OpenAPI spec, variadic options way by @EwenQuim in #196
- ci: no func whitespace by @dylanhitt in #205
- fixed wrong schema generation when using embedded struct by @mrguamos in #206
- docs: remove ErrorHandler doc reference to removed
ErrorWithInfo
in… by @dylanhitt in #212 - feat: add WithRequestContentType config option for the Server by @dylanhitt in #204
- Better Accept Serialization by @EwenQuim in #200
- Fix data race due to global instance of openapi3gen.Generator by @loikg in #202
- 500 internal server error by @EwenQuim in #213
- fix: gourmet app admin recipe creation by @dylanhitt in #214
- Moved Options & Params to main package by @EwenQuim in #215
- Enhance/admin searchs by @dylanhitt in #216
- Feat/param.required by @dylanhitt in #217
- Perf/url.values by @dylanhitt in #220
- refactor(basic-example) by @dylanhitt in #229
- Chore/refactor examples by @dylanhitt in #231
New Contributors
- @dhanielsales made their first contribution in #168
- @asahasrabuddhe made their first contribution in #179
- @MaikelH made their first contribution in #181
- @ccoVeille made their first contribution in #186
- @imransolanki made their first contribution in #189
- @mrguamos made their first contribution in #206
- @loikg made their first contribution in #202
Full Changelog: v0.14.0...v0.15.0
v0.14.0: Going stronger ⚙️
v0.14 : Going stronger ⚙️
v0.14 was a lot of hard work for us maintainers, but a lot of new features are coming to Fuego. 🔥
Fuego's has been tested through an intensive test suite and also in prod last few months, with great success at my company! I think we can say we are production-ready.
I wanted to thank the maintainers team for everything, thank you all!
Feature highlights
- OpenAPI generation is now more complete accurate
- We added a lot of internal tests and fixed bugs
- We have the long-awaited multi-return feature (will describe this in a blog post)
- Validation annotations are now understood for generating the OpenAPI schema
- Errors can be declared globally to register standard 400, 401... errors
- Errors can be declared on a per-route basis
What's Changed
- Struct-Based route Registration by @EwenQuim in #93
- chore: deprecation notice for WithPort() by @dylanhitt in #110
- Read Binary body with application/octet-stream Content-Type header by @EwenQuim in #112
- docs: remove usage of WithPort from docs in favor of WithAddr by @dylanhitt in #114
- Default tags are based on groups + possibility to disable auto tags by @EwenQuim in #115
- FIX: middlewares guides typo by @dvordrova in #117
- ci: add golangci-lint by @dylanhitt in #116
- Feat/disable print openapi by @dylanhitt in #123
- chore: typo on TestWithoutStartupMessages test by @dylanhitt in #124
- Easier TLS setup by @redecs in #120
- Chore/server setup by @dylanhitt in #126
- ACME Server TLS example with Let's Encrypt and certmagic by @redecs in #125
- Ci/markdown lint by @dylanhitt in #138
- deps: bump gorilla/scheme to v1.4.1 by @dylanhitt in #139
- fix: revert back to the simple funcName style operationID by @dylanhitt in #135
- Zuplo sponsoring by @EwenQuim in #140
- Update Zuplo sponsorship by @AdrianMachado in #142
- chore: add justification for disabled markdownlint rules by @dylanhitt in #144
- fix: differentiate between array types and standard structs by @dylanhitt in #134
- OpenAPI default description is a Fuego Cheatsheet by @EwenQuim in #149
- Extras in their own module by @EwenQuim in #147
- Golden file testing by @EwenQuim in #148
- Multi return by @EwenQuim in #137
- Info fields by @EwenQuim in #151
- Errors can be declared globally and route per route by @EwenQuim in #150
Breaking changes
- Your OpenAPI will be changed significantly (but for the better, we pass a lot of linters and tests)
- Markdown package has been moved to its own module
github.com/go-fuego/fuego/extra/markdown
New Contributors
- @dvordrova made their first contribution in #117
- @redecs made their first contribution in #120
- @AdrianMachado made their first contribution in #142
Full Changelog: v0.13.4...v0.14.0
v0.13.0: Errors & Tags
Features highlights 🔥
- RFC 9457 is implemented : Fuego now uses the standard way to handle errors in an API!
- Groups Tags : only add a tag
Book
once for all your/books/*
routes! - Hide routes and groups from OpenAPI Spec (useful for HTML routes for example)
- decode YAML input
(net/http) *Server
is now an embedded field, making Fuego even closed from the standard library
What's Changed
- feat: add swagger ui handler in server by @rizerkrof in #57
- fix: Set body height to 100% of the viewport height by @mailbaoer in #58
- feat: add option for custom validator by @vladz in #65
- cors handling by @EwenQuim in #68
- feat: support decoding x-yaml content-type in ContextWithBody by @dylanhitt in #72
- docs: ContextWithBody clarification by @dylanhitt in #73
- Sets
WithAddr
option and pass int asWithPort
argument by @EwenQuim in #74 - Embed
(net/http) *Server
field in fuego Server by @EwenQuim in #75 - Exposes OutputOpenAPISpec method to generate directly the outputs without starting server by @EwenQuim in #77
- Hide group by @EwenQuim in #78
- Make Default OpenAPI handler public by @EwenQuim in #83
- Adds Cookie and Header methods to context by @EwenQuim in #84
- RFC 9457 implementation by @EwenQuim in #86
- Basic auth test by @EwenQuim in #88
- Adds coverage tracking to repository by @EwenQuim in #90
- Fixes error Content-Type by @EwenQuim in #89
- feat: add tags to the Server (i.e Group) level by @dylanhitt in #91
New Contributors
- @mailbaoer made their first contribution in #58
- @vladz made their first contribution in #65
Full Changelog: v0.12.0...v0.13.0
v0.12.0
Features
Fuego now uses an online OpenAPI UI by default. This make the binaries built with Fuego 10Mb lighter, with the drawback to not be able to use the OpenAPI UI when offline. You can activate offline OpenAPI UI (embedded in the binary) with the build tag openapi_ui_local
, see docs.
Making the binary size smaller was planned, but the idea of using StopLight Elements for the online UI was given to me by @danielgtaylor in his project Huma, a project similar to Fuego.
What's Changed
- Update ci/cd go version to 1.22 by @Kronopt in #52
- docs: adds custom serialization guide by @EwenQuim in #54
- OpenAPI UI : online (now the default) or embedded (optional build tag) by @EwenQuim in #55
- docs: fix text in link to LICENSE.txt by @qbit in #53
New Contributors
Full Changelog: v0.11.0...v0.12.0
v0.11.0
New Features 🔥
- Cookie OpenAPI param
fuego.Get(s, "/test", testController).
Cookie("my-cookie", "my description")
- Header OpenAPI param
fuego.Get(s, "/test", testController).
Header("my-header", "my description")
What's Changed
- feat: add generate controller cli by @rizerkrof in #39
- docs: add fuego social platforms by @hugoleborso in #41
- Add search to documentation & minor cleanup by @Jeremie-Chauvel in #42
- Fix video size on documentation home page by @Jeremie-Chauvel in #43
- Improve Doc homepage responsiveness for mobile by @Jeremie-Chauvel in #44
- Change to MIT license by @hugoleborso in #47
- Doc: Fix usage of
Use
for middleware example by @guerinoni in #50 - feature: add header and cookie to openapi schema by @kaazedev in #48
- renamed AddHeader, AddCookie, WithQueryParams to Header, Cookie, QueryParam by @EwenQuim in #51
Breaking Changes
The breaking changes are (and will always be) explicit (no silent breaking changes) and easy to change until Fuego hits 1.0
- renamed WithDescription to Description
- renamed WithSummary to Summary
- renamed WithQueryParam to QueryParam
- renamed SetDeprecated to Deprecated
New Contributors
- @Jeremie-Chauvel made their first contribution in #42
- @guerinoni made their first contribution in #50
- @kaazedev made their first contribution in #48
Full Changelog: v0.10.0...v0.11.0
v0.10.0
What's Changed
Features
- Supports context in InTransformer by @EwenQuim in #33
- Templ & Gomponents first class support by @EwenQuim in b90fb6b
- Use different contexts by @EwenQuim in #36
Fixes
Other
- Docusaurus Docs by @hugoleborso in #34
- Docs/init docusaurus by @hugoleborso in #35
- Demo : use templ by @EwenQuim in b53b591
- Improved test coverage by @EwenQuim in 2165a2b
- Adds tests to CI by @EwenQuim in 79ad952
Full Changelog: v0.9.0...v0.10.0
v0.8.0 The "Fuego" release 🔥
What's Changed
- Add per route middlewares by @rizerkrof in #28
- HTML Rendering by @EwenQuim in #29
- Renamed Op to Fuego everywhere by @EwenQuim in 0a56b23
- Markdown support by @EwenQuim in 121af76
- Group mux does not accepts trailing slashesby @EwenQuim in a20613a
- Pass any context from a controller to a
Ctx[any]
controller by @EwenQuim in 2fe3a13 - QueryParamInt/Bool methods by @EwenQuim in bfe4fd5
- Validation should return 400 on fail by @rizerkrof in #30
Full Changelog: v0.7.0...v0.8.0
v0.7: Templating 📃 and Auth 🔐
What's Changed
- feat: add generate openapi options by @rizerkrof in #18
- Base of security package by @EwenQuim in #21
- Do not cache on error by @EwenQuim in #22
- Base of templating engine by @EwenQuim in #23
- Grouping returns a sub-router by @EwenQuim in #24
New Contributors
- @rizerkrof made their first contribution in #18
Full Changelog: v0.6.1...v0.7.0