Skip to content

Releases: CodefrogCF/TerraManager

TerraManager v1.15.1 - Flexible Feeding Schedules

Choose a tag to compare

@CodefrogCF CodefrogCF released this 03 Oct 11:03

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

Choose a tag to compare

@CodefrogCF CodefrogCF released this 02 Oct 17:47

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

Choose a tag to compare

@CodefrogCF CodefrogCF released this 27 Sep 14:49

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

Choose a tag to compare

@CodefrogCF CodefrogCF released this 26 Sep 12:16

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

Choose a tag to compare

@CodefrogCF CodefrogCF released this 24 Sep 21:45

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

Choose a tag to compare

@CodefrogCF CodefrogCF released this 22 Sep 09:49
  • polished Animal Detail presentation
  • made the Rehouse workflow return reliably to the moved Animal’s detail page

TerraManager v1.10.3 - QR-Rehouse-Mode

Choose a tag to compare

@CodefrogCF CodefrogCF released this 21 Sep 21:29
  • added functionality, to rehouse an animal to another box from edit animal via qr-code

TerraManager v1.10.2 - Maintenance

Choose a tag to compare

@CodefrogCF CodefrogCF released this 21 Sep 18:01
  • 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

Choose a tag to compare

@CodefrogCF CodefrogCF released this 21 Sep 14:44
  • 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

Choose a tag to compare

@CodefrogCF CodefrogCF released this 21 Sep 08:51

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 updatedAt timestamp 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.