v3 → v4 breaking changes:
- manager->read() → manager->decodePath()
- image->toJpeg($q) → image->encode(new JpegEncoder($q))
- font->align($h) + font->valign($v) → font->align($h, $v)
- Storage::path() → Storage::disk('local')->path() (eksplisit)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>