Server side for goyotashi

goyotashi

クライアントサイドはこちら

IMAGE ALT TEXT HERE

製品概要

グループでよく行く飲食店のリストを共有する eat*Tech(消費者の食行動*Tech)SNS 「goyotashi

背景(製品開発のきっかけ、課題等)

グループや個人で飲食店に行くとき、「どこでもいい」と言いながら決まらないという面倒な問題がある。
人は既知の飲食店から行き先を選ぶ際、無意識によく行く飲食店リストを思い出そうとし、これでもない、あれでもないと悩む。
そんなときに見る便利なリストが欲しかった。

製品説明(具体的な製品の説明)

定期的にご飯を食べる人達(グループ)でよく行くお店リストを集約・可視化し、飲食店選びのコストを下げてくれるiOSアプリ。
リストはグループ外にも公開され、副作用として他のグループ御用達の、信頼できる飲食店を知ることができる。

特長

1. 知っている飲食店の中から選ぶので、選択肢が多くなくて選びやすい!

2. すぐに思い出せないが、今の気分にあっている飲食店が見つかる!

3. 自分が属していない近くのグループや、似たような嗜好性のグループ御用達の飲食店を見ることで、選択肢が広がる!

解決出来ること

「どこでもいい」と言いながらも、潜在的には食べたいものの気分がある。
そんなときに検索に変わるより低コストな手段として、飲食店選びを解決する。

今後の展望

グループが公開されることによる副作用をより活かす(ex. グループ・嗜好性情報の拡充)

注力したこと(こだわり等)

  • 課題の吟味、深掘り
  • ユーザーインタビューやユースケースの具体化
  • 既存のグルメアプリとの差別化

開発技術

活用した技術

  • クライアント:swift
  • サーバ:Go

API・データ

フレームワーク・ライブラリ・モジュール

デバイス

独自技術

ハッカソンで開発した独自機能・技術

  • 独自で開発したものの内容をこちらに記載してください
  • 特に力を入れた部分をファイルリンク、またはcommit_idを記載してください。

ドキュメントなど

server side Wiki
client side Wiki

DB

  • マイグレーションはgolang-migrateを使用している。
    • migrate create -ext sql -dir migrations [migration name]で新しいマイグレーションファイルを追加
    • サーバーの起動時に自動でマイグレーションされる
  • models_genはSQLBoilerで生成している
    • docker compose upでサーバーとMySQLをローカルで起動する
    • sqlboiler mysqlmodels_genを生成する

