Skip to content

Commit

Permalink
Release version 2.4.0
Browse files Browse the repository at this point in the history
  • Loading branch information
ajalt committed Mar 13, 2024
1 parent 192f7e2 commit 0710752
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 5 deletions.
16 changes: 13 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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")
}
```

Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
VERSION_NAME=2.3.0
VERSION_NAME=2.4.0

kotlin.mpp.stability.nowarn=true

Expand Down

0 comments on commit 0710752

Please sign in to comment.