GeoPulse Release Notes
This release introduces several new features, bug fixes, and performance improvements to enhance your location tracking and analysis experience.
✨ New Features
1. CSV Data Export and Import
You can now export your GPS data to a CSV file and import it back into GeoPulse. This is useful for backing up your data, performing external analysis, or migrating data between GeoPulse instances.
- Export: A new "CSV" option is available in the "Export" tab. The exported CSV file includes a header row and all relevant GPS data fields.
CSV Export with detailed CSV format:
- Import: A new "CSV" option is available in the "Import" tab. You can upload a CSV file with the specified format to import your GPS data. A template is available for download to ensure correct formatting.
2. Share Location with Friends Toggle
You now have more control over your privacy with the ability to enable or disable sharing your location with friends.
- A new toggle switch is available in your user profile settings.
- When disabled, your friends will not be able to see your location on the map.
The same toggle on user Profile page:
3. Share Link History Duration
When creating a share link, you can now specify the duration of location history to be shared. This gives you more control over how much data is accessible through the link.
- A new "History Duration" field is available when creating or editing a share link.
- You can set the duration in hours. Default value is 24 hours.
4. Concurrent Import Job Limitation
To improve system stability, you can now only run one data import job at a time. If you try to start a new import while another is in progress, you will be notified and asked to wait for the current job to complete.
5. OIDC Auto-Link Accounts
A new environment variable GEOPULSE_OIDC_AUTO_LINK_ACCOUNTS has been introduced to control the automatic linking of OIDC accounts to existing user accounts with the same email address.
- When set to
true, OIDC accounts are automatically linked without manual verification. This is recommended for self-hosted environments with a trusted OIDC provider. - When set to
false(the default), manual verification is required to link a new OIDC provider to an existing account.
🚀 Performance Improvements
1. Timeline Performance
The performance of the Timeline page has been significantly improved, especially for large datasets.
- Stays clustering: The timeline now clusters stays together based on their timestamps to improve performance.
- Progressive Loading: The timeline now loads a limited number of items initially and provides a "Load more" button to progressively load more data.
- Large Dataset Warning: When you select a large date range, a warning is displayed, suggesting you use the" Timeline Reports" page for better performance.
- Optimized Trip Processing: The logic for processing trips has been optimized by pre-computing and caching stay
timestamps. - Debounced Search: The search functionality in the timeline tables is now debounced to reduce the number of
unnecessary re-renders. - Memoized Formatting: Formatting functions for dates, times, and distances are now memoized to avoid redundant
computations.
2. Geocoding Cache Retrieval
The performance of the local geocoding cache retrieval has been improved to avoid long retrieval times and transaction
timeouts.
- The batch size for geocoding lookups has been reduced.
- A query timeout has been added to the geocoding query.
- The SQL query has been optimized using a
LATERAL JOIN.
🐞 Bug Fixes
- Timeline Integrity Issue: Fixed a bug where no trips were created between consecutive stays at the same location. The timeline merger now force-merges these stays to ensure timeline integrity.
checkActiveJobNot Defined: Fixed a bug in the "Place Details" page where thecheckActiveJobfunction was not defined.- Timeline Job Modal Issues: Fixed several issues with the timeline job modal on various pages by refactoring the timeline regeneration logic into a composable.
- Favorites Management page uses custom map tiles in the same way as other maps in GeoPulse.
📚 Documentation
- Timeline Documentation: Added detailed documentation explaining how the timeline is built, including the concepts of stays, trips, data gaps, and the timeline merging process.
- GPS Source Documentation: Added new documentation pages explaining how to connect various GPS sources, including Dawarich, GPSLogger, Home Assistant, and Overland.
- Dashboard and Managing Places: Updated the documentation for the Dashboard and Managing Places pages.
Latest documentation is available at https://tess1o.github.io/geopulse
⚙️ New Environment Variables
GEOPULSE_OIDC_AUTO_LINK_ACCOUNTS: Controls whether to automatically link OIDC accounts to existing user accounts with the same email address. Defaults tofalse.GEOPULSE_TIMELINE_VIEW_ITEM_LIMIT: Sets the limit of Timeline items (Stays + Trips + Data Gaps) after which th system will show a warning message and propose to useTimeline Reportsinstead. Defaults to150.