実行方法 (docker を使う場合)

  1. ホットペッパーの API キーを取得する (See https://webservice.recruit.co.jp/doc/hotpepper/reference.html)
  2. docker-compose.override.yaml.example をコピーして docker-compose.override.yaml というファイル名のファイルを作成し、そこに記入する
  3. docker-compose up (必要に応じて --build をつける)
Owner
Comments
  • Community のフィールドを追加する

    Community のフィールドを追加する

    閉じるissue

    • close #47

    やったこと

    • Community に対して num_restaurants, num_users, image_urls を追加
    • それに合わせて Go 側を修正

    修正する API

    • [x] GET /community/{id}
    • [x] POST /community
    • [x] GET /community/search
    • [x] GET /user/{id}/communities
    • [x] GET /user/{id}/bookmark

    参考リンク・補足など

  • DBスキーマを追加

    DBスキーマを追加

    Close #4

    TODO、考えること

    • [x] locationはgeometryでよさそうか
    • [x] index貼る
    • [x] レストランに取得元のAPIの情報を持たせる?(vendorとホットペッパーで提供されているidとか)
    • [x] レストランの画像はとりあえず一枚で良い?
    • [x] usersにauthInfoを持たせる必要があるか -> とりあえず持たせないことにする
    • [x] userとグループの画像
    • [x] on delete と on update
    • [x] timestampにする
    • [x] 店舗情報は緯度/経度 のほかに住所もあった方が良いかな

    以下は別PRにする

    • [ ] golang-migrateでマイグレーション
    • [ ] SQLBoilerでORマッパーを生成する
  • Bump github.com/labstack/echo/v4 from 4.2.1 to 4.6.1

    Bump github.com/labstack/echo/v4 from 4.2.1 to 4.6.1

    Bumps github.com/labstack/echo/v4 from 4.2.1 to 4.6.1.

    Release notes

    Sourced from github.com/labstack/echo/v4's releases.

    v4.6.1

    Enhancements

    • Add start time to request logger middleware values #1991

    v4.6.0

    Introduced a new request logger middleware to help with cases when you want to use some other logging library in your application.

    Fixes

    • fix timeout middleware warning: superfluous response.WriteHeader #1905

    Enhancements

    • Add Cookie to KeyAuth middleware's KeyLookup #1929
    • JWT middleware should ignore case of auth scheme in request header #1951
    • Refactor default error handler to return first if response is already committed #1956
    • Added request logger middleware which helps to use custom logger library for logging requests. #1980
    • Allow escaping of colon in route path so Google Cloud API "custom methods" could be implemented #1988

    v4.5.0

    Important notes

    A BREAKING CHANGE is introduced for JWT middleware users.

    The JWT library used for the JWT middleware had to be changed from github.com/dgrijalva/jwt-go to github.com/golang-jwt/jwt due former library being unmaintained and affected by security issues. The github.com/golang-jwt/jwt project is a drop-in replacement, but supports only the latest 2 Go versions. So for JWT middleware users Go 1.15+ is required. For detailed information please read #1940

    To change the library imports in all .go files in your project replace all occurrences of dgrijalva/jwt-go with golang-jwt/jwt.

    For Linux CLI you can use:

    find -type f -name "*.go" -exec sed -i "s/dgrijalva\/jwt-go/golang-jwt\/jwt/g" {} \;
    go mod tidy
    

    Fixes

    • Change JWT library to github.com/golang-jwt/jwt #1946

    v4.4.0

    Fixes

    • Split HeaderXForwardedFor header only by comma #1878
    • Fix Timeout middleware Context propagation #1910

    Enhancements

    ... (truncated)

    Changelog

    Sourced from github.com/labstack/echo/v4's changelog.

    v4.6.1 - 2021-09-26

    Enhancements

    • Add start time to request logger middleware values #1991

    v4.6.0 - 2021-09-20

    Introduced a new request logger middleware to help with cases when you want to use some other logging library in your application.

    Fixes

    • fix timeout middleware warning: superfluous response.WriteHeader #1905

    Enhancements

    • Add Cookie to KeyAuth middleware's KeyLookup #1929
    • JWT middleware should ignore case of auth scheme in request header #1951
    • Refactor default error handler to return first if response is already committed #1956
    • Added request logger middleware which helps to use custom logger library for logging requests. #1980
    • Allow escaping of colon in route path so Google Cloud API "custom methods" could be implemented #1988

    v4.5.0 - 2021-08-01

    Important notes

    A BREAKING CHANGE is introduced for JWT middleware users. The JWT library used for the JWT middleware had to be changed from github.com/dgrijalva/jwt-go to github.com/golang-jwt/jwt due former library being unmaintained and affected by security issues. The github.com/golang-jwt/jwt project is a drop-in replacement, but supports only the latest 2 Go versions. So for JWT middleware users Go 1.15+ is required. For detailed information please read #1940

    To change the library imports in all .go files in your project replace all occurrences of dgrijalva/jwt-go with golang-jwt/jwt.

    For Linux CLI you can use:

    find -type f -name "*.go" -exec sed -i "s/dgrijalva\/jwt-go/golang-jwt\/jwt/g" {} \;
    go mod tidy
    

    Fixes

    • Change JWT library to github.com/golang-jwt/jwt #1946

    v4.4.0 - 2021-07-12

    Fixes

    ... (truncated)

    Commits
    • c6f0c66 Update version and changelog for 4.6.1 (#1995)
    • a2e6ca7 Add start time to request logger middleware values (#1991)
    • 4651c7a Update version and changelog for 4.6.0 (#1990)
    • 6a85f48 Update README.md
    • 9fc4672 Allow escaping of colon in route path so Google Cloud API "custom methods" ht...
    • f6b45f2 CI: test against Go 1.17 (#1984)
    • 1e7e67c Added request logger middleware which helps to use custom logger library for ...
    • 7f502b1 try to fix #1905 and add some notes (#1947)
    • d793521 Update README.md
    • eaba4c3 Delete .all-contributorsrc
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/getkin/kin-openapi from 0.61.0 to 0.80.0

    Bump github.com/getkin/kin-openapi from 0.61.0 to 0.80.0

    Bumps github.com/getkin/kin-openapi from 0.61.0 to 0.80.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/getkin/kin-openapi from 0.80.0 to 0.111.0

    Bump github.com/getkin/kin-openapi from 0.80.0 to 0.111.0

    Bumps github.com/getkin/kin-openapi from 0.80.0 to 0.111.0.

    Release notes

    Sourced from github.com/getkin/kin-openapi's releases.

    v0.111.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.110.0...v0.111.0

    v0.110.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.109.0...v0.110.0

    v0.109.0

    What's Changed

    New Contributors

    ... (truncated)

    Commits
    • 2975a21 openapi3: patch YAML serialization of dates (#698)
    • 35bb627 Fix links to OpenAPI spec after GitHub changes (#714)
    • 6a3b779 Fix inconsistent processing of server variables in gorillamux router (#705)
    • 6cbc1b0 openapi3filter: parse integers with strconv.ParseInt instead of ParseFloat (#...
    • 7413c27 openapi3filter: Include schema ref or title in response body validation error...
    • b003421 Add json patch support (#702)
    • c1219e3 Bugfix/issue638 (#700)
    • f136047 Use and update GetBody() member of request (#704)
    • 8718011 Try decoding as JSON first then YAML, for speed (#693)
    • ebbf60d fix: setting defaults for oneOf and anyOf (#690)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/getkin/kin-openapi from 0.80.0 to 0.110.0

    Bump github.com/getkin/kin-openapi from 0.80.0 to 0.110.0

    Bumps github.com/getkin/kin-openapi from 0.80.0 to 0.110.0.

    Release notes

    Sourced from github.com/getkin/kin-openapi's releases.

    v0.110.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.109.0...v0.110.0

    v0.109.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.108.0...v0.109.0

    v0.108.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.107.0...v0.108.0

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/getkin/kin-openapi from 0.80.0 to 0.109.0

    Bump github.com/getkin/kin-openapi from 0.80.0 to 0.109.0

    Bumps github.com/getkin/kin-openapi from 0.80.0 to 0.109.0.

    Release notes

    Sourced from github.com/getkin/kin-openapi's releases.

    v0.109.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.108.0...v0.109.0

    v0.108.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.107.0...v0.108.0

    v0.107.0

    What's Changed

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.106.0...v0.107.0

    v0.106.0

    What's Changed

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.105.0...v0.106.0

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/deepmap/oapi-codegen from 1.8.3 to 1.12.3

    Bump github.com/deepmap/oapi-codegen from 1.8.3 to 1.12.3

    Bumps github.com/deepmap/oapi-codegen from 1.8.3 to 1.12.3.

    Release notes

    Sourced from github.com/deepmap/oapi-codegen's releases.

    Fix the generated error handling for Gin

    In v1.12.0 we added support for custom error handling to be used in the generated Gin code.

    Unfortunately, we didn't produce the right code, so this would cause (compilation) errors.

    Fix big issue with marshaling binary strings

    v1.12.0 introduced a File type which intercepts schemas of type:string, format:binary, but it incorrectly implemented the json.Marshaler interface and was lacking tests to catch the problem. This version fixes the marshaling of fields of that type.

    Prior versions of oapi-codegen turned those into a []byte, and you can still annotate your spec with x-go-type if you need []byte

    Fix an issue with command line parsing

    • The -o flag specifying the output filename was being ignore in very simple invocations of oapi-codegen without a configuration file. This is fallout from trying to be compatible with old and new style configs.

    Many bug fixes

    Major changes to functionality

    • In the last release, we changed the configuration file format to a new syntax, and added flags to read the old version, but it turns out that this default-on change broke a lot of automation, sorry about that. In this release, we've done our best to auto-detect the configuration version, so both styles of config options should work. The explicit version selection flags have not been removed.
    • Gorilla router (deepmap/oapi-codegen#594)
    • "strict" server generation, meaning one which is much more pedantic about input and output types, which allows for making API clients and servers that look more like Go functions than HTTP handlers (deepmap/oapi-codegen#499)
    • Fields can be marked with x-json-ignore to omit in JSON serialization (deepmap/oapi-codegen#390)
    • Many fixes to unions for oneOf and anyOf handling, thank you committers.
    • Enums can be prefixed with their typename in all cases, versus only on collisions previously. This is a configurable option (deepmap/oapi-codegen#662)
    • The Client interface in generated code was named awfully generically. You can now override the name (deepmap/oapi-codegen#788)
    • Generate code can be optionally formatted using more initialisms. It's default-off to not break existing code (deepmap/oapi-codegen#749)
    • Gin code can be configured with a custom error handler, versus generating error responses inline. Default behavior is the same as before (deepmap/oapi-codegen#587)
    • Gin middleware evaluation order can be reversed to be consistent with common Gin usage, it's default-off to not break previous behavior. ( deepmap/oapi-codegen#787)

    Everything that has changed

    This is a very large release with many bug fixes. Thanks to all contributors.

    ... (truncated)

    Commits
    • 0138e13 Fix error handler for required query parameters (#857)
    • 050c4bf fix: shouldBind instead of Bind to prevent abort (#830)
    • 7dead8e Fix binary string encoding
    • 65843bf Update enum shadowing workaround
    • a2adb9c Fix schema shadowing issue by enums (#833)
    • 5a1784a Configure default generator with no config
    • 8175447 Handle simple configs with output flag properly
    • cf23455 Fix bug in oneOf not propagating external references (#729)
    • e5ee43d Change imports into aliases so they implement the base interface
    • 7b01009 Add client-type-prefix output option (#785) (#788)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/getkin/kin-openapi from 0.80.0 to 0.108.0

    Bump github.com/getkin/kin-openapi from 0.80.0 to 0.108.0

    Bumps github.com/getkin/kin-openapi from 0.80.0 to 0.108.0.

    Release notes

    Sourced from github.com/getkin/kin-openapi's releases.

    v0.108.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.107.0...v0.108.0

    v0.107.0

    What's Changed

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.106.0...v0.107.0

    v0.106.0

    What's Changed

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.105.0...v0.106.0

    v0.105.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.104.0...v0.105.0

    v0.104.0

    What's Changed

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/deepmap/oapi-codegen from 1.8.3 to 1.12.2

    Bump github.com/deepmap/oapi-codegen from 1.8.3 to 1.12.2

    Bumps github.com/deepmap/oapi-codegen from 1.8.3 to 1.12.2.

    Release notes

    Sourced from github.com/deepmap/oapi-codegen's releases.

    Fix big issue with marshaling binary strings

    v1.12.0 introduced a File type which intercepts schemas of type:string, format:binary, but it incorrectly implemented the json.Marshaler interface and was lacking tests to catch the problem. This version fixes the marshaling of fields of that type.

    Prior versions of oapi-codegen turned those into a []byte, and you can still annotate your spec with x-go-type if you need []byte

    Fix an issue with command line parsing

    • The -o flag specifying the output filename was being ignore in very simple invocations of oapi-codegen without a configuration file. This is fallout from trying to be compatible with old and new style configs.

    Many bug fixes

    Major changes to functionality

    • In the last release, we changed the configuration file format to a new syntax, and added flags to read the old version, but it turns out that this default-on change broke a lot of automation, sorry about that. In this release, we've done our best to auto-detect the configuration version, so both styles of config options should work. The explicit version selection flags have not been removed.
    • Gorilla router (deepmap/oapi-codegen#594)
    • "strict" server generation, meaning one which is much more pedantic about input and output types, which allows for making API clients and servers that look more like Go functions than HTTP handlers (deepmap/oapi-codegen#499)
    • Fields can be marked with x-json-ignore to omit in JSON serialization (deepmap/oapi-codegen#390)
    • Many fixes to unions for oneOf and anyOf handling, thank you committers.
    • Enums can be prefixed with their typename in all cases, versus only on collisions previously. This is a configurable option (deepmap/oapi-codegen#662)
    • The Client interface in generated code was named awfully generically. You can now override the name (deepmap/oapi-codegen#788)
    • Generate code can be optionally formatted using more initialisms. It's default-off to not break existing code (deepmap/oapi-codegen#749)
    • Gin code can be configured with a custom error handler, versus generating error responses inline. Default behavior is the same as before (deepmap/oapi-codegen#587)
    • Gin middleware evaluation order can be reversed to be consistent with common Gin usage, it's default-off to not break previous behavior. ( deepmap/oapi-codegen#787)

    Everything that has changed

    This is a very large release with many bug fixes. Thanks to all contributors.

    ... (truncated)

    Commits
    • 7dead8e Fix binary string encoding
    • 65843bf Update enum shadowing workaround
    • a2adb9c Fix schema shadowing issue by enums (#833)
    • 5a1784a Configure default generator with no config
    • 8175447 Handle simple configs with output flag properly
    • cf23455 Fix bug in oneOf not propagating external references (#729)
    • e5ee43d Change imports into aliases so they implement the base interface
    • 7b01009 Add client-type-prefix output option (#785) (#788)
    • 0d74b1d Regenerate boilerplate
    • 895be61 Ft/handle external pkg name in response (#752)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/getkin/kin-openapi from 0.80.0 to 0.107.0

    Bump github.com/getkin/kin-openapi from 0.80.0 to 0.107.0

    Bumps github.com/getkin/kin-openapi from 0.80.0 to 0.107.0.

    Release notes

    Sourced from github.com/getkin/kin-openapi's releases.

    v0.107.0

    What's Changed

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.106.0...v0.107.0

    v0.106.0

    What's Changed

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.105.0...v0.106.0

    v0.105.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.104.0...v0.105.0

    v0.104.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.103.0...v0.104.0

    v0.103.0

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/labstack/echo/v4 from 4.6.1 to 4.10.0

    Bump github.com/labstack/echo/v4 from 4.6.1 to 4.10.0

    Bumps github.com/labstack/echo/v4 from 4.6.1 to 4.10.0.

    Release notes

    Sourced from github.com/labstack/echo/v4's releases.

    v4.10.0

    Security

    • We are deprecating JWT middleware in this repository. Please use https://github.com/labstack/echo-jwt instead.

      JWT middleware is moved to separate repository to allow us to bump/upgrade version of JWT implementation (github.com/golang-jwt/jwt) we are using which we can not do in Echo core because this would break backwards compatibility guarantees we try to maintain.

    • This minor version bumps minimum Go version to 1.17 (from 1.16) due golang.org/x/ packages we depend on. There are several vulnerabilities fixed in these libraries.

      Echo still tries to support last 4 Go versions but there are occasions we can not guarantee this promise.

    Enhancements

    • Bump x/text to 0.3.8 #2305
    • Bump dependencies and add notes about Go releases we support #2336
    • Add helper interface for ProxyBalancer interface #2316
    • Expose middleware.CreateExtractors function so we can use it from echo-contrib repository #2338
    • Refactor func(Context) error to HandlerFunc #2315
    • Improve function comments #2329
    • Add new method HTTPError.WithInternal #2340
    • Replace io/ioutil package usages #2342
    • Add staticcheck to CI flow #2343
    • Replace relative path determination from proprietary to std #2345
    • Remove square brackets from ipv6 addresses in XFF (X-Forwarded-For header) #2182
    • Add testcases for some BodyLimit middleware configuration options #2350
    • Additional configuration options for RequestLogger and Logger middleware #2341
    • Add route to request log #2162
    • GitHub Workflows security hardening #2358
    • Add govulncheck to CI and bump dependencies #2362
    • Fix rate limiter docs #2366
    • Refactor how e.Routes() work and introduce e.OnAddRouteHandler callback #2337

    v4.9.1

    Fixes

    • Fix logger panicing (when template is set to empty) by bumping dependency version #2295

    Enhancements

    • Improve CORS documentation #2272
    • Update readme about supported Go versions #2291
    • Tests: improve error handling on closing body #2254
    • Tests: refactor some of the assertions in tests #2275
    • Tests: refactor assertions #2301

    v4.9.0

    Security

    • Fix open redirect vulnerability in handlers serving static directories (e.Static, e.StaticFs, echo.StaticDirectoryHandler) #2260

    ... (truncated)

    Changelog

    Sourced from github.com/labstack/echo/v4's changelog.

    v4.10.0 - 2022-12-27

    Security

    • We are deprecating JWT middleware in this repository. Please use https://github.com/labstack/echo-jwt instead.

      JWT middleware is moved to separate repository to allow us to bump/upgrade version of JWT implementation (github.com/golang-jwt/jwt) we are using which we can not do in Echo core because this would break backwards compatibility guarantees we try to maintain.

    • This minor version bumps minimum Go version to 1.17 (from 1.16) due golang.org/x/ packages we depend on. There are several vulnerabilities fixed in these libraries.

      Echo still tries to support last 4 Go versions but there are occasions we can not guarantee this promise.

    Enhancements

    • Bump x/text to 0.3.8 #2305
    • Bump dependencies and add notes about Go releases we support #2336
    • Add helper interface for ProxyBalancer interface #2316
    • Expose middleware.CreateExtractors function so we can use it from echo-contrib repository #2338
    • Refactor func(Context) error to HandlerFunc #2315
    • Improve function comments #2329
    • Add new method HTTPError.WithInternal #2340
    • Replace io/ioutil package usages #2342
    • Add staticcheck to CI flow #2343
    • Replace relative path determination from proprietary to std #2345
    • Remove square brackets from ipv6 addresses in XFF (X-Forwarded-For header) #2182
    • Add testcases for some BodyLimit middleware configuration options #2350
    • Additional configuration options for RequestLogger and Logger middleware #2341
    • Add route to request log #2162
    • GitHub Workflows security hardening #2358
    • Add govulncheck to CI and bump dependencies #2362
    • Fix rate limiter docs #2366
    • Refactor how e.Routes() work and introduce e.OnAddRouteHandler callback #2337

    v4.9.1 - 2022-10-12

    Fixes

    • Fix logger panicing (when template is set to empty) by bumping dependency version #2295

    Enhancements

    • Improve CORS documentation #2272
    • Update readme about supported Go versions #2291
    • Tests: improve error handling on closing body #2254
    • Tests: refactor some of the assertions in tests #2275
    • Tests: refactor assertions #2301

    ... (truncated)

    Commits
    • f36d566 Changelog for 4.10.0
    • a69727e Mark JWT middleware deprecated
    • 0056cc8 Improve comments wording
    • 45402bb Add echo.OnAddRouteHandler field. As name says - this handler is called when ...
    • f1cf1ec Fix adding route with host overwrites default host route with same method+pat...
    • 895121d Fix rate limiter docs (#2366)
    • abecadc Merge pull request #2362 from aldas/add_govulncheck_2_ci
    • bc75cc2 Add govulncheck to CI and bump dependencies. Refactor GitHub workflows.
    • 40eb889 build: harden echo.yml permissions
    • 135c511 Add request route with "route" tag to logger middleware (#2162)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/getkin/kin-openapi from 0.80.0 to 0.112.0

    Bump github.com/getkin/kin-openapi from 0.80.0 to 0.112.0

    Bumps github.com/getkin/kin-openapi from 0.80.0 to 0.112.0.

    Release notes

    Sourced from github.com/getkin/kin-openapi's releases.

    v0.112.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.111.0...v0.112.0

    v0.111.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.110.0...v0.111.0

    v0.110.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/getkin/kin-openapi/compare/v0.109.0...v0.110.0

    ... (truncated)

    Commits
    • 46e0df8 openapi3filter: use option to skip setting defaults on validation (#708)
    • a0b67a0 openapi3: continue validation on valid oneOf properties (#721)
    • 1f680b5 feat: improve error reporting for bad/missing discriminator (#718)
    • 1490eae openapi3: introduce (Paths).InMatchingOrder() paths iterator (#719)
    • de2455e openapi3: unexport ValidationOptions fields and add some more (#717)
    • 3be535f openapi3filter: validate non-string headers (#712)
    • 25a5fe4 Leave allocation capacity guessing to the runtime (#716)
    • 2975a21 openapi3: patch YAML serialization of dates (#698)
    • 35bb627 Fix links to OpenAPI spec after GitHub changes (#714)
    • 6a3b779 Fix inconsistent processing of server variables in gorillamux router (#705)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/volatiletech/sqlboiler/v4 from 4.7.1 to 4.14.0

    Bump github.com/volatiletech/sqlboiler/v4 from 4.7.1 to 4.14.0

    Bumps github.com/volatiletech/sqlboiler/v4 from 4.7.1 to 4.14.0.

    Release notes

    Sourced from github.com/volatiletech/sqlboiler/v4's releases.

    v4.14.0

    See https://github.com/volatiletech/sqlboiler/blob/HEAD/CHANGELOG.md for details.

    • Allow calling struct.Exists() without having to pass on PK fields (thanks @​MJacred)
    • Stop using deprecated methods from io/ioutil (thanks @​stefafafan)
    • Fixed correct hooks when loading relationships to-one (thanks @​parnic)

    v4.13.0

    See https://github.com/volatiletech/sqlboiler/blob/HEAD/CHANGELOG.md for details.

    • Generate IN/NIN whereHelpers for nullable types (thanks @​fdegiuli)
    • Fixed concurrent map writes in psql driver (thanks @​pavel-krush)
    • Force title case for enum null prefix (thanks @​optiman)

    v4.12.0

    See https://github.com/volatiletech/sqlboiler/blob/HEAD/CHANGELOG.md for details.

    • Fetch column and table info in parallel (thanks @​pavel-krush)
    • Generate IN/NIN methods for enum type query helpers (thanks @​optiman)
    • Improve psql performance by isolating uniqueness query (thanks @​peterldowns)
    • Support for psql materialized view (thanks @​severedsea)
    • Support loading model relationships when binding to a struct with an embedded model (thanks @​optiman)

    v4.11.0

    See https://github.com/volatiletech/sqlboiler/blob/HEAD/CHANGELOG.md for details.

    v4.10.2

    See https://github.com/volatiletech/sqlboiler/blob/HEAD/CHANGELOG.md for details.

    v4.10.1

    See https://github.com/volatiletech/sqlboiler/blob/HEAD/CHANGELOG.md for details.

    v4.10.0

    See https://github.com/volatiletech/sqlboiler/blob/HEAD/CHANGELOG.md for details.

    • Add config options to allow user defined rules for inflections

    v4.9.2

    See https://github.com/volatiletech/sqlboiler/blob/HEAD/CHANGELOG.md for details.

    v4.9.1

    See https://github.com/volatiletech/sqlboiler/blob/HEAD/CHANGELOG.md for details.

    v4.9.0

    See https://github.com/volatiletech/sqlboiler/blob/HEAD/CHANGELOG.md for details.

    • Add AllEnum() function to retrieve a slice of all valid values of an enum type

    ... (truncated)

    Changelog

    Sourced from github.com/volatiletech/sqlboiler/v4's changelog.

    [v4.14.0] - 2022-12-14

    Added

    • Allow calling struct.Exists() without having to pass on PK fields (thanks @​MJacred)

    Changed

    • Stop using deprecated methods from io/ioutil (thanks @​stefafafan)

    Fixed

    • Fixed correct hooks when loading relationships to-one (thanks @​parnic)

    [v4.13.0] - 2022-08-28

    Added

    • Generate IN/NIN whereHelpers for nullable types (thanks @​fdegiuli)

    Fixed

    [v4.12.0] - 2022-07-26

    Added

    • Fetch column and table info in parallel (thanks @​pavel-krush)
    • Generate IN/NIN methods for enum type query helpers (thanks @​optiman)
    • Improve psql performance by isolating uniqueness query (thanks @​peterldowns)
    • Support for psql materialized view (thanks @​severedsea)
    • Support loading model relationships when binding to a struct with embedded model (thanks @​optiman)

    Fixed

    • Fix panic when missing primary key in table (thanks @​zapo)
    • Fix some SQLite tests by enabling shared cache (thanks @​gabe565)
    • Fix(sqlite3): narrows column.AutoGenerated to columns with INT PKs (thanks @​pbedat)
    • Fix auto-columns.deleted not replace the default deleted_at column name (thanks @​shivaluma)
    • Trim whitespace for column comments (thanks @​arp242)

    [v4.11.0] - 2022-04-25

    Added

    ... (truncated)

    Commits
    • 21e935a Update changelog and bump version
    • 91c4f33 Merge pull request #1226 from eliecharra/fix/wherein_doc
    • 0cf73d7 Fix typo in README.md
    • 332721a Merge pull request #1165 from eliaperantoni/master
    • 6792ea9 fix: fix doc for the wherein clause
    • 22497a8 Merge pull request #1220 from stefafafan/fix-ioutil-deprecations
    • ac3043d io/ioutil not needed for imports anymore
    • 53fcc42 replace ioutil.WriteFile with os.WriteFile
    • e14a9f9 replace ioutil.TempFile with os.CreateTemp
    • 84bff88 replace ioutil.TempDir with os.MkdirTemp
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/go-sql-driver/mysql from 1.6.0 to 1.7.0

    Bump github.com/go-sql-driver/mysql from 1.6.0 to 1.7.0

    Bumps github.com/go-sql-driver/mysql from 1.6.0 to 1.7.0.

    Release notes

    Sourced from github.com/go-sql-driver/mysql's releases.

    Version 1.7

    Changes:

    • Drop support of Go 1.12 (#1211)
    • Refactoring (*textRows).readRow in a more clear way (#1230)
    • util: Reduce boundary check in escape functions. (#1316)
    • enhancement for mysqlConn handleAuthResult (#1250)

    New Features:

    • support Is comparison on MySQLError (#1210)
    • return unsigned in database type name when necessary (#1238)
    • Add API to express like a --ssl-mode=PREFERRED MySQL client (#1370)
    • Add SQLState to MySQLError (#1321)

    Bugfixes:

    • Fix parsing 0 year. (#1257)
    Changelog

    Sourced from github.com/go-sql-driver/mysql's changelog.

    Version 1.7 (2022-11-29)

    Changes:

    • Drop support of Go 1.12 (#1211)
    • Refactoring (*textRows).readRow in a more clear way (#1230)
    • util: Reduce boundary check in escape functions. (#1316)
    • enhancement for mysqlConn handleAuthResult (#1250)

    New Features:

    • support Is comparison on MySQLError (#1210)
    • return unsigned in database type name when necessary (#1238)
    • Add API to express like a --ssl-mode=PREFERRED MySQL client (#1370)
    • Add SQLState to MySQLError (#1321)

    Bugfixes:

    • Fix parsing 0 year. (#1257)

    Version 1.6 (2021-04-01)

    Changes:

    • Migrate the CI service from travis-ci to GitHub Actions (#1176, #1183, #1190)
    • NullTime is deprecated (#960, #1144)
    • Reduce allocations when building SET command (#1111)
    • Performance improvement for time formatting (#1118)
    • Performance improvement for time parsing (#1098, #1113)

    New Features:

    • Implement driver.Validator interface (#1106, #1174)
    • Support returning uint64 from Valuer in ConvertValue (#1143)
    • Add json.RawMessage for converter and prepared statement (#1059)
    • Interpolate json.RawMessage as string (#1058)
    • Implements CheckNamedValue (#1090)

    Bugfixes:

    • Stop rounding times (#1121, #1172)
    • Put zero filler into the SSL handshake packet (#1066)
    • Fix checking cancelled connections back into the connection pool (#1095)
    • Fix remove last 0 byte for mysql_old_password when password is empty (#1133)

    Version 1.5 (2020-01-07)

    Changes:

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/deepmap/oapi-codegen from 1.8.3 to 1.12.4

    Bump github.com/deepmap/oapi-codegen from 1.8.3 to 1.12.4

    Bumps github.com/deepmap/oapi-codegen from 1.8.3 to 1.12.4.

    Release notes

    Sourced from github.com/deepmap/oapi-codegen's releases.

    Ensure Scopes context key are generated as valid Go names

    As highlighted by @​KenxinKun in deepmap/oapi-codegen#874, gorilla/mux (as well as some other servers) were affected by an invalid Scopes context key.

    This makes them valid Go names.

    Fix the generated error handling for Gin

    In v1.12.0 we added support for custom error handling to be used in the generated Gin code.

    Unfortunately, we didn't produce the right code, so this would cause (compilation) errors.

    Fix big issue with marshaling binary strings

    v1.12.0 introduced a File type which intercepts schemas of type:string, format:binary, but it incorrectly implemented the json.Marshaler interface and was lacking tests to catch the problem. This version fixes the marshaling of fields of that type.

    Prior versions of oapi-codegen turned those into a []byte, and you can still annotate your spec with x-go-type if you need []byte

    Fix an issue with command line parsing

    • The -o flag specifying the output filename was being ignore in very simple invocations of oapi-codegen without a configuration file. This is fallout from trying to be compatible with old and new style configs.

    Many bug fixes

    Major changes to functionality

    • In the last release, we changed the configuration file format to a new syntax, and added flags to read the old version, but it turns out that this default-on change broke a lot of automation, sorry about that. In this release, we've done our best to auto-detect the configuration version, so both styles of config options should work. The explicit version selection flags have not been removed.
    • Gorilla router (deepmap/oapi-codegen#594)
    • "strict" server generation, meaning one which is much more pedantic about input and output types, which allows for making API clients and servers that look more like Go functions than HTTP handlers (deepmap/oapi-codegen#499)
    • Fields can be marked with x-json-ignore to omit in JSON serialization (deepmap/oapi-codegen#390)
    • Many fixes to unions for oneOf and anyOf handling, thank you committers.
    • Enums can be prefixed with their typename in all cases, versus only on collisions previously. This is a configurable option (deepmap/oapi-codegen#662)
    • The Client interface in generated code was named awfully generically. You can now override the name (deepmap/oapi-codegen#788)
    • Generate code can be optionally formatted using more initialisms. It's default-off to not break existing code (deepmap/oapi-codegen#749)
    • Gin code can be configured with a custom error handler, versus generating error responses inline. Default behavior is the same as before (deepmap/oapi-codegen#587)
    • Gin middleware evaluation order can be reversed to be consistent with common Gin usage, it's default-off to not break previous behavior. ( deepmap/oapi-codegen#787)

    Everything that has changed

    This is a very large release with many bug fixes. Thanks to all contributors.

    ... (truncated)

    Commits
    • a444d30 Merge pull request #881 from KenxinKun/fix-unsanitised-template
    • 55b0905 Fixes missing unsanitised templates
    • 5a33791 Merge pull request #877 from KenxinKun/gorilla-fix-context-scope-variable-tem...
    • d14917d Fixes missing sanitation of context key variable in gorilla server
    • 4ec8015 Merge pull request #854 from deepmap/dependabot/go_modules/golang.org/x/tools...
    • 9b992be Gitignore bin
    • fe8408c Bump golang.org/x/tools from 0.2.0 to 0.3.0
    • 40890b2 Merge pull request #722 from jamietanna/chore/golangci-lint
    • 0138e13 Fix error handler for required query parameters (#857)
    • 5a103c5 Add linting with golangci-lint
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/gofrs/uuid from 4.1.0+incompatible to 4.3.1+incompatible

    Bump github.com/gofrs/uuid from 4.1.0+incompatible to 4.3.1+incompatible

    Bumps github.com/gofrs/uuid from 4.1.0+incompatible to 4.3.1+incompatible.

    Release notes

    Sourced from github.com/gofrs/uuid's releases.

    v4.3.1

    • Update UUIDv7 to use unix millisecond calculation that is friendly to legacy go versions by @​convto Full Changelog: v4.3.0...v4.3.1

    Update to UUIDv7

    Full Changelog: v4.2.0...v4.3.0

    v4.2.0 Latest

    Changes

    Addition of IsNil method by @​jordan-chalupka in #95

    Full Changelog: v4.10...v4.2.0

    Commits
    • e1079f3 Use legacy go versions compatible unix millisecond calculation (#104)
    • e420387 Enhance defaultHWAddrFunc() and tests to hit 100% coverage (#57)
    • f267b3d update UUIDv7 implementation with RFC Draft Rev 03 spec (#99)
    • edd511b update build to use go 1.19 as primary (#103)
    • 1e02a1d Update go.yml to use go 1.18 (#102)
    • 028e840 update readme to document experimental v6 and v7 ids (#94)
    • 0c84a43 adding IsNil method to uuid (#95)
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Generate Server and Client side code

Additional Information Generate Server and Client side code Pre-generated stub file is included in the go project. If you need to generate the stub fi

Nov 6, 2021
Client-Side Load Balancing for Golang

cslb Client-Side Load Balancer This Project is in early developing state Feature Multiple client-side load balancing solutions support Round-Robin DNS

Aug 29, 2022
Serve endpoint metadata for client side load balancing

Servok Servok is a service that provides endpoint metadata for client side load balancing. See CONTRIBUTING.md for instructions on how to contribute a

Dec 9, 2021
Documentation side of the spaghetti cutter.
Documentation side of the spaghetti cutter.

spaghetti-analyzer - Win The Fight Against Spaghetti Code Overview spaghetti-analyzer is a command line tool for CI/CD pipelines (and dev machines) th

Dec 7, 2022
A Language Server Protocol (LSP) server for Jsonnet

Jsonnet Language Server Warning: This project is in active development and is likely very buggy. A Language Server Protocol (LSP) server for Jsonnet.

Nov 22, 2022
The server-pubsub is the main backend of DATAVOC project that manages all the other web-server modules of the same project such as the processor

server-pubsub The server-pubsub is the main backend of DATAVOC project that manages all the other web-server modules of the same project such as the p

Dec 3, 2021
server-to-server sync application, written in go/golang.

svcpy: server to server copy a basic server-to-server copy application. on a single binary, it can be a server or a client. example usage: on the serv

Nov 4, 2021
Server and client implementation of the grpc go libraries to perform unary, client streaming, server streaming and full duplex RPCs from gRPC go introduction

Description This is an implementation of a gRPC client and server that provides route guidance from gRPC Basics: Go tutorial. It demonstrates how to u

Nov 24, 2021
Pape-server - A small server written in golang to serve a random wallpaper.

pape-server I like to inject custom CSS themes into a lot of websites and electron apps, however browsers don't let websites access local disk through

Dec 31, 2021
Cert bound sts server - Certificate Bound Tokens using Security Token Exchange Server (STS)
Cert bound sts server - Certificate Bound Tokens using Security Token Exchange Server (STS)

Certificate Bound Tokens using Security Token Exchange Server (STS) Sample demonstration of Certificate Bound Tokens acquired from a Security Token Ex

Jan 2, 2022
Echo-server - An HTTP echo server designed for testing applications and proxies

echo-server An HTTP echo server designed for testing applications and proxies. R

Dec 20, 2022
Broadcast-server - A simple Go server that broadcasts any data/stream

broadcast A simple Go server that broadcasts any data/stream usage data You can

Oct 21, 2022
Videos2gether-server - Server for the Realtime video streaming app Videos2Gether

Videos Together server Server source code for the https://videos2gether.com Arch

Jan 9, 2022
JPRQ Customizer is a customizer that helps to use the JPRQ server code and make it compatible with your own server with custom subdomain and domain
JPRQ Customizer is a customizer that helps to use the JPRQ server code and make it compatible with your own server with custom subdomain and domain

JPRQ Customizer is a customizer that helps to use the JPRQ server code and make it compatible with your own server with custom subdomain and domain.You can upload the generated directory to your web server and expose user localhost to public internet. You can use this to make your local machine a command center for your ethical hacking purpose ;)

Jan 19, 2022
Envoy-eds-server - Envoy EDS server is a working Envoy Discovery Service implementation

envoy-eds-server Intro Envoy EDS server is a working Envoy Discovery Service imp

Apr 2, 2022
Http-server - A HTTP server and can be accessed via TLS and non-TLS mode

Application server.go runs a HTTP/HTTPS server on the port 9090. It gives you 4

Feb 3, 2022
Server - Dupman server written in Go

server dupman server written in Go Requirements Go (>=1.17) Installation Usage C

Feb 22, 2022
“Dear Port80” is a zero-config TCP proxy server that hides SSH connection behind a HTTP server!

Dear Port80 About The Project: “Dear Port80” is a zero-config TCP proxy server that hides SSH connection behind a HTTP server! +---------------------

Jun 29, 2022
CoAP Client/Server implementing RFC 7252 for the Go Language

Canopus Canopus is a client/server implementation of the Constrained Application Protocol (CoAP) Updates 25.11.2016 I've added basic dTLS Support base

Nov 18, 2022