From 0710752a69d7371408111d587a3eea179ea98791 Mon Sep 17 00:00:00 2001 From: AJ Date: Wed, 13 Mar 2024 12:41:58 -0700 Subject: [PATCH] Release version 2.4.0 --- CHANGELOG.md | 16 +++++++++++++--- README.md | 5 ++++- gradle.properties | 2 +- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 506be36a0..29b76a1cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,23 +1,33 @@ # Changelog ## Unreleased +## 2.4.0 +This release includes a complete rewrite of the progress bar system. The new system is more +performant and flexible, and allows for more complex progress animations. The old progress bar APIs +are deprecated, but will continue to work. + +See the [documentation website](https://ajalt.github.io/mordant/) for more information. + ### Added - New implementation of progress bars with a number of improvements: + - Support for animating multiple progress bars at the same time. + - New `mordant-coroutines` modules with extensions for animating with coroutines instead of threads. - Any widget can be added to a progress layout, not just the built-in cell types - - TODO New cell: timeElapsed - Added `compact` style to `timeRemaining` cells. - Added `marquee` cell that can scroll text that is larger than a fixed width. + - Added `timeElapsed` cell that shows the time elapsed since the start of the animation. - Added `Viewport` widget that can crop or pad another widget to a fixed size, and scroll it within that size. - Added `precision` parameter to `completed` progress cell that controls the number of decimal places shown. -- Animation now handle terminal resizing, although on some terminals, partially drawn frames may be visible. Due to a bug in JNI, the terminal size isn't automatically updated on JVM on macOS. +- Animations now automatically handle the terminal resizing, although on some terminals partially drawn frames may be visible. Due to a bug in JNI, the terminal size isn't automatically updated on JVM on macOS. - Added `TableBuilder.addPaddingWidthToFixedWidth` option to control how padding is added to fixed width columns. ### Changed -- Animations now never add a trailing newline while they're running. They always add one once the animation is stopped. The `trailNewline` parameter is deprecated. This allows full screen animations without a blank line at the bottom. +- Animations now never add a trailing newline while they're running. They always add one once the animation is stopped. The `trailingLinebreak` parameter is deprecated. This allows full screen animations without a blank line at the bottom. ### Fixed - Vertical layout now correctly pads non-text cells when `align` is set to `TextAlign.LEFT` - Fixed exception when hiding the cursor on browsers on JS target. +- Update internal code generation to be compatible with the latest versions of R8 [(#161)](https://github.com/ajalt/mordant/issues/161) ## 2.3.0 ### Added diff --git a/README.md b/README.md index b3f3328cf..c126107e6 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,10 @@ Mordant is distributed through Maven Central. ```groovy dependencies { - implementation("com.github.ajalt.mordant:mordant:2.3.0") + implementation("com.github.ajalt.mordant:mordant:2.3.0") + + // optional extensions for running animations with coroutines + implementation("com.github.ajalt.mordant:mordant-coroutines:2.3.0") } ``` diff --git a/gradle.properties b/gradle.properties index c7737d859..49bf3d0ef 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -VERSION_NAME=2.3.0 +VERSION_NAME=2.4.0 kotlin.mpp.stability.nowarn=true