Skip to content

Hydrion v1.2.0-shark

Latest

Choose a tag to compare

@vebbaybi vebbaybi released this 24 Jul 18:06
· 48 commits to main since this release
d8306bb

Hydrion V.1.2.0-shark

Track your hydration with pride. πŸ’§πŸŒˆπŸ¦ˆ

Hydrion V.1.2.0-shark is the most complete, tested, and release-hardened Hydrion build so far.

This release expands personalized hydration, wake and sleep-aware pacing, local reminders, weather assistance, challenges, Android and iOS widgets, permissions, responsive layouts, localization, profile experiences, local data control, and cross-platform release validation.

Hydrion is designed for every body, every identity, and every hydration journey.

Release version: 1.2.0+4

Highlights

Personalized hydration

Hydrion's hydration system now keeps the user's calculated recommendation, contextual adjustments, and selected daily goal clearly separated.

  • Added a bounded personalized hydration baseline using eligible body measurements.
  • Preserved the selected daily goal as an independent user-controlled value.
  • Body measurements never silently overwrite the user's active goal.
  • BMI remains a private secondary signal rather than a direct hydration target.
  • Activity can contribute a bounded contextual hydration adjustment.
  • Weather assistance can contribute a temporary adjustment without replacing the permanent baseline.
  • Cold weather never reduces the hydration baseline.
  • Weather adjustments remain bounded.
  • Clinician-directed targets and fluid restrictions remain authoritative.
  • Personalized recommendations require explicit user review and confirmation.
  • Hydrion never automatically logs hydration because of a recommendation.
  • Hydrion never automatically joins a challenge because of a recommendation.

Wake and sleep-aware hydration pacing

Hydrion can now use an optional wake and sleep schedule to provide more meaningful hydration pacing during the user's waking period.

  • Added wake and sleep schedule support to Body Metrics.
  • Added a dedicated hydration pacing engine.
  • Hydrion can distinguish whether hydration progress is ahead of pace, on pace, behind pace, outside the waking window, or already complete.
  • Overnight schedules and shift-work schedules are supported.
  • Pacing works across midnight instead of assuming that wake time must occur before sleep time.
  • Missing or invalid schedules safely fall back without interrupting hydration tracking.
  • Wake and sleep information affects pacing only.
  • Wake and sleep information does not automatically increase or decrease the daily hydration goal.
  • Hydrion does not aggressively recommend catch-up drinking.
  • Existing user-created reminders remain independent from pacing.
  • Raw wake and sleep schedules are not exposed through home-screen widgets.

Inclusive profile experience

  • Added a dedicated Pride visual experience for intersex profiles.
  • Introduced explicit male, female, intersex, and neutral artwork routing.
  • Preserved challenge-specific artwork where it communicates the activity better.
  • Improved Pride and neutral artwork across Home, Progress, Profile, onboarding, challenges, and empty states.
  • Removed assumptions that profile artwork should default to male.
  • Hydration goals remain independent from visual presentation and gendered artwork.
  • Profile hydration status and weather-assistance states now use localized presentation.

Local hydration reminders

  • Local Android reminder delivery is working and has been physically verified.
  • Added first-class iOS reminder support.
  • Added contextual notification permission requests.
  • Improved exact and approximate scheduling support.
  • Expired reminders are no longer submitted to the operating system.
  • Failed reminders provide clear recovery instructions instead of raw technical errors.
  • Reminder cards expand dynamically and no longer overlap.
  • Improved reminder creation, editing, deletion, restart recovery, and reconciliation.
  • Improved duplicate-reminder protection.
  • Added orphaned-notification cleanup.
  • Challenge timers and reminders use stable notification identities.
  • Hydrion-suggested reminder logic respects configured sleep periods.
  • User-created reminders are never silently removed because of hydration pacing.

iOS WidgetKit support

Hydrion now includes a native WidgetKit extension for iOS.

  • Added the Hydrion Daily Progress WidgetKit experience.
  • Added small and medium widget families.
  • Added shared App Group communication between Hydrion and WidgetKit.
  • Added privacy-scoped widget snapshots.
  • Body measurements, reproductive state, clinician information, location, and raw wake/sleep schedules are not exposed to widgets.
  • Added empty and stale-state handling.
  • Added widget accessibility support.
  • Added deep linking back into Hydrion.
  • Added automated validation that the WidgetKit extension is embedded in the iOS application.
  • Added bundle identifier, version, build-number, extension metadata, and App Group validation.
  • Added iOS simulator compilation to continuous integration.
  • Added unsigned iOS release compilation and traceable artifact packaging to continuous integration.

Android widgets

  • Continued support for Hydrion's Android home-screen widgets.
  • Widget data comes from Hydrion's canonical hydration state.
  • Daily progress and quick-log experiences share the same hydration source of truth as the application.
  • Widget deep links are restricted to supported Hydrion routes.
  • Widget snapshots exclude private body, reproductive, clinician, eligibility, and location information.
  • Added stronger automated widget configuration and privacy tests.

