public privacy, permissions, installation, updates, support, security and
contribution documentation
explicit Quick Feeding cancellation through Scan a different Box
reproducible CI formatting, analysis, test and supported build gates
documented Flutter, Dart, Java, Gradle and locked-dependency baseline
current Animal picture thumbnails in Box-detail assignment lists with a safe
fallback
Box details and assigned Animals presented before a consolidated QR section
with the permanent identifier and PNG export action
Box deletion available only as a destructive action at the bottom of Edit
Box, with confirmation and assigned-Animal protection
direct Latest Feeding navigation into the complete Animal feeding history
dedicated Feeding Reminder settings action on active Animal details
ordinary Animal edits preserve reminder configuration without exposing its
controls
compact localized accent-color selection in Settings
installed version, build number and developer information under Legal &
Privacy
optional per-restore safety backup with a safe enabled default
adjacent swipe and keyboard navigation across all three primary pages
state-preserving primary-page navigation with synchronized visible selection
immediate Animal Overview refresh after creation from Box details
long-press and secondary-click quick actions in Animal and Box overviews
independent Box and Animal duplication with copied picture media
new permanent QR identifiers for duplicated Boxes
shared active and archived Box selection for batch QR export
selected Box QR export as individual PNG images or one ZIP archive
paginated A4 PDF export with labeled 6–20 mm vector QR codes
on-device document generation through the operating-system save dialog
stored-picture thumbnails for archived Animals with localized semantics
slider-only 6–20 mm PDF QR sizing
multiline Animal Weight input and detail presentation
synchronized offline English and German privacy content
localized licence guidance with the authoritative English GPL text
one reversible menu toggle per Box and Animal overview sort criterion
ordered Animal and Box picture histories with selectable primary images
plural localized taxonomy headings in grouped Animal Overview views
optional nighttime temperature with minimum and maximum daytime temperature
labels
Latest Feeding directly below Animal names
linked assigned-Box labels on Animal details
alphabetical Box sorting with unnamed Boxes last in both directions
persistent Box volume sorting with incomplete dimensions last
optional Big Picture Mode for Box and Animal overviews
primary-navigation due-feeding indication
timestamped Animal shedding history
symmetric Animal and Box archive history workflows
persistent archive sorting
direct archive Restore and Duplicate actions
per-Animal Weight and Shedding detail visibility
optional next-feeding summary
QR-based Animal Rehouse Mode
local transactional Animal reassignment
v0.7.1 implementation and release validation are complete.
v0.8.0 implementation, documentation, Android/Web regression validation and
release are complete.
v0.9.0 implementation, documentation, Android/Web regression validation and
release are complete.
v0.10.0 implementation, documentation, Android/Web regression validation and
release are complete.
v0.11.0 implementation, documentation, automated testing, Android/Web
regression validation and release packaging are complete.
v0.12.0 implementation, documentation, automated testing, Android/Web
regression validation and release packaging are complete.
v0.13.0 implementation, documentation, automated testing, Android/Web
regression validation and release packaging are complete. Issues #74, #75 and
#76 provide the persistent per-Animal configuration, deterministic calculation
and in-app presentation required for Feeding Reminders. Issue #77 completed the
publication of release build 0.13.0+27.
v0.14.0 implementation, documentation, automated testing, supported builds and
manual regression validation are complete. Issues #81 and #82 provide
consistent Animal form labels and direct Animal creation from Box details.
Issues #83 and #85 add persistent, backup-compatible Box and Animal Overview
sorting with contextual detail navigation. Issue #86 completes release build
0.14.0+32.
v0.14.1 implementation, documentation, automated testing, supported builds and
manual regression validation are complete. The patch corrects the reminder
reference for existing feeding history and reduces Box sorting to the two
meaningful Box-number directions while preserving legacy settings and backups.
v1.0.0 implementation, documentation, automated testing, supported builds,
manual regression and publication are complete. It establishes the stable MVP
baseline without changing Database Schema Version 5 or Portable Backup Format
Version 2.
Issue #89 introduces the permanent com.codefrog.terramanager application
identity and replaces remaining Flutter placeholder platform metadata. Android
users of builds through v0.14.1 migrate through the existing portable backup
and restore workflow because Android treats the permanent identifier as a new
application.
Issue #90 introduces fail-closed Android production signing. Release builds
load credentials only from an ignored local file or explicit environment
variables, while Debug builds remain independent of release secrets. Creating,
backing up and validating the private production key remains a local release
owner task.
Issue #91 establishes GPL-3.0-or-later as the public project licence and adds
the privacy, permission, installation, update, support, security and
contribution information needed for a public release. Historical v0.11.0 and
v0.12.0 publication actions now reflect their completed release state.
Issue #92 adds pinned GitHub Actions quality gates and documents the supported
toolchain and dependency baseline. Android production signing stays outside CI,
and the remaining Built-in Kotlin warning is tracked as an upstream plugin
migration dependency rather than being hidden by unsafe configuration.
Issue #93 completed release 1.0.0+39 without expanding the MVP scope.
Database Schema Version 5 and Portable Backup Format Version 2 remain
unchanged after the final Android, Web, backup, localization, signing and
release-artifact regression.
v1.1.0 is now the active milestone for detail and workflow polish. Development
build 1.0.2+43 starts Issue #94 by displaying current Animal pictures in the
Box-detail assignment list while preserving the existing fallback and
navigation behaviour.
Development build 1.0.3+44 implements Issue #95 by moving the permanent QR
identifier and PNG export into a final Box-detail section and removing the
former single-code printing workflow without changing QR identity or scanning.
Development build 1.0.4+45 implements Issue #96 by adding optional multiline
Box notes, Database Schema Version 6 persistence and backward-compatible
Backup Format Version 2 export and restore.
Development build 1.0.5+46 implements Issue #97 by moving Box deletion from
the detail app bar to the bottom of Edit Box. Saved and deleted edit results
are handled separately so deletion closes the detail route and refreshes the
originating overview, including after contextual Box navigation.
Development build 1.0.6+47 implements the detail and workflow changes for
Issue #98. Latest Feeding is now an explicit history shortcut, and active
Animal details expose a dedicated Feeding Reminder settings action. The
ordinary Edit Animal workflow preserves existing reminder configuration while
the dedicated page owns reminder validation and persistence.
Development build 1.0.7+48 implements Issue #99. The former group of accent
chips is replaced by one compact localized dropdown without changing the
stored preference, and an About TerraManager dialog now reports the installed
version, build number and developer under Legal & Privacy.
Development build 1.0.8+49 implements Issue #100. Restore confirmation keeps
the pre-restore safety backup enabled by default and allows it to be disabled
for the current operation. Skipping it avoids an unnecessary export for an
empty database without weakening validation or transactional replacement.
Release 1.1.0+50 brings the completed Issue #94–#100 changes together with
the final automated, migration, backup, Android and Web regression from Issue
#101.
Development build 1.1.1+51 implements tester feedback for optional Box names
and alphabetical name sorting while retaining Box numbers, legacy sort
preferences and Portable Backup Format Version 2 compatibility.
Release 1.4.0+59 completes the Animal Profiles and Input Quality milestone
through Issues #108–#113. Database Schema Version 9 and Portable Backup Format
Version 2 form the compatibility baseline for all later releases.
Release 1.5.0+60 completes Issues #114 and #115. Animal and Box overviews
provide localized long-press and secondary-click quick actions. Duplicate
records receive independent identities and media; Box duplicates receive new
permanent QR identifiers, and Animal duplicates omit source feeding history.
Release 1.6.0+62 completes Issues #116 and #117. All three Settings export
actions reuse one active/archived Box checklist. Selected QR codes can be saved
as individual PNG files, one ZIP archive or labeled, paginated A4 PDF sheets
with a selectable 6–20 mm code size. ZIP and PDF generation remains local and
adds no broad storage, media or network permission.
Release 1.6.1+63 completes Issues #122–#126. Animal History displays stored
pictures with the established fallback, PDF QR sizing uses only the accessible
integer slider, and Weight supports multiline content. Privacy and licence
views follow English or German while remaining offline. Overview sort menus
now contain one reversible entry per criterion while keeping every persisted
and portable enum value compatible. Schema Version 9, Backup Format Version 2
and the existing permission boundary remain unchanged.
Release 1.7.0+64 completes Issues #127 and #128. Animals store a required
category and optional compatible subcategory from the stable Issue #127
taxonomy. Animal Overview can group the complete taxonomy under localized,
accessible headings while retaining natural A–Z row order and contextual
navigation. Schema Version 10 migrates existing Animals to Other without a
subcategory; Backup Format Version 2 remains backward compatible.
Release 1.7.1+65 moves the optional temperature-zone note to its owning Box
and advances the database from the released Schema Version 10 snapshot to
Schema Version 11. Existing values transfer deterministically without replacing
a populated Box value. The patch also shortens the individual Box QR export
description and separates the PNG, ZIP and PDF actions with standard Settings
dividers. Backup Format Version 2 and device permissions remain unchanged.
v0.1.0 – Foundation
Status: Completed
Database
Define box data model
Define animal data model
Define Box → Animal relationship
Add Sex enum
Add Sex converter
Add birth date
Add birth date accuracy
Add BirthDateAccuracy converter
Define feeding events
Implement latest feeding lookup
Add database tests
Add repository tests
Complete initial repository layer
v0.2.0 – User Interface
Status: Completed
Basic application navigation
Box overview
Box detail screen
Animal overview
Animal detail screen
Animal editing
New box workflow
New animal workflow
Feeding history
Notes
Animal picture support
v0.3.0 – QR Code
Status: Completed
Generate unique QR IDs
Generate QR codes
Export QR codes as PNG
Save QR code locally
Print QR codes
Implement QR scanner
Validate TerraManager QR IDs
Handle invalid QR codes
Handle unknown box QR codes
v0.4.0 – Platform Support
Status: Completed
Android
Android debug build
Android release build
Application startup
Core navigation
Database persistence
Animal picture support
Local QR image storage
Camera permissions
QR scanning
QR printing
Relevant tests
Web
Web build
Application startup
Core navigation
Drift Web database
Persistent data after browser reload
Animal picture support
QR image download
Camera permissions
QR scanning
QR printing
Known Web limitations documented
Relevant tests
iOS
Validate iOS build
Validate application startup
Validate database persistence
Validate animal pictures
Validate QR storage
Validate camera permissions
Validate QR scanning
iOS validation is currently deferred because no macOS development environment or physical iOS test device is available.
v0.5.0 – Usability & Settings
Status: Completed
Box Detail Improvements
Show animals assigned to the box
Show empty state when no animals are assigned
Open animal detail from assigned animal list
Add box deletion action
Require confirmation before deletion
Prevent accidental deletion of boxes containing animals
Refresh box overview after deletion
Animal Lifecycle
Add animal lifecycle status
Add archive reasons and archive metadata
Add database migration for lifecycle support
Archive animals
Restore archived animals
Remove archived animals from active boxes
Add Animal History view
Display archive information
Support explicit permanent deletion of archived animals
Preserve feeding history while archived
Animal Detail Improvements
Show latest feeding on animal detail page
Show date and time of latest feeding
Show suitable empty state when no feeding exists
Refresh latest feeding after feeding history changes
Settings
Implement appearance settings
System theme mode
Light theme mode
Dark theme mode
Selectable accent colors
Apply theme changes immediately
Persist settings
Validate settings on Android
Validate settings on Web
Release
Regression test Android
Regression test Web
Update documentation
Update changelog
Tag and publish v0.5.0
v0.6.0 – Backup & Restore
Status: Completed
Backup Format
Define versioned .tmbackup format
Separate backup format version from database schema version
Document backup compatibility rules
Store portable media references
Exclude generated QR images
Backup
Export Boxes
Export Animals
Export FeedingEvents
Export animal pictures
Export appearance settings
Generate portable backup archive
Restore
Validate backup before modifying data
Validate format compatibility
Validate record relationships
Validate referenced media
Create pre-restore safety backup
Require destructive restore confirmation
Restore domain data
Restore media
Restore appearance settings
Platform Support
Validate backup on Android
Validate restore on Android
Validate backup on Web
Validate restore on Web
Validate Android → Web restore
Validate Web → Android restore
Release
Regression tests
Update documentation
Update changelog
Release v0.6.0
v0.7.0 – Editing & Overview
Status: Completed
Boxes
Add optional width
Add optional height
Add optional depth
Add optional Box picture
Add Box editing
Keep QR identifier immutable
Show human-readable Box labels
Feeding
Edit FeedingEvents
Delete FeedingEvents
Recalculate Latest Feeding after changes
Overview
Show Animal thumbnails where available
Show Box thumbnails where available
Preserve Animal Overview scroll position after detail navigation
Release
Database migration tests
Regression tests
Validate backup compatibility
Update documentation
Update changelog
Release v0.7.0
v0.7.1 – Maintenance
Status: Completed
Overview
Preserve Box Overview scroll position after detail navigation
Add regression coverage for Box Overview scroll restoration
Release
Refresh documentation for the v0.7.x state
Release v0.7.1
v0.8.0 – Contextual Navigation
Status: Completed
Detail Navigation
Add contextual detail navigation model
Swipe between Animals
Preserve Active Animal context
Preserve archived Animal context
Preserve Box-specific Animal context
Swipe between Boxes
Preserve Box Overview ordering
Keep normal non-swipe detail navigation available
Handle first and last record boundaries
Keep detail actions bound to the currently displayed record
Release
Automated regression tests
Update documentation
Update changelog
Validate contextual navigation on Android
Validate contextual navigation on Web
Release v0.8.0
v0.9.0 – Feeding Workflow & Media
Status: Completed
Media
Open Box detail pictures in a full-screen viewer
Open Animal detail pictures in a full-screen viewer
Support picture zooming and panning
Preserve detail swipe navigation outside the picture viewer
Feeding Mode
Add a dedicated QR Feeding Mode entry point
Resolve a scanned Box to its currently assigned active Animals
Handle Boxes without assigned Animals
Select one or multiple Animals for a feeding
Create one FeedingEvent for every selected Animal
Write grouped feeding entries atomically
Prevent duplicate feeding submissions
Show new entries in the existing feeding history
Return to scanning after a successful feeding entry
Preserve the existing normal Box scanner workflow
Release
Regression tests
Validate picture viewing on Android
Validate QR Feeding Mode on Android
Complete final Android and Web release validation
Update documentation and changelog
Release v0.9.0
v0.10.0 – Localization
Status: Completed
Localization Infrastructure
Configure Flutter localization generation
Move user-visible strings into localization resources
Use English as the fallback language
Allow tests to select a fixed locale
Language Support
Add complete German translations
Follow the system language by default
Add System, English and German language settings
Apply language changes without restarting
Persist the selected language
Include the selected language in backup and restore
Release
Regression tests
Validate English and German on Android
Validate English and German on Web
Build the v0.10.0 Android release APK
Build the v0.10.0 Web release
Update documentation and changelog
Release v0.10.0
v0.11.0 – Personalization & Capture
Status: Completed
Preferred Animal Name
Add Common name first and Latin name first options
Persist the selected name order
Apply changes immediately without restarting
Use the selected order in Animal overview and history
Use the selected order in Animal details
Use the selected order for Animals assigned to a Box
Use the selected order in Quick Feeding Mode
Include the preference in backup export and restore
Keep legacy backups compatible
Validate the preference on Android
Validate the preference on Web
Scanner Torch Controls
Add a torch control to the Box scanner
Add a torch control to the Feeding scanner
Handle cameras without torch support
Direct Camera Capture
Add Camera and Gallery source selection for Animal pictures
Add Camera and Gallery source selection for Box pictures
Keep unsupported platforms and denied permissions recoverable
Release
Complete automated regression tests
Complete Android and Web manual validation
Update final release documentation
Build the supported release artifacts
Release v0.11.0
v0.12.0 – Media Optimization
Status: Completed
Picture Cropping — Issue #80
Add a shared free-form cropping screen
Crop Camera and Gallery pictures before applying them
Use the crop flow for new and edited Boxes
Use the crop flow for new and edited Animals
Keep the existing picture unchanged when cropping is cancelled
Normalize source orientation before cropping
Persist confirmed crops through the existing MediaAssets workflow
Validate cropped and legacy picture backup compatibility
Add focused cropping and form integration tests
Validate picture cropping on Android
Validate picture cropping on Web
Image Storage Optimization
Define maximum stored image dimensions and quality
Convert new Box and Animal pictures to WebP
Use one normalization path for Camera and Gallery imports
Integrate normalization into new and edited Box and Animal forms
Show picture-processing progress and block duplicate actions
Replace referenced media atomically without corrupting the old picture
Keep legacy and normalized pictures compatible with all display sizes
Cover all four normalized picture workflows with automated tests
Define migration behavior for existing pictures
Measure portable backup size improvements on an existing data set
Verify backup export and restore for legacy and optimized pictures
For an existing data set with 44 Boxes, 45 Animals, 20 FeedingEvents and 67
pictures, normalization reduced the portable backup from approximately 140 MB
to 22.7 MB. That is about 117.3 MB or 83.8% smaller, reducing the archive to
roughly one sixth of its previous size.
Release
Complete automated regression tests
Complete Android and Web manual validation
Update final release documentation
Build the supported release artifacts
Release v0.12.0
v0.13.0 – Feeding Reminders
Status: Completed
Per-Animal Configuration — Issue #74
Store an optional reminder interval in whole days
Store the baseline captured when a reminder is enabled
Keep reminders disabled by default
Add localized controls to new and edited Animal forms
Require a positive interval while reminders are enabled
Retain configuration while an Animal is archived
Preserve configuration in current backups
Restore older backups with reminders disabled
Add repository, migration, form and backup tests
Reminder Calculation — Issue #75
Calculate the due time from the latest feeding when present, otherwise
from the baseline
Exclude archived Animals and disabled reminders
Recalculate after feeding creation, editing and deletion
Use an injectable clock and an efficient aggregate query
Add deterministic domain and repository tests
In-App Reminder Presentation — Issue #76
Show a non-modal due summary in the Animal Overview
Mark due Animals and order them by most overdue first
Show due state and due date on Animal details
Open the corresponding Animal and feeding workflow from a reminder
Refresh immediately after feeding history changes
Localize reminder status text in English and German
Add empty, due and refreshed widget tests
Release — Issue #77
Complete migration, backup and reminder regression tests
Validate reminder configuration and date boundaries manually
Validate feeding create, edit and delete refresh behavior
Validate archived Animal behavior
Review English and German reminder text
Update final documentation and release notes
Build and manually test supported release artifacts
Release v0.13.0
v0.14.0 – Pre-1.0 UX Polish
Status: Completed
Animal Form Labels — Issue #81
Replace raw English Sex enum labels
Show exactly Male, Female and Unknown in the sex selector
Use Unknown as the default and legacy-null presentation
Replace raw English BirthDateAccuracy enum labels
Keep English and German labels consistent
Preserve existing database and backup values without migration
Add form, detail and localization regression tests
Validate the updated controls manually on Android
Add Animal from Box Details — Issue #82
Show Add Animal below empty and populated assigned-Animal sections
Open New Animal with the originating Box preselected
Keep the preselected Box editable
Refresh Box details after saving and preserve normal navigation
Block repeated Add Animal actions while the route is open
Add localized widget regression coverage
Validate direct creation manually on Android
Box Overview Sorting — Issue #83
Add created-date and natural Box-label sorting modes
Persist and back up the selected Box ordering
Keep contextual Box detail navigation aligned with the visible order
Add sorting, settings and backup regression tests
Validate all Box ordering modes manually on Android
Animal Overview Sorting — Issue #85
Add created-date, displayed-name, age and latest-feeding sorting modes
Handle missing birth and FeedingEvent data deterministically
Load latest FeedingEvents efficiently in bulk
Persist and back up the selected Animal ordering
Keep contextual Animal detail navigation aligned with the visible order
Add sorting, settings and backup regression tests
Validate all Animal ordering modes manually on Android
Release — Issue #86
Complete automated and manual regression testing
Review English and German presentation
Update documentation and release notes
Build the supported release artifacts
Release v0.14.0
v0.14.1 – Post-release Fixes
Status: Completed
Feeding Reminder Reference
Use the latest FeedingEvent whenever feeding history exists
Use the reminder baseline only without FeedingEvents
Allow old feeding history to produce an immediately due reminder
Recalculate after FeedingEvent creation, editing and deletion
Fall back to the baseline after deleting the final FeedingEvent
Add deterministic regression coverage
Validate the corrected reminder behavior manually on Android
Box Overview Sorting Simplification
Keep only ascending and descending Box-number sorting
Use ascending Box number as the default
Migrate stored oldest/newest-created preferences
Accept and map legacy Box sort values from backups
Write only current Box sort values to new backups
Keep contextual navigation aligned with the visible order
Update localization and automated regression coverage
Validate both Box ordering modes manually on Android
Patch Release
Complete static analysis and automated regression testing
Build and manually test the supported release artifacts
Finalize v0.14.1 documentation and release notes
Release v0.14.1
v1.0.0 – MVP Release
Status: Completed
Application Identity and Platform Metadata — Issue #89
Select com.codefrog.terramanager as the permanent application ID
Update the Android namespace, application ID and MainActivity package
Preserve TerraManager as the visible Android application name
Replace placeholder Web name, title, description and theme metadata
Replace default Flutter Web icons and favicon with TerraManager artwork
Remove remaining Flutter identity placeholders from prepared platforms
Document the backup-and-restore transition from pre-v1.0 Android builds
Select an active destination Box while restoring an Animal
Add Restore to archived Box context menus
Allow an existing Animal birth date to be cleared
Clear birth-date accuracy together with the birth date
Add per-Animal Weight visibility for Animal details
Add per-Animal Shedding visibility for Animal details
Default both visibility settings to enabled
Add an optional next-feeding summary to the Animal Overview
Preserve existing due-reminder behavior
Advance to Database Schema Version 16
Add the new Animal fields and setting to Backup Format Version 2
Preserve compatibility with older databases and backups
Introduce no new device permission
v1.10.3 — QR Rehouse Mode
Status: Completed
Add a QR scanner action to Edit Animal
Reuse the existing local Box scanner
Resolve scanned Box identifiers locally
Accept only active destination Boxes
Reject unknown, archived and current Box identifiers
Ask for confirmation before reassignment
Move the active Animal through one atomic repository operation
Preserve the previous assignment when validation or persistence fails
Close the scanner and Edit Animal after successful reassignment
Reuse the existing camera permission
Preserve Database Schema Version 16 and Backup Format Version 2
v1.10.4 — Animal Detail & Rehouse Fixes
Status: Completed
Hide the Sex row when the value is absent or Unknown
Continue to display explicit localized sex values
Prevent duplicate navigation pops after QR reassignment
Close the scanner and Edit Animal exactly once after success
Preserve Database Schema Version 16 and Backup Format Version 2
Introduce no new device permission
Website 1.0 – Homepage, Downloads & Guides
Status: Completed
TerraManager project homepage — Issue #119
Implement one responsive homepage structure for phones, tablets and
desktops under the GitHub Pages /TerraManager/ project path
Make the complete German homepage the default and render English content
through the same shared layout and localized data model
Introduce TerraManager, its main features and its local-first privacy
model without requiring an account, tracker, cookie or external script
Present an accessible device mockup without adding a remote media
dependency
Link Google Play, GitHub Releases, installation guidance, testing
guidance, project documentation, support and the source repository
Keep English and German Privacy Policy pages and a local copy of the
authoritative GPL-3.0-or-later license reachable
Use semantic headings, visible keyboard focus, a skip link, descriptive
image alternatives and contrast-safe colors
Add canonical, language-alternate, page-title, description, favicon and
Open Graph/Twitter metadata
Keep every internal URL compatible with direct navigation and reloads
below the configured GitHub Pages base path
Add automated source checks for localization structure, privacy,
accessibility markers, metadata and internal page targets
Enable GitHub Pages from the repository docs/ directory and verify the
published site at https://codefrogcf.github.io/TerraManager/
Shared Care LAN mode — Issues #156–#171
Status: Implemented; operator field checks passed on one Raspberry Pi
Keep the standalone Android and Web collections separate from shared data
Store the shared collection and local caregiver accounts on a self-hosted
server with an authenticated care API and trusted LAN HTTPS
Provide a browser interface with Box, Animal, history, media, backup,
QR Feeding and QR Rehouse workflows
Match overview sorting, Big Picture, context actions, detail navigation
and in-app Feeding reminders, including the Animals navigation indicator
Align overview toolbar order with standalone, keep Reload rightmost and
move the browser-local Big Picture switch to Settings — Issue #183
Reuse overview pictures while scrolling and polling, with a bounded,
session-scoped memory cache and explicit snapshot refresh — Issue #184
Offer the browser-local Show next feeding switch above Big Picture Mode
Export selected active and archived Box QR codes as PNG, ZIP and A4 PDF
Document the user workflow and Raspberry Pi deployment
The deployment checklist remains necessary for each new installation and
material update; this is not cloud sync or direct synchronization with the
standalone Android collection.
v1.14.0 — Shared Care Administration & Audit
Issue #176 allows a first portable import without a safety download only when
all server collection tables are empty. Administrator authorization, CSRF,
explicit confirmation, archive validation and transactional replacement remain
required. The server rechecks emptiness while excluding caregiver writes.
Populated collections continue to require a current safety copy.
Issue #177 adds transactional server audit metadata for collection and account
changes, stable actor identities, 365-day retention and preservation across
portable restore. Audit persistence failure rolls back the corresponding change.
Shared Care browser Back also returns through detail, scanner and dialog routes.
Issue #178 adds Settings → Server → Manage accounts with username/role edits,
password reset, activation changes and confirmed removal. Changes revoke the
affected user’s sessions. Server transactions protect the final active
administrator and retain audit identity after removal. QR Feeding Mode now
shows current Animal thumbnails in standalone and Shared Care selection lists.
Issue #179 adds the administrator Audit subsection, metadata-only history,
filters and pagination in Shared server Settings.
v1.14.1 — Shared Care correctness, permissions and account preferences
Preserve care-event instants across standalone/Shared Care backups and
API display; encode UTC, confirm legacy source zones, handle DST and keep
birth dates date-only.
Restrict permanent collection and picture deletion to administrators in
the server and interface, while retaining caregiver create/edit/archive.
Store appearance, language, naming and display/sorting preferences per
account in the server database, with independent defaults and no portable
collection backup coupling.
Complete Box and Animal duplication with a guarded dialog, destination
selection, visible failures, overview refresh and standalone copy semantics.
Respect active account name order and fallback in both compact and Big
Picture Next Feeding summaries.
v1.14.2 — Animal workflow and media parity
Select the New Animal’s Box by QR in standalone and Shared Care without
saving, rehousing or losing the draft; keep manual selection and validation.
Simplify Shared Care Box/Animal overview and archive context menus by
removing Rename; retain validated name changes through Edit and standalone menus.
Crop Animal/Box pictures before Shared Care upload with the existing
standalone controls, orientation handling and cancellation; retain upload limits.
Edit the Animal’s independent Weight/Shedding detail visibility in Shared
Care without changing history, with shared persistence and backup compatibility.
Navigate the ordered detail galleries in the common fullscreen viewer
using touch swipes, visible Previous/Next and keyboard arrows, with counters,
correct boundaries, isolated image failures and zoomed panning.
v1.14.3 — Store Presence Refresh
Prepare eight real standalone UI screenshots per language with only
synthetic demonstration data and editable, repeatable sources — Issue #180.
Prepare complete German/English Store text within the current limits,
explain local privacy and separate Shared Care, and review it with the
screenshot set for the matching Android release — Issue #181.
Add a voluntary Android Settings link — Issue #182. Bilingual UI,
explicit tap only, no new permission or tracking; Android Store dispatch and
Chrome fallback are implemented and tested. The release owner confirmed
that Android 1.14.1 is in closed testing, explaining the inaccessible public
listing. Private listing access requires an eligible tester account.
Release owner: check the signed candidate on a physical device and publish
the new Android build with its matching listing and screenshots.
Shared Care code organization — Issue #185
Organize client pages, widgets and API methods by feature, with shared
authentication, transport, navigation and presentation modules.
Separate server feature handlers, application operations and infrastructure
while preserving server-owned persistence, guards and transaction boundaries.
Retain API contracts, collection schema, portable backups and user-visible
behavior; update canonical imports, compatibility exports, tests and architecture
documentation for the incremental migration.
Future Development
Possible later development areas include:
sensors
automatic temperature and humidity tracking
smart-home integration
automatic backups
scheduled backups
cloud synchronization
optional remotely hosted accounts beyond the self-hosted LAN server
direct device-to-device synchronization with the standalone collections