rich/CHANGELOG.md

68 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

13.9.1 - 2024-10-01

Fixed

  • Fixed typing_extensions dependency

13.9.0 - 2024-10-01

Changed

Fixed

13.8.1 - 2024-09-10

Fixed

13.8.0 - 2024-08-26

Fixed

Changed

Added

13.7.1 - 2024-02-28

Fixed

Added

13.7.0 - 2023-11-15

Added

Fixed

13.6.0 - 2023-09-30

Added

  • Added Python 3.12 to classifiers.

13.5.3 - 2023-09-17

Fixed

13.5.2 - 2023-08-01

Fixed

  • Fixed Text.expand_tabs assertion error

13.5.1 - 2023-07-31

Fixed

13.5.0 - 2023-07-29

Fixed

Added

  • Added Text.extend_style method.
  • Added Span.extend method.

Changed

  • Text.tab_size now defaults to None to indicate that Console.tab_size should be used.

13.4.2 - 2023-06-12

Changed

  • Relaxed markdown-it-py dependency

13.4.1 - 2023-05-31

Fixed

13.4.0 - 2023-05-31

Added

13.3.5 - 2023-04-27

Fixed

  • Fixed italic indent guides in SVG output

13.3.4 - 2023-04-12

Fixed

13.3.3 - 2023-02-27

Added

  • Added Style.clear_meta_and_links

13.3.2 - 2023-02-04

Fixed

Added

  • Added Polish README

Changed

13.3.1 - 2023-01-28

Fixed

13.3.0 - 2023-01-27

Fixed

Added

  • Added encoding parameter in Theme.read

13.2.0 - 2023-01-19

Changed

13.1.0 - 2023-01-14

Fixed

Added

Changed

  • Tracebacks will now hide double underscore names from locals by default. Set locals_hide_dunder=False to restore previous behaviour.

13.0.1 - 2023-01-06

Fixed

  • Fixed issue with Segment.split_cells for mixed single and double cell widths

13.0.0 - 2022-12-30

Fixed

Fixed

Changed

Added

12.6.0 - 2022-10-02

Added

Fixed

Changed

  • Removed border from code blocks in Markdown

12.5.2 - 2022-07-18

Added

  • Add Turkish Readme.

12.5.1 - 2022-07-11

Fixed

12.5.0 - 2022-07-11

Added

  • Environment variables JUPYTER_COLUMNS and JUPYTER_LINES to control width and height of console in Jupyter
  • Markdown friendly Box style, MARKDOWN, for rendering tables ready to copy into markdown files
  • inspect will prefix coroutine functions with async def
  • Style.__add__ will no longer return NotImplemented
  • Remove rich._lru_cache

Changed

  • Default width of Jupyter console size is increased to 115
  • Optimized Segment.divide

Fixed

12.4.4 - 2022-05-24

Changed

  • Added clipping per line to SVG output to avoid box characters overlapping
  • Optimized SVG output

12.4.3 - 2022-05-23

Changed

  • Further tweaks to SVG character matrix
  • Added clip rect to SVG to prevent box characters overlapping bottom of terminal

12.4.2 - 2022-05-23

Fixed

  • Fix for SVG on Firefox

Changed

  • Removed excess margin from SVG, tweaked cell sizes to better render block characters

12.4.1 - 2022-05-08

Fixed

Changed

  • Added a keyline around SVG terminals which is visible on dark backgrounds

Changed

  • Added a keyline around SVG terminals which is visible on dark backgrounds

12.4.0 - 2022-05-07

Changed

Added

12.3.0 - 2022-04-26

Added

Fixed

Changed

  • Setting total=None on progress is now possible, and will display pulsing animation
  • Micro-optimization for Segment.divide

12.2.0 - 2022-04-05

Changed

  • Bumped typing-extensions minimum to 4.0.0
  • Bumped minimum Python version to 3.6.3

12.1.0 - 2022-04-03

Added

Fixed

12.0.1 - 2022-03-22

Changed

Fixed

12.0.0 - 2022-03-10

Added

Fixed

Changed

11.2.0 - 2022-02-08

Added

Fixed

  • Fixed performance issue in measuring text

Fixed

11.1.0 - 2022-01-28

Added

