Geo-Harbor

News & changes

All updates, new features and bug fixes in Geo-Harbor.

📱

App

0.7.32July 19, 2026LATEST
  • NewShare straight to Geo-Harbor from other apps: the app now appears in the Android share menu. Share a screenshot, several images or a link to it and the chat overview opens, where you tick which group chats and people should receive it — several at once and across all your groups — write a comment and send it all in one go.
0.7.31July 19, 2026
  • NewLegend for the map layers: a button at the bottom left expands a panel showing what the colours mean in the layers you have enabled — rain intensity scale, nature reserves and national parks, and the full colour list for land cover.
  • FixGone are the grey boxes labelled ”Zoom Level Not Supported” that covered the map: they came from the map service itself when zoomed in further than it has data for. The layer is now hidden automatically at those levels and a clear message is shown instead, for example ”Zoom out to see rain”.
0.7.30July 19, 2026
  • NewNew map layers to put on top of the map: under ”Select map type” there is now a ”Layers” section where you can freely enable hillshade, rain radar, protected nature (nature reserves and national parks), land cover (NMD) and hiking trails. The layers can be combined with any base map — including the vector map and your own map sources — and your choices are saved for next time.
0.7.29July 19, 2026
  • SecurityStronger protection of location data: the app now authenticates all position and history requests with the device security key, including background tracking, and the server verifies that the sender actually owns the membership. This makes it impossible to submit positions in someone else's name.
  • FixOffline sync in the built-in tracking layer now also sends positions in smaller parts — the last remaining path where very long offline tracks could get stuck during sync.
0.7.28July 19, 2026
  • FixFixed syncing of long offline tracks getting permanently stuck: very large position batches were rejected by the server (request too large) and stayed queued forever. Positions are now sent in smaller parts, so even many hours of offline tracking sync reliably once coverage returns.
0.7.27July 19, 2026
  • FixFixed GPS tracks looking different in different groups: background tracking only sent positions to the active group. All groups with GPS sharing enabled now receive the same track, even when the app is in the background.
0.7.26July 19, 2026
  • ImprovedRoads on the vector map are now clear even when zoomed far out: motorways are visible from the all-of-Sweden view, major roads from regional level, and minor roads are drawn thicker and with better contrast as soon as they exist in the map data.
0.7.25July 19, 2026
  • ImprovedRoads on the vector map (Map/Map dark) are now visible much earlier when zoomed out — major roads are clear already at county level and minor roads appear as soon as the map data allows, instead of only showing up when zoomed far in.
0.7.24July 19, 2026
  • NewChat button right on the map: new button in the right-hand column, above the members button, opening the chat overview — with a red dot when there are unread messages.
  • FixFixed names in the share menu (share marker to group chat or a member) being invisible with the light theme.
0.7.23July 19, 2026
  • NewShare a marker with any recipient: when sharing a location in chat you now choose whether to send it to the group chat or directly to a single member.
  • NewShared locations in chat are clickable: tap ”Show on map” in the message and the chat closes and the map centres on the location — if the marker still exists it opens directly.
0.7.22July 19, 2026
  • NewNavigate to a group member: tap the member's icon on the map and choose ”Navigate here” — your navigation app opens with directions to the member's position.
  • NewShare markers: tap a marker on the map and choose ”Share” — send the location as a message in the group chat or share it via any app using the Android share sheet.
0.7.21July 19, 2026
  • NewGroup chat button at the bottom of the member list, next to Map view statistics — opens the active group's chat directly.
  • ImprovedChat messages not from today now also show the date (e.g. ”18/7 14:32”) in the group and hunt chats, just like in direct messages.
0.7.20July 19, 2026
  • FixFixed the group chat and hunt chat showing message times in server time (UTC) instead of your local time — times were two hours off during Swedish summer time.
0.7.19July 19, 2026
  • ImprovedThe chat overview now shows the group name clearly — the same name as at the top of the map view — both as section header and on the group chat row.
0.7.18July 19, 2026
  • NewNew Telegram-style chat overview: the Messages menu item now shows all your groups with group chat and members in one combined list — tap the group for the group chat or a person to message them directly, with last message and unread counters per conversation.
  • NewMessage button in the member list: tap the chat bubble next to a group member to open the chat directly.
0.7.17July 19, 2026
  • FixFixed the map possibly still looking empty or incomplete even after the map style fix in 0.7.16 — old incorrectly rendered map tiles remained in the phone's cache and were reused. The cache is now refreshed automatically so roads, cities and street names show immediately.
0.7.16July 19, 2026
  • FixFixed the ”Map” style showing an almost empty map — roads, cities and place names were missing. The map style did not match the new map service's data format. Everything renders correctly again, and place names are now shown in Swedish. Already downloaded offline areas do not need to be re-downloaded.
  • ChangedThe ”Smart” GPS mode is now the default for new installations — frequent position updates while moving, near-zero battery use while standing still. If you have chosen a mode yourself, your choice is kept.
0.7.15July 19, 2026
  • ImprovedMore robust offline map downloads: the number of simultaneous connections is capped (gentler on the server) and transient network errors are retried automatically instead of aborting the whole download.
0.7.14July 19, 2026
  • NewName your property boundaries: when drawing or importing a boundary you can now give the hunting ground a name (e.g. ”North section”). The names are shown when choosing a hunting ground for offline download.
  • NewNew ”Property boundaries” list under Property in the menu: see all hunting grounds with name and area (hectares), rename, show on the map or delete.
0.7.13July 18, 2026
  • FixFixed the list not updating when an offline area was deleted — deleting large areas could take an unreasonably long time due to a missing database index. A spinner is now also shown while deletion is in progress.
  • NewPause button when downloading offline areas: everything already fetched is kept and the download can be resumed at any time with the play button.
  • NewUpdate button on completed offline areas: re-downloads the area with the latest map data from the server (the server map is updated roughly once a month).
0.7.12July 18, 2026
  • ImprovedIf the group has several hunting grounds drawn, a list now lets you choose which one to download offline — with area and estimated size per hunting ground. The download options also got explanatory subtitles.
0.7.11July 18, 2026
  • FixFixed the app crashing when starting the download of a large offline area — the download is now processed in small batches and handles even very large areas (hundreds of thousands of map tiles) without running out of memory.
0.7.10July 18, 2026
  • NewOffline maps: download areas of your choice (current map view or the hunting-ground boundary) and use the vector map entirely without coverage — with a size estimate before download and management under ”Offline maps” in the menu. A typical hunting ground takes 25–60 MB.
  • ImprovedThe vector map (Map/Dark map) is now served from Geo-Harbor's own map service and works even when starting without a connection — previously the map could fall back to a simpler map when the style could not be fetched.
0.7.9July 18, 2026
  • ImprovedThe map cache is now stored permanently instead of in the phone's temporary storage — map tiles you have already viewed remain after app restarts, even if Android or a cleaner app clears the cache. The vector map keeps tiles for 90 days.
0.7.8July 18, 2026
  • FixFixed photos never showing when opening a marker via ”My markers” in the menu — the image address was built incorrectly in that view. The view now also shows all photos when a marker has several.
0.7.7July 18, 2026
  • FixFixed photos on markers and in chats getting stuck as ”broken image”: a damaged entry in the phone's image cache was never re-fetched. The app now automatically clears the cache entry when an image fails to display, so it is re-downloaded next time.
0.7.6July 18, 2026
  • ImprovedPhotos are now downscaled in the app before upload (max 1920 px) — faster uploads and less data usage, especially on mobile networks.
0.7.5July 18, 2026
  • FixThe map now opens at your last known position after a restart instead of the default location — the position is saved continuously and restored even if Android closed the app in the background.
  • FixFixed the map sometimes staying at the startup location even after your real position was found.
  • FixMarkers can no longer end up in the wrong place before a GPS fix is found — the app now shows a message that your position hasn't been found yet.
  • FixFixed hunt markers being duplicated when re-sent after the app had been offline or closed in the background.
0.7.4July 14, 2026
  • ImprovedMajor internal restructuring of the app's code enabling more stable and faster future development — no functional changes in this release.
0.7.3July 14, 2026
  • NewNew ”Smart” GPS mode: automatically adapts position updates to how you move — near-zero battery use while standing still, and more frequent updates when walking, cycling or driving.
