Repository navigation
Releases: CodefrogCF/TerraManager
Release list
TerraManager v1.15.1 - Flexible Feeding Schedules
TerraManager v1.15.1 expands feeding reminders with more flexible scheduling options while keeping existing interval-based reminders fully compatible.
Highlights
Fixed weekday feeding schedules
Feeding reminders can now be configured for individual Animals using:
- one or more fixed weekdays
- a specific feeding time
- an explicit time zone
This makes reminders better suited to Animals that follow a weekly care schedule instead of a simple repeating day interval.
Existing interval-based feeding reminders remain supported and can continue to be used unchanged.
Feeding appointments overview
The optional Next Feeding card can now open a chronological overview of all active feeding appointments.
The overview is available in both:
- standalone TerraManager
- Shared Care
This provides a single place to see upcoming feeding schedules across the active collection.
Compatibility
Existing feeding reminder configurations remain compatible. Fixed-weekday scheduling extends the existing reminder system rather than replacing interval reminders.
TerraManager v1.15.0 - Password-protected portable backups
TerraManager v1.15.0 adds optional password protection for portable backups
across standalone and Shared Care while keeping existing unencrypted backup
formats compatible.
Password-protected backups
- Optional encrypted export for standalone and Shared Care.
- Uses Argon2id key derivation and framed AES-256-GCM authenticated
encryption with fresh salt and nonce material for every export. - The existing portable ZIP remains the inner payload, so supported unencrypted
Backup Format 1 and 2 archives are still importable. - Wrong passwords and authenticated data manipulation fail before collection
replacement and intentionally share the same user-facing authentication error. - Passwords are not persisted. Shared Care performs password handling in the
browser and does not send the password to the server. - Native protected export spools ciphertext rather than a plaintext temporary
portable backup. - Protected pre-restore safety copies remain protected instead of silently
falling back to plaintext.
Shared Care and interface improvements
- QR-based Box selection is available beside the New Animal Box selector in
standalone and Shared Care. - Shared Care Animal/Box uploads reuse the standalone crop, orientation and WebP
processing flow. - Shared Care Edit Animal exposes independent Weight and Shedding detail
visibility without deleting history. - The common fullscreen gallery gains Previous/Next controls, keyboard arrows,
position counters and horizontal navigation while preserving zoomed panning. - Redundant Shared Care Rename menu entries are removed; Edit remains the
validated naming workflow. - Shared Care code is reorganized by feature while retaining existing API,
schema, backup and user-visible behavior. - Browser-history, archive-route and care-history date/time handling receive
additional correctness fixes.
Store presence
This release also includes localized Play Store screenshot sources/workflows and
an optional Settings action for rating TerraManager. The rating action is always
user initiated and adds no telemetry, automatic prompt, new permission or new
dependency.
Known limitation
Password protection is released with a documented large-backup memory
limitation. Large protected browser operations can take several minutes and may
use substantial memory, especially on lower-memory devices. The separate
bounded-memory optimization work is intentionally deferred; this release does
not claim bounded-memory behavior. Unprotected portable backups remain
available.
Large protected paths were exercised on a physical Galaxy S22, including
standalone browser imports and a Shared Care protected restore. Those checks
support the release decision but do not establish a universal memory bound.
Compatibility: Database Schema Version 16 and Portable Backup Format Version
2 remain current. The password-protected container is an optional outer envelope
and does not remove legacy unencrypted import support.
TerraManager v1.14.1 - Shared Care correctness, permissions and account preferences
TerraManager v1.14.1 focuses on Shared Care correctness, administration and
account-scoped behavior. It also contains the administration/audit work that
was developed after v1.13.0 but was not published as a separate v1.14.0 GitHub
release.
Administration and audit
- Adds an administrator-only Manage accounts screen for username/role
changes, optional password reset, activation/deactivation and confirmed account
removal. - Revokes affected sessions after account changes and protects the final active
administrator from removal, deactivation or demotion. - Adds durable server-owned audit metadata for authenticated collection and
account changes, with stable actor identity and 365-day retention. - Collection/account mutations and their audit records commit together so an
audit-write failure cannot silently leave an unaudited successful change. - Adds an administrator-only Audit viewer with date, actor and action filters
plus bounded pagination. - Allows an administrator to initialize a genuinely empty Shared Care
collection from a portable backup without downloading a meaningless empty
safety copy; populated collections keep the existing safety-token protection.
Correctness and permissions
- Preserves care-event timestamps with explicit UTC offsets and handles legacy
IANA time zones, DST-sensitive values and date-only birth dates correctly. - Restricts permanent Shared Care collection/picture deletion to administrators
while caregivers retain normal create, edit and archive workflows. - Makes Box and Animal duplication resistant to repeated submission and keeps
dialogs open until success is confirmed. - Routes Shared Care detail/scanner/dialog Back behavior through browser history
without duplicate pops.
Personal account preferences
Appearance, language, sorting and other personal Shared Care display preferences
now belong to the signed-in account. They follow that account across browsers or
devices and remain isolated when users switch accounts. Portable collection
backups deliberately exclude these personal server-account preferences.
QR Feeding Mode also shows current Animal thumbnails in both standalone and
Shared Care.
Privacy: audit events do not copy notes, pictures, passwords or session
tokens. Standalone Database Schema Version 16 and Portable Backup Format Version
2 remain unchanged.
TerraManager v1.13.0 - Guided Start & Interface Polish
TerraManager v1.13.0 makes the first launch easier to understand and polishes
frequently used Shared Care interfaces.
Guided start
- A new skippable first-launch introduction appears for an empty standalone
collection. - The tour explains the core Box, Animal, feeding/reminder and QR workflows
without creating sample data. - It can be replayed later from Settings.
- Back and Next stay inside the tour; Finish or Skip simply closes it without
moving the user to another primary page.
Shared Care polish
- Adds a browser-local Show next feeding option in Settings while keeping due
reminders visible. - Aligns Shared Care overview controls more closely with the standalone app and
keeps Big Picture Mode in Settings. - Reuses unchanged overview pictures while scrolling, sorting and polling.
- Adds a bounded picture cache of up to 128 entries / 32 MiB with four concurrent
loads, refreshing the snapshot when appropriate and clearing it on exit or
sign-out.
The result is a lighter first-run experience and substantially less redundant
media traffic during normal Shared Care navigation.
Compatibility: Database Schema Version 16 and Portable Backup Format Version
2 remain unchanged. No additional device permission or external service is
introduced.
TerraManager v1.11.0 - Shared LAN Web Mode
TerraManager v1.11.0 introduces Shared Care, an optional self-hosted LAN Web
mode for households or teams that need to work with one shared terrarium
collection.
Highlights
- One authoritative shared collection — a self-hosted Dart server owns the
Shared Care SQLite collection instead of creating a separate database in every
browser. - Authenticated browser client — Shared Care reads and writes Boxes, Animals,
care history and media through a same-origin API with local server accounts. - Portable collection backup and restore — administrators can transfer an
existing TerraManager collection into the server without turning standalone
installations into synchronized clients. - QR workflows in the browser — supported browsers can resolve physical Box
labels while keeping camera frames on the device; only the validated Box
identifier reaches the server. - Android entry point — Settings can open a configured Shared Care server in
the system browser. The Android app's standalone collection remains separate. - Self-hosted deployment guidance — documentation covers Raspberry Pi/LAN
operation, trusted HTTPS and server-owned account data.
Local-first remains intact
Shared Care is an optional mode, not cloud synchronization. Standalone Android
and standalone Web continue to keep their own local data. Shared Care browsers
do not queue offline edits, and a server outage is shown as a connection error
instead of creating divergent copies.
Server accounts and sessions are intentionally outside portable collection
backups and should be protected with the operator's host-volume backup strategy.
Compatibility: standalone Database Schema Version 16 and Portable Backup
Format Version 2 remain current.
TerraManager v1.10.4 - Animal detail cleanup & Rehouse navigation fix
- polished Animal Detail presentation
- made the Rehouse workflow return reliably to the moved Animal’s detail page
TerraManager v1.10.3 - QR-Rehouse-Mode
- added functionality, to rehouse an animal to another box from edit animal via qr-code
TerraManager v1.10.2 - Maintenance
- added Edit and Restore actions to Animal and Box archive context menus
- added functionality to remove an existing Animal birth date
- added Animal Detail visibility toggles for weight and shedding information
- added optional next feeding summary to Animal Overview
TerraManager v1.10.1 - Archive-Maintenance
- Made Box and Animal archive workflows visually and functionally consistent.
- Reduced duplication and keep public, technical, and release documentation maintainable.
TerraManager v1.10.0 - Shedding History
TerraManager v1.10.0 replaces the previous free-form Animal shedding note with a complete timestamped shedding-history workflow.
Highlights
- add timestamped shedding events to Animals
- store optional notes for every shedding event
- add shedding events directly from Animal Details
- add and review shedding events from Edit Animal
- dedicated reverse-chronological shedding history
- edit existing shedding entries
- delete individual shedding entries with confirmation
- show the latest shedding directly on Animal Details
- retain complete shedding history when an Animal is archived
Data migration
Database Schema Version 15 introduces the new SheddingEvents table.
Existing Animal.sheddingNotes data is migrated automatically:
- every non-empty legacy shedding note becomes one
SheddingEvent - the Animal's existing
updatedAttimestamp is used because legacy notes did not contain a shedding date - whitespace-only values are ignored
- the old Animal field is cleared after migration
- the legacy database column remains available for compatibility with older databases and backups
No existing shedding information is intentionally discarded during the migration.
Backup & Restore
Portable Backup Format Version 2 remains unchanged and backward compatible.
Current backups now include complete shedding histories, including:
- event IDs
- shedding timestamps
- optional notes
- creation timestamps
- update timestamps
Older backups that contain only the legacy sheddingNotes field remain supported. During restore, TerraManager converts that value into one shedding-history entry when no explicit shedding history exists.
Archived Animals retain their shedding history through backup and restore.
Animal workflows
New Animal and Animal duplication no longer create or copy legacy shedding-note values.
Shedding documentation is now handled entirely through the dedicated history model.
This keeps Animal profile data separate from chronological husbandry records and brings shedding documentation in line with TerraManager's existing Feeding and Weight history workflows.
Compatibility
- Android: supported
- Web: supported
- iOS: not yet validated
- Database Schema Version: 15
- Portable Backup Format Version: 2
- existing backups remain restorable
Quality
The release includes repository, database-migration, backup and widget regression coverage for:
- shedding creation
- editing
- deletion
- reverse-chronological ordering
- latest-shedding display
- legacy data migration
- archived Animal retention
- backup export and restore
- legacy backup compatibility
- Animal Details integration
- Edit Animal integration
- New Animal regression
- Animal duplication regression
Final validation completed with:
flutter analyze
flutter test
Both complete successfully.
TerraManager remains local-first. Shedding history is stored locally alongside the rest of the collection data and introduces no new account, cloud, tracking, advertising or network requirement.