Fixed

11.0.0 - 2022-01-09

Added

Fixed

Changed

  • breaking Deprecated rich.console.RenderGroup, now named rich.console.Group
  • breaking Syntax.__init__ parameter lexer_name renamed to lexer
  • Syntax constructor accepts both str and now a pygments lexer https://github.com/Textualize/rich/pull/1748

10.16.2 - 2021-01-02

Fixed

  • Fixed @ not being escaped in markup

10.16.1 - 2021-12-15

Fixed

10.16.0 - 2021-12-12

Fixed

Added

10.15.2 - 2021-12-02

Fixed

10.15.1 - 2021-11-29

Fixed

  • Reverted thread-safety fix for Live that introduced deadlock potential

10.15.0 - 2021-11-28

Added

  • Added dynamic_progress.py to examples
  • Added ConsoleOptions.update_height
  • Fixed Padding not respecting height

Changed

  • Some optimizations for simple strings (with only single cell widths)

Fixed

10.14.0 - 2021-11-16

Fixed

Added

Changed

Added

10.13.0 - 2021-11-07

Added

Fixed

Changed

10.12.0 - 2021-10-06

Updated

  • Official Py3.10 release

Fixed

  • Fixed detection of custom repr when pretty printing dataclasses

10.11.0 - 2021-09-24

Added

  • Added suppress parameter to tracebacks
  • Added max_frames parameter to tracebacks

10.10.0 - 2021-09-18

Added

  • Added stdin support to rich.json

Fixed

10.9.0 - 2021-08-29

Added

  • Added data parameter to print_json method / function
  • Added an --indent parameter to python -m rich.json

Changed

  • Changed default indent of JSON to 2 (down from 4)
  • Changed highlighting of JSON keys to new style (bold blue)

10.8.0 - 2021-08-28

Added

  • Added Panel.subtitle
  • Added Panel.subtitle_align
  • Added rich.json.JSON
  • Added rich.print_json and Console.print_json

Fixed

10.7.0 - 2021-08-05

Added

  • Added Text.apply_meta
  • Added meta argument to Text.assemble
  • Added Style.from_meta
  • Added Style.on
  • Added Text.on

Changed

  • Changed RenderGroup to Group and render_group to group (old names remain for compatibility but will be deprecated in the future)
  • Changed rich.repr.RichReprResult to rich.repr.Result (old names remain for compatibility but will be deprecated in the future)
  • Changed meta serialization to use pickle rather than marshal to permit callables

10.6.0 - 2021-07-12

Deprecated

  • Added deprecation warning for tabulate_mapping which will be removed in v11.0.0

Added

  • Added precision argument to filesize.decimal
  • Added separator argument to filesize.decimal
  • Added _rich_traceback_guard to Traceback
  • Added emoji_variant to Console
  • Added -emoji and -text variant selectors to emoji code

Fixed

Changed

  • Changed Console.size to use unproxied stdin and stdout

10.5.0 - 2021-07-05

Fixed

Added

  • Added new_line_start argument to Console.print
  • Added Segment.divide method
  • Added Segment.split_cells method
  • Added segment.SegmentLines class

10.4.0 - 2021-06-18

Added

  • Added Style.meta
  • Added rich.repr.auto decorator

Fixed

  • Fixed error pretty printing classes with special rich_repr method

10.3.0 - 2021-06-09

Added

  • Added Console.size setter
  • Added Console.width setter
  • Added Console.height setter
  • Added angular style Rich reprs
  • Added an IPython extension. Load via %load_ext rich

Changed

  • Changed the logic for retrieving the calling frame in console logs to a faster one for the Python implementations that support it.

10.2.2 - 2021-05-19

Fixed

10.2.1 - 2021-05-17

Fixed

10.2.0 - 2021-05-12

Added

  • Added syntax for call, i.e. "Foo(bar)"
  • Added Console.measure as a convenient alias for Measurement.get
  • Added support for pretty printing attrs objects
  • Added mappingproxy to pretty print
  • Added UserDict and UserList support to pretty printer

Changed

  • Changed colorama init to set strip=False
  • Changed highlighter for False, True, None to not match in the middle of a word. i.e. NoneType is no longer highlighted as None

Fixed

