0.9.0

We are proud to release 0.9.0 with 1370 commits, 520 files changed, 16704 insertions(+), 2926 deletions(-).

Highlights

  • Access control is now active (Justus Weilguni)
  • Plant attributes can now be inherited to lower ranks, which is already used for icons (Christoph Schreiner)
  • Upgrade react-router to version 7 (Ben Schlegel)
  • PM improvements (Elizaveta Mokshantseva)
  • New improved release procedure (Paul Bachinger)

New Features

  • Add OpenGraph link preview information #305 (Andrei Dinu-Coreth)
  • Allow copy and paste between maps of same user #1323 (Moritz Muth)
  • Make relation lines fade with growing distance between plantings #739 (Maiia Kuzmishyna)
  • Plant attributes can now be inherited to lower ranks (Christoph Schreiner)
  • Access control is now active (Justus Weilguni)
  • Added toolbox button to turn all plant markers on or off #2137 (Maiia Kuzmishyna)
  • Highlight plants which are removed on the next day with marker #2136 (Maiia Kuzmishyna)
  • Added newsletter subscription to landing page #2239 (Alfons Mueller)

Important Changes for Developers

  • MODE must be added to backend/.env
  • Going forward, MRs or issues that affect the guided tour must include descriptive text in release notes

Statistics

Merge Approvals (incl. change requests) (Aug 29 - Dec 5)

Raab, Markus: 119 Bachinger, Paul: 75 Muth, Moritz: 74 Müller, Alfons: 41 Kuzmishyna, Maiia: 38 Dinu-Coreth, Andrei Cristian: 27 Schlegel, Ben: 23 Mokshantseva, Elizaveta: 21 Weilguni, Justus: 17 Zettl, Hannes: 16 Graßl, Patrick: 15 Ziehengraser, Johannes Leonhard: 15 Lakits, Lukas Anton: 14 Schreiner, Christoph: 14 Kraus, Christoph: 9

Progress of release assigned issues

Bachinger, Paul: 45 Dinu-Coreth, Andrei Cristian: 6 Graßl, Patrick: 4 Gronski, Rosa-Fiene: 1 Kainz, Kerstin: 1 Kraus, Christoph: 9 Kuzmishyna, Maiia: 13 Lakits, Lukas Anton: 8 Mokshantseva, Elizaveta: 24 Muth, Moritz: 12 Müller, Alfons: 7 Raab, Markus: 16 Schlegel, Ben: 8 Schreiner, Christoph: 13 Weilguni, Justus: 6 Wutscher, Richard: 4 Zettl, Hannes: 9 Ziehengraser, Johannes Leonhard: 3

Contributors

  • Alfons Mueller
  • Andrei Cristian Dinu
  • Ben Schlegel
  • Christoph Kraus
  • Christoph Schreiner
  • Elizaveta Mokshantseva
  • Hannes Zettl
  • Jannis Adamek
  • Johannes Ziehengraser
  • Justus Weilguni
  • Lukas Anton Lakits
  • Maiia Kuzmishyna
  • Markus Raab
  • Moritz Muth
  • Patrick Grassl
  • Paul Bachinger
  • Richard Wutscher

Landing Page

  • Team list updated #2199 (Hannes Zettl)
  • Added Alfons Mueller to authors.md and landing page (Alfons Mueller)
  • Added final touches for 1.0 #2312(Alfons Mueller)

