Skip to content

Releases: kosatnkn/catalyst

v3.2.0

07 Jan 01:49

Choose a tag to compare

What's Changed

  • Reduced error noise by removing additionally created and joined errors in each layer. This is in favour of the simpler approach of bubbling up the error.
  • build(deps): bump golang.org/x/crypto from 0.43.0 to 0.45.0 by @dependabot[bot] in #64
  • build(deps): bump github.com/quic-go/quic-go from 0.55.0 to 0.57.0 by @dependabot[bot] in #65

Full Changelog: v3.1.0...v3.2.0

v3.1.0

06 Nov 02:13

Choose a tag to compare

What's Changed

  • Added configuration information to README.md.
  • Addition of an identifier to structs and functions where it seems appropriate. This is done in usecases (as a string variable called ident) and in the persistence layer (as a struct field name). The purpose of this is to act as an identifier for that struct or the function. This allows the generation of consistent error messages. The use of this approach is NOT mandatory. It is rather an implementation of a convenience.
  • Made REST controllers in the presentation layer private.
  • Moved the paging function (that extracts pagination data from the request) and filters function (that extracts query filter data from the request) to ./presentation/rest/common_requests.go and also updated the paging and filter handling logic. Now these functions will accept a *gin.Context object and extract data from it.
  • Added the helper function bindErrorToCtx to the ./presentation/rest package. This will reduce noise in HTTP handler code by removing error handling redundancies.
  • Added the CORS Middleware to Gin router by default.

Full Changelog: v3.0.0...v3.1.0

v3.0.0

18 Oct 17:20

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.9.0...v3.0.0

v2.9.0

05 Aug 18:58

Choose a tag to compare

  • Upgraded to Go 1.22
  • Updated packages
  • Fixed both http and metric server shutdown issue
  • Updated CI pipeline actions to latest

v2.8.0

28 Dec 02:56

Choose a tag to compare

  • Upgraded to go 1.18
  • Upgraded codeql analysis to v2
  • Fixed CORS middleware issue

v2.7.0

25 Dec 11:23
79d90fa

Choose a tag to compare

  • Renamed channels to transport
  • Updated dependencies

v2.6.0

11 Aug 09:03

Choose a tag to compare

  • Changed mock server to stoplight/prism
  • Added Makefile
  • Added additional detail for filter parsing
  • Updated logging mechanism

v2.5.0

04 Apr 07:10

Choose a tag to compare

Added graceful shutdown of the metrics server

v2.4.0

08 Mar 14:45
cb4c196

Choose a tag to compare

We have done some major changes to Catalyst in this version. Most noticeable of this being the go.mod update to reflect v2. We also released v2 of Cauldron to create projects using Catalyst v2.4.0 and beyond.

Most noticeable features in this release includes,

  • A much streamlined Container.
  • Removal of Adapters from externals and moving them in to app (this will be a much suited position to keep Adapters because the domain does not use adapters directly).
  • Decoupled Adapters from Catalyst and made them third party dependencies.
  • Removed the global context. Now log and db packages will attach information they need to the context by themselves.
  • Errors and the error handler are streamlined. Now you can use wrapped errors and the error handler will generate a trace using those wrapped errors.
  • Fixed multiple committing of nested transactions.
  • Fixed prepared statement leakage.

v2.3.0

04 Jan 15:34

Choose a tag to compare

  • A base Controller with several convenience functions is added that can be embedded in to other controllers

  • Added a data mapper object to streamline output structures of the REST API
    Now data returned by the API will always be wrapped in the following structure.

{
  "data": "<your_data_here>"
}

This behavior can be changed by changing the response.Map() function.

  • Moved base path GET request handling to a separate controller APIController
    This too is an optional endpoint that is in place to get details about the REST API by calling its base path.

  • mapResult() function of Repository structs are streamlined so that mappings can be written in a compact form and allow mapping functions to throw errors rather than panic when type casting fails