Skip to content

Commit 74dee70

Browse files
committed
chore: release 0.3.0
Includes major new features for font and text rendering, canvas drawing, geometry, and image processing, along with various fixes and improvements.
1 parent 52848f3 commit 74dee70

File tree

4 files changed

+93
-2
lines changed

4 files changed

+93
-2
lines changed

CHANGELOG.md

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

3+
## [0.3.0] - 2025-08-04
4+
5+
### Added
6+
7+
#### Font Support
8+
- **PCF Font Loading**: Complete PCF (Portable Compiled Font) format support
9+
- All PCF table types including metrics, bitmaps, encodings
10+
- Compressed PCF support with automatic decompression
11+
- Efficient glyph lookup and rendering
12+
- **BDF Font Support**: Comprehensive BDF (Bitmap Distribution Format) implementation
13+
- Loading and parsing of BDF font files
14+
- Saving fonts back to BDF format
15+
- Support for gzipped BDF files (.bdf.gz)
16+
- Unicode properties and glyph metadata preservation
17+
- **Built-in Font**: Default 8x8 bitmap font for immediate text rendering
18+
- **Text Rendering**: Canvas text drawing with bitmap fonts with optional antialiasing
19+
20+
#### Geometry Enhancements
21+
- **Unified Point System**: New tuple literal syntax for point construction
22+
- Simplified API: `Point(2, f32)` instead of `Point2d(f32)`
23+
- Consistent interface across all dimensions
24+
25+
#### Canvas Improvements
26+
- **Bounds Management**: Improved clipping and bounds checking
27+
- Better handling of drawing operations near image edges
28+
- Guards against empty fill regions
29+
- Optimized rectangle clamping to image bounds
30+
31+
#### Image Features
32+
- **Image Scaling**: New scaling method for flexible image resizing
33+
- **PixelIterator**: For sequential pixel traversal
34+
35+
#### Linear Algebra
36+
- **Matrix Decomposition**: Enhanced decomposition methods
37+
- Improved numerical stability
38+
- Comprehensive test coverage
39+
- Better error handling
40+
41+
### Changed
42+
- Point types now use unified syntax across the library
43+
- Canvas drawing methods have improved parameter validation
44+
- Font module reorganized for better modularity
45+
346
## [0.2.0] - 2025-07-25
447

548
### Added

bindings/python/CHANGELOG.md

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

3+
## [0.3.0] - 2025-08-04
4+
5+
### Added
6+
7+
#### Canvas API
8+
- **Complete Drawing API**: Full-featured Canvas class for 2D graphics
9+
- Drawing methods: lines, circles, polygons, rectangles, text
10+
- Bézier curves: quadratic and cubic with adaptive subdivision
11+
- Spline polygons with tension control
12+
- Variable line widths and antialiasing options
13+
- Fast and soft drawing modes
14+
- **Fill Operations**: Comprehensive shape filling
15+
- Fill rectangles, circles, and arbitrary polygons
16+
- Antialiased edges for smooth rendering
17+
- Efficient scanline algorithms
18+
19+
#### Geometry Support
20+
- **Rectangle Class**: Complete rectangle operations
21+
- **ConvexHull**: Compute convex hulls from point sets
22+
23+
#### Text Rendering
24+
- **BitmapFont Class**: Text rendering with bitmap fonts
25+
- Load BDF and PCF font files, with automatic decompression
26+
- Unicode character support
27+
28+
#### Enhanced Image Class
29+
- **Expanded API**: Significantly more functionality
30+
- New methods for image manipulation
31+
- Better integration with Canvas
32+
- More efficient memory management
33+
- **Improved Property Access**: Additional image properties exposed
34+
35+
#### Feature Distribution Matching
36+
- **Enhanced FDM Module**: Improved API and functionality
37+
- More intuitive interface
38+
- Better performance
39+
- Additional options for color transfer
40+
41+
### Changed
42+
- Type stubs significantly improved for better IDE support
43+
- Internal refactoring using comptime to reduce code duplication
44+
- More comprehensive error messages and validation
45+
46+
### Fixed
47+
- Various edge cases in color conversions
48+
- Memory management improvements
49+
- Better error handling throughout
50+
351
## [0.2.0] - 2025-07-25
452

553
### Breaking Changes

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.3.0.dev436"
7+
version = "0.3.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.3.0-dev",
3+
.version = "0.3.0",
44
.fingerprint = 0x5303c43db377b63a,
55
.minimum_zig_version = "0.15.0-dev.1034+bd97b6618",
66
.dependencies = .{},

0 commit comments

Comments
 (0)