Meetings

  • Meeting Notes for Project Management Meeting 06.08.2025 09:00 (Markus Raab, Paul Bachinger)
  • Meeting Agenda&Notes for 01.09.2025 9:00 (Markus Raab, Johannes Ziehengraser)
  • Meeting Agenda&Notes for 08.09.2025 9:00 (Markus Raab, Elizaveta Mokshantseva)
  • Meeting Agenda&Notes for 15.09.2025 9:00 (Markus Raab, Moritz Muth)
  • Meeting Agenda&Notes for 22.09.2025 9:00 (Markus Raab, Ben Schlegel)
  • Frontend Meeting Agenda&Notes for 25.09.2025 14:00 (Markus Raab, Maiia Kuzmishyna)
  • Meeting Agenda&Notes for 29.09.2025 9:00 (Markus Raab, Paul Bachinger)
  • Meeting Agenda&Notes for 06.10.2025 9:00 (Markus Raab, Elizaveta Mokshantseva)
  • Meeting Agenda&Notes for 13.10.2025 9:00 (Markus Raab, Andrei Dinu-Coreth)
  • Meeting Agenda&Notes for 20.10.2025 9:00 (Markus Raab, Justus Weilguni)
  • Meeting Agenda&Notes for 27.10.2025 9:00 (Markus Raab, Alfons Müller)
  • PM Meeting Agenda & Notes for 24.10.2025 11:30 (Markus Raab, Paul Bachinger)
  • PM Meeting Agenda & Notes for 31.10.2025 12:30 (Markus Raab, Elizaveta Mokshantseva)
  • Meeting Agenda&Notes for 03.11.2025 9:00 (Markus Raab, Moritz Muth)
  • PM Meeting Agenda & Notes for 07.11.2025 12:30 (Markus Raab, Paul Bachinger)
  • Meeting Agenda&Notes for 10.11.2025 9:00 (Markus Raab, Elizaveta Mokshantseva)
  • PM Meeting Agenda & Notes for 14.11.2025 12:30 (Markus Raab, Elizaveta Mokshantseva)
  • Meeting Agenda&Notes for 17.11.2025 9:00 (Markus Raab, Christoph Kraus)
  • PM Meeting Agenda & Notes for 21.11.2025 11:30 (Markus Raab, Paul Bachinger)
  • Meeting Agenda&Notes for 24.11.2025 9:00 (Markus Raab, Hannes Zettl)
  • PM Meeting Agenda & Notes for 28.11.2025 11:30 (Markus Raab, Elizaveta Mokshantseva)

Compatibility

Migrations

  • MIGRATION: Added icon path field to plants (Christoph Schreiner)
  • MIGRATION: Added migration for ambivalent spatial relations (Christoph Schreiner)
  • MIGRATION: fix down migrations (Richard Wutscher)
  • MIGRATION: cleanup TODO comment in hierarchy migration (Paul Bachinger)
  • MIGRATION: prepare migrations for v0.9.0 release by adding READY TO MERGE INTO MASTER headers (Paul Bachinger)
  • MIGRATION: update migration headers after merge to master to mark migrations as already run on production (Paul Bachinger)

Scraper Data

  • Plant icons are now set in the scraper, saved in the database and explicitly provided to the frontend (Christoph Schreiner)
  • Plant attributes can now be inherited to lower ranks (Christoph Schreiner)
  • Added support for ambivalent spatial relations (Christoph Schreiner)
  • Convert spatial relations to temporal relations (Christoph Schreiner)

Bug Fixes

  • Fix map editor crashes due to null plant icon paths #2268 (Paul Bachinger)
  • Fix issues with certain actions being broken when measurement tool is active #1969. (Andrei Dinu-Coreth)
  • Markers overlap small plant icons making them unrecognizable #2121 (Maiia Kuzmishyna)
  • Only allow map bound editing for map owner and admins #1993 (Moritz Muth)
  • Fixed performance issue when planting many plants with the same image #1894 (Maiia Kuzmishyna)
  • Ensured correct attributes are shown in attribute forms when changing selected elements #2187, #2069 (Maiia Kuzmishyna)
  • Fix "removed on"/"added on" date of plants unable to be cleared #2088 (Ben Schlegel)
  • Fixed map elements sometimes not loading for a correct date #2192 (Maiia Kuzmishyna)
  • Fixed elements disappearing in map editor in Chrome #2223 (Maiia Kuzmishyna)

Frontend

