Skip to content

Releases: sca075/mvcrender

v0.2.6

04 May 15:52

Choose a tag to compare

Keep autocrop crop_area fixed at 0° reference

  • keep public crop_area stable across 0/90/180/270 rotations
  • preserve crop-once then rotate-image behavior
  • align mvcrender with valetudo_map_parser calibration contract
  • update autocrop regression tests for fixed crop_area invariant
  • bump version to 0.2.6

Full Changelog: v.0.2.5...v0.2.5

v.0.2.5 correct swapped trim_up and trim_left in _init_auto_crop

03 May 18:01
66831ed

Choose a tag to compare

What's Changed

  • Bump actions/checkout from 4 to 6 by @dependabot[bot] in #6
  • Bump actions/download-artifact from 4 to 8 by @dependabot[bot] in #7
  • Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #8
  • Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #9
  • Bump docker/setup-qemu-action from 3 to 4 by @dependabot[bot] in #12
  • Bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 by @dependabot[bot] in #13
  • Bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in #14
  • Bump pypa/cibuildwheel from 3.3.1 to 3.4.1 by @dependabot[bot] in #15
  • fix(autocrop): correct swapped trim_up and trim_left in _init_auto_crop by @IT-BAER in #10

New Contributors

Full Changelog: v0.2.4...v.0.2.5

bump: v0.2.4 — upgrade cibuildwheel to v3.3.1 for cp314-musllinux wheels

27 Feb 21:54

Choose a tag to compare

bump: v0.2.4 — upgrade cibuildwheel to v3.3.1 for cp314-musllinux wheels

  • pyproject.toml: bump version 0.2.3 → 0.2.4

  • .github/workflows/wheels-and-publish.yml: cibuildwheel v2.21.3 → v3.3.1

  • .github/workflows/pr-wheels.yml: cibuildwheel v2.21.3 → v3.3.1

  • .github/dependabot.yml: add Dependabot for GitHub Actions (monthly)

  • build_armv7_wheel.sh: add ARMv7 wheel build script

survive numpy C-ext sandbox failure during egg_info / metadata collection On aarch64-linux-musl (Alpine / HA addon build env) numpy's .so files cannot be dlopen'd ("Operation not permitted"). This caused setup.py's finalize_options to crash during get_requires_for_build_wheel, before any compilation even started. - Add _get_numpy_include() with importlib.util.find_spec fallback: locates numpy headers by path without executing numpy's __init__.py - Relax numpy constraint to >=2.0.0 in both build-system and deps (HA 2026.3 pins numpy==2.3.2 via package_constraints.txt) - Align CIBW_BUILD to cp312-* cp313-* cp314-* across all platforms (HA 2026.3 moved to Python 3.14) - Remove cp311-* / cp311t-* (not supported by requires-python >=3.12) - Add CIBW_BEFORE_BUILD numpy install to pr-wheels.yml Bumps version to 0.2.2. **Full Changelog**: https://github.com/sca075/mvcrender/compare/v0.2.1...v0.2.2

27 Feb 20:03

Choose a tag to compare

On aarch64-linux-musl (Alpine / HA addon build env) numpy's .so files
cannot be dlopen'd ("Operation not permitted"). This caused setup.py's
finalize_options to crash during get_requires_for_build_wheel, before
any compilation even started.

  • Add _get_numpy_include() with importlib.util.find_spec fallback:
    locates numpy headers by path without executing numpy's init.py
  • Relax numpy constraint to >=2.0.0 in both build-system and deps
    (HA 2026.3 pins numpy==2.3.2 via package_constraints.txt)
  • Align CIBW_BUILD to cp312-* cp313-* cp314-* across all platforms
    (HA 2026.3 moved to Python 3.14)
  • Remove cp311-* / cp311t-* (not supported by requires-python >=3.12)
  • Add CIBW_BEFORE_BUILD numpy install to pr-wheels.yml

Bumps version to 0.2.2.
Full Changelog: v0.2.1...v0.2.2

