Skip to content

0.5.0 (Improvements to image sizing, few fixes and more)

Compare
Choose a tag to compare
@AnonymouX47 AnonymouX47 released this 09 Jan 13:01
· 872 commits to main since this release

Highlights

  • (BREAKING!) "FONT ratio" -> "CELL ratio"
  • Revision of image sizing
    • Introduced the concepts of "fixed" and "dynamic" image sizing
    • Added Size enumeration
    • Implemented "original size" image sizing
  • Complete overhaul of the CLI/TUI configuration
    • Compliance with XDG Base Directories specification
  • Fixed multiple TUI crashes
  • Added ImageMeta metaclass
    • Added style property to image classes

0.5.0 - 2023-01-09

Fixed

  • [lib] Race condition in term_image.utils.lock_tty() multi-process integration (#66).
  • [cli,config] --log-file and "log file" validation (#69).
  • [cli,config] Render style force condition (#67).
  • [tui] TUI crash when menu or grid has zero rows (4219010).
  • [tui] Image canvas trim calculations for grid cells (30ed143).
  • [config] Initialization/Updating of TUI keybindings (#69).

Added

  • [lib] term_image.image.Size enumeration (#64).
    • Implemented "original size" image sizing.
  • [lib] term_image.utils.DISABLE_QUERIES to disable terminal queries (#66).
  • [lib] Multi-process synchronization for terminal window size caching (#66).
    • Significant effect (positive) on cell ratio and image size computation when using multiprocessing.
  • [lib] clear() method to each of KittyImage and Iterm2Image (#67).
  • [lib] Render style metaclass .image.ImageMeta with a style property (#67).
  • [lib] Auto cell ratio support status override; AutoCellRatio.is_supported (#68)
  • [cli] --fit and --original-size CL options (#64).
  • [config] Support for partial configs (#69).
  • [config] An upper limit of 5 for the "max notifications" option (#69).
  • [cli,config] --config and --no-config CL options (#69).

Changed

  • [lib] (BREAKING!) Changed the default value of size, width and height properties to Size.FIT (#64).
  • [lib] Updated BaseImage.set_size() (#64).
    • (BREAKING!) Removed fit_to_width and fit_to_height parameters.
    • Now accepts Size enum mumbers.
    • Refer to the linked PR for others.
  • [lib] Moved TermImageWarning from the top-level into term_image.exceptions.
  • [lib] Refactored and improved various utilities (#66).
    • TermImageWarning is now issued instead of Userwarning when not running in a terminal or multi-process synchronization is unsupported.
  • [lib] str(ImageClass) now returns the name of the render style (or category) (#67).
  • [lib] (BREAKING!) Changed FontRatio -> AutoCellRatio (#68)
    • Renamed modes AUTO -> FIXED and FULL_AUTO -> DYNAMIC
  • [cli] Changed default sizing to Size.AUTO (#64).
  • [cli] Changed default padding height to 1 i.e no vertical padding (#64).
  • [tui] Changed sizing to Size.AUTO for all images (#64).
  • [tui] An image/frame is re-rendered only when its size changes, regardless of the canvas size (#64).
  • [config] Now respects the XDG Base Directories Specification (#69).
  • [config] User config is now initialized after command-line arguments have been parsed (#69).
  • [config] Renamed "no multi" to "multi" (#69).
  • (BREAKING!) "FONT ratio" -> "CELL ratio" (#68)
    • term_image.get_font_ratio() -> term_image.get_cell_ratio()
    • term_image.set_font_ratio() -> term_image.set_cell_ratio()
    • -F/--font-ratio -> -C/--cell-ratio
    • --auto-font-ratio -> --auto-cell-ratio
    • config option "font ratio" -> "cell ratio"
    • etc...

Removed

  • [lib] term_image.image.TermImage.
  • [lib] TermImageException and InvalidSize from term_image.exceptions.
  • [lib] Top-level package term_img.