Skip to content

0.4.0 (Support for terminal graphics protocols)

Compare
Choose a tag to compare
@AnonymouX47 AnonymouX47 released this 27 Jun 03:55
· 992 commits to main since this release

Highlights

  • Support for terminal graphics protocols
  • Auto font ratio
  • Automatic render style selection
  • Style-specific parameters and format specification
  • Improved image grid performance
  • TermImage -> BlockImage
  • TermImageException -> TermImageError
  • InvalidSize -> InvalidSizeError

0.4.0 - 2022-06-27

Fixed

  • [lib] Directly adjusting image seek position no longer affects iteration with ImageIterator (#42).
  • [lib] BG colors not being drawn when equal to the terminal's default BG color, with 'block' render style on the Kitty terminal emulator (#54).
  • [cli] Handling of SIGINT while processing sources (#56).
  • [tui] Intensive performance drop while populating large image grids (#41).
  • [tui] Navigation across animated images (#42).
    • No more waiting for the first frame to be rendered before moving on.
  • [tui] Deadlocks and some exceptions raised upon exiting the TUI (#43).

Added

  • [lib] A common interface to be shared across all image classes (#34).
  • [lib] BaseImage, the baseclass of all image classes (#34).
  • [lib] is_supported() class method for render style support detection (#34).
  • [lib] term_image.utils submodule. (#34, #36)
  • [lib] Convenience functions for automatic render style selection (#37).
    • AutoImage(), from_file() and from_url() in term_image.image.
  • [lib] BaseImage.source_type property (#38).
  • [lib] KittyImage class (#39).
  • [lib] Support for multiple render methods per render style via BaseImage.set_render_method() (#39).
  • [lib] Non-linear image iteration via ImageIterator.seek() (#42).
  • [lib] Image category subclasses (of BaseImage), TextImage and GraphicsImage (#44).
  • [lib] Automatic font ratio computation (#45).
  • [lib] term_image.FontRatio enumeration class (#45).
  • [lib] Support for style-specific parameters and format specification (#47).
  • [lib] Style-specific exception classes (#47).
  • [lib] ITerm2Image class, iterm2 render style; Support for the iTerm2 inline image protocol (#50).
  • [lib] term_image.TermImageWarning; pacage specific warning category (#50).
  • [lib] Auto background color i.e using the terminal's default BG color for transparent images (#54).
  • [lib] ImageIterator.loop_no property (7de6b4a).
  • [cli] --style command-line option for render style selection (#37).
  • [cli] kitty render style choice for the --style command-line option (#39).
  • [cli] --force-style to bypass render style support checks (#44).
  • [cli] --auto-font-ratio for automatic font ratio determination (#45).
  • [cli] Support for style-specific options (#47).
  • [cli] --kz/--kitty-z-index 'kitty' style-specific option (#49).
  • [cli] iterm2 render style choice for the --style command-line option (#50).
  • [cli] --itn/--iterm2-native and --itn-max/--iterm2-native-maxsize style-specific CL options for 'iterm2' native animation (#50).
  • [cli] --kc/--kitty-compress 'kitty' style-specific option (#51).
  • [cli] --query-timeout command-line option (3b658f3).
  • [cli] --itc/--iterm2-compress, --itjq/--iterm2-jpeg-quality and --itnrff/iterm2-no-read-from-file style-specific command-line options (#55).
  • [cli] -multi command-line option (2c2d240).
  • [cli] --swap_win_size and --no-swap_win_size command-line options (4f9178f).
  • [tui] Concurrent/Parallel frame rendering for TUI animations (#42).
  • [tui] Key codes in the help menu (bd87a3b).
  • [cli,tui] no multi, query timeout and style config options (2c2d240).
  • [cli,tui] Attempt to set window title at startup (5a2976a).
  • [cli,tui] swap win size config option (4f9178f).
  • [lib,cli,tui] Support for the Kitty terminal graphics protocol (#39).
  • [lib,cli,tui] Automatic render style selection based on the detected terminal support (#37).

Changed

  • [lib] TermImage is now a subclass of BaseImage (#34).
  • [lib] Instantiation via the class constructor now initializes the seek position of animated images to the current seek position of the given PIL image (#34).
  • [lib] On UNIX, the library now attempts to determine the proper terminal device to use when standard streams are redirected to files or pipes (#36).
  • [lib] BaseImage.source now raises TermImageException when invoked after the instance has been finalized (#38).
  • [lib] Improved repr() of image instances (#38).
  • [lib] Direct baseclass of TermImage to TextImage (#44).
  • [lib] TermImage to BlockImage (#46).
  • [lib] Exception naming scheme (#46).
    • TermImageException to TermImageError.
    • InvalidSize to InvalidSizError.
  • [lib] Image resampling method from BICUBIC to BOX (#54).
  • [lib] Transparent renders in text-based styles are now partially blended with the terminal's BG color (#54).
  • [lib] Optimized image render data computation and image formatting (#54).
  • [cli] -S from --scroll to --style (#44).
  • [cli] CLI mode is now forced when output is not a TTY (#56).
  • [cli,tui] Changed default value of font ratio config option to null (#45).
  • [cli,tui] Improved startup speed and source processing (#56).
  • [cli,tui] Improved config error handling (#56).

Deprecated

  • [lib] term_image.image.TermImage (#46).
  • [lib] TermImageException and InvalidSize in term_image.exceptions (#46).