bump: version 0.2.0 → 0.2.1 to bypass PyPI filename uniqueness policy

27 Feb 07:21

Choose a tag to compare

bump: version 0.2.0 → 0.2.1 to bypass PyPI filename uniqueness policy

The 0.2.0 release was deleted from PyPI but cannot be re-uploaded
with the same wheel filename. Bumping to 0.2.1 resolves this.
No code changes — wheel content is identical to 0.2.0.

Revert Auto Crop and bump Numpy

27 Feb 06:06
fc78ad9

Choose a tag to compare

  • Reverted Auto Crop to known version working version on 0.0.9.

  • Fix NumPy import pattern to support Python 3.14 build environments

    • Move NumPy import from module level to BuildExt.finalize_options()
    • Prevents "Error importing numpy from source directory" build failures
    • Implements modern setuptools pattern with custom build_ext class
  • Pin NumPy to version 2.3.2 to match Home Assistant requirements

    • Ensures binary compatibility with Home Assistant OS (Alpine/musl)
    • Fixes "Operation not permitted" errors in musl environments
    • Changed from numpy>=2.1 to numpy==2.3.2 in build and runtime deps
  • Add Python 3.14 classifier and support

    • Home Assistant 2026.x requires Python 3.14.2+
    • Explicitly declare support for Python 3.12, 3.13, and 3.14

Files modified:

  • setup.py: Custom BuildExt class for delayed NumPy import
  • pyproject.toml: NumPy version pinning and Python 3.14 classifier

Fixes compatibility with Home Assistant 2026.x and valetudo-map-parser 0.2.6
Full Changelog: v0.1.0...v0.2.0

v0.1.0

08 Feb 11:38

Choose a tag to compare

Full Changelog: v0.0.10...v0.1.0

feat: implement crop_area rotation logic for rotated images (v0.1.0)

Implemented proper crop_area coordinate rotation in async_rotate_the_image()
to reflect the rotated numpy array's coordinate system.

Changes:

  • crop_area indices now rotate with image rotation:
    • 0°: [left, up, right, down]
    • 90°: [down, left, up, right]
    • 180°: [right, down, left, up]
    • 270°: [up, right, down, left]
  • Added PyObject_SetAttrString() to sync self->crop_area to handler.crop_area
  • auto_crop remains unchanged with original coordinates
  • Bumped version from 0.0.10 to 0.1.0

This ensures crop_area accurately represents pixel coordinates in the rotated
image's coordinate system, fixing coordinate mismatches when processing
rotated vacuum maps.

Files modified:

  • src/mvcrender/autocrop/_native.c
  • pyproject.toml

Tests: All pytest tests pass ✅
Visual verification: Generated rotated images show correct cropping with
only 1.87% background pixels (acceptable margin)

some issue with the calibration points on pi4

07 Feb 17:33

Choose a tag to compare

fix(autocrop): revert trim parameter order to [up, left, right, down] -> [left, up, right, down]

update python version

06 Feb 22:03

Choose a tag to compare

home assistant uses 3.12

v0.0.8

25 Jan 13:12

Choose a tag to compare

Bug Fixes

AutoCrop - Critical Parameter Order Fix

Fixed a critical bug in the AutoCrop C extension where trim_up and trim_left
parameters were swapped when creating the auto_crop list from predefined trim values.

What was broken:

  • When using predefined trim values from shared.trims, the crop boundaries
    were calculated incorrectly
  • The left and up values were swapped, causing misaligned cropping

What's fixed:

  • Corrected parameter order in make_list4() call (line 468)
  • Crop boundaries now correctly follow [left, up, right, down] order
  • Auto-detection mode (trims=0) was never affected

Impact:

  • Users with custom trim configurations will now see correct crop boundaries
  • No impact on users relying on auto-detection

Test Improvements

  • Standardized trim dictionary key order across test files for consistency
  • No functional changes, purely for code readability
    Full Changelog: v0.0.7...v0.0.8