W A O Z I

Inner Breeze

Apps, games, writing, music, and work in progress.

Inner Breeze

Inner Breeze 2.1.33

Added

  • Lumi guides you through each screen.
  • Lumi understands habit requests offline.
  • Lumi asks before going online.
  • Your own AI provider for Lumi.
  • Tap Lumi and she swirls.

Changed

  • Sun Salutation follows your breath.
  • Span habits: one Good when, length first in statistics.

Fixed

  • Synced habit settings and days never revert to older copies.
  • Android: opens about two seconds faster.
  • Desktop tray shows the current logo.
  • Progress bars fill visibly in every theme.
Inner Breeze

Inner Breeze 2.1.32

Added

  • Drag habits to reorder or deactivate them.
  • Habits get icons, schedules, times and daily questions.
  • Questions can compare with your average.
  • Apps asks before downloading app updates.

Changed

  • Habits is a table of the last seven days.

Fixed

  • Android: the floating practice window opens from Recents and shows results.
  • The donation reminder shows on one device only.
  • Held keys repeat in text fields.
  • The breathing count is readable; older habit entries edit again.
Inner Breeze

Inner Breeze 2.1.31

Fixed

  • Android: after the floating practice window, the app fits the screen again instead of running under the status bar and navigation and losing its sides.
Inner Breeze

Inner Breeze 2.1.30

Fixed

  • Long menus, such as the colour theme, scroll by touch and open at your choice.
  • With a menu open, tapping the navigation closes it and switches screens in one tap.
  • Menus stay above the navigation instead of hiding their last options behind it.
  • Web: the app is sharp on high-density screens instead of magnified and blurry.

Changed

  • Icons are sharper on the web.
Inner Breeze

Inner Breeze 2.1.29

Fixed

  • Scrolling Lumi's commands keeps the keyboard open.
  • New habits show each colour choice in its own colour.
  • Leaving Wim Hof no longer freezes the app for a few seconds.
  • The app no longer freezes just after launch while it checks for app updates.

Changed

  • Scrollbars use your theme's colours and show how much is in view.
  • Apps rearranges to fill the window's width.
Inner Breeze

Inner Breeze 2.1.28

Added

  • Connect a phone and a computer by QR code in Profile.
  • Leaderboard is its own app.
  • Profile > Data shows each sync node's storage.

Changed

  • Profile holds your account, data and Telegram; Settings holds device preferences.
  • Diary shows bold text as bold.
  • On desktop, a minimized practice opens in its own window.

Fixed

  • Linux: text uses Inner Breeze's fonts again.
  • Smoother minimized breathing count.
  • The desktop close prompt shows above Apps.
Inner Breeze

Inner Breeze 2.1.27

Added

  • End a held breath from the minimized practice window with Breath or a double tap.
  • Lumi feedback includes the app version, device and system.

Fixed

  • Picture-in-picture opens when you leave Inbe during a practice and returns to it.
  • Lumi keeps answers that arrive during picture-in-picture.
  • Lumi says whether feedback reached the developer and keeps it to retry.
  • Feedback saved by older versions is now sent.
  • Fix a startup crash on 32-bit Android phones.
Inner Breeze

Inner Breeze 2.1.26

Added

  • Detach a running practice into its own resizable desktop window.
  • Keep the practice visible over other Android apps with picture-in-picture, which you can turn off in Settings.

Changed

  • The minimized practice window is taller and shows the breath count, time left or phase.
  • Diary saves quietly, without a "Waiting to save" note.

Fixed

  • Show the keyboard in Diary on Android.
  • Keep the practice window over Apps.
  • Open Lumi without freezing the practice window.
Inner Breeze

Inner Breeze 2.1.25

Changed

  • Minimized practices show their live circle or figure in a resizable window and return to the page you started them from.

Fixed

  • Stop syncing from pausing the breathing circle while you practice.
  • Keep breath sounds playing while a practice is minimized.
  • Animate the Wim Hof breathing circle smoothly, including its Customize preview.
  • Keep Wim Hof timing accurate when the frame rate varies.
  • Skip repeated account checks on unchanged animation frames.
Inner Breeze

Inner Breeze 2.1.24

Fixed

  • Open the breathing animation, background music and other menus reliably again.
  • Use the In / Out breathing animation you choose in Wim Hof sessions.
  • Offer Test for your own imported music instead of "Audio not installed".
  • Keep the breathing circle smooth on phones signed in to an account.
Inner Breeze

Inner Breeze 2.1.23

Added

  • Customize KSS in Appearance with live preview, per-app styles, an inspector, undo, and reset to defaults.
  • Ask Lumi to read, preview, and save appearance changes while preserving your existing customizations.

Fixed

  • Keep Telegram as input to Lumi without bot notifications; retain messages, replies and full history in Lumi.
Inner Breeze

Inner Breeze 2.1.22

Added

  • Minimize a running practice into a small window and keep using the app.

Fixed

  • Keep Diary opening with existing entries in the same account.
  • Keep practices and sound running in the background.
  • Support swipe typing and corrections from Android keyboards.
  • Stop repeated Lumi chat uploads.
  • Keep navigation visible on the practice home screen.
  • Open Lists, Diary and settings faster.
  • Lumi in Telegram replies in seconds and shows your tasks and habits.
Inner Breeze

Inner Breeze 2.1.21

Changed

  • Clearly mark the selected app in navigation and Apps, including while hovering or pressing.

Fixed

  • Keep text sharp and stable throughout the zoom range.
  • Keep Appearance labels readable at large zoom by wrapping them above their controls.
  • Keep the selected navigation shortcut visible when changing apps or zooming on narrow screens.
Inner Breeze

Inner Breeze 2.1.20

Changed

  • Keep Apps beside your desktop favorites without a large empty gap.
  • Open Profile beside Settings in Apps, without a fixed desktop Profile shortcut.

Fixed

  • Fix blank desktop pages when regional settings use comma decimals.
Inner Breeze

Inner Breeze 2.1.19

Added

  • Create or restore an account in Telegram's Mini App, with an encrypted recovery backup saved on your device.
  • Connect Telegram with approved, expiring Lumi access without sharing your account's private key.

Changed

  • Keep Telegram access limited to Lumi and let you revoke it from Inbe.

Fixed

  • Preserve existing account data when account setup or recovery is cancelled or fails.
Inner Breeze

Inner Breeze 2.1.18

Changed

  • Show each app's bundle size in Apps and favorites.
  • Start with the searchable Apps screen and ready-to-use apps, without an install chooser.
  • Give new users Lumi, Habits and Practices as their first three favorites.
  • Arrange favorites by dragging app tiles in Apps, with no separate Apps and Favorites settings page.
  • Remove the extra Inbe heading above Apps.
Inner Breeze

Inner Breeze 2.1.17

Changed

  • Choose apps from a searchable library with a compact favorites dock on mobile and desktop.
  • Pin up to two favorites without removing other apps or their saved data.
  • Open Profile and Settings from the app library, with a Profile shortcut on desktop.
Inner Breeze

Inner Breeze 2.1.16

Changed

  • Open faster by keeping feature packages loaded and loading language fonts only when needed.
  • Use Android's installed fonts with automatic character fallback where available.
  • Prepare Android audio when first used so it no longer delays opening the app.

Added

  • Show a loading indicator on Android until the first app screen is ready.
Inner Breeze

Inner Breeze 2.1.15

Fixed

  • Open Telegram sync links on Android when the installed chat app is hidden from app availability checks.
  • Open Lumi in the installed Telegram app on Android, with a web link available when Telegram is not installed.
Inner Breeze

Inner Breeze 2.1.14

