Skip to content

Commit 1a85560

Browse files
committed
chore(release): bump version to 0.4.0
This release introduces image scaling for terminal graphics (Sixel, Kitty) and allows direct image instantiation in Python. It also includes significant refactoring of terminal state management and the Sixel processing pipeline, alongside performance optimizations for Sixel color quantization and dithering. Python bindings received enhanced docstrings and type hints. BREAKING CHANGE: Canvas.drawText method parameter order changed from (x, y, text, font, color) to (x, y, text, color, font).
1 parent b9cc8a8 commit 1a85560

File tree

4 files changed

+51
-2
lines changed

4 files changed

+51
-2
lines changed

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
# Changelog
22

3+
## [0.4.0] - 2025-08-06
4+
5+
### Added
6+
7+
#### Terminal Graphics
8+
- **Image Scaling Support**: Terminal graphics protocols now support image scaling
9+
- Sixel: Added optional `width` and `height` fields to `sixel.Options` for image scaling
10+
- Kitty: Added optional `width` and `height` fields to `kitty.Options` for image scaling
11+
- Allows images to be scaled (perserving aspect-ratio) before transmission to terminal
12+
13+
### Changed
14+
- **Terminal Architecture**: Refactored terminal state management
15+
- Encapsulated state management in new `terminal.zig` module
16+
- Replaced `TerminalSupport.zig` with more modular design
17+
- **Sixel Processing**: Refactored image processing pipeline
18+
- Color lookup table now implemented as value type
19+
- Optimized image preparation for dithering
20+
- Better separation of concerns in processing stages
21+
22+
### Performance
23+
- Optimized Sixel color quantization and dithering preparation
24+
- More efficient color lookup table implementation
25+
326
## [0.3.0] - 2025-08-04
427

528
### Added

bindings/python/CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,31 @@
11
# Python Bindings Changelog
22

3+
## [0.4.0] - 2025-08-06
4+
5+
### Added
6+
- **Image Instantiation**: Create images directly from Python
7+
- `Image(rows, cols)` - Create image with specified dimensions
8+
- `Image(rows, cols, color="white")` - Create with initial color
9+
- **Terminal Image Scaling**: Scale images for terminal display
10+
- Sixel format: `format(image, "sixel:800x600")` scales to fit before display
11+
- Kitty format: `format(image, "kitty:800x600")` scales to fit before display
12+
- Supports partial specifications: `"sixel:800x"` (width only), `"sixel:x600"` (height only)
13+
14+
### Changed
15+
- **Breaking**: Canvas `drawText` method parameter order changed
16+
- Old: `drawText(x, y, text, font, color)`
17+
- New: `drawText(x, y, text, color, font)`
18+
- **Documentation**: Enhanced docstrings and type hints
19+
- Added comprehensive `__init__` docstrings for all classes
20+
- Modernized type hints using pipe operator (`|`) syntax
21+
- Improved IDE autocomplete support
22+
23+
### Internal
24+
- Simplified font handling in Canvas text drawing
25+
- Extracted RGBA attribute parsing to shared utilities
26+
- Better error messages for invalid color types
27+
- Improved Python stub generation
28+
329
## [0.3.0] - 2025-08-04
430

531
### Added

bindings/python/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "zignal-processing"
7-
version = "0.4.0.dev1"
7+
version = "0.4.0"
88
description = "Zero-dependency image processing library"
99
readme = "README.md"
1010
authors = [{name = "zignal contributors"}]

build.zig.zon

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.{
22
.name = .zignal,
3-
.version = "0.4.0-dev",
3+
.version = "0.4.0",
44
.fingerprint = 0x5303c43db377b63a,
55
.minimum_zig_version = "0.15.0-dev.1034+bd97b6618",
66
.dependencies = .{},

0 commit comments

Comments
 (0)