Skip to content

Latest commit

 

History

History
505 lines (388 loc) · 16 KB

CHANGELOG.md

File metadata and controls

505 lines (388 loc) · 16 KB

If you're reading this because you try make sense of some new API or a breaking change, you might also be interested in coming to the chat for explanations or guidance.

v0.31.0 - 2024-10-26

  • reexport crossbeam
  • new Ticker tool: emit tick(s) on a channel

v0.30.1 - 2024-10-10

  • input_field#display returns the curstor position if it's rendered - experimental - Thanks @xubaiwang

v0.30.0 - 2024-08-12

  • upgrade crossterm to 0.28

v0.29.4 - 2024-06-17

  • fix compilation with default-features = false - Fix #62

v0.29.3 - 2024-06-13

  • ask! macro doesn't need separate imports anymore

v0.29.2 - 2024-04-24

  • update Crokey to 1.0.0

v0.29.1 - 2024-02-10

  • event source's combining now false by default

v0.29.0 - 2024-01-29

  • list items are now by default indented as blocks. It's possible to revert to the old rendering (only the first line indented) with the list_items_identation_mod field of the skin - Fix #21

v0.28.2 - 2024-01-26

  • Better support of repeated keys in EventSource

v0.28.1 - 2024-01-20

  • EventSource by default mandates modifier (or space) for combinations with multiple simple keys. This can be changed with an option

v0.28.0 - 2024-01-18

  • Major change: termimad and its coolor and crokey dependencies now use the version 0.27 of Crossterm, which brings many breaking changes but allows new capabilities in key events handling. Termimad's EventSource now outputs key combinations along crossterm events.

v0.27.0 - 2024-01-08

  • paragraphs, code blocks, headers, and tables can be given a left_margin and a right_margin - Fix #11

v0.26.1 - 2023-11-05

  • can_move_left and can_move_right functions on InputField

v0.26.0 - 2023-11-03

  • MadSkin and other structs now implement serde::Serialize - Fix #19

v0.25.7 - 2023-10-31

  • upgrade coolor, removing the ansi_colours dependency, fixing a license incompatibility - Fix #51

v0.25.6 - 2023-10-31

  • upgrade terminal-clipboard due to RUSTSEC-2021-0019 in its X11 dependency

v0.25.5 - 2023-10-16

  • dependency version updated

v0.25.3 - 2023-10-12

  • coolor updated to 0.5.1

v0.25.2 - 2023-09-03

  • fix shift-key extending the selection

v0.25.1 - 2023-09-01

  • option for rounded corner tables in skin - see test-template example

v0.25.0 - 2023-08-20

  • skin.limit_to_ascii() makes the characters used for table borders, bullets, etc. be in the non extended ASCII range - see "high-compatibility" example

v0.24.1 - 2023-08-15

  • attribute parsing support RapidBlink and SlowBlink
  • better error reporting on parsing invalid grey level

v0.24.0 - 2023-08-13

  • gray panicking on out of range level has been changed to a silent clamping
  • skin now deserializable with serde
  • several utilities to parse colors and style elements

v0.23.2 - 2023-08-02

  • utility functions (FmtText::content_width and FmtText::set_rendering_width) and example (content-align) helping base alignments on the content's width rather than the terminal's width

v0.23.1 - 2023-06-15

  • reexport coolor to ease dependency managment

v0.23.0 - 2023-03-09

  • FmtText::raw_str function to build a text with no markdown interpretation

v0.22.0 - 2023-03-02

  • with 1, 2, or 3 spaces before a bullet, you make a deeper list item - Fix #41

v0.21.1 - 2023-02-25

  • expose the DisplayableLine struct, which can be useful for some widgets

v0.21.0 - 2023-02-05

  • parsing markdown with options (clean indentation, continue spans); see parse-options example - Fix #38

v0.20.6 - 2022-12-15

  • fix cases of selection becoming wider than content in input field

v0.20.5 - 2022-12-15

  • fix coolor version to prevent a dependency version problem with crossterm

v0.20.4 - 2022-12-03

  • reexport crossterm

v0.20.3 - 2022-09-20

  • fix some '' not being rendered because being incorrectly considered as escaping

v0.20.2 - 2022-06-07

  • update crossterm to 0.23.1 and coolor to 0.5

v0.20.1 - 2022-04-14

  • upgrade coolor to 0.4 (which is pure rust) to fix a cross-compilation problem