Development

  • Finalize mobile map design #2091 (Moritz Muth)
  • Remove anchors for transforming areas (Lukas Anton Lakits)
  • Fix Area selection #2176 (Lukas Anton Lakits)
  • Partly sort maps by modified date #2133 (Ben Schlegel)
  • Fix pasting into plant search #2168 (Moritz Muth)
  • Make map toolbars hidable #2139 (Moritz Muth)
  • Base Layer fix autoscaling sometimes not working #1570 (Andrei Dinu-Coreth)
  • Make map timeline hidable #2141 (Moritz Muth)
  • Refactor map to use full screen #2145(Moritz Muth)
  • Use react query for searchPlants/react-select-async-paginate #1101 (Ben Schlegel)
  • Update OpenGraph link preview information #305 (Andrei Dinu-Coreth)
  • Show same plant marker also when plants are selected #2189 (Maiia Kuzmishyna)
  • Fix XSS vulnerability in MD-Editor #2006 (Moritz Muth)
  • Improve map layout default behavior #2143 (Moritz Muth)
  • Reverted premature merge that made PermaplanT unusable (Markus Raab)
  • Added myself to team #2156 (Justus Weilguni)
  • Added warning when collaborator is added to map #2135 (Alfons Mueller)
  • Added myself to team #2270 (Patrick Grassl)
  • Fixed heatmap flickering issue #1879 (Alfons Mueller)
  • Fix area of plantings #2365. (Markus Raab)

Security

  • Fix XSS vulnerability in MD-Editor #2006 (Moritz Muth)
  • Improved ESLint error messages #2320 (Patrick Grassl)
  • Reduce height of navbar #2140 (Moritz Muth)
  • Fix issue with default base layer image positioning 2262 (Andrei Dinu-Coreth)

Libraries

  • Cleanup unused dependencies #2059 (Moritz Muth)

Backend

Development

  • Added support for ambivalent spatial relations (Christoph Schreiner)
  • Adapt Heatmap effect size for spatial and temporal relations #1885 (Lukas Anton Lakits)
  • Change Heatmap color to red for antagonist spatial relations #2169 (Lukas Anton Lakits)
  • Add ambivalent spatial relations to heatmap with orange effect #2096 (Lukas Anton Lakits)
  • Consider rotation of area of plantings in heatmap algorithm and fix weak effect #1954 (Lukas Anton Lakits)
  • Added basic map access control #480 (Justus Weilguni)
  • Changed privileges a user has based on the MODE in the env for the backend #2293 (Justus Weilguni)
  • Improved SSE performance testing and fixed race condition in action ordering #1752 (Jannis Weilguni)
  • Added access checks for different roles and map privacy levels #2236 (Justus Weilguni)
  • Added missing plant attributes to dto and entity. #1862 (Justus Weilguni)

Libraries

  • Upgrade react-router to version 7 #2061. (Ben Schlegel)

Tools

  • Added auto rebase script for release process 2122 (Paul Bachinger)
  • Updated auto-rebase script messages to reflect actual GitLab API behavior and ensure changelog verification #2266 (Paul Bachinger)

Build System

  • Update Rust version to 1.91.0 and Debian 13 for dev containers (Richard Wutscher)
  • Standardize all Dockerfiles to Rust 1.91.0 and Debian Trixie, add book/html/Dockerfile to upgrading.md checklist #2103 (Paul Bachinger)
  • Dev Container compatibility for Apple Silicon Macs 2101 (Paul Bachinger)
  • Fix broken make command for hierarchy.csv 19441981 (Johannes Ziehengraser)

CI

  • Released 0.8.0 #2151. (Paul Bachinger)
  • Merged v0.8.0 release into master branch (Paul Bachinger)
  • Fix Jenkins pipeline hanging on offline nodes with 1-minute timeout #2201 (Paul Bachinger)
  • Remove DOCKER*NODE_CONSTRAINT and add retry(3) to e2e tests to improve pipeline flexibility and reduce flakiness #2210 *(Paul Bachinger)_
  • Fixed Makefile targets for migration redo tests not running in CI #134 (Paul Bachinger)

Pre-commit

  • Fix prettier version to 3.3.3 also in .pre-commit-config.yaml and document where to update (Markus Raab)
  • Refactored release template with detailed process steps and improved workflow after 0.8.0 release #2122. (Paul Bachinger)

