v1.4.0 #157
Replies: 1 comment 1 reply
|
I'm quite surprised at how many improvements there are, because I didn't even notice them all. Thank you for all the hard work and for letting me be there in the front row!
It makes more of a difference than I thought 👍 Testing my TUI is now fun!
That also needs a nice screencast in its README 💯
TIL, going to test this...
I love this change, makes it even easier!
Should it trigger a
So much better now than before 1.3.0, it's one of Kotter's strengths! |
Uh oh!
There was an error while loading. Please reload this page.
The killer feature in this release is that Kotter sections are now dynamically aware of their parent window size.
section { text("$width x $height") }.runUntilKeyPressed(Keys.Q)But 1.4.0 also brings big performance improvements on top of 1.3.0, thanks to FFM support and a reworking of core concurrency algorithms.
Changes
Support for responsive terminals (that is, rendering which responds to window size changing)
sections that reference eitherwidthorheightwill be repainted automatically as the size changesonTerminalSizeChangedevent that you can listen to inrunblocks.Expected performance improvements for system terminals in JVM projects
Support for italics
italicfont decoration method (alongsidebold,underline, etc.)Sections now strip their final newline while actively rendering
sectionis something liketextLine("Hello World"), Kotter now won't shove an extra blank line between you and the bottom of the screen -- that is probably never the user's intention. However, once the section is finished rendering for the final time, that newline will be added (to ensure that any followup section will always start on a new line).Fixed
LiveListmutable iterators not workingremoveIf), so the experience was those methods just silently failed. At this point, we did a full reimplementation of live list mutable iterators, so this is no longer an issue.The virtual terminal's internals were overhauled
showExitPromptto false, so that the terminal simply exits when done, instead of showing aPress any key to continueprompt.Core internal concurrency algorithms reworked, which as a side effect improved performance significantly
LiveListor other reactive collection classes.Added an
awaitActiveRendermethod which you can call in therunblock which can be particularly useful for tests.Thanks!
Full Changelog: v1.3.0...v1.4.0
This discussion was created from the release v1.4.0.
All reactions