- v0.33.0
- v0.32.0
- v0.31.1
- v0.31.0
- v0.30.0
- v0.29.0
- v0.28.1
- v0.28.0
- v0.27.0
- v0.26.0
- v0.25.1
- v0.25.0
- v0.24.0
- v0.23.0
- v0.22.0
- v0.21.0
- v0.20.0
- v0.19.0
- v0.18.0
- v0.17.0
- v0.16.0
- v0.15.0
- v0.14.0
- v0.13.0
- v0.12.0
- v0.11.0
- v0.10.0
- v0.9.0
- v0.8.0
- v0.7.0
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.1
- v0.5.0
- v0.4.1
- v0.4.0
- 0.3.0
- 0.2.0
- 0.1.0
Release date: 2022/10/05
Release date: 2022/08/23
This release is not yet fully compatible with Kong 3.x. The target service MarkHealthy()
and MarkUnhealthy()
functions do not yet work on 3.x. Other functionality supports 3.x, but may not yet support all new 3.x schema fields.
- Added support for 3.x Enterprise version strings. #207
- Added support for
expression
andpriority
route fields. #210 - Dropped support for 1.5 Enterprise, which exited sunset support in 2022-04.
- Added 3.x to test matrices.
Release date: 2022/08/23
- Fixed support for plugins with IDs in
ForService
variants of plugin calls. #205
Release date: 2022/08/16
- Updated to Go 1.19.
- Added
ForService
variants of plugin calls, which use/service/<id>/plugins/
endpoints. #192 - Added support for Kong 3.0 upstream fields. #200
Release date: 2022/07/11
- Updated to Go 1.18. #164
- Fixed an issue with the HTTP client wrapper not setting any transport when none was configured. It now uses the default transport. #179
- Added support for the new
ordering
field on Enterprise 3.x plugins. #187
Release date: 2022/03/25
- Fixed a bug where
HTTPClientWithHeaders()
could not accept anil
(default) client. #138 - Fixed a bug where the plugin service's
Validate()
method could not handle errors associated with empty responses. #142 - Fixed a bug where plugin schema default retrieval included fields outside the
plugin's
config
object. #145 - Fixed a typo in the
EntityCRUD.CRUDPath
JSON serialization. #149 - Added support for the new
configuration_hash
field in the status service. #150 - Fixed incorrect JSON marshalling/unmarshalling for RBAC endpoint permissions. #148
- Fixed a bug with RBAC endpoint permission path construction. #148
Release date: 2022/02/22
- Export the
requiredFeatures
struct to be able to useRunWhenEnterprise()
in other packages. #135
Release date: 2022/02/14
- The
RunWhenKong()
andRunWhenEnterprise()
functions are now exported for other packages that need to condition tests on Kong versions. #132 - RBAC permission actions are now an array of strings rather than a single comma-separated string to properly reflect their Kong type. #131
- Enterprise versions returned by
ParseSemanticVersion()
now include their supplemental Enterprise version as build info, rather than as a prerelease. This fixes an issue where semver comparisons saw the initial patch of a minor release as a lower version of that release. #129
Release date: 2022/02/03
- Zero values (boolean
false
and integer0
) now override default values when filling entity defaults. #125
Release date: 2022/01/31
- Add missing entity fields from newer Kong releases. #120
- Add
SchemaService
andFillEntityDefaults
utility supporting filling defaults for Services, Routes, Upstream and Targets. #119 - Add
GetFullSchema
to plugins to retrieve their complete schema. Also addFillPluginsDefaults
utility to fill a plugin with its defaults. #114
Release date: 2021/12/08
v0.25.1 reverts the k8s.io/code-generator version originally used in v0.25.0 to avoid an unwanted upgrade of its github.com/go-logr/logr dependency.
Release date: 2021/12/08
- Healthcheck types now include CRD validation annotations for Kubebuilder. #104
Release date: 2021/11/05
- A
Listeners()
method was added to the KongClient
in order to retrieve theproxy_listeners
andstream_listeners
from the root conveniently. #101
Release date: 2021/09/22
- The plugin service
Validate()
API's return signature is nowbool, string, err
rather thanbool, err
. The additional string value contains the validation failure reason if validation successfully determined that the proposed configuration was not valid. The err value is now only set ifValidate()
could not successfully retrieve validation information because of a timeout/DNS lookup failure/etc.
Release date: 2021/09/22
- Test that target updates work as expected. #85
- Workspace service supports new
ExistsByName()
API. This is similar toExists()
, but it only accepts names, not IDs. This function can check if a workspace exists even if the RBAC user has access to that namespace only.Exists()
requires access to the default namespace. #90
- The generic
exists()
client functions uses GETs instead of HEADs. Kong <=2.6 respond to HEAD requests with 200s as long as the endpoint has a valid form. They do not check if entities actually exist, andexists()
would return true for entities that don't exist because of this. #90
Release date: 2021/08/26
- oauth2 entities support
hash_secret
. #74
- Plugin validation checks against the correct status code. #81
Release date: 2021/07/07
- FriendlyName is now defined for entities based on deck types. #68
- Added Info service for interacting with information exposed by the admin API root endpoint. #65
- Implemented client-level support for Kong workspaces. #62
- Internally wrapped errors now use the standard Go library instead of a 3rd party wrapping lib and consequently several string versions of errors have changed. #66
- Various improvements to repository CI: caching go modules, updating codegen, e.t.c.
Release date: 2021/05/05
- Client now allows reading the version of Kong. #48
Release date: 2021/05/05
- The default client now sets a default timeout. #51
- Optimized HTTP header handling. #49
- Changed return type of
kong.HTTPClientWithHeaders(...)
: now returns*http.Client
instead ofhttp.Client
. #46 - Now uses Go 1.16 module semantics. #40
- Now uses Dependabot to manage GitHub Actions. #41, #42
- Now uses code-generator v0.21.0. #43
- CI no longer uses Bintray repositories. #55
- Dropped testing against older versions of Kong. #58
Release date: 2021/04/05
- Added support for Developer entities. Thanks to @ChristianJacquot! #27
- Added support for Developer Role entities. Thanks to @mmorel-35! #30
- RBAC roles now support pagination and listing all entities. Thanks to @mmorel-35! #30
- Tests can now require the Portal. Added helpers to enable the Portal and related settings. #30
- Clients now use interfaces. Other libraries that use go-kong can define mock types that implement these interfaces for unit tests that do not require an actual Kong instance. #24
- RBAC roles now properly include their
negative
field in requests to Kong. #32
Release date: 2021/03/03
Service
now includesURL
.
Release date: 2021/01/22
Route
now includesRequestBuffering
andResponseBuffering
.
Release date: 2021/01/12
- HTTP error format changed to feature HTTP codes
- RBACUser support
- Support for auto-expiring key-auth key TTL
- Support for RBAC roles
- Support for RBAC permissions
- DeepCopy annotations for enterprise entities
Release date: 2020/08/04
This release renames the package from github.com/hbagdi/go-kong
to
github.com/kong/go-kong
.
Release date: 2020/07/30
This release adds support for Kong 2.1 series and a number of enterprise entities.
-
Added
HTTPClientWithHeaders
helper function to inject authn/authz related HTTP headers in requests to kong. -
New fields in types:
Service
struct has three new fields:TLSVerifyDepth
TLSVerify
CACertificates
ClientCertificate
field has been added toUpstream
struct.Type
field has been added toPassiveHealthcheck
struct.
-
Following new services for Kong Enterprise have been introduced:
- WorkspaceService to manage workspaces in kong
- AdminService to manage users of Kong Manager
- MTLSAuthService to manage MTLS credentials
- Changed the branch name from
master
tomain
- Introduced linters to improve code health
Release date: 2020/01/17
- This release adds support for Kong 2.0.0.
Threshold
field has been added to Upstream struct.PathHandling
field has been added to Route struct.
Release date: 2019/10/27
- This release adds support for Kong 1.4.
HostHeader
field has been added to Upstream struct.Tags
field has been added to the following types:KeyAuth
Basicauth
HMACAuth
Oauth2Credential
ACLGroup
JWTAuth
Release date: 2019/08/24
client.Do()
returns a response object even on errors so that clients can inspect the response directly when needed. The error condition has changed to include HTTP status codes 300 to 399 as success and not failure. b1f9eda31String()
method has been dropped from all types defined in this package.
NewRequest()
method helping with creating HTTP requests is now exported- URLs parsed inside the package are more robust.
- New method
GetByCustomID
has been introduced to fetch Consumers bycustom_id
.
Release date: 2019/08/21
- Oauth2Credential type and service has been added which can be used to create Oauth2 credentials in Kong for some Oauth2 flows.
Release date: 2019/08/13
This release brings support for CRUD methods for authentication credentials in Kong.
- The following credentials and corresponding services have been added:
key-auth
basic-auth
hmac-auth
jwt
acl
Release date: 2019/08/09
- Add missing omitempty tag to ClientCertificate field
Release date: 2019/08/09
- Fix a typo in Service struct definition for YAML tag
Release date: 2019/08/09
- This release adds support for Kong 1.3.
Validator
Interface has been dropped and Valid() method from all entities is dropped. #8
Headers
field has been added to Route struct. #5ClientCertificate
field has been added to Service struct. #5CACertificate
is a new core entity in Kong. A struct to represent it and a corresponding new service is added. #5Algorithm
field has been added to Upstream struct. #9
Release date: 2019/08/05
- Add missing healthchecks.active.unhealthy.interval field to Upstream #6
Release date: 2019/06/07
- This release adds support for Kong 1.2.
- Added HTTPSRedirectStatusCode property to Route struct. #3
Create()
for Custom Entities now supports HTTP PUT method. Ifid
is specified in the object, it will be used to PUT the entity. This was always POST previously. #3
Release date: 2019/04/11
- Add
omitempty
property to Upstream fields for Kong 1.0 compatibility
Release date: 2019/04/06
- This release adds support for features released in Kong 1.1. This version is compatible with Kong 1.0 and Kong 1.1.
- Please note that the version naming scheme for this library has changed from
x.y.z
tovX.Y.Z
. This is to ensure compatibility with Go modules.
Tags
field has been added to all Kong Core entity structs.- List methods now support tag based filtering introduced in Kong 1.1.
Tags can be ANDed or ORed together.
ListOpt
struct can be used to specify the tags for filtering. Protocols
field has been added to Plugin struct.- New fields
Type
,HTTPSSni
andHTTPSVerifyCertificate
have been introduced for Active HTTPS healthchecks. TargetService
has two new methodsMarkHealthy()
andMarkUnhealthy()
to change the health of a target.
Release date: 2018/12/19
- This release adds support for Kong 1.0. It is not compatible with 0.x.y versions of Kong due to breaking Admin API changes as the deprecated API entity is dropped.
- The code and API for the library is same as 0.2.0, with the exception
that struct defs and services related to
API
is dropped.
API
struct definition is no longer available.APIService
is no longer available. Please ensure your code doesn't rely on these before upgrading.Plugin
struct has dropped theAPI
field.
Release date: 2018/12/19
- This release adds support for Kong 0.15.x. It is not compatible with any other versions of Kong due to breaking Admin API changes in Kong for Plugins, Upstreams and Targets entities.
Target
struct now has anUpstream
member in place ofUpstreamID
.Plugin
struct now hasConsumer
,API
,Route
,Service
members instead ofConsumerID
,APIID
,RouteID
andServiceID
.
RunOn
property has been added toPlugin
.- New properties are added to
Route
for L4 proxy support.
Release date: 2018/12/01
- Debut release of this library
- This release comes with support for Kong 0.14.x
- The library is not expected to work with previous or later releases of Kong since every release of Kong is introducing breaking changes to the Admin API.