10.1.0 - 2021-04-03

Fixed

  • Fixed support for jupyter qtconsole and similar Jupyter environments

10.0.1 - 2021-03-30

Fixed

10.0.0 - 2021-03-27

Changed

  • Made pydoc import lazy as at least one use found it slow to import https://github.com/textualize/rich/issues/1104
  • Modified string highlighting to not match in the middle of a word, so that apostrophes are not considered strings
  • New way of encoding control codes in Segment
  • New signature for Control class
  • Changed Layout.split to use new Splitter class
  • Improved layout.tree
  • Changed default theme color for repr.number to cyan
  • __rich_measure__ signature changed to accept ConsoleOptions rather than max_width
  • text parameter to rich.spinner.Spinner changed to RenderableType

Added

  • Added __rich_repr__ protocol method to Pretty
  • Added rich.region.Region
  • Added ConsoleOptions.update_dimensions
  • Added rich.console.ScreenUpdate
  • Added Console.is_alt_screen
  • Added Control.segment, Control.bell, Control.home, Control.move_to, Control.clear, Control.show_cursor, Control.alt_screen
  • Added Console.update_screen and Console.update_screen_lines
  • Added Layout.add_split, Layout.split_column, Layout.split_row, layout.refresh
  • Added new Rich repr protocol __rich_repr__

Fixed

9.13.0 - 2021-03-06

Added

  • Pretty printer now supports dataclasses

Fixed

Changed

  • Added ws and wss to url highlighter

9.12.4 - 2021-03-01

Fixed

Changed

  • Allow highly compressed table cells to go to 0 width
  • Optimization to remove empty styles in various places

9.12.3 - 2021-02-28

Changed

  • Optimized Padding

9.12.2 - 2021-02-27

Added

  • Added ConsoleOptions.copy

Changed

  • Optimized ConsoleOptions.update

9.12.1 - 2021-02-27

Fixed

Added

  • Added Task.finished_speed

Changed

  • Froze TransferSpeedColumn speed when task is finished
  • Added SIGINT handler to downloader.py example
  • Optimization for large tables

9.12.0 - 2021-02-24

Fixed

Changed

Added

  • Added height to Panel

9.11.1 - 2021-02-20

Fixed

Changed

  • python -m rich.markdown and rich.syntax show usage with no file

Added

  • Added height parameter to Layout
  • Added python -m rich.segment

9.11.0 - 2021-02-15

Fixed

Added

  • Added cheeky sponsorship request to test card
  • Added quiet argument to Console constructor
  • Added support for a callback function to format timestamps (allows presentation of milliseconds)
  • Added Console.set_alt_screen and Console.screen
  • Added height to ConsoleOptions
  • Added vertical parameter to Align
  • Added Layout class

Changed

  • Pretty.overflow now defaults to None
  • Panel now respects options.height
  • Traceback lexer defaults to Python if no extension on source
  • Added ConsoleDimensions size attribute to ConsoleOptions so that size can't change mid-render

9.10.0 - 2021-01-27

Changed

  • Some optimizations for Text
  • Further optimized Tracebacks by not tokenizing code more that necessary
  • Table Column.header_style and Column.footer_style are now added to Table header/footer style

9.9.0 - 2021-01-23

Changed

  • Extended Windows palette to 16 colors
  • Modified windows palette to Windows 10 colors
  • Change regex for attrib_name to be more performant
  • Optimized traceback generation

Fixed

  • Fix double line tree guides on Windows
  • Fixed Tracebacks ignoring initial blank lines
  • Partial fix for tracebacks not finding source after chdir
  • Fixed error message when code in tracebacks doesn't have an extension https://github.com/textualize/rich/issues/996

Added

  • Added post_style argument to Segment.apply_style

9.8.2 - 2021-01-15

Fixed

9.8.1 - 2021-01-13

Fixed

9.8.0 - 2021-01-11

Added

  • Added rich_measure for tree
  • Added rich.align.VerticalCenter

Changed

  • The style argument on Align now applies to background only
  • Changed display of progress bars in no_color mode for clarity
  • Console property size will fall back to getting the terminal size of stdout it stdin fails, this allows size to be correctly determined when piping

Fixed