Weather-aware hydration

  • Hydrion can use local weather to offer a temporary hydration suggestion.
  • Weather suggestions use temperature, apparent temperature, humidity, and available forecast information.
  • The permanent hydration baseline remains separate from the temporary weather adjustment.
  • Users can accept a suggestion or keep their existing goal.
  • Permission denial and unavailable weather are no longer represented as a false zero adjustment.
  • Revoking location permission clears invalid cached weather state and triggers reevaluation.
  • Weather failures safely fall back without changing the user's goal.
  • Weather assistance remains optional.
  • Location access is requested only after user action.

Temperature Roulette

  • Temperature Roulette can use current weather context to recommend cool, room-temperature, or comfortably warm drinks.
  • The interface explains whether the assignment came from weather or the standard challenge rotation.
  • Added deterministic handling for hot, cold, matching, unavailable, disabled, and stale weather conditions.
  • Challenge hydration remains synchronized with the main Hydrion hydration history.

Hydration challenges

Hydrion includes a local-first challenge system designed to make hydration more deliberate without fabricating progress.

  • Expanded and hardened the Hydrion challenge catalogue.
  • Added explicit eligibility policies.
  • Added support for up to two active challenges while preventing silent replacement.
  • Added pause, resume, leave, completion, archive, repeat, and history behaviour.
  • Challenge participation requires explicit user action.
  • Opening or viewing a challenge never creates progress.
  • Hydration-based challenge actions use the same canonical hydration history as Home.
  • Challenge recommendations never automatically activate a challenge.
  • Added deterministic Bottle Bingo boards and evidence tracking.
  • Added localized challenge experiences in English, French, and Spanish.
  • Improved challenge artwork, setup screens, contextual tutorials, and progress histories.
  • Challenge histories avoid leaking internal IDs or developer-facing state.

Pomodoro Sip stabilization

  • Rebuilt Pomodoro Sip around timestamp-authoritative session state.
  • Countdown and progress meter now use the same source of truth.
  • Improved start, pause, resume, restart, stop, completion, background restoration, and app-restart behaviour.
  • Session completion no longer automatically claims that the user drank water.
  • Confirmed sips and measured drinks use canonical hydration logging.
  • Added duplicate protection for rapid confirmation taps.
  • Added authentic event timestamps.
  • Fixed midnight-sensitive test logic so legitimate hydration recorded between 00:00 and 00:59 is treated correctly.
  • Completion reminders now follow the actual session lifecycle.
  • Timer notifications are disposed correctly when the challenge is removed.

Permission and consent improvements

  • Removed disconnected permission placeholders.
  • Added real Android notification, location, accuracy, and exact-alarm status.
  • Added iOS notification permission handling.
  • Added functional request, refresh, denial, fallback, settings, and app-resume handling.
  • Onboarding provides contextual Enable and Not now actions.
  • Permission prompts occur only after relevant user action.
  • Hydrion remains usable when optional permissions are declined.
  • Location permission and notification permission remain independent.
  • Profile deletion explains that operating-system permissions remain controlled through device settings.

Responsive and accessible layouts

  • Added a shared responsive viewport system.
  • Improved status-bar, display-cutout, keyboard, gesture-navigation, and three-button-navigation handling.
  • Corrected oversized bottom navigation and unsafe bottom spacing.
  • Improved Home, Profile, Progress, Reminders, onboarding, Settings, legal screens, Body Metrics, and challenge layouts.
  • Cards measure their own content instead of relying on fragile fixed heights.
  • Long messages, helper text, and actions wrap or stack safely.
  • Final actions remain reachable on short and narrow devices.
  • Improved large-text support.
  • Improved reduced-motion behaviour.
  • Added accessibility labels to important hydration progress components.
  • Added automated coverage for compact phones, modern phones, tablets, landscape layouts, keyboard insets, themes, display cutouts, and increased text scaling.

Localization

Hydrion's supported production languages are:

  • English
  • French
  • Spanish

This release strengthens localization across:

  • Home
  • Profile
  • Settings
  • Body Metrics
  • hydration recommendations
  • reminders
  • notification feedback
  • weather assistance
  • challenges
  • challenge history
  • permission flows
  • legal screens
  • hydration status
  • Android-native resources

Unsupported device languages safely fall back to a supported Hydrion language.

Local profile deletion

Hydrion can delete the local profile and associated application data, including:

  • Profile information
  • Hydration history
  • Goals and saved containers
  • Body Metrics
  • Personalized hydration state
  • Challenge participation and progress
  • Challenge history
  • Bottle Bingo state
  • Reminder records
  • Weather cache and recommendation state
  • Hydration pacing configuration associated with the profile

Legal acknowledgements and general appearance preferences may remain on the installation where disclosed by the application.

Privacy and local-first operation