Changed

  • Scroll up through Lumi chat history without Older and Newer buttons, keeping your place when replies arrive.
  • Connect, view connection status and disconnect Telegram from Settings under Sync with Telegram.
Inner Breeze

Inner Breeze 2.1.13

Changed

  • Merge sync data directly from the action buttons below the change list, without a separate Apply step.
  • Review clearer sync changes with colored additions, removals and edits, and fewer repeated or empty details.
Inner Breeze

Inner Breeze 2.1.12

Fixed

  • Display bold emphasis in Lumi replies and recognize app feature suggestions as feedback offline.
  • Keep app text visible when upgrading to the new Lumi formatting.
Inner Breeze

Inner Breeze 2.1.11

Added

  • Ask Lumi for progress charts and donation links directly in chat.
  • Talk naturally with Lumi online, with a daily account allowance and access to app actions.
  • Save app feedback from chat, send it when connected, and receive developer replies in Lumi.

Fixed

  • Keep feedback available when online chat is disabled or its allowance runs out.
Inner Breeze

Inner Breeze 2.1.9

Fixed

  • Keep hidden apps installed so adding them back to the sidebar works immediately offline.
  • Preserve the selected page during upgrades and restore missing shortcuts for selected apps.
  • Keep the interface responsive if an app fails to reset, and reduce repeated work in Lumi chat.
  • Open the Android keyboard correctly when writing to Lumi.
Inner Breeze

Inner Breeze 2.1.8

Changed

  • Call sidebar items Apps throughout setup and settings.
  • Use Shift+Enter for a new line in Lumi chat and Enter to send.

Fixed

  • Save Diary entries from Lumi chat with the current time above your message, including multiline text.
  • Ask for the entry text when a Diary request is sent without it, and keep replies short when a request is unclear.
  • Show Lumi’s mirrored avatar beside replies so the companion faces the conversation.
Inner Breeze

Inner Breeze 2.1.7

Changed

  • Manage Lumi and all other cells in one compact list with icons, drag handles and add/remove controls.
  • Include Lists and Diary with the app so every cell can be added to the sidebar offline.
Inner Breeze

Inner Breeze 2.1.6

Changed

  • Manage installed and available cells together in Settings, with drag reordering, trash controls and quick reinstallation from saved packages.
  • Keep Lumi included as the app companion while allowing her sidebar shortcut to be hidden, with an outlined firefly icon matching the other navigation icons.
  • Let Lumi change themes and appearance directly through chat and app tools.

Fixed

  • Keep sidebars steady while dragging the scale slider and apply the new scale on release.
  • Keep Settings available in the final sidebar position.
  • Honor every checked startup cell, including Diary, and report Diary correctly when opened in Harmony.
  • Exit promptly when Quit is pressed in the close dialog.
Inner Breeze

Inner Breeze 2.1.5

Changed

  • Chat with Lumi in a simpler conversation view, with her avatar beside replies and a standard cell icon.
  • Let Lumi complete today’s habits and start practices immediately, including WHM.
  • Show Lumi commands only for installed and enabled cells.
  • Ask which habit to complete, choose it by name, and use compact autocomplete chips with case-insensitive matching and command spelling correction.
Inner Breeze

Inner Breeze 2.1.4

Added

  • Meet Lumi, Inner Breeze's firefly companion, as the first recommended cell and home screen.
  • Chat privately with Lumi, complete commands and todo names as you type, and add, complete or reopen todos locally.

Fixed

  • Restore missing characters in translations and mixed-language labels, including the Android language picker.
Inner Breeze

Inner Breeze 2.1.3

Fixed

  • Restore translated text after the cell packages load, and refresh translations when packages change.
Inner Breeze

Inner Breeze 2.1.2

Changed

  • Call the independently installed features Cells, with a translated cell picker and separate versions in About.
Inner Breeze

Inner Breeze 2.1.10

Fixed

  • Open and scroll Lumi smoothly, including longer conversations.
  • Use a checkmark for Lists so it is easy to distinguish from Diary.
Inner Breeze

Inner Breeze 2.1.1

Added

  • Attach, browse and remove Diary photos while preserving imported originals.
  • Load graphics, translations, fonts and styles from cell packages so these resources can update without replacing the APK.
  • Update the cell picker, Diary and Lists screens through their cell packages.

Fixed

  • Keep browser account signing and update checks working with the current web runtime.
  • Keep importing saved account data working in the browser.
Inner Breeze

Inner Breeze 2.1.0

Added

  • Choose recommended Habits and Practices or download optional Lists and Diary from the cell picker.
  • Receive verified cell updates independently, with a switch to disable automatic updates and a manual update check.
  • Sync selected apps with your account, including removals, while keeping saved data on each device.
  • Write private daily entries in Diary and browse them by calendar, preserving the existing Harmony entry format.
  • View the main application version and each cell version in About.
Inner Breeze

Inner Breeze 2.0.12

Fixed

  • Restore banners and navigation icons when returning to the Android app or changing orientation.
  • Keep images from disappearing or showing font characters after graphics resources are recreated.
  • Restore missing characters in translated screens.
  • Keep Classic and Lightfield styles working on profile actions.
Inner Breeze

Inner Breeze 2.0.11

Changed

  • Lists, Habits, and Practice now load as separate modules inside Inner Breeze, with shared navigation, settings, and saved data.
Inner Breeze

Inner Breeze 2.0.9

Added

  • Choose between four painted Sun Salutation characters in Customize. Your choice is saved and appears in the practice, pose previews, and guide.

Changed

  • Replaced the previous Sun Salutation character with the four banner-inspired designs. The men wear distinct rust-and-charcoal and indigo-and-sand outfits.
Inner Breeze

Inner Breeze 2.0.8

Fixed

  • Fixed an Android startup crash after upgrading from older versions, while preserving saved preferences and practice history.
  • Keep drawing the app when a device cannot allocate the graphics buffers used for screen transitions.
  • Show the selected breathing speed, round count, breath count, and pause duration in Wim Hof customization.
  • Keep the progressive start-speed editor's preview and slider visible.
Inner Breeze

Inner Breeze 2.0.10

Changed

  • Smoothed the outlines of all four Sun Salutation characters during movement.

Fixed

  • Corrected the women's neck placement and removed white fringes and specks around their clothing.
Inner Breeze

Inner Breeze 2.0.7

Added

  • Mini mode provides a compact practice window without changing your saved window or navigation settings.
  • Habits now have separate overview, statistics, and edit pages, with a dialog for recording daily counts and clearer week and month calendars.

Changed

  • Prebuilt FreeBSD packages are temporarily unavailable.
  • Sun Salutation now uses a painted character with smooth movement through all twelve poses, consistent proportions, and clean transitions without crossfading.
  • Practice customization and guides use the full screen, and Sun Salutation shows a simple seconds counter without the distracting progress bar.
  • Improved phone performance, touch responsiveness, text sizing, and Japanese and Chinese text wrapping.
  • Refined Settings, Profile, Lists, habit cards, session controls, and mood check-in buttons. Desktop users can zoom with Ctrl and the mouse wheel.

Fixed

  • Music keeps playing when you switch tabs inside the app or leave practice customization.
  • Restored sound and music playback in the web app.
  • Appearance dropdown menus stay above the Layout card and other settings, keeping every option visible and selectable.
  • Practice Customize and How-to actions now open the correct pages, and carousel swipes reliably change practices.
  • Animated screens keep their controls visible, and navigation transitions finish before accepting the next action.
  • Habit statistics no longer crash, and saved habit counts and imported records are retained correctly.
  • Opening a habit card keeps your place in the list instead of scrolling back to the top.
  • Habit day counts sit centered inside each circle, in a color that stays readable on every habit color.
  • Deleted sync records stay deleted across devices, and restoring an account preserves local changes waiting to sync.
  • Web and browser add-on text stays sharp at different text sizes, display scales, and zoom levels with the Canvas renderer.
  • Cancel reliably closes the exit-session dialog without interrupting the practice.
