• v0.5.12 4bb3bad703

    pict-rs 0.5.12
    All checks were successful
    / check (aarch64-unknown-linux-musl) (push) Successful in 1m54s
    / check (armv7-unknown-linux-musleabihf) (push) Successful in 1m55s
    / check (x86_64-unknown-linux-musl) (push) Successful in 2m10s
    / clippy (push) Successful in 2m16s
    / tests (push) Successful in 1m59s
    / publish-docker (push) Successful in 14s
    / build (map[artifact:linux-amd64 platform:linux/amd64 target:x86_64-unknown-linux-musl]) (push) Successful in 3m39s
    / build (map[artifact:linux-arm32v7 platform:linux/arm/v7 target:armv7-unknown-linux-musleabihf]) (push) Successful in 3m55s
    / build (map[artifact:linux-arm64v8 platform:linux/arm64 target:aarch64-unknown-linux-musl]) (push) Successful in 3m53s
    / publish-forgejo (push) Successful in 15s
    / publish-crate (push) Successful in 1m52s
    Stable

    asonix released this 2024-04-05 18:29:35 +00:00 | 13 commits to main since this release

    pict-rs 0.5.12

    pict-rs is a simple image hosting microservice, designed to handle storing and retrieving images,
    animations, and videos, as well as providing basic image processing functionality.

    Overview

    pict-rs 0.5.12 is a bugfix release to remove two issues that, when compounded, would cause pict-rs
    to fail to process media.

    Fixes

    Upgrade Notes

    There are no significant differences from 0.5.11. Upgrading should be as simple as pulling a new
    version of pict-rs.

    Descriptions

    Panic Handling in Background Jobs

    pict-rs makes an effort to never use explicitly panicking code, but since there's no static way to
    guarantee that a given function wont panic, pict-rs needs to be able to deal with that. pict-rs
    0.5.12 now wraps invocations of jobs in spawned tasks, which can catch and report panics that happen
    in background jobs.

    Previously, a panic in a background job would bring down that thread's job processor, which resulted
    in future jobs never being processed. Now job processing should properly continue after panics
    occur.

    BytesStream Divide-by-Zero

    Part of my rework of BytesStream recently included adding debug logs around how many bytes chunks
    were in a given stream, and their average length. Unfortunately, if there were no bytes in the
    stream, this would cause the "average chunk length" calculation to divide by 0. In previous versions
    of pict-rs, this would generally result in a failed request for processed media, but in pict-rs
    0.5.11 this would end up killing the background jobs processor.

    This specific panic has been fixed by ensuring we divide by the number of chunks or 1, whichever is
    greater.

    Downloads