alive-progress v2.0.0 Release Notes

Release Date: 2021-08-25 // 2 months ago
  • This is a major breakthrough in alive-progress!

    • now there's complete support for Emojis ๐Ÿคฉ and exotic Unicode chars in general, which required MAJOR refactoring deep within the project, giving rise to what I called Cells Architecture => now all internal components use and generate streams of cells instead of chars, and correctly interprets grapheme clusters โ€” it has enabled to render complex multi-chars symbols as if they were one, thus making them work on any spinners, bars, texts, borders, backgrounds, everything!!! there's even support for wide chars, which are represented with any number of chars, including one, but take two spaces on screen!! pretty advanced stuff ๐Ÿค“
    • ๐Ÿ†• new super cool spinner compiler and runner, which generates complete animations ahead-of-time, and play these ready-to-go animations seamlessly, with no overhead at all! ๐Ÿš€
    • the spinner compiler also includes advanced extra commands to generate and modify animations, like reshape, replace, transpose, or randomize the animation cycles!
    • ๐Ÿ†• new powerful and polished .check() tools, that compile and beautifully render all frames from all animation cycles of spinners and bars! they can even include complete frame data, internal codepoints and even their animations! ๐Ÿ‘
    • ๐Ÿ‘ bars engine revamp, with invisible fills, advanced support for multi-char tips (which gradually enter and leave the bar), borders, tips and errors of any length, and underflow errors that can leap into the border if they can't fit!
    • ๐ŸŽ spinners engine revamp, with standardized factory signatures, improved performance, new types and new features: smoother bouncing spinners (with an additional frame at the edges), optimized scrolling of text messages (which go slower and pause for a moment at the edges), new alongside and sequential spinners, nicer effect in alongside spinners (which use weighted spreading over the available space), smoother animation in scrolling spinners (when the input is longer than the available space)
    • ๐Ÿ†• new builtin spinners, bars and themes, which makes use of the new animation features
    • ๐Ÿ†• new showtime that displays themes and is dynamic => it does not scroll the screen when it can't fit either vertically or horizontally, and can even filter for patterns!
    • ๐Ÿ‘Œ improved support for logging into files, which gets enriched as the print hook is!
    • ๐Ÿ”ง several new configuration options for customizing appearance, including support for disabling any alive-progress widgets!
    • includes a new iterator adapter alive_it, that accepts an iterable and calls bar() for you!
    • ๐Ÿ‘ requires python 3.6+ (and officially supports python 3.9 and 3.10)

Previous changes from v1.6.2

    • ๐Ÿ†• new bar.current() method
    • ๐Ÿ†• newlines get printed on vanilla Python REPL
    • ๐Ÿ bar is truncated to 80 chars on Windows