Inner Breeze

Inner Breeze 2.0.6

Fixed

  • Selected app color themes now keep their backgrounds, cards, and text visible. Theme catalogs are included in every build, and an unavailable palette falls back to readable built-in colors.
Inner Breeze

Inner Breeze 2.0.5

Changed

  • Session details now show the practice name, time, and round count above clearly separated round rows with larger hold times and easier-to-tap edit and delete actions. Editing a round highlights its value and provides a labeled number pad with separate Cancel and Save actions.
Inner Breeze

Inner Breeze 2.0.4

Changed

  • The account screen shows the connected alias, automatic sync progress, and counts for habits, history days, sessions, friends, lists, and list items.
  • Habits show a distinct mark for days completed through a practice session.
  • Importing an account key offers Merge or Replace before changing local data, with clear details about each choice.
  • Profile offers Connect Account, and the sync screen offers Import .key when no account is connected.

Fixed

  • Restoring an existing account now retrieves its username, friends, habits, history, and sessions from the complete account data.
  • Lists and their items now sync across devices, including completed items and changes made on another device.
  • Sync status shows the current upload or restore step instead of staying on a generic syncing message.
  • Connecting an account starts automatic sync without leaving a stale status message behind.
Inner Breeze

Inner Breeze 2.0.3

Fixed

  • Web and browser builds can connect to compatible custom sync servers when you choose one.
  • Browser extensions no longer request access to the Inner Breeze website.
  • Chrome break reminders now follow the app's settings and Rest Now action.
Inner Breeze

Inner Breeze 2.0.2

Fixed

  • Habit editor section headings and reminder details now align with their rows.
Inner Breeze

Inner Breeze 2.0.1

Fixed

  • Existing installations reset navigation once to show Lists, Habits, Practice, and Settings in that order. Changes made afterward are kept.
Inner Breeze

Inner Breeze 2.0.0

Changed

  • Added cat, sea turtle, and crescent moon profile pictures in place of three similar tree choices.
  • Added the new peaceful meditation logo and made it the default app icon, with app icon selection available from Appearance.
  • Updated Kryon controls, navigation, styling, and text editing throughout the app.
  • Material is now the default style. Choose Material, TK, or Lightfield in Appearance, with color themes available within each style.
  • Navigation customization has cleaner spacing and smoother reorder handles.
  • Desktop development runs keep their settings and sync account separate from the installed app.
  • Completed list items now move behind a Show Completed toggle instead of staying mixed into the active list.
  • Practice controls sit closer to the bottom navigation while preserving the image fade.
  • Session results now show a clearer round chart and a compact summary for single-round practices.
  • About now uses proper Discord, Telegram, and GitHub icons, and the support dialog has cleaner donation address previews.
  • Removed the Vanilla style and the startup style-selection screen.

Fixed

  • Existing Android installations now move their private data to the consistent Inner Breeze location while preserving habits, sessions, settings, and sync details.
  • Desktop, web, and Windows installations now use the same Inner Breeze data location, moving existing data there on first launch instead of leaving it behind.
  • Backups exported by earlier releases import again, including archives named after the previous app identity.
  • Restored profile pictures in Settings and Profile. The picture picker now displays its full grid and uses standard scrolling and selection.
  • Settings row labels and icons now share the same vertical alignment.
  • Settings now uses one consistent modern screen instead of switching between duplicate layouts.
  • Sidebar switching is stable at responsive breakpoints instead of jittering between navigation modes.
  • Guide and modal panels remain visible with Material styling instead of showing text over the underlying screen.
  • Guide screens and practice previews are placed correctly across phone and desktop sizes.
  • Guide cards now have a clear heading, and tapping outside a focused control dismisses its focus.
  • Scrollable Settings pages leave comfortable space above the bottom navigation at larger text scales.
  • An unnamed local profile now has a neutral label in the navigation card.
  • Settings navigation opens the Settings overview, with improved bottom navigation and click handling.
  • Older navigation layouts now place Lists before Habits, Practice, and Settings.
  • Lightfield buttons and glow settings now update with the selected style, and glow is scoped to styles that support it.
  • Material sliders keep labels and values readable instead of floating too high or drawing white text on pale slider fills.
  • Android masked app icons use a gentle blue background instead of black.
  • Web loading screens and browser icons now show the current meditation logo.
  • Emptying a list no longer restores the initial sample data.
  • Improved text selection, keyboard focus, and composition handling when editing text.
  • Connecting to sync runs in the background so network requests do not block the interface.
  • Sync retries temporary connection failures automatically without losing queued changes.
  • Automatic friend-list retries stop when account details need attention, and retry delays recover safely from invalid saved counts.
  • Profile shows actionable sync status instead of internal repair messages.
  • Restoring an account key now starts synchronization and retrieves the account alias and existing friendships. Friend lists remain available when leaderboard loading fails.
  • Restoring a profile now reliably recovers habit history and session data alongside the alias and friends, including on Android.
  • Sync no longer asks you to upgrade just because the server supports a newer sync protocol.
  • Sync connection and account errors now display readable, translated messages.
  • Desktop update links now use the current Inner Breeze release location.
Inner Breeze

Inner Breeze 1.9.19

Added

  • Replaced the legacy pixel UI icons with a cohesive MingCute-based icon set, packed into efficient embedded spritesheets with separate full-color assets for profiles, platforms, payments, languages, and logos.

Changed

  • Navigation and practice controls now use larger, clearer icons.
  • Volume controls now show distinct muted, low, medium, and maximum-volume states.
  • Updated the bundled Kryon runtime with smoother antialiasing, tear-free presentation, improved text editing, and more reliable desktop menus.

Fixed

  • Pressing Escape now closes stack/sidebar navigation before applying the normal screen-level Escape action.
  • Fixed a Windows build collision between Kryon and the Win32 `DrawIcon` API.
Inner Breeze

Inner Breeze 1.9.18

Added

  • Every practice now includes a guided How-to with clear steps, swipe navigation, and labeled controls.

Changed

  • The Wim Hof guide now uses four focused pages with a prominent safety warning, breathing previews, progress indicators, and direct access to practice settings.
  • How-to controls now provide consistent hover, focus, keyboard, and touch feedback across supported devices.

Fixed

  • Exiting a practice started from How-to now returns to the normal Practice screen instead of reopening the guide.
  • On Windows, the title-bar close button and Alt+F4 now honor the selected close behavior, including showing the Keep running or Quit prompt.
Inner Breeze

Inner Breeze 1.9.17

Changed

  • Web habit check-ins now update more smoothly, reducing the visible flash when changing a habit.

Fixed

  • Web screen navigation now keeps stable browser routes, so opening or returning to a screen uses the expected address.
  • Language selection and onboarding settings now persist reliably before returning to the main screen.
  • Stack sidebar navigation no longer shows a stray black line or overflows at the bottom.
Inner Breeze

Inner Breeze 1.9.16

Changed

  • Sync remains compatible with existing secure account keys and synced data.

Fixed

  • Fixed web sync key import stability in Firefox.
Inner Breeze

Inner Breeze 1.9.15

Fixed

  • Fixed a web startup stability issue that could affect browser smoke checks after reload.
Inner Breeze

Inner Breeze 1.9.14

Changed

  • Updated the bundled Kryon runtime to the latest release for improved web runtime compatibility.
Inner Breeze

Inner Breeze 1.9.13

Changed

  • Sync now uses the protocol v4 secure data format when the account has been migrated, while keeping the transition path compatible with existing synced data.

