Ktor Design Process
Design in the open
Ktor was created as an Open Source project and continues to remain one. During its development, feedback from the community has and continues to be fundamental, and very much appreciated.
We’d like to take this to the next step by having all our design decisions in the open. The process will work as follows:
We create a ticket on YouTrack of type Design, and in it we’ll lay out:
Description of the issue
What it is that we’re addressing. Is it a new API? Is it improvements on existing APIs? Is it internal architecture?
If applicable, we outline the current state.
Proposed solution, highlighting
- If the solution has API changes – which these will be.
- Pros and Cons
Once the discussion has taken place, and the agreed solution has been reached, it will be provided it in this segment.
The ticket will remain open for 10 working days during which team the core Ktor team and members of the community can share their feedback.
After the 10 days have passed, a design decision should be made. Once done, the
Agreed Solution section should be updated.
While it may be the case that the Core team will hold a design meeting, we will try as much as possible to keep all discussions on the ticket, for full transparency.
If we do have a meeting, we’ll update the ticket with the corresponding outcome.
Being notified of Design questions
If you’d like to be notified on Design tickets, you can configure YouTrack to receive notifications for this type of ticket. Additionally we’ll aim to raise these tickets in the Ktor Channel on Kotlin Slack.
This won’t be Design by Committee
We generally do not believe in design by a committee, nor do we believe in Ivory Towers, where we make design decisions without input from our users.
The goal of this process is to be transparent, get feedback and make sure that we cover scenarios we may not have thought of. However, please understand that the ultimate decision will always be that of the core team. Having said that, any decision we make, we need to be able to justify to you, our users.
Finally, as a user, you’re free to continue to make suggestions that can be filed either as a bug or a feature. If needed, the core team will create the corresponding design ticket.
Ktor Plugin Update – Navigation, Refactoring, and more!
As a tooling company, we do realise the importance of providing proper support for the languages and frameworks you use. In the case of Ktor, we started this journey by rewriting support for IntelliJ IDEA Ultimate completely from scratch, and the first step was a new and simplified project wizard, …
Say Hello to Ktor Early Access Program and New Plugin
We're very excited to announce the Ktor Early Access Program, where you can get access (thus the name) to things we're working on that won't be available in the currently released version. Often times we'd like to introduce new functionality or APIs that may not be backwards compatible, and get the…
Ktor 1.5.0 Released
We're happy to announce the release of Ktor 1.5.0, which comes with new features, bug fixes, and new docs! Features 1.5.0 is the third and final release for this year, inline with our promise to have three major or minor releases a year, and a minimum of one patch release a month. We're happy to say…
Ktor Roadmap for 2020-2021
For those that aren’t aware of the origins of Ktor, it was started by Ilya Ryzhenkov at JetBrains several years ago mainly inspired by Wasabi and Kara. Since then, it has evolved and is used internally at JetBrains on a number of products, including our newest one Space. Of course, Ktor is also bein…