The interactive file manager requires Javascript. Please enable it or use sftp or scp.
You may still browse the files here.

Download Latest Version 3.0.2 source code.tar.gz (1.0 MB)
Email in envelope

Get an email when there's a new version of Mordant

Home / 3.0.0
Name Modified Size InfoDownloads / Week
Parent folder
3.0.0 source code.tar.gz 2024-09-08 1.0 MB
3.0.0 source code.zip 2024-09-08 1.2 MB
README.md 2024-09-08 3.0 kB
Totals: 3 Items   2.3 MB 0

Added

  • New TerminalDetection object that can be used to detect terminal capabilities without creating a terminal instance.
  • Added new optional methods to TerminalInterface to control raw mode: getTerminalSize, readInputEvent, enterRawMode, and shouldAutoUpdateSize.
  • Added new terminal implementation that uses the Foreign Function and Memory (FFM) API added in JDK 22.
  • Split the library up into modules, so you can produce smaller JVM artifacts by only using the parts you need.
  • Added support for raw mode and input events to JS and wasmJS targets when running on node.js.
  • Added tvOS and watchOS native targets to all modules except the new mordant-markdown module.
  • Added ability to control raw mode with the TerminalRecorder.
  • Added support for unicode input in raw mode.
  • Added nonInteractiveWidth and nonInteractiveHeight to Terminal terminal constructor to set a different width when the terminal is not interactive (e.g. when redirecting output to a file) (#140)

Changed

  • Breaking Change Moved Terminal.info.width and height to Terminal.size.width and height.
  • Breaking Change TerminalInterface.info is now a method with parameters instead of a property.
  • Breaking Change Moved Markdown widget to separate mordant-markdown module, which is not included by default. If you use markdown rendering, you need to add that module to you dependencies.
  • Breaking Change Combined all ColumnWidth subclasses into a single class with factory methods. If you were using ColumnWidth.Custom, you should now use the ColumnWidth constructor.
  • Breaking Change The following Terminal methods are now extensions: prompt(), info(), danger(), warning(), success(), muted()
  • Breaking Change Renamed TerminalInfo.crClearsLine to supportsAnsiCursor
  • In raw mode on POSIX systems, pressing the escape key once will now immediately return an Escape event. (#193)
  • Renamed Terminal.info property to Terminal.terminalInfo. The old name is deprecated.

Removed

  • Removed constructor overloads for Terminal. There is now one constructor with all default parameters.
  • Removed Terminal.colors. All colors rendered with the terminal are now automatically downsampled.
  • Removed previously deprecated methods.

Fixed

  • Fixed ConcurrentModificationException from progress bars when updated under very high concurrency (#204)
  • Improved performance of progress bars under high concurrency. (#207)
  • Fixed NoClassDefFoundError when running with certain gradle plugins (#217)
  • Fixed whitespace of aligned table captions on narrow terminals (#216)
Source: README.md, updated 2024-09-08