Fixed

  • Secure data migration now appears only for connected accounts that still need migration, and shows progress while the update is running.
  • Sync migration no longer leaves stale queued changes after all local data has been uploaded in the secure format.
  • Profile and sync account text can be selected by double-clicking.
  • Desktop startup no longer fails when the single-instance lock is unavailable.
  • Android landscape layouts now respect system bars and display cutouts.
  • Android releases now include the expected per-ABI APK downloads alongside the universal APK.
Inner Breeze

Inner Breeze 1.9.12

Changed

  • Web builds now use the Canvas renderer directly, so browsers without WebGL no longer need a fallback path.
  • Sync account IDs now display in a compact first-four/last-four format in profile and sync settings.

Fixed

  • Importing a sync key now connects the account automatically once the key is accepted.
  • Background sync no longer blocks or interrupts starting a practice.
  • Start Practice now remains responsive while sync is running in the background.
  • Profile and sync account text can be selected reliably with double-click and drag selection.
  • Web console output is quieter during normal startup and sync.
  • Android UI scaling now uses the best detected device scale, fixing undersized menu text on tall phones.
Inner Breeze

Inner Breeze 1.9.11

Changed

  • Practice screens now show only the practices that are currently available.
  • Desktop tray status now shows the active practice and phase in the tooltip where supported, and in the tray menu as a reliable fallback.

Fixed

  • Sync now runs only after an account is connected to a saved sync server.
  • Existing synced accounts keep their connected state after upgrading, while disconnected accounts no longer start background sync, social refreshes or websocket listeners.
  • Profile Data now distinguishes disconnected sync accounts from missing accounts.
  • Android practice notifications now keep showing the current phase and timer while a practice is running.
Inner Breeze

Inner Breeze 1.9.10

Added

  • Completed practices now show a results screen with session details and a mood check-in before returning home.
  • Statistics now include mood-after-practice trends for saved sessions.

Fixed

  • Android bottom navigation icons now render correctly on affected devices instead of disappearing or being clipped.
  • Android no longer opens the soft keyboard when the app starts.
Inner Breeze

Inner Breeze 1.9.9

Fixed

  • The practice screen now always shows all four practices: Wim Hof, Pattern Breathing, Meditation and Sun Salutation.
  • Android installs now fail with clear device, ABI and signing diagnostics instead of stalling or choosing the wrong target silently.
  • Pattern Breathing now plays the inhale and exhale cues in the correct direction.
  • Pattern Breathing keeps the phase text readable against bright breathing circles and shows the cycle and session timer at the top of the session screen.
Inner Breeze

Inner Breeze 1.9.8

Added

  • Desktop break reminders now include a Habits action beside the practice launch buttons, so habits can be managed directly from a break window.

Changed

  • Store screenshots now focus on Android-relevant practice and habit screens, including Pattern Breathing, Meditation, Sun Salutation and multiple Material color themes.
  • Fastlane screenshot exports now use compressed PNG files consistently for Google Play and F-Droid metadata.
  • Regenerated Google Play and F-Droid screenshots with the corrected practice artwork, Pattern Breathing, Habits, Wim Hof how-to and Cobalt dark screens.

Fixed

  • Screenshot scene setup now opens the intended Habits overview, Habits statistics, Meditation and Sun Salutation screens.
  • Native screenshot capture now exits cleanly and writes valid PNG rows for downstream image tooling.
  • Practice banner images now resolve from the embedded asset table on Android/native builds, preventing missing or faded-looking artwork in packaged releases.
  • Donation wallet buttons now open Bitcoin and Monero URI intents through Kryon and show a clear toast when no wallet app is installed.
  • Monero and Bitcoin donation links now use minimal address-plus-amount wallet URIs for better compatibility with Cake Wallet and other wallet apps.
  • Web and browser-extension builds are available again after fixing secure donation-link handling.
Inner Breeze

Inner Breeze 1.9.7

Added

  • Pattern Breathing is now available wherever practice-specific options are shown, including the leaderboard, habits and music assignment.
  • Every practice can now have background music assigned directly from its practice settings.

Changed

  • Audio settings now use one music import action and show the practices that already have music assigned.
  • Practices are ordered consistently as Wim Hof, Pattern Breathing, Meditation and Sun Salutation.
  • Practice banners now follow the active visual style, sit cleanly inside their rounded borders and keep a small bottom gap from the controls below.

Fixed

  • Leaderboard filtering keeps showing the last loaded rows while fresh data loads, instead of replacing the table with a loading placeholder.
  • Breathing-pattern leaderboards now keep the full friends list visible instead of collapsing to only the current user.
  • Leaderboard streak ties now use the secondary stat when one exists, such as average hold for Wim Hof.
  • Music download, install and playback-test status messages are now translated.
Inner Breeze

Inner Breeze 1.9.6

Changed

  • Donation reminders now wait until 30 completed practices, repeat only after another 30 practices, and offer Donate, Skip, or Dismiss forever without a separate remind-later option.

Fixed

  • Web builds now fall back to the Canvas renderer automatically when WebGL is unavailable, instead of stopping on a WebGL-disabled message.
  • Canvas hover cursors now update consistently while using the Canvas renderer.
  • Break reminders and break settings stay desktop-only and no longer appear in the Web settings sidebar.
  • Desktop break timer windows now stay visible when switching workspaces.
Inner Breeze

Inner Breeze 1.9.5

Added

  • Desktop update notifications: the app checks once a day for a new release and shows a toast plus a row in Settings → About. AppImage and Windows users can download and install the update from there — the download is checksum-verified and, with one click on "Restart to update", replaces the app in place. Linux package, Snap and Flatpak installs are left to the system's own updater, and AppImage builds now also carry AppImageUpdate delta-update information.
  • Windows releases now also ship a classic installer (inbe-windows-setup) beside the portable zip, and a winget manifest is submitted on each release, so Windows 10/11 users can install and auto-update Inner Breeze through winget.
  • A gentle monthly donation reminder can now be postponed, skipped for the month, dismissed forever, or opened directly in a wallet on native builds.
Inner Breeze

Inner Breeze 1.9.4

Fixed

  • Desktop break, timer and other auxiliary windows now render upright and stay visually in sync when more than one window is open.
Inner Breeze

Inner Breeze 1.9.3

Added

  • Custom MP3 music can be imported and selected independently for Wim Hof, Meditation and Sun Salutation practices.

Changed

  • Running sessions now provide separate top-left controls for sound effects and background-music volume.

Fixed

  • Custom MP3 tracks now decode and play during Wim Hof sessions, including after restarting the app; previewing music no longer starts a practice.
  • Music download failures now offer clear Cancel and Retry actions instead of ambiguous buttons.
  • Daily break progress and skipped state persist across app restarts and reset only at the configured daily boundary.
Inner Breeze

Inner Breeze 1.9.2

Added

  • Breathing Patterns with Box, 4-7-8, coherent, extended-exhale and custom timed breathing sessions.
  • Android Health Connect export for meditation, breathwork and sun-salutation sessions.
  • Android home-screen widget, quick-settings tile and launcher shortcuts for starting practices.
  • Interval bells for meditation: chime every 1/2/5/10/15/30 minutes (off by default).
  • Weekday schedules and reminder times for habits, with support for up to 32 habits.
  • CSV export of session history from Data & export settings.
  • Practices can be started directly from a break and count as taking that break.

