Releases: ajalt/mordant
Releases · ajalt/mordant
2.6.0
2.5.0
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 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
- Added
compact
style totimeRemaining
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 tocompleted
progress cell that controls the number of decimal places shown. - 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
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 toTextAlign.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)
2.3.0
Added
- Vararg constructors for
UnorderedList
andOrderedList
UnorderedList
andOrderedList
now support being empty- Added optional terminal frame to
TerminalRecorder.outputAsHtml
Changed
- When setting conflicting styles on a
Table
or its cells, the innermost style now takes precedence (i.e. if you set different styles on the whole table and a cell, the style applied to the cell will be used).
Fixed
- Updated bundled proguard rules (#130)
2.2.0
Added
- Added
ColumnWidth.Custom
that allows more control over column width behavior in tables. (#109) - Added
showPulse
parameter toProgressLayout.progressBar
, allowing you to disable the pulse animation for a bar. - Added support for detecting terminal capabilities on mintty. Thanks to @sschuberth for the contribution. (#127)
Changed
2.1.0
2.0.1
2.0.0
2.0.0-beta14
Added
Terminal.rawPrint
which allows you to print ANSI codes manually. (#91)- Option to disable trailing line breaks on animations.
Terminal.print
,println
, andrawPrint
now accept astderr
parameter that will print to stderr (if available).
Changed
- Fix typo in enum name: renamed
Borders.TOM_BOTTOM
toBorders.TOP_BOTTOM
. (#100) - The terminal cursor will now be hidden when
progressAnimation
is running.
Removed
- Removed
TerminalRecorder.currentContent
. Usestdout()
,stderr()
oroutput()
instead. - Removed
Terminal.forStdErr()
andTerminalInterface.forStdErr()
. UseTerminal.println(stderr=true)
instead.
2.0.0-beta13
Added
- Add
Animation.stop()
to stop an animation without clearing it. (#95) - Animations now support resuming after a call to
stop
orclear
. (#94) TextStyles.reset
,TextStyles.resetForeground
, andTextStyles.resetBackground
to clear existing styles.
Fixed
- Fix
TerminalInfo.interactive
not includingoutputInteractive
- Fix prompts on JS targets that were broken by KT-55817
Changed
- Source-incompatible change: All boolean fields on
TextStyle
are now nullable. A null field indicates no change to the previous value when adding or nesting styles. verticalLayout{}
now defaultsTextAlign.NONE
, meaning it won't add any trailing whitespace to lines. You can return to the old behavior withalign = TextAlign.LEFT
.- When nesting styles, the outer style will now override inner styles at the start of a string. (e.g.
red(blue("x")) == red("x")
) - Definition List terms and entries can now be empty