File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11# Changelog
22
3+ ## 0.2.0
4+
5+ New features:
6+
7+ - Progressive JPEG decoding (SOF2) with spectral selection and successive approximation
8+ - ` Image#each_rgb ` for iterating pixels without per-pixel struct allocation
9+ - ` PureJPEG::DecodeError ` exception class for all decoding errors
10+ - Validation of custom quantization tables (length and value range)
11+
12+ Performance:
13+
14+ - Packed integer pixel storage in ` Image ` eliminates per-pixel object allocation on decode (~ 6x faster decode)
15+ - Fast path for encoder pixel extraction from packed sources (` ChunkyPNGSource ` , ` Image ` )
16+ - ` BitReader#read_bits ` fast path when buffer already has enough bits
17+ - ` BitWriter ` builds a ` String ` directly instead of ` Array ` + ` pack `
18+ - ` Huffman.build_table ` returns an ` Array ` for O(1) lookup instead of ` Hash `
19+ - Faster scan data extraction using ` String#index `
20+
21+ Fixes:
22+
23+ - JPEG data detection uses SOI marker check instead of null-byte heuristic
24+ - ` RawSource ` pixels default to black instead of ` nil `
25+ - ` BitReader ` bounds check for truncated 0xFF sequences
26+ - ` JFIFReader ` bounds check when reading past end of data
27+ - Fixed dead tautological check in AC encoding EOB logic
28+
329## 0.1.0
430
531Initial release.
Original file line number Diff line number Diff line change 11# frozen_string_literal: true
22
33module PureJPEG
4- VERSION = "0.1 .0"
4+ VERSION = "0.2 .0"
55end
You can’t perform that action at this time.
0 commit comments