Packages

A rustler NIF for basic image processing and dithering

Current section

Files

Jump to
dither CHANGELOG.md
Raw

CHANGELOG.md

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.2.2] - 2026-04-13
Better support for RGBA images and new rotation utility.
### Added
- Support for loading and decoding RGBA images (4 channels).
- `Dither.to_rgb/1` and `Dither.to_rgb!/1` to convert images to RGB8.
- `Dither.rotate/2` and `Dither.rotate!/2` to rotate images (90, 180, 270 degrees).
- Explicit channel count check in `Dither.dither/2`.
### Changed
- `Dither.dither/2` now returns `{:error, :unsupported_channel_count}` if an
RGBA image is provided without conversion.
## [0.2.1] - 2026-04-13
Adds color dithering support and custom color palettes
- Implemented dithering support for RGB images using custom palettes
- Added Dither.Palette module for normalizing colors and providing predefined
palettes
- Defined several built-in palettes: `:cga`, `:websafe`, and `:crayon`
## [0.2.0] - 2026-04-13
Adds a new %Dither{} struct (replaces the reference returned from `load/1`,
`decode/1`, and `from_raw/3`). Adds metadata to the struct (including image size
and channels). Improves documentation, and adds testing
## [0.1.1] - 2025-12-07
Bug fixes.
### Changed
`Dither.from_raw` previously only accepted a list as the first argument, whereas
it should only allow a binary. This has been fixed.
Proper usage:
```elixir
iex> Dither.from_raw(<<1>>, 1, 1)
{:ok, #Reference<0.253499029.2847801345.146246>}
```
[unreleased]: https://github.com/protolux-electronics/dither/compare/v0.2.2...HEAD
[0.2.2]: https://github.com/protolux-electronics/dither/compare/v0.2.1...v0.2.2
[0.2.1]: https://github.com/protolux-electronics/dither/compare/v0.2.0...v0.2.1
[0.2.0]: https://github.com/protolux-electronics/dither/compare/v0.1.1...v0.2.0
[0.1.1]: https://github.com/protolux-electronics/dither/compare/v0.1.0...v0.1.1
[0.1.0]: https://github.com/protolux-electronics/dither/releases/tag/v0.1.0