Documentation

  • Fix mdbook configuration for compatibility with mdBook 0.5 by removing deprecated 'multilingual' field #2366 (Paul Bachinger)
  • Add plant markers use case #1 (Maiia Kuzmishyna)
  • terminology: current/actual time (Markus Raab)
  • Added CODEOWNERS and added more info to contribution #2090 (Elizaveta Mokshantseva)
  • Create standardized workflow template and reformat existing workflow documents #2221 (Paul Bachinger)
  • Add Label documentation/snapshot. #2131 (Paul Bachinger)
  • Added issue triage workflow #2233 (Paul Bachinger)
  • Added issue creation workflow #2251 (Paul Bachinger)
  • Add CI merge request template for streamlined CI/CD change reviews #2325 (Paul Bachinger)
  • Added meeting workflow #2123 (Elizaveta Mokshantseva)
  • Added workflow for iteration planning. #2124 (Elizaveta Mokshantseva)
  • Refactor workflows with template. #2221 (Paul Bachinger)
  • Added template workflow draft document #2221. (Paul Bachinger)
  • Created iteration planning workflow template to match documentation guidelines and improve clarity #2220. (Paul Bachinger)
  • Updated 02devcontainer.md to include information about gitlab login. #2238 (Alfons Mueller)
  • Added review workflow #2125 (Elizaveta Mokshantseva)
  • Document frontend editor decision #2007 (Moritz Muth)
  • Expand z-index documentation #2037 (Moritz Muth)
  • Add documentation about Default View Behaviour of the map #1965 (Andrei Dinu-Coreth)
  • Add Label documentation/snapshot. #2131 (Paul Bachinger)
  • Added meeting workflow #2123 (Elizaveta Mokshantseva)
  • Added more Codeowners #2209 (Elizaveta Mokshantseva)
  • Added Mautic integration documentation #2132 (Paul Bachinger)
  • add manual smoke test report template (Chris K)
  • Added CODEOWNERS to onboarding template #2271 (Elizaveta Mokshantseva)
  • Extended frontend react guideline with a more in-depth memoization section #2193 (Maiia Kuzmishyna)
  • Document frontend timeline date picker decision #2310 (Moritz Muth)
  • Removed TODO's from entity.rs #1542 (Justus Weilguni)

Workflows

  • Introduce Workflow Workflow #2222 (Markus Raab)
  • Implemented Workflows workflow infrastructure. #2231 (Paul Bachinger)
  • Added first version of issue refinement workflow #2220 (Paul Bachinger)
  • Implemented Issue Creation Workflow with updated templates, labels, and documentation #2321 (Paul Bachinger)
  • Restructured workflow folder with status-based organization (draft/implemented) and added 3-month review cycle with check dates #2306 (Paul Bachinger)
  • Added first version of issue refinement workflow #2220 (Paul Bachinger)
  • Simplified iteration planning template and restructured workflow documentation to follow TEMPLATE.md format #2305 (Paul Bachinger)
  • Update authors (Moritz Muth)
  • Added a new template for the incoming unification of the entries in doc/authors.md #2202 (Hannes Zettl)
  • Updated Paul B's entry in authors.md with complete information (Paul Bachinger)
  • Updated Maiia K's entry in authors.md with complete information (Maiia Kuzmishyna)
  • Introduce Workflow Decisions (Markus Raab)
  • Created script for personal analytics #2183 (Elizaveta Mokshantseva)

Use Cases

Tests

  • Update manual testing guidelines (ChrisK)
  • Added hierarchy test cases (Christoph Schreiner)
  • Manual testing for release 0.8.0 #2151. (Paul Bachinger)
  • Add test case for spatial relations #1904 (Lukas Anton Lakits)
  • Improved manual testing processes with standardized test report template, clearer recording guidelines, automation tool for counting test results, and enforced guided tour execution order #1513 (Paul Bachinger)

Unit Tests

  • Add react router core functionality tests #2196 (Ben Schlegel)

E2E

  • refactor testcases to match usecases. (ChrisK)
  • Improved reliability of seed search tests and added skip logic for image (Nextcloud) dependent tests (ChrisK)
  • Reduced flakiness of E2E login tests by waiting for the alert toast notification before asserting (ChrisK)

Infrastructure

This actually happens mostly in other repositories:

  • Keycloak fix. (Johannes Ziehengraser)
  • allow 5 additional local IP addresses next to localhost. (Johannes Ziehengraser)