9.7.0 - 2021-01-09

Added

  • Added rich.tree
  • Added no_color argument to Console

9.6.2 - 2021-01-07

Fixed

9.6.1 - 2020-12-31

Fixed

  • Fixed encoding error on Windows when loading code for Tracebacks

9.6.0 - 2020-12-30

Changed

  • MarkupError exception raise from None to omit internal exception
  • Factored out RichHandler.render and RichHandler.render_message for easier extending
  • Display pretty printed value in rich.inspect

Added

  • Added Progress.TimeElapsedColumn
  • Added IPython support to pretty.install

Fixed

  • Fixed display of locals in Traceback for stdin

9.5.1 - 2020-12-19

Fixed

9.5.0 - 2020-12-18

Changed

  • If file is not specified on Console then the Console.file will return the current sys.stdout. Prior to 9.5.0 sys.stdout was cached on the Console, which could break code that wrapped sys.stdout after the Console was constructed.
  • Changed Color.__str__ to not include ansi codes
  • Changed Console.size to get the terminal dimensions via sys.stdin. This means that if you set file to be an io.StringIO file then the width will be set to the current terminal dimensions and not a default of 80.

Added

  • Added stderr parameter to Console
  • Added rich.reconfigure
  • Added Color.__rich__
  • Added Console.soft_wrap
  • Added Console.style parameter
  • Added Table.highlight parameter to enable highlighting of cells
  • Added Panel.highlight parameter to enable highlighting of panel title
  • Added highlight to ConsoleOptions

Fixed

9.4.0 - 2020-12-12

Added

  • Added rich.live https://github.com/textualize/rich/pull/382
  • Added align parameter to Rule and Console.rule
  • Added rich.Status class and Console.status
  • Added getitem to Text
  • Added style parameter to Console.log
  • Added rich.diagnose command

Changed

  • Table.add_row style argument now applies to entire line and not just cells
  • Added end_section parameter to Table.add_row to force a line underneath row

Fixed

9.3.0 - 2020-12-1

Added

  • Added get_datetime parameter to Console, to allow for repeatable tests
  • Added get_time parameter to Console
  • Added rich.abc.RichRenderable
  • Added expand_all to rich.pretty.install()
  • Added locals_max_length, and locals_max_string to Traceback and logging.RichHandler
  • Set defaults of max_length and max_string for Traceback to 10 and 80
  • Added disable argument to Progress

Changed

  • Reformatted test card (python -m rich)

Fixed

9.2.0 - 2020-11-08

Added

  • Added tracebacks_show_locals parameter to RichHandler
  • Added max_string to Pretty
  • Added rich.ansi.AnsiDecoder
  • Added decoding of ansi codes to captured stdout in Progress
  • Added expand_all to rich.pretty.pprint

Changed

  • Applied dim=True to indent guide styles
  • Factored out RichHandler.get_style_and_level to allow for overriding in subclasses
  • Hid progress bars from html export
  • rich.pretty.pprint now soft wraps

9.1.0 - 2020-10-23

Added

  • Added Text.with_indentation_guide
  • Added Text.detect_indentation
  • Added Pretty.indent_guides
  • Added Syntax.indent_guides
  • Added indent_guides parameter on pretty.install
  • Added rich.pretty.pprint
  • Added max_length to Pretty

Changed

  • Enabled indent guides on Tracebacks

Fixed

9.0.1 - 2020-10-19

Fixed

9.0.0 - 2020-10-18

Fixed

  • Progress download column now displays decimal units

Added

  • Support for Python 3.9
  • Added legacy_windows to ConsoleOptions
  • Added ascii_only to ConsoleOptions
  • Added box.SQUARE_DOUBLE_HEAD
  • Added highlighting of EUI-48 and EUI-64 (MAC addresses)
  • Added Console.pager
  • Added Console.out
  • Added binary_units in progress download column
  • Added Progress.reset
  • Added Style.background_style property
  • Added Bar renderable https://github.com/textualize/rich/pull/361
  • Added Table.min_width
  • Added table.Column.min_width and table.Column.max_width, and same to Table.add_column