Changed

  • Profile now uses clear top-level tabs for profile details, sync, data, friends and leaderboard.
  • Leaderboard shows all useful statistics together in one sortable table; average hold appears only for Wim Hof sessions.
  • The default Meditation habit now tracks sessions from Wim Hof, Meditation and Breathing Patterns.
  • Breathing Patterns has a cleaner layout, smoother animation and keeps running when the app loses focus.
  • Refreshed the Breathing Patterns and Meditation artwork while retaining the original Wim Hof banner.
  • Simplified the Meditation screen and removed the redundant how-to section.

Fixed

  • Profile and leaderboard loading states no longer display misleading zero values while data is loading.
  • Fixed delayed or stale leaderboard results, duplicate Wim Hof entries and unreadable selected-button text.
  • Fixed profile name display, text-field focus styling and profile picture icon colors.
  • Fixed a corrupted notification-icon context menu and removed redundant tray and Practice-screen Show controls.
Inner Breeze

Inner Breeze 1.9.1

Added

  • Breaks render in their own centered always-on-top OS window (desktop): the main window - even hidden to tray - is no longer taken over; Postpone/Skip/Rest-now are clickable in it and right-click opens Break settings.
  • The timer HUD is drag-and-drop movable anywhere on screen, remembers its position across restarts, hides disabled timers entirely, and right-clicking it opens Break settings; it stays visible during a break showing the remaining rest time.
  • Desktop Device settings: startup mode (show window / start minimized to tray) and on-close behavior (ask / always keep running / always quit).
  • Single-instance: launching replaces an existing instance by default (graceful SIGTERM handover via a PID lock; screenshot mode is exempt).