Hydrion remains local-first.

  • Hydration history is stored on the device.
  • A Hydrion account is not required.
  • Sign-up and sign-in are not required.
  • Notifications are scheduled locally.
  • Hydration recommendations are calculated locally by default.
  • Weather assistance is optional.
  • Location access is requested only after user action.
  • Users can continue with their standard goal without enabling weather.
  • Widgets receive only the minimum information required for their presentation.
  • Body measurements, clinician information, reproductive state, and raw schedules are not exposed through widgets.
  • Recommendations do not automatically change hydration history.
  • Recommendations do not automatically join challenges.
  • Profile deletion is available directly from Hydrion.

Hydrion does not claim to determine whether drinking water is safe and is not a substitute for professional medical advice.

Release engineering and CI/CD

V.1.2.0-shark includes a substantial release-engineering upgrade.

The Hydrion CI pipeline now validates:

  • Secret hygiene
  • Dart formatting
  • Flutter static analysis
  • Full Flutter automated test suite
  • Dependency state
  • Web release compilation
  • Android debug APK compilation
  • Android signed release APK compilation
  • Android release artifact metadata
  • Android APK signature validation
  • Android artifact size auditing
  • iOS simulator compilation
  • Unsigned iOS release compilation
  • WidgetKit extension embedding
  • WidgetKit bundle metadata
  • Runner and widget version alignment
  • Runner and widget App Group entitlements
  • Traceable build artifacts

Android signing configuration was also hardened to distinguish normal CI smoke-test signing from protected production release signing.

A signing-key mismatch discovered during final release validation was corrected before completing this release cycle.

Validation

This release passed:

  • 602 Flutter tests
  • 0 Flutter test failures
  • Flutter static analysis with no reported issues
  • Dart formatting verification
  • Secret hygiene scanning
  • Responsive viewport tests
  • Accessibility-oriented layout tests
  • Permission and onboarding tests
  • Reminder and notification tests
  • Weather and Temperature Roulette tests
  • Profile deletion tests
  • Personalized hydration tests
  • Hydration safety-invariant tests
  • Wake and sleep pacing tests
  • Pomodoro lifecycle and rapid-tap tests
  • Challenge lifecycle and history tests
  • Localization tests
  • Persistence and migration tests
  • Storage-recovery tests
  • Android widget tests
  • iOS release-configuration tests
  • Web release compilation
  • Android debug APK compilation
  • Android signed release APK compilation
  • Android release artifact validation
  • Android signature verification
  • Android size audit
  • iOS simulator compilation
  • iOS unsigned release compilation
  • WidgetKit extension embedding validation
  • WidgetKit version and bundle validation
  • App Group entitlement validation
  • Git diff and repository hygiene validation

The final main CI quality gate completed successfully across Android, iOS, Web, analysis, testing, and audit jobs.

Physical Android verification

Physical Android testing confirmed:

  • Contextual notification permission flow
  • Contextual location permission flow
  • Weather hydration suggestions
  • Temperature Roulette weather integration
  • Local reminder delivery
  • Responsive reminder cards
  • Profile deletion
  • Android navigation-inset handling
  • Normal hydration logging
  • Core challenge interaction

Installation

Download the Android APK from the Assets section below.

Before installing:

  1. Back up any Hydrion information you want to preserve.
  2. Allow installation from your browser or file manager when Android requests it.
  3. Install the APK.
  4. Open Hydrion and complete onboarding when required.
  5. Enable reminders and weather assistance only when you choose to use them.

Hydrion is designed to preserve compatible existing local data during normal application upgrades.

Android may reject an update when an earlier test build was signed with a different certificate. In that case, verify that you are installing the intended release artifact before taking any action that could remove existing local data.

Important testing notes

When reporting an issue, please include:

  • Device model
  • Operating-system version
  • Hydrion version
  • Whether the installation was fresh or an update
  • Steps that reproduce the issue
  • Screenshots or a screen recording where possible

Pay particular attention to:

  • Reminder delivery after Hydrion is closed
  • Reminder behaviour after restarting the phone
  • Weather permission denial and later approval
  • Approximate location behaviour
  • Pomodoro pause, resume, restart, and completion
  • Challenge and Home hydration synchronization
  • Profile deletion after reminders and challenges have been created
  • Large system fonts
  • Android gesture navigation
  • Android three-button navigation
  • Widget refresh behaviour
  • App restart and upgrade persistence

Known limitations

  • Weather assistance requires an internet connection and usable location access.
  • Android notification delivery can still be affected by manufacturer battery restrictions.
  • Exact reminder timing can depend on Android alarm permissions and device settings.
  • Hydrion does not currently provide cloud backup or cross-device synchronization.
  • Additional Pride artwork composition and placement will continue to improve in later releases.
  • Automated iOS CI currently validates simulator and unsigned release builds.
  • Signed iOS distribution, provisioning, TestFlight/App Store delivery, and final physical-iPhone validation remain separate release steps.
  • Native widget behaviour can still vary by operating-system launcher or widget host and should be validated on physical devices.

Feedback and community

Hydrion is being built openly through testing, feedback, and progressive improvement.

Report bugs or request features through the Hydrion GitHub repository or Hydrion community channels.

Thank you for helping build a hydration experience designed for everyone.

Track your hydration with pride. πŸ’§πŸ¦ˆ