Changed

  • Dropped box.get_safe_box function in favor of Box.substitute
  • Changed default padding in Panel from 0 to (0, 1) https://github.com/textualize/rich/issues/385
  • Table with row_styles will extend background color between cells if the box has no vertical dividerhttps://github.com/textualize/rich/issues/383
  • Changed default of fit kwarg in render_group() from False to True
  • Renamed rich.bar to rich.progress_bar, and Bar class to ProgressBar, rich.bar is now the new solid bar class

Fixed

  • Fixed typo in Style.transparent_background method name.

8.0.0 - 2020-10-03

Added

  • Added Console.bell method
  • Added Set to types that Console.print will automatically pretty print
  • Added show_locals to Traceback
  • Added theme stack mechanism, see Console.push_theme and Console.pop_theme

Changed

  • Changed Style.empty to Style.null to better reflect what it does
  • Optimized combining styles involving a null style
  • Change error messages in Style.parse to read better

Fixed

  • Fixed Table.__rich_measure__
  • Fixed incorrect calculation of fixed width columns

7.1.0 - 2020-09-26

Added

Changed

  • Improved formatting of exceptions
  • Enabled Rich exceptions in logging https://github.com/taliraj
  • UTF-8 encoding is now mentioned in HTML head section

Removed

  • Removed line_numbers argument from traceback.install, which was undocumented and did nothing

7.0.0 - 2020-09-18

Added

  • New ansi_dark and ansi_light themes
  • Added Text.append_tokens for fast appending of string + Style pairs
  • Added Text.remove_suffix
  • Added Text.append_tokens

Changed

  • Text.tabs_to_spaces was renamed to Text.expand_tabs, which works in place rather than returning a new instance
  • Renamed Column.index to Column._index
  • Optimized Style.combine and Style.chain
  • Optimized text rendering by fixing internal cache mechanism
  • Optimized hash generation for Styles

6.2.0 - 2020-09-13

Added

  • Added inline code highlighting to Markdown

6.1.2 - 2020-09-11

Added

  • Added ipv4 and ipv6 to ReprHighlighter

Changed

  • The # sign is included in url highlighting

Fixed

  • Fixed force-color switch in rich.syntax and rich.markdown commands

6.1.1 - 2020-09-07

Changed

  • Restored "def" in inspect signature

6.1.0 - 2020-09-07

Added

  • New inspect module
  • Added os._Environ to pretty print

Fixed

  • Prevented recursive renderables from getting stuck

Changed

  • force_terminal and force_jupyter can now be used to force the disabled state, or left as None to auto-detect.
  • Panel now expands to fit title if supplied

6.0.0 - 2020-08-25

Fixed

  • Fixed use of __rich__ cast

Changed

  • New algorithm to pretty print which fits more on a line if possible
  • Deprecated character parameter in Rule and Console.rule, in favor of characters
  • Optimized Syntax.from_path to avoid searching all lexers, which also speeds up tracebacks

Added

  • Added soft_wrap flag to Console.print

5.2.1 - 2020-08-19

Fixed

5.2.0 - 2020-08-14

Changed

5.1.2 - 2020-08-10

Fixed

  • Further optimized pretty printing ~5X.

5.1.1 - 2020-08-09

Fixed

  • Optimized pretty printing ~3X faster

5.1.0 - 2020-08-08

Added

Fixed

Changed

  • Implemented pretty printing, and removed pprintpp from dependencies
  • Optimized Text.join

5.0.0 - 2020-08-02

Changed

  • Change to console markup syntax to not parse Python structures as markup, i.e. [1,2,3] is treated as a literal, not a tag.
  • Standard color numbers syntax has changed to "color(<number>)" so that [5] (for example) is considered a literal.
  • Markup escape method has changed from double brackets to preceding with a backslash, so foo[[]] would be foo\[bar]

4.2.2 - 2020-07-30

Changed

  • Added thread to automatically call update() in progress.track(). Replacing previous adaptive algorithm.
  • Second attempt at working around https://bugs.python.org/issue37871

4.2.1 - 2020-07-29

Added

Fixed

Changed

4.2.0 - 2020-07-27

Fixed

4.1.0 - 2020-07-26

Changed

  • Optimized progress.track for very quick iterations
  • Force default size of 80x25 if get_terminal_size reports size of 0,0

4.0.0 - 2020-07-23