v0.20.0 - 2021-12-25

  • better algorithm for fitting tables, taking into account the whole column and not just its max width
  • some fitting functions which could panic on an assert in extrem cases now return a Result (there are unlikely to be used directly so this shouldn't lead to breaking changes)

v0.19.4 - 2021-12-22

  • fix a case of crash in input field

v0.19.3 - 2021-12-01

  • fix dimension of drawn Rect

v0.19.2 - 2021-11-28

  • better support of wide characters in InputField

v0.19.1 - 2021-11-26

  • update Crossterm to 0.22.1 to fix some bugs

v0.19.0 - 2021-11-15

  • addition of the small Rect utility, which lets you draw rects

v0.18.0 - 2021-11-11

  • MadSkin blend_with function allows blending a skin with a color, with a given weight, enabling for example fading a skin into its background, which can be useful for displaying behind a dialog

v0.17.1 - 2021-11-06

  • InputField: fix suppr key at end of line not joining lines

v0.17.0 - 2021-10-29

Several event related API have changed in a breaking way in this release

  • EventSource now emits instances of TimedEvent, which wrap crossterm events
  • InputField: selection & selection based operation (cut, copy, paste)
  • InputField: double click selects the word around

v0.16.4 - 2021-10-22

  • Remove the need to explicitly import minimad for crates using mad_print_inline!
  • InputField: remove \r from edited strings

v0.16.3 - 2021-10-16

  • Minimad's new TableBuilder, a facility to build text templates for tables

v0.16.2 - 2021-09-27

  • insert_str function in InputField

v0.16.1 - 2021-09-08

  • Home and End key now move to start and end of lines (i.e. no more of text) in multi-lines input fields
  • several improvements and small fixes in input fields and scrolling
  • TextView and MadView don't erase right of their area anymore

v0.16.0 - 2021-09-05

  • some scroll API now use unsigned ints instead of i32
  • input fields much improved. Can now be several lines - see examples/inputs
  • the API of InputFields changed - but adapting user code should be straighforward:
    • Replace set_content(&str) with set_str(AsRef<str>) or clear().
    • Use set_focus(bool) instead of the focused field (now private).
    • Use area() and set_area(Area) instead of the area field (now private).

v0.15.0 - 2021-08-29

  • organize and augment the utilities dedicated to writing text, formatted or not, in a limited size area
  • remove the Result type
  • upgrade crossterm to 0.21

v0.14.3 - 2021-08-23

  • password mode in input field

v0.14.2 - 2021-08-09

  • add MadSkin::default_dark and MadSkin::default_light, two default skins suitable for specific kind of terminals

v0.14.1 - 2021-08-06

  • change default skin to ensure it's readable whatever the terminal theme

v0.14.0 - 2021-07-07

  • ask! macro and Question API
  • the mad_print_inline and mad_write_inline macros now accept any argument supporting to_string() and not just &str
  • fix a bug making tables sometimes exceed the width limit

v0.13.0 - 2021-06-29

  • support wide chars everywhere, rewritten algorithms for markdown wrapping and fitting

v0.12.1 - 2021-06-24

  • improved heuristics for table fitting & wrapping

v0.12.0 - 2021-06-24

  • upgrade crossterm to 0.20 (beware that crossterm's API changed)

v0.11.1 - 2021-06-03

  • fix some problems (including a crash) with input_field.del_word_right

v0.11.0 - 2021-06-02

  • eases imports: it's no more needed to import the lazy_static crate and no import is needed for using macros

v0.10.3 - 2021-05-28

  • fix a pb with wide chars in tables

v0.10.2 - 2021-04-27

  • consider backspace as having a col width of -1 (they move the cursor to the left when printed in terminal)

v0.10.1 - 2021-03-18

  • Fix a crash in input_field.del_word_left()

v0.10.0 - 2021-02-15

  • Style characters can now be escaped with a '' - Fix #24

v0.9.7 - 2021-02-10

  • MadSkin::no_style() builds a skin without any style information, suitable for writing in files

v0.9.6 - 2021-02-07

  • fix a bad column widths reduction

v0.9.5 - 2021-01-31

  • names of variables in templates can now contain digits
  • better column balancing in thight tables

v0.9.4 - 2021-01-29

  • update crossbeam dependency to 0.8

v0.9.3 - 2021-01-27

  • new version of minimad -> owning templates allow passing any Display as value

v0.9.2 - 2020-12-21

  • styled_char and compound_style now implement Debug

v0.9.1 - 2020-11-27

  • event source intercepts escape sequences and sends them (when finished) in a dedicated channel (not reading this bounded channel is possible: escape sequences are just dropped in that case)

v0.8.30 - 2020-11-13

  • add the FitStr utility taken from broot (correct string cutting taking real char width in cols) (note that not all functions in termimad precisely take all chars width in cols into account)

v0.8.29 - 2020-10-15

  • allow default value in template expansion

v0.8.29 - 2020-10-15

  • allow default value in template expansion

v0.8.28 - 2020-10-11

  • use the OwningTemplateExpander of Minimad 0.6.6

v0.8.27 - 2020-10-07

  • fix inverted move_left and move_to_start

v0.8.26 - 2020-08-07

  • upgrade crossterm to 0.17.7

v0.8.25 - 2020-07-13

  • interpred lines with just ">" as empty quotes
  • fix panic on wrapping long strings without space

v0.8.24 - 2020-06-22

  • add a bunch of functions modifying the input (moving the cursor or deleting parts)

v0.8.23 - 2020-05-29

  • fix uppercase letters not used in input field

v0.8.22 - 2020-05-25

  • Prevent overflowing of large text from input field (some ellipsis added if necessary)

v0.8.21 - 2020-05-13

  • EventSource: better manage channel errors

v0.8.20 - 2020-05-10

  • relax the dependency version contraint on crossterm - Fix #18

v0.8.18 - 2020-05-05

  • input fields now have a "focused" bool in their state

v0.8.17 - 2020-02-28

  • added event handling functions in input_field for when you don't use termimad events or have a complex event dispatching

v0.8.16 - 2020-02-26

  • key modifiers in click events in event_source
  • the new experimental feature flag: special-renders lets you define replacement chars (for now) with a out of skin rendering (contact me if you're interested by this kind of feature)

v0.8.15 - 2020-02-22

  • clear function in compound_style

v0.8.14 - 2020-02-16

  • check w in double-click detection

v0.8.13 - 2020-02-08

  • use crossterm 0.16.0 for slightly improved attributes storage

v0.8.13 - 2020-01-19

  • use crossterm 0.15 to fix ctrl-J being read as Enter

v0.8.11 - 2020-01-19

  • fix missing background on space after bullet in list

v0.8.10 - 2020-01-11

  • use crossterm 0.14.2 for freeBSD compatibility

v0.8.9 - 2019-12-30

  • fix the Enter key not recognized in combinations on some computers by normalizing '\r' and '\n' into 'Enter'

v0.8.8 - 2019-12-26

  • allow language specification in code fences

v0.8.5 - 2019-12-20

  • code fences support

v0.8.4 - 2019-12-16

v0.8.3 - 2019-12-15

  • port to crossterm 0.14

v0.8.2 - 2019-11-29

  • skin.print_expander makes using a text template less verbose

v0.8.1 - 2019-11-29

  • TextView: draw the background till the end of line

v0.8.0 - 2019-11-24

  • Templates allow going further in separating form from content

v0.7.6 - 2019-11-15

  • fix skin's background not applied on empty lines at end of text_view
  • use version minimad 0.4.3 to fix case of code not detected when following italic without space in between

v0.7.5 - 2019-11-13

  • fix skin's background not applied on empty lines at end of text_view

v0.7.4 - 2019-11-11

  • introduce inline templates, and especially the mad_print_inline! and mad_write_inline! macros
  • add functions to shrink or extend a composite to a given width, using internal elision if possible

v0.7.3 - 2019-11-08

  • add easy alternate to skin.print_text handling IO error

v0.7.2 - 2019-11-04

  • incorporate crossterm 0.13.2 which fixes a regression on input reader

v0.7.1 - 2019-11-03

  • compatibility with crossterm 0.13
  • mouse support in stderr

v0.7.0 - 2019-09-22

  • Displaying can be done on stderr or stdout, or in a subshell

v0.6.6 - 2019-10-05

  • provide a default terminal width when the real one can't be measured

v0.6.5 - 2019-08-31

  • list view: autoscroll on selection change
  • list view: select_first_line & select_last_line

v0.6.4 - 2019-08-02

  • add ProgressBar

v0.6.3 - 2019-08-01

  • improvements of ListView

v0.6.2 - 2019-07-31

  • fix build inconsistencies due to lack of precise sub crate versionning in crossterm

v0.6.1 - 2019-07-29

  • add modifiable style for the input_field

v0.6.0 - 2019-07-28

Some tools that were parts of several Termimad based applications are now shared here:

  • an event source emmiting events on a crossbeam channel
  • an input field
  • a list view with auto-resized columns

v0.5.1 - 2019-07-21

  • a few utilies exported for apps with specific usages (compute_scrollbar, spacing.print_str, etc.)

v0.5.0 - 2019-07-09

  • different styles for inline_code and code_block
  • rgb now longer a macro but a free function
  • two more color functions: ansi and gray
  • clean and complete documentation

v0.4.0 - 2019-07-02

  • support for horizontal rule (line made of dashes)
  • support for quote (line starting with '>')
  • support for bullet style customization (including colors)
  • better wrapping, less frequently breaks words
  • Skin API breaking changes to allow for more customization