1.0.3

We are proud to release PermaplanT 1.0.3 with 454 commits, 166 files changed, 7088 insertions(+), 1428 deletions(-).

Highlights

  • Added new plant attributes in the toolbar: sowing outdoors, harvest time, hardiness zone, shade/light requirements, water and soil texture
  • Mobile usability improvements: touchscreen controls, panning, and zooming on the map
  • Added FAQ page

Statistics

Merge Request Approvals

  • Markus Raab: 33 approvals
  • Vseslav Levchenko: 13 approvals
  • Moritz Muth: 10 approvals
  • Moritz Adelsberger: 9 approvals
  • Peter Mrkonjic: 7 approvals
  • Lukas Oberhauser: 7 approvals
  • Paul Bachinger: 6 approvals
  • Patrick Grassl: 6 approvals
  • Christoph Kraus: 6 approvals
  • Christoph Schreiner: 6 approvals
  • Elizaveta Mokshantseva: 3 approvals
  • Justus Weilguni: 3 approvals
  • Maiia Kuzmishyna: 2 approvals
  • Eszter Stummer: 2 approvals
  • Elia Wenty: 2 approvals
  • Hannes Zettl: 2 approvals
  • Ines Katharina Schnabl: 1 approval

Contributors

  • Christoph Kraus
  • Christoph Schreiner
  • Elia Wenty
  • Elizaveta Mokshantseva
  • Eszter Stummer
  • Justus Weilguni
  • Markus Raab
  • Moritz Adelsberger
  • Moritz Muth
  • Patrick Grassl
  • Vseslav Levchenko

Important Changes for Developers

  • Bumped version to 1.0.3 #2655. (Moritz Adelsberger)

Meetings

  • Meeting Agenda&Notes for 20.04.2026 9:00 (Markus Raab, Moritz Adelsberger)
  • Meeting Agenda&Notes for 27.04.2026 9:00 (Markus Raab, Lukas Oberhauser)
  • Meeting Agenda&Notes for 04.05.2026 9:00 (Markus Raab, Hannes Zettl)
  • Meeting Agenda&Notes for 11.05.2026 9:00 (Markus Raab, Vseslav Levchenko)
  • Meeting Agenda&Notes for 18.05.2026 9:00 (Markus Raab, Elia Wenty)
  • Meeting Agenda&Notes for 25.05.2026 9:00 (Markus Raab)

Compatibility

Migrations

  • No migrations were added.

Scraper Data

  • Added missing mappings for sowing_outdoors #2632 (Vseslav Levchenko)
  • Added script to compare scraper data of two different branches #2598 (Vseslav Levchenko)
  • Fixed to consistently used the name Beta vulgaris vulgaris instead of Beta vulgaris conditiva (deduplication of scraper-data) (Vseslav Levchenko)

Bug Fixes

  • Updated scraper input / output file names #1314. (Christoph Schreiner)
  • Apply overrides again after hierarchy is created #2207. (Christoph Schreiner)
  • Enable hierarchy for heatmap: Enabled all currently used plant attributes as inheritable in the scraper #2625. (Vseslav Levchenko)
  • Fixed notes being discarded when copy-pasting plantings by adding the notes field to NewPlanting #2664. (Elia Wenty)
  • Cleaned up inheritable attributes and heatmap SQL #2652. (Vseslav Levchenko)

Frontend

  • Added default fallbacks for languages #2468. (Elia Wenty)
  • Fix rotation logic in AreaOfPlantingsIndicator #2337. (Elia Wenty)
  • Added FAQ page with first set of questions and answers #442. (Elia Wenty)

New Features

  • Added sowing outdoors, harvest time, hardiness zone, requirements for shade/light, water and soil texture as plant attributes in the Toolbar #2626. (Vseslav Levchenko)

Bug Fixes

  • Added warning sign for mixed values on multiple selected non-plant elements #2608. (Vseslav Levchenko)
  • Improve responsiveness of select menu component so that warning sign gets shown #2638. (Moritz Muth)

Development

  • Add general touchscreen controls to map #2154. (Moritz Muth)
  • Add panning and zooming gestures to map #2154. (Moritz Muth)
  • Made Markdown links open in new tab #2004. (Vseslav Levchenko)
  • Various mobile usability improvements #2628. (Moritz Muth)

Libraries

  • Updated axios, protobufjs, fast-xml-builder, and @protobufjs/utf8 to fix security vulnerabilities via npm audit fix, refs #2655. (Moritz Adelsberger)

Backend

  • Added a self-join for plants to include the plant's unique family name in PlantsSummaryDto. #1939 (Justus Weilguni)

Libraries

  • Updated Cargo.lock via cargo update for v1.0.3 security preparation, refs #2655. (Moritz Adelsberger)

Tools

Bug Fixes

  • Fixed unbound variable crash in auto-rebase-mrs.sh when run without --mr flag. (Moritz Adelsberger)
  • Added personal statistics per contributor #2335 (Elizaveta Mokshantseva)

Build System

  • Updated debian:trixie-slim Docker digest in documentation Dockerfile #1744. (Moritz Adelsberger)

CI

  • Added skip-changelog label bypass to changelog validation, with SKIP_CHANGELOG env var support for local/pre-push use #2186. (Moritz Adelsberger)
  • Add repo specific renovate.json #1744. (Moritz Adelsberger)
  • Fix automatic workspace cleanup #2645. (Patrick Grassl)
  • Re-include staging targets and add make documentation deployment staging aware #2622. (Patrick Grassl)

Documentation

  • Finalized release notes and cleaned changelog for v1.0.2 #2613. (Moritz Adelsberger)
  • Improved release issue template: reordered preparation steps so security updates and dev-to-master merge happen last #2607. (Moritz Adelsberger)
  • Added detailed documentation for all scraper pipeline steps #1314. (Christoph Schreiner)
  • Added manual test report #2613. (Justus Weilguni)
  • Clarified goals of e2e testing #1924. (Christoph Kraus)
  • Upgraded Postgres version from 15 to 17 in documentation and CI files #2639. (Vseslav Levchenko)
  • Add Handling Map Names to e2e guidelines #2577. (Christoph Kraus)
  • Fixed broken external links (Zustand docs, BEM methodology, CalConnect CardDAV guides) and expanded linkcheck exclude list for auth/infra domains #2655. (Moritz Adelsberger)

Tests

Manual Tests

  • Updated heatmap temporal relations manual tests to match current data #2619. (Vseslav Levchenko)
  • Added unit tests for rotated AreaOfPlantingsIndicator corner calculation and manually regression-tested resizing/rotation behavior in the map UI #2337. (Elia Wenty)

Changes Affecting Guided Tour

  • Add panning and zooming gestures to map #2154. (Moritz Muth)