Major version bump for a breaking change to Text.stylize signature, which corrects a minor but irritating API wart. The style now comes first and the start and end offsets default to the entire text. This allows for text.stylize_all(style) to be replaced with text.stylize(style). The start and end offsets now support negative indexing, so text.stylize("bold", -1) makes the last character bold.

Added

Changed

  • Change signature of Text.stylize to accept style first
  • Remove Text.stylize_all which is no longer necessary

Fixed

3.4.1 - 2020-07-22

Fixed

  • Fixed incorrect default of expand in Table.grid

3.4.0 - 2020-07-22

Added

  • Added stream parameter to Console.input
  • Added password parameter to Console.input
  • Added description parameter to Progress.update
  • Added rich.prompt
  • Added detecting 'dumb' terminals
  • Added Text.styled alternative constructor

Fixes

  • Fixed progress bars so that they are readable when color is disabled

3.3.2 - 2020-07-14

Changed

  • Optimized Text.pad

Added

  • Added rich.scope
  • Change log_locals to use scope.render_scope
  • Added title parameter to Columns

3.3.1 - 2020-07-13

Added

  • box.ASCII_DOUBLE_HEAD

Changed

  • Removed replace of -- --- ... from Markdown, as it made it impossible to include CLI info

3.3.0 - 2020-07-12

Added

  • Added title and title_align options to Panel
  • Added pad and width parameters to Align
  • Added end parameter to Rule
  • Added Text.pad and Text.align methods
  • Added leading parameter to Table

3.2.0 - 2020-07-10

Added

  • Added Align.left Align.center Align.right shortcuts
  • Added Panel.fit shortcut
  • Added align parameter to Columns

Fixed

  • Align class now pads to the right, like Text
  • ipywidgets added as an optional dependency
  • Issue with Panel and background color
  • Fixed missing __bool__ on Segment

Changed

  • Added border_style argument to Panel (note, style now applies to interior of the panel)

3.1.0 - 2020-07-09

Changed

  • Progress bars now work in Jupyter

Added

  • Added refresh_per_second to progress.track
  • Added styles to BarColumn and progress.track

3.0.5 - 2020-07-07

Fixed

  • Fixed Windows version number require for truecolor

3.0.4 - 2020-07-07

Changed

3.0.3 - 2020-07-03

Fixed

  • Fixed edge case with wrapped and overflowed text

Changed

  • New algorithm for compressing table that priorities smaller columns

Added

  • Added safe_box parameter to Console constructor

3.0.2 - 2020-07-02

Added

  • Added rich.styled.Styled class to apply styles to renderable
  • Table.add_row now has an optional style parameter
  • Added table_movie.py to examples

Changed

  • Modified box options to use half line characters at edges
  • Non no_wrap columns will now shrink below minimum width if table is compressed

3.0.1 - 2020-06-30

Added

  • Added box.ASCII2
  • Added markup argument to logging extra

Changed

  • Setting a non-None width now implies expand=True

3.0.0 - 2020-06-28

Changed

  • Enabled supported box chars for legacy Windows, and introduce safe_box flag
  • Disable hyperlinks on legacy Windows
  • Constructors for Rule and Panel now have keyword only arguments (reason for major version bump)
  • Table.add_colum added keyword only arguments

Fixed

  • Fixed Table measure

2.3.1 - 2020-06-26

Fixed

2.3.0 - 2020-06-26

Fixed

  • Fixed highlighting of paths / filenames
  • Corrected docs for RichHandler which erroneously said default console writes to stderr

Changed

  • Allowed style parameter for highlight_regex to be a callable that returns a style

Added

  • Added optional highlighter parameter to RichHandler

2.2.6 - 2020-06-24

Changed

2.2.5 - 2020-06-23

Fixed

2.2.4 - 2020-06-21

Added

  • Added enable_link_path to RichHandler
  • Added legacy_windows switch to Console constructor

2.2.3 - 2020-06-15

Fixed

  • Fixed console.log hyperlink not containing full path

Changed

  • Used random number for hyperlink id

2.2.2 - 2020-06-14

Changed

  • Exposed RichHandler highlighter as a class var

2.2.1 - 2020-06-14

Changed

  • Linked path in log render to file