Changed

  • Micro breaks open their window the moment they are due - the invisible toast-prompt phase is gone (rest/daily keep their prompts).
  • Breaks are just the countdown, controls and practice launch actions; the old Exercises settings row and tray entry are gone.
  • Idle memory: source fonts now rasterize once each at the DPI-scaled base size (plus one lazily built tier for large text) instead of caching up to eight per-size rasterizations, and a burst of new glyphs re-rasterizes at most once per frame per font; language-picker fallback fonts seed ASCII only and grow on demand (kryon `ui_text` change).
  • The process no longer links GTK: the system theme reads the desktop's real palette from the theme's gtk.css (kryon `system_theme`), file dialogs shell out to zenity/kdialog/yad (kryon's default backend order), and the GTK tray backend resolves libgtk-3 through kryon's runtime loader only when the tray actually starts. `INBE_NO_TRAY=1` skips the tray entirely (idle RSS drops from ~132 MB to ~103 MB; with the tray it is ~126 MB).
  • glibc malloc arenas are capped at four (the app runs ~19 threads; the default ceiling let per-thread arenas inflate idle RSS).
  • `KRYON_MEM_DEBUG=1` prints RSS/arena snapshots at startup and steady state (`KryonMemReport`), plus per-font rasterization stats (`UIFontMemoryReport`).
  • Vendored Kryon bumped to master (ui_window center/drag/right-click/click-position, per-window XImage buffers, X11 `Time` layout fix; system_theme gtk.css palette).

Fixed

  • Android updates can once again be delivered through F-Droid.
  • Restored 32-bit Windows downloads.
  • Clicks on extra OS windows (HUD, break window) register correctly: the X11 `Time` field in the event stand-in had the wrong width, shifting button/position reads (right-click and buttons appeared dead).
  • Extra OS windows no longer corrupt the heap when two windows of different sizes alternate (per-window XImage buffers).
  • The Breaks entry shows in the settings sidebar on desktop again (`#if DESKTOP` resolved against an undefined constant, compiling the mobile branch everywhere).
Inner Breeze

Inner Breeze 1.9.0

Added

  • Break reminders, Workrave-style: micro, rest and daily break timers with statistics and a desktop timer HUD that lives as a real OS window next to the app (desktop only, off by default, with its own settings tab).
  • A dedicated Notifications settings tab. Push delivery uses UnifiedPush (no Google services): "Set up push" opens an in-cell picker that lists installed distributor apps with their name and icon and registers with the one you pick; the status line reports the real registration state.
  • Reminders are an editable list: add as many as you want, each with a practice dropdown (Wim Hof, Meditation, Sun Salutation), a [-] time [+] stepper, an on/off toggle and delete. Ships with one enabled Wim-Hof 08:00 reminder.
  • A notification when new friend requests arrive over social sync (toggleable, on by default).
  • Screenshot scenes for the first-run guide and the notifications settings, for regression coverage.

Changed

  • The app is built through the Kir-only k2c pipeline end to end; the legacy kc path and the orphaned wasm4/uxn experimental backends are gone.
  • The 2,400-line app.c is split into focused modules (app_audio, app_fonts, app_web_bridge) and the simple screen dispatch is table-driven.
  • Material theme is the default everywhere.
  • The mobile nav sidebar no longer lists the desktop-only Breaks entry, and its scroll area is sized to the real content height so every entry is reachable on small screens.
  • In-practice completion notifications are always on; the redundant "session complete" setting was removed.
  • Vendored Kryon bumped through the notification, UIWindow and guide fixes.

Fixed

  • Settings silently stopped persisting across reloads on web (and could drop settings on any platform once enough keys existed): the settings load cache was a fixed 192-entry array that silently discarded entries past the cap, and the notification-era keys pushed the setting count over it. The cache now grows dynamically and logs if its allocation ever fails.
  • First-run guide misalignment on small screens: the highlight anchors now come from the rectangles the draw code actually renders, the practice home reserves the exact space below its card (so it no longer flips into scroll mode when everything fits), the guide never starts on the welcome screen, the Android back key closes it, and its progress persists so it does not return after quitting mid-tour.
  • "Set up push" did nothing: the UnifiedPush configuration ran via JNI on the native render thread, which has no Looper, and the resulting exception aborted registration before it started. It now runs on the UI thread.
  • The reminder time is exactly centered between the - and + buttons and vertically aligned with them.
  • Fresh installs now load the default reminder list (the "no saved list" sentinel was being clamped to an empty list).
  • Android, web and CI build breaks from the Kryon bumps (ui_window NULL on Android, physics exclusion for web, Firefox smoke test under software GL).
Inner Breeze

Inner Breeze 1.8.23

Fixed

  • Properly fixed accented characters (ä ö ü ß é ñ č etc.) typed into text fields rendering in a different, broken font. The active UI font is now dynamic in kryon and renders every glyph its file contains in its own typeface, instead of the brittle per-locale codepoint set that missed any character not present in the current locale's file. (1.8.20 only regenerated the font subset; this is the root-cause fix in kryon.)

Changed

  • Bumped the vendored Kryon pointer, and excluded Kryon's 2D physics (Box2D) sources from the Android build (inbe is UI-only) so the APK builds cleanly after the bump.
Inner Breeze

Inner Breeze 1.8.22

Fixed

  • Fixed a ghost-click bug when closing the sidebar by swiping left on mobile: the pointer release bled through to the newly-shown screen, triggering a stray click on whatever nav item or button was under the release point (e.g. opening About). The release is now consumed before the screen switch.
  • Fixed sidebar navigation returning to the wrong screen: closing the sidebar now remembers and returns to the screen it was opened from, and the return-on-back flag is properly cleared on re-open so it can't loop.
Inner Breeze

Inner Breeze 1.8.21

Fixed

  • Fixed text corruption and overflow at high UI scale: font-shrink loops in the habits weekly view and WHM progressive-speed editor stepped or compared against scaled pixel values instead of logical font sizes, causing text to shrink too fast or never shrink. Title bars, toasts, and empty text fields now use the scaled line height for vertical centering and container sizing.
Inner Breeze

Inner Breeze 1.8.20

Fixed

  • Fixed Android default scaling being too small by using the best available DPI estimate (maximum of viewport ratio, device density, and window scale) instead of device density alone, which under-scaled on tall screens.
  • Regenerated the Latin font subset to include accented characters (ä ö ü ß é ñ č etc.) so German, French, Spanish, Czech and other Latin-script languages no longer fall back to a visually different system font.
  • Removed per-frame DPI scale log spam from the embed draw path.
  • Fixed the CI release build by upstreaming the SetUIDeviceDensity hook and other kryon fixes that were only present as uncommitted vendor working-tree edits.
Inner Breeze

Inner Breeze 1.8.19

Added

  • Added a user-facing Scale factor control in Appearance settings, with a slider plus minus/plus steppers, that rescales the whole UI live on top of the device DPI. Shows the effective scale (e.g. 2.0x) and supports shrinking below the default.

Changed

  • Bumped practice screen metadata/subtitle, statistics metric labels, and About version text to the regular font tier so they stay readable at high scale.
  • Made the per-practice music track setting keys data-driven so future practices persist automatically, and derived the practice music enable mask from the track selection to prevent drift.
  • Updated Kryon Slider widget to allow a caller-supplied value text (e.g. "1.8x") and bumped the vendored Kryon pointer.
Inner Breeze

Inner Breeze 1.8.18

Changed

  • Fixed Android audio/music import failing with "unsupported audio format": the file picker now preserves the original filename and a correct extension derived from the picked file's MIME type, instead of copying to an extension-less cache path.
  • Fixed long custom music titles overlapping the play/pause and remove buttons in Audio settings by fitting them with an ellipsis.
  • Moved background music selection out of per-practice customization and into Audio settings, with one track dropdown per practice (Wim Hof, Meditation, Sun Salutation), each defaulting to "None" except Meditation.
  • Added a download/redownload button and progress indicator for the bundled meditation music pack directly in Audio settings.
  • Showed the "Music by Elijah_K." attribution under a practice's track dropdown only when a bundled track requiring attribution is selected.
Inner Breeze

Inner Breeze 1.8.17

Changed

  • Updated the WHM tutorial hold preview to use the same progress circle rendering as practice sessions.
  • Fixed manual tutorial navigation arrows to use the centered left and right icons.
  • Fixed habit edit Save so it returns directly to the habits overview, with a smaller Delete action for existing habits.
  • Updated Kryon to allow apps to disable automatic default font loading during UI initialization.
Inner Breeze

Inner Breeze 1.8.16

Changed

  • Fixed first-run guide overlay alignment under the Material theme by using style-aware tab and bottom navigation measurements.
  • Fixed Audio settings scroll height calculation so the page sizes to the actual custom sound, music, output, and import controls.
  • Restored Android 6/API 23 native launch compatibility by extracting packaged JNI libraries for older devices.
  • Updated Kryon to the canonical widget API and refreshed the vendored Kryon pointer.
Inner Breeze

Inner Breeze 1.8.15

Changed

  • Updated Kryon to the clean Kryon-owned app API and Material toggle rendering.
  • Improved Material spacing in settings toggle rows.
  • Updated Habits overview, calendar day cells, and weekly rows to use Material-friendly rounded controls.
  • Disabled app audio initialization while running inside Kryon preview.
Inner Breeze

Inner Breeze 1.8.14

Changed

  • Updated Kryon to the retro-only widget runtime while style selection is paused.
  • Fixed deferred dropdown overlays so Inbe dropdown menus open above later controls.
  • Restored practice carousel left/right navigation and kept session title bars using close buttons.
  • Removed the app-level Animations setting and transition preference storage.
Inner Breeze

Inner Breeze 1.8.13

Changed

  • Split cue and music volume controls so short practice cues stay on `sound_volume` while streamed meditation music uses the new persisted `music_volume` setting.
  • Added an optional WHM retention 30-second marker, defaulting off, with controls in the WHM practice session settings.
  • Moved background playback into Device settings and removed the standalone global Session settings tab.
  • Updated practice music/settings UI and importable settings to include the new audio preferences, including a cue-volume test button.
Inner Breeze

Inner Breeze 1.8.12

Changed

  • Fixed the Wim Hof between-round countdown: round 0 always counts down from 3 (the intentional 3-2-1), and rounds 1+ now honor the user's configured "Pause after round" setting. The breath engine now owns the full session state machine, so auto-play and manual round-advance share one path and final-round results are always persisted.
  • Added desktop keyboard shortcuts for quitting the app: `Ctrl+Q` quits from any screen, and `Esc` quits when idle on the home screen (deeper screens keep their existing Esc behavior). On tray-enabled builds these go through the keep-running/quit prompt; without a tray they exit immediately, matching the window close button.
  • Enabled WAL mode for app storage to improve database concurrency and read/write throughput.
Inner Breeze

Inner Breeze 1.8.11

Changed

  • Reduced bundled font size by switching shipped UI fonts to Kryon-generated Noto subsets.
  • Added Android system font fallback for arbitrary user-entered text while keeping embedded subsets for app UI and non-Android builds.
  • Updated Kryon to provide shared font subsetting tooling and dynamic font fallback loading for downstream apps.
Inner Breeze

Inner Breeze 1.8.10

Changed

  • Migrated `src/storage/import.c` to Kry (`import.kry`, transpiled to `import_impl.c`), following the established `db.kry` pattern; the hand-written `import.h` remains the public contract.
  • Bumped the Kryon vendor to `22afa31` plus a one-line fix (`c26b7ec` on the `fix/platform-thread-stddef` branch) adding `#include <stddef.h>` to `platform_thread.c` so the web build can resolve `NULL`. The bump brings persistent text-input focus, a minimal Kry language (sugar verbs removed), and the new `WidgetButton` UI widget used by the practice screen.
  • Fixed the web/emscripten build: `src/storage/sync_account.kry` now imports `<emscripten.h>` for its `#intrinsic "web"` declaration (which expands to `EM_ASM_INT`), matching the other two files using that intrinsic. This had broken the web build since the original Kry migration.
  • Reworked the desktop close behavior: raylib's built-in ESC-to-exit is now disabled on native/desktop (ESC is handled per-screen, and close goes through our own keep-running/quit prompt when a tray is present); without a tray the window close button quits immediately.
  • Habits editor: added description scroll state so long descriptions scroll correctly.
  • Renamed a shadowed `text` parameter in `copy_text_checked` to `input` for clarity (meditation music path).
  • Various screen and settings UI refinements across habits edit, pet, practice, profile, language, manual, and settings screens.
  • Added `.zcode` to `.gitignore`.

Note

  • Meditation audio asset refresh is held back from this release (requires `git-lfs` to be installed locally before committing); will ship in a follow-up.
Inner Breeze

Inner Breeze 1.8.9

Changed

  • Fixed Android native builds by embedding the current Noto font sources instead of stale generated `assets/fonts/ui.*` files.
  • Fixed Android UI font loading by enabling TTF/OTF support in the Android raylib build.
  • Updated sun-salutation assets to use pose sheets while keeping the figure setting focused on the man sequence for now.
  • Improved release packaging automation, Linux package targets, and store metadata.
Inner Breeze

Inner Breeze 1.8.8

Changed

  • Updated Flint icon integration to use categorized sprite sheets for app UI, language, payments, platforms, tiles, and profile pictures.
  • Updated Inbe to use the new Flint icon categories and removed legacy eye icon usage.
  • Fixed profile picture picker selection so it closes the picker, keeps the sidebar open, and does not click through to sidebar links.
Inner Breeze

Inner Breeze 1.8.7

Changed

  • Fixed Firefox web persistence, mobile habit deletion, and customizable nav tap handling.
  • Added a blank-home easter egg screen and updated embedded asset lists.
  • Updated release and store packaging automation.
Inner Breeze

Inner Breeze 1.8.6

Changed

  • Added Firefox add-on packaging, release metadata updates, and CI/release automation.
  • Improved web audio asset validation and Firefox/LibreWolf smoke testing.
  • Fixed stale screen-local modal state so hidden modals cannot keep input captured after navigation.
Inner Breeze

Inner Breeze 1.8.5

Changed

  • Updated Flint to improve file dialogs, cursor behavior, focus reset, icon slider popups, and shared raylib build locking.
  • Smoothed WHM breath and recovery countdown progress so the ring advances steadily during each breath and countdown.
  • Improved session controls, release-store publishing files, and build packaging metadata.
Inner Breeze

Inner Breeze 1.8.4

Changed

  • Reworked Profile configuration navigation to use a full-width dropdown instead of the tab bar.
  • Updated sidebar return behavior for Profile and Settings flows.
  • Updated Flint profile widgets and profile picture assets, including sidebar profile image sizing and picker scrolling.
Inner Breeze

Inner Breeze 1.7.8

Changed

  • Redesign the Practice home screen around carousel-style practice cards with explicit start, manual, configure, and music actions.
  • Move meditation music configuration into a shared practice music panel with per-practice enablement and track selection.
Inner Breeze

Inner Breeze 1.7.7

Changed

  • Move habit tracking overview out of Profile and into the Habits tab with direct day toggles, reorder controls, and local view persistence.
  • Rework Settings into an overview page with section title bars and shared return/title bar UI.
Inner Breeze

Inner Breeze 1.7.4

Fixed

  • Clean up practice stats, friend removal, sync review, and Android inset handling.
Inner Breeze

Inner Breeze 1.7.2

Added

  • Add local `make install` target.
  • Add Profile controls for habit ordering and practice visibility.

Changed

  • Move sync status into the Data view and simplify the habits add option.
  • Clean up the README.
Inner Breeze

Inner Breeze 1.7.1

Changed

  • Move shared Lyra sync protocol code into Flint and simplify Inbe sync client wiring.
Inner Breeze

Inner Breeze 1.7.0

Changed

  • Rework Android safe-area handling to use one native inset path with stable bottom navigation spacing.
  • Move leaderboard stats to synced source data, with local current-user rows shown immediately.

Fixed

  • Fix profile/friend sync freshness, leaderboard empty states, modal input capture, pet asset embedding, and wrapped text previews.
Inner Breeze

Inner Breeze 1.6.5

Fixed

  • Repair habit-day sync for zero-count completions.
  • Require liboqs at build time for every sync-enabled target.
Inner Breeze

Inner Breeze 1.6.4

Changed

  • Move meditation duration selection into practice configuration with custom time support.
  • Add centered in-session meditation add-time controls.
  • Use Flint-managed liboqs, LibreSSL, and curl build paths.

Fixed

  • Fix Android native build to use Flint's liboqs submodule.
Inner Breeze

Inner Breeze 1.6.0

Added

  • Sun Salutation practice with Yoga habit sync support.

Changed

  • Improve sync reliability and review handling.
Inner Breeze

Inner Breeze 1.5.4

Changed

  • Use Flint-managed modal handling so modal dialogs block background input consistently.
  • Add optional sync account aliases, with compact public ID display and full ID reveal modal.
  • Make sync state tracking more robust with snapshot hash checks and review flow for unresolved differences.
  • Use Flint's built-in font chopping pipeline and verify multilingual locale glyph coverage.
Inner Breeze

Inner Breeze 1.4.9

Fixed

  • Fix Practice startup, manual navigation, configuration scrolling, and sync backfill issues.
  • Add skip feature to on screen guide
Inner Breeze

Inner Breeze 1.4.7

Changed

  • Rework Practice into Manual, start, and configuration tabs with a new localized first-run guide.
  • Simplify Meditation's manual to one page and make bottom navigation more compact.
Inner Breeze

Inner Breeze 1.4.6

Changed

  • Move habit weekly, monthly, statistics, and edit views into icon tabs under the habit selector.
  • Improve Flint form, modal, tab, and scrollbar widgets for measured layouts and cleaner scrolling.

Fixed

  • Prevent habit info modal text from overlapping the OK button.
Inner Breeze

Inner Breeze 1.4.4

Added

  • Add Russian localization.
  • Add a habit stats view with streak, recent activity, weekday, and linked-practice diagrams.
  • Add optional in-session volume controls, hidden by default.
  • Add Mint and Cobalt themes.

Changed

  • Use one canonical pixel font atlas with Flint-managed DPI scaling and cleaner title sizing.
  • Simplify habit counting so multiple counts are opt-in and independent of linked practices.
  • Improve habit weekly/calendar spacing, mobile calendar touch feedback, and theme picker ordering.
  • Reorganize repeated screen UI into reusable Flint helpers.

Fixed

  • Build the Ubuntu Touch Click package with the OpenStore package id
  • Refactor code base
  • Sync habit multiple-count settings correctly across clients and preserve queued local habit edits.
  • Preserve linked session day behavior while hiding redundant count badges.
Inner Breeze

Inner Breeze 1.4.3

Fixed

  • Refresh expired native sync auth tokens before sending queued changes.
  • Require first-time meditation users to continue through the tutorial before starting.
Inner Breeze

Inner Breeze 1.4.2

Fixed

  • Improve sync auth, websocket reconnects, and queued habit/session updates.
  • Reduce SQLite-related UI flicker and speed up bulk import sync queueing.
  • Fixed dropdown menus so temporary option lists cannot crash theme/device selection.
  • Fixed Linux test and release builds to link against the vendored curl library path.
Inner Breeze

Inner Breeze 1.3.6

Fixed

  • Fixed Tickmate `.db` imports so zero-based months map correctly and long habit histories load without dropping later dates.
Inner Breeze

Inner Breeze 1.3.5

Fixed

  • Improved Android data import for `.db` backups, weekly habit rows, and import conflict handling.
Inner Breeze

Inner Breeze 1.3.4

Changed

  • Reorganized WHM and Meditation into practice-owned modules for cleaner code boundaries.
  • Split the meditation manual into an image intro page and a shorter music/gong setup page.
  • Expanded release automation to build Web, Linux AppImage, Windows, APK, and AAB artifacts after tests pass.
Inner Breeze

Inner Breeze 1.3.3

Fixed

  • Import now restores habits, habit sync settings, and optionally app settings from Inbe SQLite exports.
Inner Breeze

Inner Breeze 1.3.2

Fixed

  • Unified scroll containers so content stays out of scrollbar tracks and scroll positions clamp cleanly at the bottom.
  • Android meditation audio downloads now show a localized network-permission/connectivity modal when the host cannot be resolved.
  • Windows builds now support runtime meditation audio downloads.
Inner Breeze

Inner Breeze 1.3.0

Added

  • Implemented 1-bit habit tracker synced with practice data
  • Habit editing, custom colors, sync options, and deletion.
  • Add monochrome theme
  • Add simple meditation exercise with background music
Inner Breeze

Inner Breeze 1.2.6

Fixed

  • Import now replaces only matching session files from the ZIP and never removes local sessions missing from the import.
  • Fixed web scaling behavior.
Inner Breeze

Inner Breeze 1.2.4

Fixed

  • Android sessions continue correctly when the notification shade causes focus loss with background playback enabled.
  • Android safe-area insets now offset the viewport at the top instead of creating bottom-only padding.
  • Progressive start speed defaults to 3, normal speed defaults to 6, and the start speed editor preview animates at the exact selected speed.
  • Dropdown menu text is clipped cleanly while scrolling.
Inner Breeze

Inner Breeze 1.2.3

Fixed

  • History editing now scrolls to the active field once and keeps 16px Unifont row text aligned without clipping.
Inner Breeze

Inner Breeze 1.2.2

Fixed

  • Android touch targets now align correctly on devices with navigation bar window insets.
Inner Breeze

Inner Breeze 1.2.1

Added

  • Breath hold display mode setting with circle progress or stopwatch display
  • Slower speed scale and progressive start speed control
Inner Breeze

Inner Breeze 1.2.0

Added

  • Flint-based UI and theme system
  • Session volume slider with immediate persistence
  • Additional language support: Czech (Čeština), Indonesian (Bahasa Indonesia), Japanese (日本語), Korean (한국어), and Chinese (中文)
  • Proper font glyphs
  • File picker for import
Inner Breeze

Inner Breeze 1.1.9

Added

  • Hierarchical settings organization with 3 main categories
  • Category selection screen with card-based navigation
  • Back button for hierarchical navigation

Fixed

  • Settings navigation state and Android back button behavior
Inner Breeze

Inner Breeze 1.1.8

Added

  • Editable history days with pencil actions for sessions and rounds
  • Inline history editing for session time and round seconds with cursor movement, click-to-position, validation, and save action
  • Confirmation modal before deleting history sessions or rounds
  • Sound settings page and optional advanced session controls setting

Fixed

  • Incomplete or zero-second rounds are discarded instead of being saved or shown in results
  • History edit view no longer shows average time on session rows
  • Tutorial and navigation buttons resize more reliably across narrow viewports
  • Reduced excessive page side padding and improved small-screen layout behavior
Inner Breeze

Inner Breeze 1.1.7

Added

  • First-run language picker and in-app language switching
  • Spanish, French, and Portuguese translations
  • Localized Android/F-Droid metadata for German, Spanish, French, and Portuguese
  • Explicit Save Results and Discard actions on the results screen

Fixed

  • Language dropdown now renders above other controls
  • Tutorial blank lines now render correctly from locale files
  • Preview breathing circle now reflects the selected speed directly
  • History round details now appear directly under the selected session
  • Removed confusing delete button from history session rows
Inner Breeze

Inner Breeze 1.1.6

Added

  • Background meditation timer - sessions continue when screen is off
  • "Play in background" toggle in breathing settings (Android only)
  • Android wake lock support with user control
  • Background sound playback

Fixed

  • Meditation pausing when screen turns off
  • Thread synchronization issues between main loop and background timer
  • Toggle button now uses theme colors instead of hardcoded colors
Inner Breeze

Inner Breeze 1.1.5

Fixed

  • Results page layout improvements: - Consistent side padding (32px) across all pages - Increased spacing between average time and round times - Left-aligned round times for better readability - Fixed scrollbar appearing prematurely (corrected height calculations) - Accurate content height measurements for better scroll behavior
  • Dropdown menu hover highlighting no longer clipped at bottom edge
  • Text layout height calculation now matches actual rendered height
  • Tutorial page content height calculations fixed (no more premature scrollbars)
Inner Breeze

Inner Breeze 1.1.4

Added

  • Proper text reflow with word wrapping

Fixed

  • GitHub releases and F-Droid builds now include all assets
Inner Breeze

Inner Breeze 1.1.3

Fixed

  • Icon button fallback system - buttons now render with procedural graphics when asset images fail to load (prevents empty buttons on devices with asset loading issues)
  • Added UIIconType system for icon identification and fallback rendering
  • Updated all icon button functions to support fallback graphics (ui_draw_icon_btn, ui_draw_icon_btn_padded, ui_draw_icon_link, ui_draw_nav_button, ui_draw_nav_button_expand)
Inner Breeze

Inner Breeze 1.1.1

Fixed

  • Slider focus now properly releases when mouse button is released (prevented adjusting sliders when clicking outside)
Inner Breeze

Inner Breeze 1.1.0

Added

  • Tiny version bump

Fixed

  • Changelog extraction now correctly populates fastlane metadata
Inner Breeze

Inner Breeze 1.0.9

Added

  • Android share sheet for data export (native Intent integration)
  • Direct sharing to Telegram, Downloads, or any app that handles ZIP files
  • FileProvider support for secure file sharing on Android 7.0+

Fixed

  • ZIP export now uses native Android share sheet instead of saving to private storage
  • JNI class loading fix for ShareHelper on native threads
Inner Breeze

Inner Breeze 1.0.8

Added

  • Android back button support with screen-aware behavior
  • Confirmation modal when exiting active sessions (Save & Exit, Discard, or Cancel)
  • Session data preservation: completed rounds can be saved before exiting

Fixed

  • Modal text word wrap to handle last word correctly
  • Back button closes modal (cancel action) when pressed during confirmation
Inner Breeze

Inner Breeze 1.0.7

Added

  • F-Droid metadata (screenshots, feature graphic, icon)
  • Automatic version tag generation for releases
  • Fastlane changelog integration
Inner Breeze

Inner Breeze 1.0.6

Fixed

  • Bell now plays before the last breath (at maxbreaths - 1) instead of after
  • Session history not loading and potential segfault due to path buffer overflow (increased HISTORY_PATH_SIZE from 96 to 256)
  • Tutorial text clarified to explicitly mention Wim Hof Method
Inner Breeze

Inner Breeze 1.0.5

Added

  • Theme system with 8 color themes (Forest, Ocean, Sky, Sunset, Lavender - each with light/dark variants)
  • Settings dropdown menu for easier navigation
  • Improved fullscreen mode with better DPI scaling

Fixed

  • Touch input scaling for dropdown menus and toggle switches
  • Tab bar positioning on Android (now accounts for system navbar)
  • Removed toggle switch circle indicator for cleaner UI
Inner Breeze

Inner Breeze 1.0.4

Added

  • Centralized icon size management system (SMALL, MEDIUM, LARGE)
  • Standardized icon button functions for consistent sizing

Fixed

  • Improved accessibility with larger icons for older users (+25-37%)
  • DPI scaling for all button padding and bevel borders on mobile
  • X button positioning and scaling on high DPI screens
  • Button dimensions and icon centering across all screens
  • Missing icons (telegram, globe, stripe, monero, home, trash) in WebAssembly build
Inner Breeze

Inner Breeze 1.0.3

Fixed

  • Improved DPI scaling for scrollbars (width and thumb height now scale properly)
  • Fixed scrollbar not appearing on tall viewports/settings screens (content height now scales correctly)
  • Fixed X icon too small on mobile (increased max size from 18px to 28px for better touch targets)
  • Improved scrollbar thumb touch hit area for easier grabbing
  • Fixed missing breath sounds during recovery phase (breath in at start, breath out after 15-second hold)

Added

  • Added external links in settings (Telegram, Website, Monero, Stripe donation)
  • Added content-area drag scrolling for mobile (click and drag anywhere to scroll)
Inner Breeze

Inner Breeze 1.0.2

Fixed

  • Fixed "Starting in" countdown text positioning (now displays above circle)
  • Fixed first round to always use 3-second countdown regardless of settings
  • Fixed slider knob vertical centering (DPI scaling issue)
  • Fixed slider touch hit area scaling for better mobile interaction
  • Fixed speed meter position in tutorial (removed double DPI scaling)
  • Fixed results screen DPI scaling for consistent appearance
Inner Breeze

Inner Breeze 1.0.1

Fixed

  • Fixed WebAssembly local storage persistence
  • Updated Android target SDK version
Inner Breeze

Inner Breeze 1.0.0

Added

  • Initial release
  • Breathing exercise tutorial with 5 steps
  • Configurable settings: speed (1-9), rounds (1-10), breaths (15-80), pause duration (0-30s)
  • Session history tracking and statistics
  • Support for Linux, Windows, Android, and WebAssembly platforms