Changelog

For upcoming release.

All notable changes for developers or end users will be documented in this file. Please always update this file within every MR, note:

  • use links pointing to your use case and/or issue (See Documentation Guidelines), and
  • use several lines with a sentence each in the right categories (add sub-categories as needed)

For example, Max Power would write in the documentation section:

- Clarified wording for [shade layer use case](usecases/done/shade_layer.md), fixes [#1873](https://issues.permaplant.net/1873). _(Max Power)_

Highlights

Landing Page

Important Changes for Developers

Meetings

  • From now on PM Meeting Notes will be in the PM repo.
  • PM Meeting Agenda & Notes for 05.12.2025 11:30 (Markus Raab, Paul Bachinger)
  • Meeting Agenda&Notes for 08.12.2025 9:00 (Markus Raab, Patrick Grassl)
  • Meeting Agenda&Notes for 15.12.2025 9:00 (Markus Raab, Alfons Müller)
  • Meeting Agenda&Notes for 22.12.2025 9:00 (Markus Raab, Justus Weilguni)
  • Meeting Agenda&Notes for 29.12.2025 9:00 (Markus Raab, Ben Schlegel)
  • Meeting Agenda&Notes for 05.01.2026 9:00 (Markus Raab, Christoph Schreiner)
  • Meeting Agenda&Notes for 12.01.2026 9:00 (Markus Raab, Johannes Ziehengraser)
  • Meeting Agenda&Notes for 19.01.2026 9:00 (Markus Raab, Maiia Kuzmishyna)
  • Meeting Agenda&Notes for 26.01.2026 9:00 (Markus Raab, Moritz Muth)
  • Add presentation slides to meeting notes for 29.12.2025 9:00 (Moritz Muth)
  • Meeting Agenda&Notes for 02.02.2026 9:00 (Markus Raab, Hannes Zettl)
  • Meeting Agenda&Notes for 09.02.2026 9:00 (Markus Raab, Christoph Kraus)

Compatibility

Migrations

  • No migrations were added.

Scraper Data

Bug Fixes

Frontend

  • Fixed timeline date picker scrolls to incorrect date on page refresh #2265 (Maiia Kuzmishyna)
  • Implement silent sign-in if user is already logged in #2256 (Christoph Kraus)
  • Plantings are sometimes not loaded due to incorrect visible bounds #2284 (Maiia Kuzmishyna)

Features

Bug Fixes

  • Fix local dev not working anymore #2265 (Johannes Ziehengraser)
  • Optimized performance of toolbars resizing #2440 (Maiia Kuzmishyna)
  • Improved UX of Nextcloud image error handling #1776. (Maiia Kuzmishyna)

Development

  • Reopen toolbars automatically #2290 (Moritz Muth)
  • Improve positioning of map overlay toggles #2275 (Moritz Muth)

Libraries

Backend

Features

  • Add OpenTelemetry #1806 (Johannes Ziehengraser)
  • Add OpenTelemetry instrumentation for tokio #2451 (Johannes Ziehengraser)

Libraries

Bug Fixes

Libraries

Tools

  • Updated auto-rebase-mrs.sh to handle new repository domain name and enhanced overall reliability. #2463 (Patrick Grassl)

Build System

  • Upgrade pgAdmin dependency #2445 (Moritz Muth)
  • Added clippy constraints to make run-backend #2311 (Justus Weilguni)

CI

  • Added hybrid job allocation strategy to Jenkins deployment pipelines to improve resource utilization and reduce wait times #2437 (Paul Bachinger)
  • Pinned docker images with hash #2400 (Paul Bachinger)
  • Improved Jenkins pipeline resilience by adding agent fallback logic and configurable execution flags for staging and E2E tests. #2456 (Patrick Grassl)
  • Adjusted Jenkins pipeline and E2E tests according to current hardware specifications. #2474 (Patrick Grassl)

Documentation

  • Simplified scraper documentation #634 (Christoph Schreiner)
  • Added opentelemetry design decisions #1976 (Johannes Ziehengraser)
  • Bumped version and finalized release notes #2400 (Paul Bachinger)
  • Fixed deprecated links #2400 (Paul Bachinger)
  • Fixed blog date and team role (Paul Bachinger)
  • Added documentation for scope::database label #2446 (Elizaveta Mokshantseva)
  • Add documentation for bigint and date usage in backend and typeshare #2421 (Justus Weilguni)
  • Add documentation on were .env files are located #2448 (Johannes Ziehengraser)
  • Added subfolders for decisions #2285 (Alfons Mueller)
  • Fixed broken links #2456 (Patrick Grassl)
  • Moved decisions to correct folders and fixed links (Alfons Mueller)
  • Added 'Resolve Merge Conflicts Section' #2477 (Moritz Adelsberger)
  • Added decision on the use of JSON #1823 (Alfons Mueller)
  • Added technical overview of data handling relevant for GDPR guidelines #1591 (Alfons Mueller)
  • Added Vseslav to contributors as part of onboarding #2486 (Vseslav Levchenko)
  • Added Environment Variables Section to Docker Development Setup #2472 (Moritz Adelsberger)
  • Added decision document for polygon overlap handling. #2288 (Alfons Mueller)

Workflows

  • Added guided tour update workflow #2226 (Alfons Mueller)
  • Added guideline on frontend images error handling #1776. (Maiia Kuzmishyna)
  • Add documentation on the usage of new affects guided-tour label #2319 (Alfons Mueller)
  • Updated access control usecase #2361 (Justus Weilguni)

Use Cases

Tests

Unit Tests

  • Fixed broken heatmap tests #2422 (Christoph Schreiner)

E2E

  • Improved E2E test stability by adding retries and unique names for failures #2350 (Christoph Kraus)
  • removed time.sleep(5) during login and improved flakiness of login test #1901 (Christoph Kraus)
  • print map name on create for debugging, refactor tour closing for less useless information, improved map opening steps to search first #2460 (Christoph Kraus)
  • enable image based e2e tests again after canvas changes and nextcloud 401 fix #2273 (Christoph Kraus)
  • Improved E2E test stability by adding retries and unique names for failures #2350 (Christoph Kraus)
  • changed rm to rm -f to avoid errors when state file is not present #2040 (Christoph Kraus)
  • add missing undo/redo in existing e2e tests #2045 (Christoph Kraus)

Statistics

TODO add

Changes Affecting Guided Tour