2.2.0 - 2020-06-14

Added

  • Added redirect_stdout and redirect_stderr to Progress

Changed

  • printing to console with an active Progress doesn't break visuals

2.1.0 - 2020-06-11

Added

  • Added 'transient' option to Progress

Changed

  • Truncated overly long text in Rule with ellipsis overflow

2.0.1 - 2020-06-10

Added

  • Added expand option to Padding

Changed

  • Some minor optimizations in Text

Fixed

  • Fixed broken rule with CJK text

2.0.0 - 2020-06-06

Added

  • Added overflow methods
  • Added no_wrap option to print()
  • Added width option to print
  • Improved handling of compressed tables

Fixed

  • Fixed erroneous space at end of log
  • Fixed erroneous space at end of progress bar

Changed

  • Renamed _ratio.ratio_divide to _ratio.ratio_distribute
  • Renamed JustifyValues to JustifyMethod (backwards incompatible)
  • Optimized _trim_spans
  • Enforced keyword args in Console / Text interfaces (backwards incompatible)
  • Return self from text.append

1.3.1 - 2020-06-01

Changed

  • Changed defaults of Table.grid
  • Polished listdir.py example

Added

  • Added width argument to Columns

Fixed

  • Fixed for columns_first argument in Columns
  • Fixed incorrect padding in columns with fixed width

1.3.0 - 2020-05-31

Added

  • Added rich.get_console() function to get global console instance.
  • Added Columns class

Changed

  • Updated markdown.Heading.create() to work with subclassing.
  • Console now transparently works with Jupyter

Fixed

  • Fixed issue with broken table with show_edge=False and a non-None box arg

1.2.3 - 2020-05-24

Added

  • Added padding parameter to Panel
  • Added 'indeterminate' state when progress bars aren't started

Fixed

Changed

  • Auto-detect "truecolor" color system when in Windows Terminal

1.2.2 - 2020-05-22

Fixed

  • Issue with right aligned wrapped text adding extra spaces

1.2.1 - 2020-05-22

Fixed

  • Issue with sum and Style

1.2.0 - 2020-05-22

Added

  • Support for double underline, framed, encircled, and overlined attributes

Changed

  • Optimized Style
  • Changed methods __console__ to __rich_console__, and __measure__ to __rich_measure__

1.1.9 - 2020-05-20

Fixed

  • Exception when BarColumn.bar_width == None

1.1.8 - 2020-05-20

Changed

  • Optimizations for Segment, Console and Table

Added

  • Added Console.clear method
  • Added exporting of links to HTML

1.1.7 - 2020-05-19

Added

  • Added collapse_padding option to Table.

Changed

  • Some style attributes may be abbreviated (b for bold, i for italic etc). Previously abbreviations worked in console markup but only one at a time, i.e. "[b]Hello[/]" but not "[b i]Hello[/]" -- now they work everywhere.
  • Renamed 'text' property on Text to 'plain'. i.e. text.plain returns a string version of the Text instance.

Fixed

  • Fixed zero division if total is 0 in progress bar

1.1.6 - 2020-05-17

Added

  • Added rich.align.Align class
  • Added justify argument to Console.print and console.log

1.1.5 - 2020-05-15

Changed

  • Changed progress bars to write to stdout on terminal and hide on non-terminal

1.1.4 - 2020-05-15

Fixed

  • Fixed incorrect file and link in progress.log
  • Fixes for legacy windows: Bar, Panel, and Rule now use ASCII characters
  • show_cursor is now a no-op on legacy windows

Added

  • Added Console.input

Changed

  • Disable progress bars when not writing to a terminal

1.1.3 - 2020-05-14