0.7.2July 11, 2026
  • NewSmooth watch pairing using PIN codes: Start the watch, type the 6-digit code in phone profile settings and the device ID syncs automatically over the internet.
  • FixFixed a crash at app startup when location access was missing — the app now always asks for location access first, even when auto-logging into your group.
0.7.1July 7, 2026
  • NewSupport for multiple photos per map marker: Add and delete multiple images during edit, and swipe between them in the detail view.
  • ImprovedMap markers created from the watch are now saved as regular editable markers instead of locked group passes.
  • FixFixed timestamp bug and coordinate formatting (Swedish commas) when transferring from Garmin watches to the server.
0.7.0July 7, 2026
  • NewLaunched integration with Garmin watch app (Connect IQ): Create passes directly, view hunt members with bearing arrow and distance, and fall detection with automatic SOS alarm.
  • ImprovedScent cone/wind on the watch now fetches live wind data (speed and direction) directly from Yr.no synchronized with the phone app.
0.6.35July 7, 2026
  • NewAdded display of connection IDs (Group ID, Member ID, Device ID) with quick copy buttons in Profile settings to easily configure the Garmin Connect IQ watch app.
0.6.34July 7, 2026
  • ImprovedNow shows the exact time a member's last position was saved in the database directly in the group members list (e.g. 'Active now • Still (Verified at 11:20)'). This also applies to yourself so you know exactly what others in the group see.
0.6.33July 7, 2026
  • NewAdded a server connection status icon in the top row next to the refresh button, showing if the phone has verified contact with the server through Cloudflare.
0.6.32July 7, 2026
  • NewAdded interactive help for all individual tool buttons on the bottom toolbar in the forest inventory.
0.6.31July 7, 2026
  • ImprovedSimplified the forest inventory toolbar by moving category selection directly to the map click dialog, increasing button spacing.
0.6.30July 7, 2026
  • FixFine-tuned the forest inventory layout to prevent overlapping between buttons, map scale, and the phone's bottom notch.
0.6.29July 7, 2026
  • NewAdded interactive help mode for forest inventory sessions.
  • NewNew menu option 'Menu Help' which opens a separate guide for all options in the side menu.
0.6.28July 6, 2026
  • ImprovedImproved contrast and readability of the help mode banner regardless of app theme.
0.6.27July 6, 2026
  • NewInteractive help mode via '?' on the main map screen with pulsing overlays and descriptions of all map buttons and features.
0.6.26July 6, 2026
  • NewInteractive help mode via '?' in the hunting view with pulsing icons and descriptive bottom sheets for all buttons.
  • NewCentral 'Permission Status' page in the side menu showing status of GPS, background location, and activity recognition with blue checkmarks and yellow warnings.
  • ImprovedAdded a warning popup at app start if Activity Recognition (for battery optimization) is disabled, with an option to not show again.
0.6.25July 6, 2026
  • NewNew 'Premium Features' menu item centralizes and shows all available premium services (Hunting module, Forest inventory, Premium icons) with descriptions, license status, and order links inside the app.
  • ChangedThe 'Choose map icon' menu item has been moved under 'Settings' to keep the main menu cleaner.
  • FixFixed the hunting module description to no longer incorrectly mention dog location tracking.
0.6.23July 6, 2026
  • ImprovedLocation sharing now recovers automatically if Android has killed the app in the background: the server sends a silent wake-up signal when your device goes quiet, and the app restarts GPS sharing within seconds — no action needed. (Exception: if the app was force-stopped via Settings, Android cannot wake it — open the app again.)
  • FixThe persistent 'Sharing your location in the background' notification could show even though it is meant to be hidden. The notification is now fully invisible again — GPS sharing works exactly as before, and the status-bar location icon still shows when sharing is active.
0.6.22July 6, 2026
  • NewYour profile now shows the expiry date for your premium features (Premium icons, Hunting module, Forest inventory), with an Order/Renew button that opens geo-harbor.se with your account pre-filled.
  • ImprovedThe locked premium-icon dialog now has a real Order button instead of just asking you to visit geo-harbor.se manually.
0.6.21July 5, 2026
  • FixTapping your own track showed your device ID instead of your nickname — now shows the correct name, just like for other members.
  • ImprovedEasier to hit a track with a tap — the hit area now adapts to the zoom level instead of being a fixed ground distance.
  • ImprovedSmall dots now appear along tracks when zoomed in, showing exactly where each reported position is. The tapped point now lights up to confirm which one you hit.
0.6.20July 5, 2026
  • FixThe app sometimes showed a warning to disable battery optimization even though the setting was already correct. The warning now checks the actual battery state before showing, instead of just assuming the cause. Also fixed a leak in the local cache for locations that couldn't be sent right away.
0.6.19July 5, 2026
  • FixForest inventory: the report contained garbled text where category emoji should be, and lacked a map showing where the observations are located. The report now includes an overview map with numbered markers (PDF and Word), and observations are listed with category names instead of emoji.
  • FixForest inventory: after 'End', you now land on the session list so the report can be created right away.
0.6.18July 5, 2026
  • FixThe map compass was hidden behind the 'follow me' button while a forest inventory session was active. The whole right-side button column now moves down together.
0.6.17July 5, 2026
  • FixForest inventory: 'Walk route' and 'Track walk' recorded no points if the screen was locked. Now reads position back from the same background service that already shares your location continuously — works correctly with the screen locked.
0.6.16July 5, 2026
  • FixForest inventory: dialog button text could become invisible depending on the phone's system theme — now always forces correct contrast. Also added: 'End' now actually saves the session as completed on the server (not just locally), and a whole session can now be deleted (by whoever started it) via the menu in the session list.
0.6.15July 5, 2026
  • FixForest inventory: the active-session banner visually collided with the weather widget at the top of the map. The weather widget, compass, etc. now automatically move down when a session is active. The draw-area/draw-route and manage-categories buttons had also lost their text labels — visible again.
0.6.14July 5, 2026
  • FixForest inventory: category button text could become unreadable against certain category colors, and the draw-area/draw-route buttons were hidden at the end of the category list. Now always visible and readable. Also fixed selecting a category + tapping the map to actually create a point marker.
0.6.13July 5, 2026
  • NewForest inventory (premium): start an inventory session and draw point and area markers directly on the map with customizable categories (bark beetle, thinning needed, storm damage, etc.). Attach photos with captions, track your walk with GPS, and share a PDF or Word report with the group. Works offline in the field — syncs automatically once connected.
0.6.12July 5, 2026
  • FixGroup chat: images were sometimes incorrectly deleted right after sending, before the recipient had a chance to see them (especially in two-person groups). Images are now kept until all actual recipients have viewed them.
0.6.11July 4, 2026
  • NewPrivate messages: you can now message an individual group member directly, just like most messaging apps. Reachable via the new 'Messages' menu entry (group chat + all personal conversations in one list).
  • NewMap: the menu shown when tapping a group member's icon now has explanatory text under each option, plus two new shortcuts: 'See weather here' and 'Send message'.
0.6.10July 4, 2026
  • FixMap: the weather picker now works again when tapping a group member's icon (had stopped working since the member icon got its own menu for creating markers/zones).
0.6.9July 4, 2026
  • NewPositions: the app now detects if your phone throttles it in the background (sparse track / big jumps) and guides you to the right battery setting.
0.6.8July 4, 2026
  • ImprovedMap: track lines are now drawn as smooth curves instead of straight segments — continuous lines without kinks (no battery impact).
  • ImprovedPositions: reduced background batching so positions are delivered more evenly (fewer large jumps between points).
0.6.7July 4, 2026
  • NewMap: tap a member's icon to quickly create a marker or a place zone where they are.
  • NewLone worker: you can now reach the watch chat even after the alarm is over via 'Watch history' — see who watched and when.
  • ImprovedLone worker: chat messages now show the time (and date for older sessions).
  • ImprovedMenu reorganized: Hunt, Group chat and Lone worker at the top, Property moved under Settings.
0.6.6July 4, 2026
  • ImprovedLone worker: the confirmation notification now reads 'Lone worker' and 'X is watching' (previously 'You are being watched' / 'X is watching you').
0.6.5July 4, 2026
  • ImprovedAvatars: Loot Llama now has its hind legs back, and all birds (eagle, falcon, capercaillie, etc.) are shown from above (dorsal view) for correct map orientation.
