Hi there, Kong Nation!
Happy new year! We’re happy to share with you the second release candidate for our next major release, Kong 2.0.0rc2!
Kong 2.0 major new features such as Hybrid mode, Go language support for plugins and buffered proxying, and much more. Kong 2.0 also removes the deprecated service mesh functionality, which was been retired in favor of Kuma, as Kong continues to focus on its core gateway capabilities.
Kong 2.0.0rc2 release also includes bug fixes added since rc1, including all fixes bundled in Kong 1.4.3.
Download
Download Kong 2.0.0rc2 today — as always we are looking forward to your feedback!
For more details about the updated installation, please visit the official docs: https://konghq.com/install.
What’s new since 2.0.0rc1
- Usability fixes for Go support:
- Fixes for use of TLS connections in stream mode #5346
- Improvements to the Nginx injections system #5390
- Plus all fixes from Kong 1.4.3
And a recap of what’s coming in Kong 2.0 
Major new features
Hybrid mode for management of control-plane and data-plane nodes. This allows running control-plane nodes using a database and have them deliver configuration updates to DB-less data-plane nodes. #5294
Buffered proxying - plugins can now request buffered reading of the service response (as opposed to the streaming default), allowing them to modify headers based on the contents of the body #5234
Go plugin support - plugins can now be written in Go as well as Lua, through the use of an out-of-process Go plugin server. #5326
Core
- New property
path_handlingfor managing construction of paths in Routes, including two different algorithms:v0(the new default, same algorithm as Kong 0.x), andv1(algorithm used in Kong 1.x, maintained for compatibility). Migrations automatically detect which version you are migrating from and adjust the algorithm in your routes accordingly. #5360 - The
transformationsin DAO schemas now also supporton_read, allowing for two-way (read/write) data transformations between Admin API input/output and database storage. #5100 - Added
thresholdattribute for health checks #5206 - Caches for core entities and plugin-controlled entities (such as credentials, etc.) are now separated, protecting the core entities from cache eviction caused by plugin behavior. #5114
- Cipher suite was updated to the Mozilla v5 release. #5342
- Better support for using already existing Cassandra keyspaces when migrating
#5361 - Better log messages when plugin modules fail to load #5357
- New property
CLI
kong config initnow accepts a filename argument #4451
Configuration
Admin API
- Added
/upstreams/<id>/health?balancer_health=1attribute for detailed information about balancer health based on health threshold configuration #5206
- Added
PDK
- New functions
kong.service.request.enable_buffering,kong.service.response.get_raw_bodyandkong.service.response.get_bodyfor use with buffered proxying #5315
- New functions
Plugins
New plugin: ACME - Let’s Encrypt and ACMEv2 integration with Kong! #5333
aws-lambda: bumped version to 3.0.1, with a number of new features! #5083
prometheus: bumped to version 0.7.0 including major performance improvements #5295- zipkin: bumped to version 0.2.1 #5239
- session: bumped to version 2.2.0, adding
authenticated_groupssupport #5108 - rate-limiting: added experimental support for standardized headers based on the ongoing RFC draft #5335
- rate-limiting: added Retry-After header on HTTP 429 responses #5329
- datadog: report metrics with tags – Thanks mvanholsteijn for the patch! #5154
- request-size-limiting: added
size_unitconfiguration option. #5214 - request-termination: add extra check for
conf.messagebefore sending response back with body object included. #5202 - jwt: add
X-Credential-Identifierheader in response – Thanks davinwang for the patch! #4993
Fixes
- Correct detection of update upon deleting Targets – Thanks pyrl247 for the patch!
- Fix declarative config loading of entities with abstract records #5343
- Fixed behavior of PUT for
/certificates#5321 - Corrected the behavior when overwriting a Service configuration using the
urlshorthand #5315 - acl: Fixed error when retrieving ACL by group when consumers share the same group #5322
Removed Service Mesh support - That has been deprecated in Kong 1.4 and made off-by-default already, and the code is now be gone in 2.0. For Service Mesh, we now have Kuma, which is something designed for Mesh patterns from day one, so we feel at peace with removing Kong’s native Service Mesh functionality and focus on its core capabilities as a gateway.
- As part of service mesh removal, serviceless proxying was removed. You can still set
service = nullwhen creating a route for use with serverless plugins such asaws-lambda, orrequest-termination. #5353 - Removed the
originsproperty which was used for service mesh. #5351 - Removed the
transparentproperty which was used for service mesh. #5350 - Removed the Sidecar Injector plugin which was used for service mesh. #5199
- As part of service mesh removal, serviceless proxying was removed. You can still set
Quick start for new features
Hybrid mode: to get started, please check out this preview of our upcoming documentation for the feature. It guides you step-by-step for using Kong nodes with separate Control Plane and Data Plane roles and have the Control Plane nodes manage the Kong datastore and update the DB-less Data Plane nodes.
Go language support: for Go plugin support, here’s a preview of our upcoming documentation for the feature as we are working on it. You can also refer to the Go PDK reference documentation, as well as check out some of our sample plugins and the go-pluginserver repositories. Note that when using Kong’s binary packages for 2.0.0rc2, Go plugins need to be built with Go 1.13. We’re looking into ways to loosen this restriction if possible. Stay tuned!
Here’s a link to the 2.0.0rc2 Changelog.
Updated Docker images should be live soon on Docker Hub.
The recommended upgrade path is the usual one, and is detailed in the 2.0 Upgrade Path
Once again, we encourage everyone to run this release candidate in their test environments and give us your feedback! This forum is a great way to ask questions or post feedback, and GitHub issues is the place for bug reports.
Thank you all for the feedback for the past release candidate, and let’s move one more step towards the best Kong release ever! ![]()
Happy Konging! ![]()