Fixed

  • Issue with progress of one line`

1.1.2 - 2020-05-14

Added

  • Added -p switch to python -m rich.markdown to page output
  • Added Console.control to output control codes

Changed

  • Changed Console log_time_format to no longer require a space at the end
  • Added print and log to Progress to render terminal output when progress is active

1.1.1 - 2020-05-12

Changed

  • Stripped cursor moving control codes from text

1.1.0 - 2020-05-10

Added

  • Added hyperlinks to Style and markup
  • Added justify and code theme switches to markdown command

1.0.3 - 2020-05-08

Added

  • Added python -m rich.syntax command

1.0.2 - 2020-05-08

Fixed

1.0.1 - 2020-05-08

Changed

  • Applied console markup after highlighting
  • Documented highlighting
  • Changed Markup parser to handle overlapping styles
  • Relaxed dependency on colorama
  • Allowed Theme to accept values as style definitions (str) as well as Style instances
  • Added a panel to emphasize code in Markdown

Added

  • Added markup.escape
  • Added python -m rich.theme command
  • Added python -m rich.markdown command
  • Added rendering of images in Readme (links only)

Fixed

1.0.0 - 2020-05-03

Changed

  • Improvements to repr highlighter to highlight URLs

0.8.13 - 2020-04-28

Fixed

  • Fixed incorrect markdown rendering for quotes and changed style

0.8.12 - 2020-04-21

Fixed

  • Removed debug print from rich.progress

0.8.11 - 2020-04-14

Added

  • Added Table.show_lines to render lines between rows

Changed

  • Added markup escape with double square brackets

0.8.10 - 2020-04-12

Fixed

  • Fix row_styles applying to header

0.8.9 - 2020-04-12

Changed

  • Added force_terminal option to Console.__init__

Added

  • Added Table.row_styles to enable zebra striping.

0.8.8 - 2020-03-31

Fixed

  • Fixed background in Syntax

0.8.7 - 2020-03-31

Fixed

  • Broken wrapping of long lines
  • Fixed wrapping in Syntax

Changed

  • Added word_wrap option to Syntax, which defaults to False.
  • Added word_wrap option to Traceback.

0.8.6 - 2020-03-29

Added

  • Experimental Jupyter notebook support: from rich.jupyter import print

0.8.5 - 2020-03-29

Changed

  • Smarter number parsing regex for repr highlighter

Added

  • uuid highlighter for repr

0.8.4 - 2020-03-28

Added

  • Added 'test card', run python -m rich

Changed

  • Detected windows terminal, defaulting to colorama support

Fixed

  • Fixed table scaling issue

0.8.3 - 2020-03-27

Fixed

  • CJK right align

0.8.2 - 2020-03-27

Changed

  • Fixed issue with 0 speed resulting in zero division error
  • Changed signature of Progress.update
  • Made calling start() a second time a no-op

0.8.1 - 2020-03-22

Added

  • Added progress.DownloadColumn

0.8.0 - 2020-03-17

Added

  • CJK support
  • Console level highlight flag
  • Added encoding argument to Syntax.from_path

Changed

0.7.2 - 2020-03-15

Fixed

  • KeyError for missing pygments style

0.7.1 - 2020-03-13

Fixed

  • Issue with control codes being used in length calculation

Changed

  • Remove current_style concept, which wasn't really used and was problematic for concurrency

0.7.0 - 2020-03-12

Changed

  • Added width option to Panel
  • Change special method __render_width__ to __measure__
  • Dropped the "markdown style" syntax in console markup
  • Optimized style rendering

Added

  • Added Console.show_cursor method
  • Added Progress bars

Fixed

  • Fixed wrapping when a single word was too large to fit in a line

0.6.0 - 2020-03-03

Added

  • Added tab_size to Console and Text
  • Added protocol.is_renderable for runtime check
  • Added emoji switch to Console
  • Added inherit boolean to Theme
  • Made Console thread safe, with a thread local buffer

Changed

  • Console.markup attribute now effects Table
  • SeparatedConsoleRenderable and RichCast types

Fixed

  • Fixed tabs breaking rendering by converting to spaces

0.5.0 - 2020-02-23

Changed

  • Replaced __console_str__ with __rich__

0.4.1 - 2020-02-22

Fixed

  • Readme links in PyPI

0.4.0 - 2020-02-22

Added

  • Added Traceback rendering and handler
  • Added rich.constrain
  • Added rich.rule

Fixed

  • Fixed unnecessary padding

0.3.3 - 2020-02-04

Fixed

0.3.2 - 2020-01-26

Added

  • Added rich.logging

0.3.1 - 2020-01-22

Added

  • Added colorama for Windows support

0.3.0 - 2020-01-19

Added

  • First official release, API still to be stabilized