Skip to content

Releases: coupergateway/couper

0.6

11 Mar 13:18
Compare
Choose a tag to compare
0.6

0.6

2021-03-11

Breaking change

  • backend will be consumed by proxy and request as transport configuration now. The previous behaviour
    that backend represents a proxy functionality is removed. Also the backend block must be defined in
    definitions, proxy or request.
    • Config migration, add a proxy block:
  endpoint "/old" {
    backend = "reference"
    # or
    backend {
      #...
    } 
  }
  # change to:
  endpoint "/new" {
    proxy {
      backend = "reference"
    }
    # or
    proxy {
      backend {
        #...
      }
    }
  }

Change

  • Client-Request and upstream response body buffering by default
  • Server shutdown delay and deadline defaults to 0s now and can be configured via env if required
  • Websocket connection upgrades in combination with proxy {} are disabled
    • we will add a proxy option for ws usage later on

Bug Fixes

  • An absolute path resolving for *_file configuration attributes (#120)

Features

  • Endpoint:
    • Add proxy block to reverse proxy the client request to the configured backend.
    • Add request block to send a simple upstream request. Docs
    • Add response block to create a custom client response. Docs
  • Add jwt_sign() function to be able to create and sign a token with a jwt_signing_profile. Docs (#112)
  • Add unixtime() function for the current unix time in seconds (#124)

Code Refactoring

  • underlying code structure to represent an endpoint block with proxy, request and response configuration
  • hcl evaluation context as own 'container' with context.Context interface
  • test cleanups

Dependencies

  • build with go 1.16
  • logrus to v1.8.1
  • hcl to v2.9.1
  • kin-openapi to v.0.49.0

0.5.1

17 Feb 15:27
Compare
Choose a tag to compare

0.5.1

2021-02-17

Features

  • backend:
    • a user-friendly basic_auth option
    • backend proxy url, disable_connection_reuse and http2 settings (#108)
  • version command

Change

  • KeepAlive 60s (#108), previously 15s
  • Reject requests which hits an endpoint with basic-auth access-control, and the configured password evaluates to an empty string (#115)

0.5

29 Jan 17:17
Compare
Choose a tag to compare
0.5

0.5

2021-01-29

Bug Fixes

  • Fix missing http.Hijacker interface to be able to handle websocket upgrades (#80)

Features

  • Add additional eval functions: coalesce, json_decode, json_encode (#105)
  • Add multi API support (#103)
  • Add free endpoints (#90)
  • Add remove_, set_ and add_headers (#98)

Code Refactoring

  • improved internals for configuration load

Dependencies

  • Upgrade hcl to 2.8.2
  • Upgrade go-cty module to 1.5.0
  • Upgrade logrus module to 1.7.0
  • Upgrade kin-openapi module to v0.37

0.4.2

19 Jan 17:07
Compare
Choose a tag to compare

0.4.2

2021-01-19

Fix

  • Fix used backend hash not dependent on (hcl) config hierarchy (transport key)
  • Fix logging http scheme even without a successful tls handshake (#99)
  • Fix hcl.Body content for reference backends (#96)

0.4.1

18 Jan 13:45
Compare
Choose a tag to compare

0.4.1

2021-01-18

Fix

  • Fix path trailing slash (#94)
  • Fix query encoding (#93)
  • Fix log_format (settings) configuration (#61)

0.4

13 Jan 11:53
Compare
Choose a tag to compare
0.4

0.4

2021-01-13

Add

  • url log field (#87)
  • Add proxy from env settings option (#84)
  • Add backend settings: disable_certificate_validation, max_connections (#86)

Fix

  • command flag filter for bool values (#85)
  • different proxy options for same origin should be part of the origin transport key

Refactor

  • configuration load and prepare related body merges on hcl level

v0.3

15 Dec 17:26
Compare
Choose a tag to compare

v0.3

2020-12-15

Add

  • build version to startup log
  • upstream request/response validation with openapi (#21) (#22)
  • request-id: uuid v4 format option #31 (#53)
  • path_params #59
  • gzip support (#66)
  • query_params (#73)
  • json_body access for request and response bodies #44 (#60)

Change

  • start Couper via run command now
  • internal router #59
  • docker tag behaviour on release #70 (#82)
  • request/response_headers to use set prefix (#77)
  • passing the filename to underlying hcl diagnostics
  • Dockerfile to provide simple file serving (#63)

Fix

  • handling cty null or unknown values during roundtrip eval #71
  • logging: start-time measurement
  • missing backend.hostname documentation (#62)

v0.2

09 Oct 11:27
6cc6bed
Compare
Choose a tag to compare
v0.2 Pre-release
Pre-release

2020-10-08

Added

  • Add health check (#29)
  • Add Basic-Auth support (#19)
  • Add post (form) parsing for use in config variables (#26)
  • Add more documentation

Fix

  • Fix wildcard path join with trailing slash and respect req path (#45)
  • Fix env var mapping (#35)
  • Fix JWT HMAC keys (#32)

v0.1 - Initial binary release

11 Sep 16:34
Compare
Choose a tag to compare
Pre-release

0.1

2020-09-11

Add

  • Parse and load from given HCL configuration file
  • Config structs for blocks: server, api, endpoint, files, spa, definitions, jwt
  • HTTP handler implementation for api backends, files, spa and related config mappings
  • CORS handling for api endpoints
  • Access control configuration for all blocks
  • Access control type jwt with claim validation
  • Access und backend logs
  • Configurable error templates with a fallback to our defaults
  • Github actions for our continuous integration workflows
  • Dockerfile
  • Documentation