0.6.4July 4, 2026
  • FixThe SMS feature is hidden for now. Android no longer lets apps like this send SMS, so the feature did not work in practice. Group alarms and push notifications are unaffected.
0.6.3July 4, 2026
  • ImprovedAvatars: regenerated the cat and viking (including axe) to ensure no parts disappear during background removal.
0.6.2July 4, 2026
  • ImprovedAvatars: all birds (eagle, falcon, capercaillie, etc.) now fly in a top-down perspective so their beak points in the direction of movement on the map.
  • ImprovedAvatars: recreated and fine-tuned problematic figures (helicopter, tractor, kayak, sailboat, Battle Royale characters, arctic fox with full tail, reindeer with antlers, beaver with legs, dog's ear) for perfect transparency.
0.6.1July 3, 2026
  • ImprovedAvatars: all premium avatars now have fully transparent backgrounds (removed dark backgrounds) for cleaner map symbols.
0.6.0July 3, 2026
  • NewPositions: a new smoothing filter (Kalman) gives smoother tracks on the map and removes false GPS jumps — without using more battery.
  • FixPositions: stricter accuracy requirement in the background (40 m instead of 100 m) so coarse, inaccurate fixes are no longer drawn as jumps.
0.5.81July 3, 2026
  • FixThe background notification now shows as ONE clear notification ('Geo-Harbor – Sharing your location') instead of two empty 'Expand to show' entries.
0.5.80July 3, 2026
  • NewHunt: the hunt leader can now delete a finished hunt from the history (Delete button on the hunt card). All hunt data is permanently removed.
0.5.79July 3, 2026
  • FixLone worker: the button in the dialog shown when the alarm is activated is now labelled 'OK' (matching the text) instead of 'Close'.
0.5.78July 3, 2026
  • FixLone worker: the watch screen now always shows a clear 'I'm watching' button — previously an old acknowledgment could hide it so you couldn't confirm.
0.5.77July 3, 2026
  • FixLone worker: the 'I'm watching' / 'Can't' buttons now work even when the app is open — previously nothing happened when tapped.
  • NewLone worker: a clear banner now appears on the map when a group member is working alone — tap it to watch and acknowledge. The watch screen is now easy to find.
0.5.76July 3, 2026
  • FixLone worker: when you tap 'I'm OK' after the alarm has fired, the group now receives a clear 'All clear' message.
0.5.75July 3, 2026
  • FixLone worker: the warning now properly wakes the phone — sounds through Do Not Disturb and lights the screen so you can acknowledge before the alarm fires.
  • FixLone worker: the 'I'm watching' / 'Can't' buttons now work directly on the notification when someone starts lone working.
  • NewLone worker: you now see immediately when a group member confirms they are watching you.
  • NewLone worker: when a watcher accepts, an alarm clock is set on the watcher's phone that rings loudly if you don't check in — and is cancelled automatically if you call off the alarm.
0.5.74July 3, 2026
  • FixLone worker: the alarm now uses an exact alarm clock that breaks through even when the phone is locked and in battery-saver/Doze mode — previously the alarm could be delayed several minutes.
  • FixLone worker: the group alarm now shows even if the recipient's app is closed or dormant.
  • NewLone worker: if no group member confirms 'I'm watching' within 3 minutes, the group is alerted again with an escalated warning.
  • NewLone worker: a setup guide helps you configure battery/autostart so the alarm reliably works on all phones.
  • SecurityLone worker: more robust alarm delivery with automatic retries and protection against duplicate alarms.
0.5.73July 3, 2026
  • FixHunt: FCM invite now works correctly — One joins the hunt automatically on tap.
  • NewHunt: Tap a historical hunt to see a full detail view with map, tracks, markers, participants and event log.
  • NewThe scent cone now shows animated pulsing waves flowing outward in the wind direction.
  • NewHunt: Passes are now group-level markers — created with a name, always visible on the map, and reused in future hunts.
  • NewHunt: New hunt name now defaults to today's date (e.g. 2026-07-03).
0.5.72July 3, 2026
  • FixHunt: The SOS button is now labelled 'Hjälp!' and emergency messages use 'Hjälp!' instead of 'SOS'.
  • NewHunt chat: messages containing a position (Pos: lat, lng) are now tappable to view the location on a map.
0.5.71July 3, 2026
  • FixHunt: tapping an FCM invite now lands on a page with a 'Join hunt' button. The invite code is pre-filled automatically.
0.5.70July 3, 2026
  • FixHunt: group members who had not formally joined the hunt got a 403 when fetching hunt info — fixed. They now see a 'Join hunt' button instead.
0.5.69July 3, 2026
  • FixGroup chat: FCM notifications are now sent as data-only (silent) messages — eliminates duplicate notifications and ensures tapping the notification opens the chat directly.
  • FixGroup chat: images deleted from server (after all members have viewed them) no longer disappear from local chat history — they remain visible from the device cache.
0.5.68July 3, 2026
  • NewNew group chat always available in the menu — text and images, read receipts with initials, FCM notifications, images auto-deleted from server when all members have viewed them.
  • NewWatch chat: sending a message now triggers an FCM notification to all group members with direct access to the chat.
  • NewLone worker: 'Watch chat' button added to the alarm dialog for the lone worker so they can see who has responded.
  • FixMap in alarm sheet and watch chat showed 403 errors from OpenStreetMap due to missing user-agent — fixed.
0.5.67July 2, 2026
  • NewLone worker: all group members now receive a notification when lone worker alarm starts, with direct action buttons 'I'm watching' and 'Can't watch' — silent confirmation without opening the app.
  • NewLone worker: a new watch chat opens when tapping the notification — shows who confirmed and a shared discussion forum for the group.
0.5.66July 2, 2026
  • NewLone worker: tapping the alarm notification now opens a screen with a map showing the lone worker's last known position and instructions on how to respond.
0.5.65July 2, 2026
  • FixLone worker: countdown restarted from 60s when opening the app via notification — remaining time is now correctly calculated from when the alarm actually triggered.
  • NewLone worker: the alarm notification now plays a distinct beep sound (880 Hz, channel lw_alarm_v4) instead of the system notification sound.
0.5.64July 2, 2026
  • FixHunt module: if the hunt ended while the app was closed/backgrounded, it is now automatically cleared on the next sync — non-leaders were previously stuck in an ended hunt with no way to exit.
0.5.63July 2, 2026
  • NewLone worker: the alarm sound now plays on the alarm audio stream (like an alarm clock) and is not muted by silent/vibrate mode — applies to both countdown warnings and the alarm sent to the group.
  • FixLone worker: notification channel updated to 'lw_alarm_v2' with correct alarm audio attributes.
  • FixLone worker: the alarm sent to group members (when no check-in occurs) now shows a full-screen alarm notification with sound.
  • NewLone worker: the beep tone escalates to a longer sound in the last 10 seconds of the countdown.
0.5.62July 2, 2026
  • FixGeofencing: zone notifications are now sent via FCM only — duplicate local notifications generated by the app on position updates have been removed.
  • NewGeofencing: the notification now includes the time (HH:MM) so you can see exactly when a person crossed the zone boundary.
0.5.61July 1, 2026
  • NewPDF hunt report: download a complete report with participants, catches, events and statistics directly from history.
  • NewScent cone toggle: turn scent cones on/off with new map button (waves icon, green = active).
  • NewPass status shown more clearly in hunt view: your own pass card shows whether you're at a stand or moving freely.
0.5.60July 1, 2026
  • NewInvite participants: hunt leader can invite group members at start or during the hunt — they receive an FCM notification with the hunt code and join with one tap.
  • NewScent cone: semi-transparent cone on the map shows the downwind scent direction (based on weather data). Visible during active hunt for you and other participants.
  • NewStand attendance: automatic check-in when within 20 m of a stand marker and check-out when moving more than 50 m away.
  • NewExtended marker types: shot fired, blood trail, animal track, dog loose/found, danger/warning and gathering point. All with unique icons and colors on the map.
  • NewSOS button: tap to send emergency signal with quick choices (injured, lost, accident, weapon accident). Sends chat message + danger marker to all participants.
  • NewExtended catch registration: now select sex (male/female), age class (calf, juvenile, adult), carcass weight in kg, and shooter from participant list.
0.5.58July 1, 2026
  • FixHunt seasons: cross-year seasons (e.g. Oct 12 – Feb 15) were incorrectly validated for dates in Jan–Feb — now fixed.
  • FixHunt history: catch count was incorrectly multiplied by the number of participants (Cartesian product in SQL query) — now fixed.
0.5.57July 1, 2026
  • NewGame sighting: choose species from dropdown (Moose, Deer, Wild boar etc.) and/or enter free text — both shown in the marker info card on the map.
  • NewPhoto for markers: take a photo with the camera or pick from the gallery when registering a catch or game sighting. Photo is uploaded and shown in the info card.
  • NewTap a hunt marker on the map to see details: type, species, count, creator, time, and optional photo.
  • FixHunt marker icon shadows were floating over the map — fixed by using BoxDecoration.boxShadow instead of Icon.shadows.
0.5.56July 1, 2026
  • NewOffline cache for hunt markers: pass, catch, game sighting and shooter positions are saved locally without connectivity and synced automatically when the network is available again (max 30 sec delay). Map updates immediately after sync.
  • FixHunt banner on map: chat icon and marker button (💬 and 📍+) are now separate buttons in the right column — no more overlap with the map attribution icon.
0.5.54July 1, 2026
  • NewHunt banner on the map now has quick action buttons: chat icon opens hunt chat directly, + adds a map marker (catch, game sighting, shooter position, pass) without leaving the map.
0.5.53July 1, 2026
  • NewHunt chat FCM notification: tapping the push notification opens the app and navigates directly to the hunt chat — works whether the app is in the background or closed.
0.5.52July 1, 2026
  • NewHunt chat: incoming messages appear directly in the chat when it is open — no more popup. When the chat is closed, a proper push notification (FCM) is shown. Chat refreshes automatically every 15 seconds.
0.5.51July 1, 2026
  • FixReplaced Icons.pets (paw) with Icons.check_circle for catch markers — icon did not render correctly in release build.
0.5.49July 1, 2026
  • FixCrash fix GPS service: SecurityException when Android 13+ blocks notification channel deletion with active foreground service. App crashed on fresh install.
0.5.48July 1, 2026
  • FixCrash fix hunting module: all setState calls in async methods are now protected against unmounted widgets, including _load(), _checkActiveHunt() and hunt chat.
0.5.47July 1, 2026
  • FixCrash fix for hunt module: defensive type handling and mounted checks prevent crash on hunt start/end.
0.5.46June 30, 2026
  • NewHunting module Phase 2: live positions for hunt participants on the map (updated every 30s), catch registration (species + count), season warning if outside allowed period, offline queue for positions and markers, hunt history.
0.5.45June 30, 2026
  • FixReverted avatar heading to previous behavior.
0.5.43June 30, 2026
  • FixMap scale bar repositioned — no longer overlaps the active hunt banner at the bottom.
0.5.42June 30, 2026
  • FixStartup crash fixed — app failed to start if a hunt was saved from a previous session.
0.5.41June 30, 2026
  • FixGPS automatically switches to exact mode (5 sec) when a hunt starts — the track line now follows the route properly.
  • FixActive hunt banner moved to the bottom of the map so it no longer covers the weather widget.
0.5.40June 30, 2026
  • NewHunt tracking on map: your GPS track during an active hunt is shown as an orange line, hunt markers visible on the map. Works for solo hunters without a group.
  • NewActive hunt banner on map with invite code — tap to open the hunt view.
  • NewMap button in hunt view for easy return to the map.
0.5.39June 30, 2026
  • FixHunting module: fixed authentication error when starting a hunt for users without an API token.
0.5.38June 30, 2026
  • FixData usage and position source moved to About App — the menu is now more compact.
0.5.37June 30, 2026
  • NewHunting module (Phase 1): start and join hunt sessions with invite code, participant overview with roles (leader/hunter/guest), real-time positions and hunt chat. Enabled per group via admin panel.
0.5.36June 30, 2026
  • NewLone worker alarm now wakes the phone even if the app is closed — the server sends 10 escalating FCM warnings (60, 50, 40, 30, 20, 15, 10, 5, 3 and 1 second before the alarm fires). Tap the notification to open the app directly and acknowledge.
0.5.34June 30, 2026
  • FixDirection icon now always rotates with the compass — the issue occurred when GPS idle logic (move >8 m) prevented the compass from updating the icon angle.
0.5.33June 30, 2026
  • FixDirection icon stopped rotating when GPS was inactive — compass now updates the icon directly when GPS tracking is disabled.
0.5.32June 29, 2026
  • FixFCM token is now re-registered on every app start and resume — fixes push notifications not reaching devices that had a registration failure.
0.5.31June 29, 2026
  • FixFCM tokens were never registered with the server — the call to /api/devices/token was missing the Authorization header and received a 401 response that was silently ignored. Push notifications now work correctly after installation.
0.5.30June 29, 2026
  • FixYour own icon always rotated using the compass, even in a car — a bug where the GPS course (accurate when moving) was ignored for the self marker. Now uses GPS course when moving with compass as fallback when stationary.
0.5.29June 29, 2026
  • FixTrack line appeared as broken segments in the app during GPS gaps (e.g. when the phone shut down the background process). Time threshold increased from 5 to 120 minutes — teleport detection (>5 km in <30 s) is preserved.
  • ImprovedThe battery dialog now shows a tip if you have trouble seeing positions regularly, and a new 'Open settings' button takes you directly to the app's system settings.
0.5.28June 29, 2026
  • FixZone notifications were not delivered to the locked screen — only appeared when the app was opened. Geofence FCM messages are now sent as high-priority data messages and the app explicitly shows the notification via the background handler, bypassing OEM battery optimizations. Invalid FCM tokens are now automatically removed from the database.
0.5.26June 29, 2026
  • FixApp crashed on fresh install because the GPS background service started automatically with type 'location' before location permission was granted. Service type changed to 'dataSync' — Kotlin's own location services handle GPS separately and are not affected by this restriction.
0.5.25June 29, 2026
  • FixGPS background notification appeared as an empty notification (1 hr / 8 hr) because the gps_bg_silent channel was created with the wrong importance in an older version. The app now deletes the channel on startup if the importance is wrong and recreates it with IMPORTANCE_NONE.
0.5.24June 29, 2026
  • FixMy statistics: vehicle was classified as cycling at lower speeds. Three bugs fixed: (1) 'vehicle' speed fallback threshold lowered from 28.8 to 20 km/h, (2) if Google reports 'cycling' above 30 km/h with medium confidence, 'vehicle' is chosen instead, (3) statistics inference thresholds corrected (walking < 6 km/h, cycling < 25 km/h).
0.5.23June 29, 2026
  • FixDefault position changed from Stockholm to Falerum (Åtvidaberg) when no cached position is available.
0.5.22June 29, 2026
  • FixMap always showed Stockholm on app start: last known position is now loaded in main() before the app renders — no more flash to Stockholm.
0.5.21June 29, 2026
  • FixFCM notification tap didn't show message: race condition where getInitialMessage() resolves after MapScreen already checked the pending field (which was null). The dialog is now triggered directly if the app is already ready.
  • FixFCM notification tap on background resume: showDialog was called too early during app resumption. Now wrapped in addPostFrameCallback to wait until the widget tree is ready.
0.5.20June 29, 2026
  • NewLong FCM messages are now expandable in the notification drawer (BigTextStyle) — full text is visible without truncation.
  • NewTapping an FCM notification now opens a dialog in the app showing the message title and full text — works whether the app is in the foreground, background, or closed.
0.5.18June 28, 2026
  • FixCritical GPS fix: positions stopped sending after ~20 minutes. Cause: flutter_background_service and StandardLocationService shared notification ID 888. When Android removed the Flutter service's empty notification, the GPS service lost its foreground status and was killed. They now have separate IDs (888 and 889).
0.5.17June 28, 2026
  • FixStill → Here for: map badge idle label changed from 'Still 2h30min' to 'Here for 2h30min' to match the member panel.
  • FixTime inconsistency: map and panel now use the same timestamp (last movement >10m) — show exactly the same idle duration.
  • NewCompass update rate increased to 10 Hz (from 4 Hz) — map rotation is now noticeably smoother.
  • NewFCM notification for group join request: tapping the notification now opens the approval view directly instead of just launching the app.
0.5.16June 28, 2026
  • FixGPS stopped reporting after ~2 minutes of driving. Cause: watchdog timer (every 15 min) removed the FLP subscription without re-registering it. Watchdog now only restarts the service if it's actually not running.
  • FixGPS gap during vehicle mode switch eliminated: FLP subscription is no longer removed and re-registered — parameters are now updated in a single call without interruption.
  • FixNotification no longer shows 'Geo-Harbor active / Last position: ...' — notification content is no longer updated every 30 seconds, which was what made it visible.
0.5.15June 28, 2026
  • FixCritical crash fix: app failed to start after 0.5.14 (black screen/flicker). Cause: Application class extended a removed Flutter class.
  • FixGPS fix: background service channel ID is now updated at startup from the Kotlin side, preventing crashes on watchdog restarts.
0.5.14June 28, 2026
  • FixNotification is now completely gone — app now uses a brand-new silent notification channel ID that has never existed on the device, guaranteeing invisibility regardless of previous settings.
0.5.13June 28, 2026
  • FixNotification is now fully invisible even when the background service restarts — the app now sets the notification channel to silent at startup, before Flutter can create it.
0.5.12June 28, 2026
  • ImprovedGPS notification is now completely invisible (no status bar icon, no entry in notification drawer) — same method used by Life360.
  • NewAutomatic vehicle detection: the app detects via Google's activity API when you get in a car and automatically switches to high-accuracy GPS (15 s interval, HIGH_ACCURACY). When you exit the vehicle it returns to power-saving mode.
  • FixGPS filter adjusted: accuracy threshold raised from 40 m to 100 m, so stationary positions via mobile network (50–100 m accuracy) are no longer filtered out.
0.5.11June 28, 2026
  • FixMap tracks no longer show false gaps when driving — a gap is only created if tracking actually stopped for more than 5 minutes.
  • ImprovedGPS background tracking (standard mode) now runs as a protected Android foreground service, making it as stable as exact mode and preventing Android from killing tracking while driving.
  • ImprovedGPS filter: poor location readings (accuracy worse than 40 m) and impossible GPS jumps (>288 km/h) are now filtered out automatically.
  • ImprovedMember icons on the map now show activity and speed below the initials — e.g. '🚗 72 km/h' or 'Still 20min'.
  • FixIcon size: changing size via the settings slider now updates the map immediately, and all icons (including your own) scale identically.
  • NewTap a track on the map to see the time, speed and activity type at that point.
0.5.10June 22, 2026
  • NewFive new photorealistic premium avatars: Idiot, Crazy, Cat, Dog and Sheep — generated with AI.
0.5.9June 22, 2026
  • FixFixed startup issue: app was showing only a white screen on launch and never started correctly.
0.5.8June 22, 2026
  • ImprovedLog screen now fetches updates every 15 seconds instead of every 2 — saves battery during extended viewing.
0.5.5June 22, 2026
  • SecurityThe app now authenticates all API calls with a unique device key — prevents unauthorized parties from sending data in your name.
0.5.4June 22, 2026
  • ImprovedCompass now updates at most 4 times per second instead of 10–20 — saves battery and reduces CPU load on the map screen.
  • ImprovedBuild system fixed: build_release.sh now locates the backend directory regardless of where you run it from.
  • SecurityThe server no longer starts if SESSION_SECRET is missing from environment variables — eliminates session token forgery risk with known fallback value.
  • SecurityFirebase Admin key (firebase-service-account.json) is now correctly ignored in git — can no longer be accidentally version-controlled.
  • SecurityEmail verification is now rate-limited to 5 attempts per hour per IP address — prevents email bombing.
  • ImprovedDatabase now runs in WAL mode — reads are no longer blocked by ongoing writes.
0.4.70June 21, 2026
  • NewAndroid Auto: Tap a group member to see details and navigate there with Google Maps.
  • NewAndroid Auto: Saved places — view all group markers and navigate there directly from the car.
  • NewAndroid Auto: Send an alarm to all group members with one tap — a confirmation dialog is shown before the alarm is sent.
  • NewAndroid Auto: Switch group directly in the car — choose from your saved groups without touching the phone.
  • ImprovedAndroid Auto: Position list refreshes automatically every 30 seconds.
  • ImprovedAndroid Auto: Members who haven't reported a position in more than 20 minutes are marked as '(not active)'.
0.4.67June 21, 2026
  • FixIf an admin deletes your device, you are now immediately logged out the next time the app contacts the server — no manual restart needed.
0.4.66June 21, 2026
  • FixKotlin GPS service never sent positions in the background — group_id and member_id were missing from SharedPreferences. These are now saved correctly when the map screen loads.
  • FixWhen reinstalling and recovering groups, Android Auto, premium icons and other features are now automatically restored — no manual admin reactivation needed.
  • FixName was not shown correctly after group recovery — nickname is now properly saved to SharedPreferences when selecting a recovered group.
  • ImprovedBattery optimization P1: GPS stream and network polling are now automatically paused when the app is minimized — saves 80–90% battery in background compared to before.
  • ImprovedBattery optimization P2: GPS positions are now only sent when moved ≥15m or every 15 minutes (heartbeat) — eliminates unnecessary network calls when stationary.
  • ImprovedBattery optimization P3: Offline cache is now flushed with a single batch request instead of one request per position — dramatically reduces the time the network radio stays active.
  • ImprovedLone worker alarm now runs in Kotlin via AlarmManager and wakes the phone from battery saver mode — a critical alarm no longer misses its time if the phone is in Doze mode.
0.4.65June 21, 2026
  • FixThe GPS toggle (on/off) and logout are now correctly wired to the Kotlin service — positions stop being sent immediately when GPS is turned off and restart correctly when re-enabled.
0.4.64June 21, 2026
  • NewGPS system fully rewritten. Four modes replaced with two: Standard (battery-friendly, updates every 30–60 seconds) and Exact (full accuracy every 5 seconds — designed for hunting and orienteering). All location reporting is now handled by Android's built-in FLP service at native level.
  • NewPositions are now saved locally when you have no coverage and sent automatically to the server when connectivity returns — up to 1000 positions or 24 hours.
  • ImprovedThe persistent status bar notification now shows the time of the last sent position, e.g. 'Last position: 14:32:15'.
  • ImprovedPositions with accuracy worse than 200 metres are automatically filtered out and never sent — reduces noise on the map.
0.4.62June 19, 2026
  • NewPremium icons are now gated behind the 'premium_icons' feature flag — can be enabled per device in the admin panel.
0.4.61June 19, 2026
  • FixGPS mode showed as 'Passive' on first launch instead of 'Minimal' — initial state value in app was wrong.
0.4.59June 19, 2026
  • FixAndroid Auto icon now shows in the car display — missing Car API level declaration added to the app.
0.4.57June 19, 2026
  • FixGPS mode was reset to Minimal on every app restart — selected mode (Smart, Passive, Minimal, Always On) is now saved correctly.
  • FixMap stayed at last saved position instead of following your actual location when GPS found you — map now auto-centers on first real GPS fix.
  • FixLone worker alarm now wakes the screen and sounds even when phone is locked — alarm shows as full-screen and breaks through the lock screen.
  • FixWeather now updates automatically every 30 minutes and immediately when the app opens — no longer requires manual refresh.
  • FixRecover groups via email now works correctly for accounts where email was only stored at device level and not in the group membership record.
0.4.55June 19, 2026
  • New7 new gaming avatars inspired by Fortnite, Star Citizen and Arc Raiders: Battle Royale Guy, Battle Royale Girl, Loot Llama, Space Pilot, Space Marine, Raider and Arc Scout.
0.4.54June 19, 2026
  • NewAccount takeover: each email address can now only be linked to one device. If you reinstall the app or switch phone and log in with your email, a dialog appears asking you to verify ownership — all history and statistics are automatically transferred to the new device.
0.4.52June 19, 2026
  • FixAndroid Auto status now shows correctly in the menu immediately after activation — no app restart required.
0.4.51June 19, 2026
  • FixDeleted groups are now cleaned up immediately at startup — the app checks each saved group against the server on launch and automatically removes groups that no longer exist.
0.4.50June 19, 2026
  • FixDeleted groups are now automatically removed from the app — if a group is deleted on the server, the app detects it next time it fetches the member list and removes the group locally.
0.4.49June 18, 2026
  • NewAndroid Auto support: connect your phone to your car and see group members with distance and last position directly on your car's display.
  • NewFeature flags: new features can be enabled per device via the admin panel — prepares for future purchasable add-ons.
0.4.48June 18, 2026
  • NewLong-press an avatar in the picker to see it full size — tap anywhere to close.
  • ImprovedAvatar images update immediately in the app without clearing cache — 40 new full-body motion images.
0.4.46June 18, 2026
  • FixNo longer shows false 'entered' alert for a member who was already inside a zone when the app opened — zone state is silently loaded on start.
  • FixOwn movements no longer trigger local geofence notifications — you don't need to know you're inside your own zone.
0.4.44June 18, 2026
  • ImprovedPassive Mode is now the default for new installations.
  • ImprovedMenu: 'Tracking Mode' renamed to 'GPS/Position'.
  • ImprovedAll 40 premium avatars are now full-body with motion — birds fly, animals run, and characters are in action.
0.4.43June 18, 2026
  • ImprovedAltitude is now sent from Kotlin FLP in the background to the server when GPS accuracy is sufficient.
0.4.42June 18, 2026
  • NewPassive Mode: a fourth tracking mode that listens for positions from other apps — zero extra battery drain. Sends automatically when accuracy is under 50 m, otherwise the position is cached.
  • ImprovedAltitude and accuracy are now stored in the database and included from all tracking modes when available.
0.4.41June 18, 2026
  • NewPosition source is now shown in the menu: GPS, Wi-Fi or Mobile network — and whether the position came from the Dart foreground stream or Kotlin FLP in the background. Accuracy (±Xm) is also shown.
  • ImprovedDebug log now shows the source of each position (GPS/Wi-Fi/Mobile + layer) and the accuracy.
0.4.40June 18, 2026
  • ImprovedThe background notification now shows the time of the last submitted position and today's data usage (↑X ↓X) directly in the notification text.
0.4.39June 18, 2026
  • New40 new premium avatars: reindeer, roe deer, badger, beaver, arctic fox, pheasant, mallard, eagle owl, osprey, peregrine falcon, pike, capercaillie, seal, otter, raven, black grouse, horse, motorcycle, helicopter, tractor, kayak, snowcat, sailboat, monster truck, canoe, off-road truck, hunter, fisherwoman, farmer, mountain biker, trail runner, soldier, firefighter, viking, ninja, astronaut, zombie, robot, pirate and witch.
0.4.38June 18, 2026
  • ImprovedMap cache expanded to up to 1 GB on device — tiles are kept for 30 days. Driving in the same area repeatedly loads the map from disk without using mobile data.
0.4.37June 18, 2026
  • FixDrastically reduced data usage: track history was fetched every 30 seconds downloading all history each time — now fetched every 3 minutes and only new points since last fetch. Expected result: from ~1.6 GB/day to under 50 MB/day.
  • NewData usage meter: open the menu to see how much the app has uploaded and downloaded today.
0.4.36June 18, 2026
  • FixYour own avatar icon on the map is now the same size as other group members' icons — size is controlled by the same setting for everyone.
0.4.34June 18, 2026
  • NewDebug log: tap the foreground notification to open a real-time log of all events — position uploads, FCM messages, activity changes. Shows the last 2 hours.
0.4.33June 18, 2026
  • NewLanguage toggle (SV/EN) visible directly in the menu — no need to dig through settings.
0.4.32June 18, 2026
  • NewSmart tracking mode: FLP automatically activates GPS when you move (walking, running, cycling, driving) and rests when still. Clean tracks with no jumps, same low battery usage as Life360.
  • NewLive background updates: when you move with good GPS accuracy, your position is sent directly to the group without needing to open the app.
  • ImprovedOther members' positions now update every 30 seconds when the app is open, without a WebSocket connection. Better for battery and more stable on poor networks.
0.4.31June 18, 2026
  • NewBattery saver: when you open the map, a silent FCM message is sent to other group members that wakes their phones and reports their position without showing a visible notification.
  • NewBackground cache: Android now collects positions in the background (WiFi/cell, no GPS) and uploads them in batch when the app opens.
  • NewMap view statistics: tap the group members button then Map view statistics to see how many times each member has opened the map and when.
0.4.29June 18, 2026
  • New13 new premium icons: ATV, Boat, Snowmobile, Sports Car, SUV, Fighter Jet, Racing Bike, Skier, Pretty Girl, Handsome Guy, Old Man, Toilet, Computer Nerd.
0.4.28June 18, 2026
  • FixYour own avatar icon on the map is now also affected by the size slider.
0.4.27June 18, 2026
  • FixThe avatar icon preview in settings now correctly shows the size above 100% too.
  • FixThe avatar icon size change is now applied to the map immediately when the settings dialog is closed.
0.4.26June 18, 2026
  • FixThe group members button is now placed directly below the Mark Place button on the map.
  • FixThe avatar icon size slider can now make the icon much smaller — minimum size lowered to 20%. The icon is shown as a live preview in the slider.
0.4.25June 17, 2026
  • NewNew avatar icon setting: adjust the size of your own and others' avatar images on the map with a simple slider.
  • FixAvatar images are now always shown above place markers on the map — previously they could be hidden under markers at the same position.
  • FixThe group members button has been moved from the top-right area.
0.4.24June 17, 2026
  • NewPremium icons with real photo images: wolf, eagle, bear, fox, moose, lynx and boar — displayed as a round image on the map.
  • NewPremium icons are fetched from the server and cached locally. Everyone in the group sees your chosen image regardless of their own premium status.
  • NewThe old premium emojis (ghost, ninja, dragon etc.) are now free and sorted into their correct categories.
0.4.23June 17, 2026
  • FixFixed Android icon showing a robot instead of the correct image — caused by a circular reference in the adaptive icon configuration.
0.4.22June 17, 2026
  • FixFixed app icon showing a large white circle on Android 8+ — added proper adaptive icon support.
0.4.20June 17, 2026
  • NewNew app icon: purple glowing location pin replaces the old F-symbol, matching the app's dark theme.
0.4.19June 17, 2026
  • NewMap icons (other than the direction arrow) are now twice as large and easier to see on the map.
  • NewAll map icons now rotate with GPS heading — not just the direction arrow.
0.4.18June 17, 2026
  • FixActivity recognition (still/walking/vehicle) now works correctly in the background — GPS strategy is now adjusted even when the screen is off and the app is minimised.
0.4.17June 17, 2026
  • NewOpening the app or switching groups now fetches every member's latest position directly from the server — not just within the history window.
  • NewThe map automatically centres on your position when you open the app.
  • NewWeather information is refreshed automatically every time you open the app.
0.4.16June 17, 2026
  • FixThe app no longer activates GPS in the background while the screen is active and WebSocket is connected — reduces battery use.
  • FixPositions to inactive groups are now sent in parallel and via a reused HTTP connection — reduces latency and data usage.
  • FixThe icon shown on the map for offline-queued positions is now correct.
  • FixTimestamp on others' positions on the map is now correct even if device clocks differ.
0.4.15June 17, 2026
  • FixGeofence notifications now work in the foreground — the app shows a notification when a member arrives at or leaves a zone.
  • FixMap icon now shows correctly immediately on app start, not only after a live update arrives.
  • FixFalse proximity alert on app start fixed — the alert no longer triggers against a hardcoded start position.
  • FixOffline positions are now synced in a single batch request instead of one by one, saving battery and data on reconnect.
  • FixVector maps (Map/Dark map) are now cached to disk for 14 days — map data is no longer re-downloaded each session.
0.4.14June 17, 2026
  • FixGPS positioning now works reliably in the background — activity recognition now runs inside the foreground service and is no longer stopped by Android when the screen is locked.
  • FixSignificantly reduced data usage — the app now reuses the network connection (HTTP Keep-Alive) for position updates, saving up to 80% of data transfer.
  • FixYour chosen map icon is now correctly sent even when the app is running in the background.
0.4.12June 16, 2026
  • NewNew map icon: Hunter (🏹) added to the Hunting category.
0.4.11June 16, 2026
  • FixChosen map icon now correctly shown on the map — tap the circle with your initials to open the icon picker. The direction arrow is kept as a selectable option and is the default.
0.4.10June 16, 2026
  • NewChoose map icon — change the icon on your map position: person, vehicle, animals, smileys and more. Others in the group see your chosen icon in real time. Premium icons available via the website.
0.4.9June 16, 2026
  • NewTrack history: new 2-hour and 4-hour options in the track filter
0.4.8June 16, 2026
  • FixOwnership is now correctly transferred to the next approved group member when the owner deletes their account — the app updates instantly via WS without requiring re-login
0.4.6June 16, 2026
  • FixThe checkbox to delete markers now appears in step 1 (email step) of the account deletion dialog
0.4.5June 16, 2026
  • FixMap now correctly centers on the cached position at startup — previously the icon appeared in the right place but the map stayed on Stockholm
0.4.4June 16, 2026
  • NewDelete account — new menu option to permanently remove your account from the server. Verified by email, clears all your positions, removes you from groups and ends your session
  • NewWhen deleting your account you can choose to also delete your markers and associated photos
0.4.3June 16, 2026
  • FixLogin screen no longer appears unexpectedly on app start — the background service was incorrectly clearing the active group if the server responded with 403 (e.g. after restart or deleted group)
  • FixGPS sharing is now correctly respected after a phone reboot — the background service did not stop itself if GPS sharing was disabled before the reboot
0.4.2June 16, 2026
  • NewAdding a new marker now sends a push notification to all group members via FCM — works even when the app is closed
  • NewJoin request sends an FCM notification to the group owner
  • NewAlarm resolution sends FCM to all group members
  • NewLone worker alarm is now registered server-side: if the app crashes or is closed before the alarm is acknowledged, the server still sends FCM to the group
  • FixOnline notifications ('X is now online') removed — they fired incorrectly every time the app was opened and were more annoying than helpful
0.4.1June 16, 2026
  • FixThe map now opens at your last known position instead of Stockholm — the saved position is loaded from cache on startup
0.4.0June 16, 2026
  • NewGPS tracking rebuilt from scratch: instead of polling every 15 seconds, the app now subscribes to the FLP stream and only receives positions when you have actually moved
  • FixActivity-adaptive displacement filter: walking/running 10 m, bicycle 30 m, vehicle 50 m, fast vehicle/airborne 500 m — OS filters at hardware level, no polling
  • FixStationary: GPS stream is paused entirely — zero GPS battery usage when not moving
  • FixAirborne and fast vehicle (>150 km/h) handled automatically with 500 m displacement filter
0.3.19June 16, 2026
  • FixPassive mode: if the accelerometer confirms the device has been still for ≥6 seconds, the entire GPS tick is skipped — no unnecessary position requests while stationary
  • FixNew filter (layer 4): position history. The last three accepted positions form a movement pattern. If a new position deviates too much from the expected pattern, it is rejected as a ghost position
0.3.17June 16, 2026
  • FixGhost positions are now filtered in three layers: activity-based speed limit (e.g. walking max 15 km/h), step counter (steps × 1.5 m = max plausible displacement), and accelerometer stillness detection
  • FixBackground service skips upload if WebSocket is active in the foreground — eliminates duplicate uploads
0.3.15June 16, 2026
  • FixPassive mode: background fallback now uses Google's FLP cache instead of Android NETWORK_PROVIDER directly — cheaper and faster
0.3.14June 16, 2026
  • FixPassive mode: if Activity detects movement (walking, cycling, vehicle) with high confidence, a fresh cell/wifi position is requested immediately and uploaded without the 50m requirement
0.3.13June 16, 2026
  • FixWebSocket now closes when the app goes to background and reconnects automatically when you open the app again — reduces battery usage on 4G
0.3.12June 16, 2026
  • FixLone-worker timer now ticks every second only when alarm is active — otherwise every 30 seconds
0.3.11June 16, 2026
  • FixPassive GPS mode no longer wakes GPS hardware in the background — reads OS cache directly (zero cost)
  • ChangedGPS mode renamed back to 'Passive (Battery Saver)' with accurate descriptions for all three modes
0.3.10June 15, 2026
  • FixPer-group GPS-off (in 'Switch group') now sends FCM to all group members — no longer uses WebSocket broadcast
0.3.9June 15, 2026
  • NewDisable GPS per group in 'Switch group' — other group members now receive an FCM notification
0.3.8June 15, 2026
  • FixGPS-off notification now delivered via FCM to all group members — works even if the app is closed
  • FixNo more duplicate notification for members with the app open — FCM handles the alert, WebSocket updates the map silently
0.3.7June 15, 2026
  • FixThe GPS button in the app now actively sends 'GPS off' to the group — others see an orange GPS-off icon on the map
  • FixSpurious 'disconnected' notifications on temporary network drops removed — notification only sent when GPS is manually disabled
  • FixGeofencing zones now survive app reinstall — zones are tied to your account instead of the device
  • FixZones are automatically fetched from server on fresh install if previously saved
0.3.6June 15, 2026
  • FixWebSocket now reconnects automatically after a clean disconnection (e.g. WiFi→data switch)
  • ChangedServer now waits 45 seconds (previously 12) before marking a member offline — tolerates Android Doze and network switches
0.3.5June 15, 2026
  • NewFirebase Cloud Messaging (FCM) — push notifications now delivered reliably even when the app is fully closed
  • NewGeofence checking runs server-side on each location update — notifications no longer missed when background process is killed
  • NewRain warnings and lone-worker alerts now delivered via FCM
  • ChangedPackage name changed to se.novabase.firstbeacon
  • PolicyUser agreement updated with information about Google Firebase and GDPR roles
0.3.3June 14, 2026
  • New7-day forecast: tap a day to go directly to yr.no with the correct location and date
  • NewSearch field in 7-day forecast — search any location and fetch its forecast
  • ChangedGeofencing has its own menu entry under Settings
  • ChangedLog menu is now under About the app
  • ChangedLone worker moved up in the menu — now between Group management and Property
  • Fixyr.no link was broken — fixed URL format (/en/ instead of /nb/)
  • FixVersion number now auto-increments on every build
0.3.0June 2026
  • NewWeather forecast built into the app — hourly (24 h) and daily (7 days) via yr.no
  • NewGeofencing (place zones) — create zones and get notified when a group member enters or exits
  • NewRain warning — the app alerts you in advance when rain is approaching your location
0.2.xMay 2026
  • NewLone worker mode with timer and automatic group alarm
  • NewGPX import and export of tracks
  • NewProperty boundary view with map layer
  • NewActivity detection (walking, cycling, vehicle)
  • ChangedSupport for Swedish and English
0.1.xApril 2026
  • NewReal-time location sharing within groups via WebSocket
  • NewCreate and join groups via invite code
  • NewMap showing group members' positions and movement trails
  • NewMarkers and notes on the map
  • NewGroup alarm — send an alert to the entire group with one tap
🖥️

Server

2026-07-19dJuly 19, 2026LATEST
  • SecurityPosition, history and latest-position requests are now cross-checked against the device security key: an authenticated request must own the membership it reports for. A member ID alone is no longer enough to act in someone else's name.
2026-07-19cJuly 19, 2026
  • NewThe website is now available in English under /en/ — every page has an English counterpart with correct hreflang links, and each page now has a unique search-engine description in both languages.
  • FixBatch position upload aborted entirely if a single group membership had disappeared — that entry is now skipped so the remaining positions are saved.
2026-07-19bJuly 19, 2026
  • ImprovedThe website is now readable by search engines and AI services: pages are delivered with pre-rendered Swedish text instead of requiring JavaScript, and robots.txt + sitemap.xml have been added. The language switch to English works as before.
2026-07-19aJuly 19, 2026
  • NewProperty boundaries can now be named: boundary data is stored in a new format with a name per hunting ground, fully backwards compatible with older app versions.
2026-07-18cJuly 18, 2026
  • NewOwn map service: the entire vector map of Sweden (OpenStreetMap via Protomaps) is now served from geo-harbor.se — the foundation for upcoming offline maps in the app, with no dependency on external map APIs.
2026-07-18bJuly 18, 2026
  • ImprovedAll uploaded photos are now automatically compressed on the server to at most 0.5 MB (longest side 1920 px) — markers with photos load much faster and use a fraction of the storage.
2026-07-18aJuly 18, 2026
  • FixHunt markers are now deduplicated on the server: if the app re-sends the same marker (e.g. when the offline queue re-syncs after the app was closed in the background), no duplicate is created.
2026-07-07cJuly 7, 2026
  • NewAdded a weather proxy endpoint (/api/weather) that fetches wind speed and direction directly from Yr.no (MET Norway) to provide the Garmin Connect IQ watch app with correct and synchronized wind data.
2026-07-07bJuly 7, 2026
  • NewAdded full support for the new Garmin Connect IQ watch app, including endpoints for pass creation (/api/groups/:id/passes), group alarms (/api/groups/alarm), and location sharing.
2026-07-07aJuly 7, 2026
  • NewAdded a public /api/ping route for the app to verify connection to the server.
2026-07-06dJuly 6, 2026
  • NewThe server now sends a silent wake-up push to a member's device when the device has not reported for 17 minutes, so the app (from version 0.6.23) can resume location sharing automatically if Android has killed it.
  • FixFixed a bug in the admin panel where the 'Activate' button for new premium orders was unclickable.
2026-07-06cJuly 6, 2026
  • NewGET /api/features now also returns an expiry date per premium feature (featureDetails), so the app can show when a license expires — without changing the existing response shape.
  • NewNew order path: the app's Order/Renew buttons open geo-harbor.se/bestall, which submits an order to POST /api/premium-orders. The admin panel has a new 'Orders' section to activate or dismiss these once payment is verified (e.g. Swish).
2026-07-06bJuly 6, 2026
  • FixThe admin panel showed no email address for some users even though they had verified one. The cause was an ordering bug: email verification created the device's database row before the user created/joined a group, which caused the subsequent email update to be silently dropped. Fixed at the source, plus a one-time correction for already affected accounts.
2026-07-06aJuly 6, 2026
  • ChangedThe Android Auto, Hunting Module, and Forest Inventory premium features are now licensed yearly — active for one year from the activation date instead of permanently. Premium icons remain a one-time, lifetime unlock.
  • NewThe admin panel now shows an expiry date per premium feature and supports one-click renewal.
2026-07-05aJuly 5, 2026
  • NewThe server is moving to a new, dedicated machine: the whole backend now runs in Docker (website/backend/mail as separate containers), with SQLite mounted so data survives container updates.
  • SecurityThe admin panel now requires two-factor verification (TOTP) in addition to a password, plus an IP allowlist — and the old default password has been permanently replaced with a randomly generated one-time password shown on first boot.
  • NewOutgoing email (verification codes etc.) now goes through a dedicated exim4 container instead of the server's local mail system.
  • ChangedThe marketing pages (this page, pricing, the guide, etc.) moved to their own repo/container (geo-harbor-marketing) — fully independent from the database and API, since they never needed that connection.
2026-07-01dJuly 1, 2026
  • NewGET /api/hunts/:id/report.pdf — generates PDF report with pdfkit: summary, participant list, catches with details (sex, age, weight, shooter), other events.
2026-07-01cJuly 1, 2026
  • NewHunt module: POST /api/hunts/:id/invite — hunt leader can invite group members via FCM (type hunt_invite with huntId, inviteCode, huntName).
2026-07-01bJuly 1, 2026
  • NewHunt module: photos on markers — POST /api/hunts/:id/markers now accepts multipart/form-data with optional image file (multer). Photo served via GET /api/hunts/photo/:filename with deviceId auth and path-traversal protection.
  • FixHunt history (GET /api/hunts/history): catch_count was incorrectly multiplied by participant count due to a Cartesian product in SQL. Fixed with correlated subqueries.
2026-07-01aJuly 1, 2026
  • NewHunt module: new hunt.ts router mounted at /api/hunts. Endpoints: start/end hunt, join/leave, chat, GPS tracking, markers (pass, catch, game sighting, shooter), pass management, live positions and history.
  • NewHunt seasons API: GET /api/hunt-seasons returns all configured seasons. Admin: POST /admin/api/hunt-seasons/import for CSV upload (species, start, end, notes).
  • NewFCM: hunt chat messages are now sent as push notifications to all other participants (type hunt_message with huntId, senderNickname).
  • NewDB: new tables hunt_participants, hunt_positions, hunt_markers (incl. photo_path), hunt_chat, hunt_seasons. Schema v12.
2026-06-24June 24, 2026
  • FixReinstalling the app no longer creates duplicate accounts — old devices with the same email are now merged automatically on re-login.
  • NewAdmin: new 'Merge duplicates' button that finds and merges all devices sharing the same email in one step.
2026-06-18bJune 18, 2026
  • ImprovedThe icons page is now called Avatars and the URL is /avatarer. Old /ikoner links redirect automatically.
  • ImprovedAI-generated label removed from the avatar page and home page.
2026-06-17eJune 17, 2026
  • NewPremium icons (photo images) served from /img/icons/ — all group members fetch and cache the image automatically.
  • NewNew endpoint GET /icons — returns metadata about available photo icons.
2026-06-17dJune 17, 2026
  • NewWebsite: photo images replace emoji icons in both the feature grid and the Hunting & forestry section.
  • NewWebsite: Open Graph tags added — preview with image and description in Telegram, iMessage etc.
  • NewWebsite: ambient glow, fade-in animations for hero text, lift effect on feature cards and purple CTA glow.
  • NewWebsite: images added to the Documentation and Instructions pages.
  • NewNew app icon on website: purple glowing location pin.
2026-06-17cJune 17, 2026
  • NewWebsite completely redesigned with dark theme, full-viewport hero, editorial feature grid and photographic feel.
  • FixAll website texts reviewed and corrected to reflect how the app actually works (FLP stream, server-side geofencing etc.).
2026-06-17bJune 17, 2026
  • NewNew endpoint GET /api/groups/latest-positions — returns latest position per group member via optimised SQL subquery, used on app start and group switch.
  • NewNew endpoint POST /api/groups/location/batch — syncs offline-queued positions in one request instead of one by one; returns { success, failed[] }.
  • FixTrack history (GET /api/groups/history) now correctly includes map icon (avatarIcon) via JOIN against the devices table.
  • FixPositions with identical timestamp for the same device are never written twice — ON CONFLICT DO UPDATE guarantees idempotency.
2026-06-17aJune 17, 2026
  • FixGeofence check now runs correctly in the foreground via server-side logic on each location update — frontend code was referencing wrong zone state.
2026-06-16cJune 16, 2026
  • NewLone-worker alarm is registered server-side — if the app crashes or closes before the alarm is acknowledged, the server still sends FCM to the group.
  • NewServer-side geofencing: geofence check runs on every POST /api/groups/location — notifications delivered via FCM regardless of whether the app is open.
  • NewGPS-off FCM: server sends an FCM notification to the whole group when a member disables GPS sharing.
2026-06-16bJune 16, 2026
  • NewFirebase Admin SDK integrated — FCM push notifications now sent from server for markers, join requests, alarm signal and alarm resolution.
  • FixWebSocket timeout raised to 45 seconds (was 12 s) before a member is marked offline — tolerates Android Doze and network switches.
  • NewOwnership transfer is broadcast in real time via WebSocket — the group view updates without requiring re-login.
2026-06-16aJune 16, 2026
  • NewMap icons (avatarIcon) stored per device in the database and synced to the group via WebSocket and REST — everyone in the group sees your chosen icon in real time.
  • NewPremium icons validated server-side — access restricted to accounts with active premium flag.
2026-06-15June 15, 2026
  • NewAccount deletion: new endpoint DELETE /api/account removes account, positions, sessions and optionally markers + photos. Verified via email code.
  • NewEmail verification: POST /api/verify/send + POST /api/verify/check — time-limited 6-digit code sent via SMTP.
  • NewGPS-off per group: endpoint to disable GPS sharing in a specific group without affecting other groups.
2026-06-14June 14, 2026
  • NewGeofencing API: CRUD endpoints for place zones tied to user account — zones survive app reinstall.
  • NewYr.no weather proxy: server fetches and caches hourly and daily forecast from yr.no and serves it to the app.
  • NewFCM token registration: devices table extended with FCM token — updated on every app start.