Hello Kong community,
Since Kong 2.0 was announced at the last Kong Summit, it’s understandable that there’s been some concern about the upcoming changes. “Are there going to be major breaking changes?” and “Will my Kong 1.x configuration break with 2.0?” were some of the concerns we heard, so we thought we’d address the community ahead of time to dispel those fears.
We want to the Kong 2.0 upgrade to be low-impact for users as possible. For this reason, we’re taking a pragmatic stance, and for all functionality that is currently marked as deprecated in Kong 1.x, we are considering the maintenance cost vs. the change impact. For this reason, we will not remove every deprecated feature of Kong 1.x in Kong 2.0 just because SemVer says we can. We will be taking the userbase impact into consideration first and foremost.
For this reason, the only major removal in Kong 2.0 will be Service Mesh support. That has been deprecated in Kong 1.4 and made off-by-default already, and the code will be gone in 2.0. Community feedback tells us that feature never caught on in Kong, so its removal shouldn’t be missed, plus that code has been causing us problems as it required low-level patches which stretched our stack beyond what it was designed for, holding back Kong at what is does best, which is being a kick-ass gateway. 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.
Some other Kong 1.x functionality that is marked as deprecated (such as the “best-effort” schema auto-translator and the no-longer-needed BasePlugin class for old custom plugins) will be kept around in Kong 2.0, to avoid breaking existing custom plugins and giving people some more time to transition their plugins into the newer, more performant, styles. (We might add some extra log warnings to remind people to fix their plugins, though! )
If anything, Kong 2.x will increase compatibility for users coming from older versions. We heard community and customer feedback that some of the router behavior changes between Kong 0.x and 1.x has caused users trouble, and in some cases even prevented upgrades. For this reason, we are working on introducing a compatibility mode for the router’s path handling behavior, that should help Kong Gateway and Kong Enterprise users to make a smoother transition into Kong 2, and to allow us to make future improvements to the routing behavior without user inconvenience.
I hope this is useful to adjust everyone’s expectations for Kong 2.0, and to make sure everyone is ready to jump into it once it comes out! If you have any questions, please leave a comment, we’ll be happy to answer!