Releases: Freika/dawarich
0.24.2-rc1
Added
- Status field to the User model. Inactive users are now being restricted from accessing some of the functionality, which is mostly about writing data to the database. Reading is remaining unrestricted.
What's Changed
Full Changelog: 0.24.2-rc...0.24.2-rc1
0.24.2-rc
Fixed
- Fixed a bug where non-admin users could not import Immich and Photoprism geolocation data.
- Fixed a bug where upon point deletion it was not being removed from the map, while it was actually deleted from the database. #883
- Fixed a bug where upon import deletion stats were not being recalculated. #824
Changed
- Restrict access to Sidekiq in non self-hosted mode.
- Restrict access to background jobs in non self-hosted mode.
- Restrict access to users management in non self-hosted mode.
- Points are now using
lonlat
column for storing longitude and latitude. - Semantic history points are now being imported much faster.
- GPX files are now being imported much faster.
- Distance calculation are now using Postgis functions and expected to be more accurate.
What's Changed
- Fix fog gets displaced when dragging map by @chnikel in #851
- Add radius param of 10 by @arne182 in #732
- Revert "Add radius param of 10" by @Freika in #875
- Revert 875 revert 732 patch 3 by @Freika in #876
- Feature/tiles usage stats by @Freika in #878
- Self-hosted mode by @Freika in #675
- Fix/redo stats upon import destroy by @Freika in #888
- Chore/move points to latlon by @Freika in #906
New Contributors
Full Changelog: 0.24.1-rc4...0.24.2-rc
What's Changed
- Self-hosted mode by @Freika in #675
- Fix/redo stats upon import destroy by @Freika in #888
- Chore/move points to latlon by @Freika in #906
Full Changelog: 0.24.1...0.24.2-rc
0.24.1
⚠️ IMPORTANT ANNOUNCEMENT ⚠️
Starting version 0.26.0 (in about a week or two from today, 13.02.2025), Dawarich will use postgis/postgis:17-3.5-alpine
as the default database docker image. Please consider updating your database image as suggested in the docs on the website. If you have encountered problems with moving to a PostGIS image while still on Postgres 14, I collected a selection of compatible docker images for different CPU architectures, which you can also find in the docs.
Custom map tiles
In the user settings, you can now set a custom tile URL for the map. This is useful if you want to use a custom map tile provider or if you want to use a map tile provider that is not listed in the dropdown.
To set a custom tile URL, go to the user settings and set the Maps
section to your liking. Be mindful that currently, only raster tiles are supported. The URL should be a valid tile URL, like https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
. You, as the user, are responsible for any extra costs that may occur due to using a custom tile URL.
custom-maps-demo.mov
Added
- Safe settings for user with default values.
- Nominatim API is now supported as a reverse geocoding provider.
- In the user settings, you can now set a custom tile URL for the map. #429 #715
- In the user map settings, you can now see a chart of map tiles usage.
- If you have Prometheus exporter enabled, you can now see a
ruby_dawarich_map_tiles
metric in Prometheus, which shows the total number of map tiles loaded. Example:
# HELP ruby_dawarich_map_tiles_usage
# TYPE ruby_dawarich_map_tiles_usage counter
ruby_dawarich_map_tiles_usage 99
Fixed
- Speed on the Points page is now being displayed in kilometers per hour. #700
- Fog of war displacement #774
Reverted
💙 This release is supported by Steven B., James Manolios, chenrik, aldumil, Arne Schwarck, derpderpington, Chippie, dint, jhalpern, Lex Fradski, Schlufo, cyberswan.at, craftyklaus, JMyrng and Jonah B. on Patreon 💙
What's Changed
- Bump rspec-rails from 7.1.0 to 7.1.1 by @dependabot in #842
- Bump webmock from 3.24.0 to 3.25.0 by @dependabot in #841
- Bump database_consistency from 2.0.3 to 2.0.4 by @dependabot in #840
- Add support for Nominatim by @Cyberax in #634
- Custom map tiles by @Freika in #849
- Revert "fix: set dbname in psql entrypoint commands" by @Freika in #863
- Feature/parallel docker image builds by @Freika in #865
- Revert "Feature/parallel docker image builds" by @Freika in #874
- Fix fog gets displaced when dragging map by @chnikel in #851
- Add radius param of 10 by @arne182 in #732
- Revert "Add radius param of 10" by @Freika in #875
- Revert 875 revert 732 patch 3 by @Freika in #876
- Feature/tiles usage stats by @Freika in #878
- 0.24.1 by @Freika in #877
New Contributors
Full Changelog: 0.24.0...0.24.1
0.24.1-rc4
What's Changed
Full Changelog: 0.24.1-rc3...0.24.1-rc4
0.24.1-rc3
Full Changelog: 0.24.1-rc2...0.24.1-rc3
0.24.1-rc2
What's Changed
Full Changelog: 0.24.1-rc1...0.24.1-rc2
0.24.1-rc1
0.24.1-rc
Custom map tiles
In the user settings, you can now set a custom tile URL for the map. This is useful if you want to use a custom map tile provider or if you want to use a map tile provider that is not listed in the dropdown.
To set a custom tile URL, go to the user settings and set the Maps
section to your liking. Be mindful that currently, only raster tiles are supported. The URL should be a valid tile URL, like https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
. You, as the user, are responsible for any extra costs that may occur due to using a custom tile URL.
custom-maps-demo.mov
Added
- Safe settings for user with default values.
- In the user settings, you can now set a custom tile URL for the map. #429 #715
- If you have Prometheus exporter enabled, you can now see a
ruby_dawarich_map_tiles
metric in Prometheus, which shows the total number of map tiles loaded. Example:
# HELP ruby_dawarich_map_tiles_usage
# TYPE ruby_dawarich_map_tiles_usage counter
ruby_dawarich_map_tiles_usage 99
Fixed
- Speed on the Points page is now being displayed in kilometers per hour. #700
💙 This release is supported by Steven B., James Manolios, chenrik, aldumil, Arne Schwarck, derpderpington, Chippie, dint, jhalpern, Lex Fradski, Schlufo, cyberswan.at, craftyklaus, JMyrng and Jonah B. on Patreon 💙
What's Changed
- Bump rspec-rails from 7.1.0 to 7.1.1 by @dependabot in #842
- Bump webmock from 3.24.0 to 3.25.0 by @dependabot in #841
- Bump database_consistency from 2.0.3 to 2.0.4 by @dependabot in #840
- Add support for Nominatim by @Cyberax in #634
- Custom map tiles by @Freika in #849
New Contributors
Full Changelog: 0.24.0...0.24.1-rc
0.24.0
Points speed units
Dawarich expects speed to be sent in meters per second. It's already known that OwnTracks and GPSLogger (in some configurations) are sending speed in kilometers per hour.
In GPSLogger it's easily fixable: if you previously had "vel": "%SPD_KMH"
, change it to "vel": "%SPD"
, like it's described in the docs.
In OwnTracks it's a bit more complicated. You can't change the speed unit in the settings, so Dawarich will expect speed in kilometers per hour and will convert it to meters per second. Nothing is needed to be done from your side.
Now, we need to fix existing points with speed in kilometers per hour. The following guide assumes that you have been tracking your location exclusively with speed in kilometers per hour. If you have been using both speed units (say, were tracking with OwnTracks in kilometers per hour and with GPSLogger in meters per second), you need to decide what to do with points that have speed in kilometers per hour, as there is no easy way to distinguish them from points with speed in meters per second.
To convert speed in kilometers per hour to meters per second in your points, follow these steps:
- Enter Dawarich console
- Run
points = Point.where(import_id: nil).where.not(velocity: [nil, "0"]).where("velocity NOT LIKE '%.%'")
. This will return all tracked (not imported) points. - Run
points.update_all("velocity = CAST(ROUND(CAST((CAST(velocity AS FLOAT) * 1000 / 3600) AS NUMERIC), 1) AS TEXT)")
This will convert speed in kilometers per hour to meters per second and round it to 1 decimal place.
If you have been using both speed units, but you know the dates where you were tracking with speed in kilometers per hour, on the second step of the instruction above, you can add where("timestamp BETWEEN ? AND ?", Date.parse("2025-01-01").beginning_of_day.to_i, Date.parse("2025-01-31").end_of_day.to_i)
to the query to convert speed in kilometers per hour to meters per second only for a specific period of time. Resulting query will look like this:
start_at = DateTime.new(2025, 1, 1, 0, 0, 0).in_time_zone(Time.current.time_zone).to_i
end_at = DateTime.new(2025, 1, 31, 23, 59, 59).in_time_zone(Time.current.time_zone).to_i
points = Point.where(import_id: nil).where.not(velocity: [nil, "0"]).where("timestamp BETWEEN ? AND ?", start_at, end_at).where("velocity NOT LIKE '%.%'")
This will select points tracked between January 1st and January 31st 2025. Then just use step 3 to convert speed in kilometers per hour to meters per second.
Changed
- Speed for points, that are sent to Dawarich via
POST /api/v1/owntracks/points
endpoint, will now be converted to meters per second, iftopic
param is sent. The official GPSLogger instructions are assuming user won't be sendingtopic
param, so this shouldn't affect you if you're using GPSLogger.
Fixed
- After deleting one point from the map, other points can now be deleted as well. #723 #678
- Fixed a bug where export file was not being deleted from the server after it was deleted. #808
- After an area was drawn on the map, a popup is now being shown to allow user to provide a name and save the area. #740
- Docker entrypoints now use database name to fix problem with custom database names.
- Garmin GPX files with empty tracks are now being imported correctly. #827
Added
X-Dawarich-Version
header to theGET /api/v1/health
endpoint response.
💙 This release is supported by Steven B., James Manolios, chenrik, aldumil, Arne Schwarck, derpderpington, Chippie, dint, jhalpern, Lex Fradski, Schlufo, cyberswan.at, craftyklaus, JMyrng and Jonah B. on Patreon 💙
What's Changed
- Bump chartkick from 5.1.2 to 5.1.3 by @dependabot in #779
- Bump ffaker from 2.23.0 to 2.24.0 by @dependabot in #780
- Bump strong_migrations from 2.1.0 to 2.2.0 by @dependabot in #781
- Bump puma from 6.5.0 to 6.6.0 by @dependabot in #782
- Return app version in health response by @Freika in #803
- Fix deleting points by @Freika in #804
- fix: set dbname in psql entrypoint commands by @bo0tzz in #748
- Revert "Fix deleting points" by @Freika in #806
- Fix/deleting point after point by @Freika in #807
- Fix deleting export file by @Freika in #809
- Various fixes by @Freika in #813
- Fix/prod ruby version by @Freika in #825
- 0.24.0 by @Freika in #826
New Contributors
Full Changelog: 0.23.6...0.24.0
0.24.0-rc
Points speed units
Dawarich expects speed to be sent in meters per second. It's already known that OwnTracks and GPSLogger (in some configurations) are sending speed in kilometers per hour.
In GPSLogger it's easily fixable: if you previously had "vel": "%SPD_KMH"
, change it to "vel": "%SPD"
, like it's described in the docs.
In OwnTracks it's a bit more complicated. You can't change the speed unit in the settings, so Dawarich will expect speed in kilometers per hour and will convert it to meters per second. Nothing is needed to be done from your side.
Now, we need to fix existing points with speed in kilometers per hour. The following guide assumes that you have been tracking your location exclusively with speed in kilometers per hour. If you have been using both speed units (say, were tracking with OwnTracks in kilometers per hour and with GPSLogger in meters per second), you need to decide what to do with points that have speed in kilometers per hour, as there is no easy way to distinguish them from points with speed in meters per second.
To convert speed in kilometers per hour to meters per second in your points, follow these steps:
- Enter Dawarich console
- Run
points = Point.where(import_id: nil).where.not(velocity: [nil, "0"]).where("velocity NOT LIKE '%.%'")
. This will return all tracked (not imported) points. - Run
points.update_all("velocity = CAST(ROUND(CAST((CAST(velocity AS FLOAT) * 1000 / 3600) AS NUMERIC), 1) AS TEXT)")
This will convert speed in kilometers per hour to meters per second and round it to 1 decimal place.
If you have been using both speed units, but you know the dates where you were tracking with speed in kilometers per hour, on the second step of the instruction above, you can add time range to the query to convert speed in kilometers per hour to meters per second only for a specific period of time. Resulting query will look like this:
start_at = DateTime.new(2025, 1, 1, 0, 0, 0).in_time_zone(Time.current.time_zone).to_i
end_at = DateTime.new(2025, 1, 31, 23, 59, 59).in_time_zone(Time.current.time_zone).to_i
points = Point.where(import_id: nil).where.not(velocity: [nil, "0"]).where("timestamp BETWEEN ? AND ?", start_at, end_at).where("velocity NOT LIKE '%.%'")
This will select points tracked between January 1st and January 31st 2025. Then just use step 3 to convert speed in kilometers per hour to meters per second.
Changed
- Speed for points, that are sent to Dawarich via
POST /api/v1/owntracks/points
endpoint, will now be converted to meters per second, iftopic
param is sent. The official GPSLogger instructions are assuming user won't be sendingtopic
param, so this shouldn't affect you if you're using GPSLogger.
Fixed
- After deleting one point from the map, other points can now be deleted as well. #723 #678
- Fixed a bug where export file was not being deleted from the server after it was deleted. #808
- After an area was drawn on the map, a popup is now being shown to allow user to provide a name and save the area. #740
- Garmin GPX files with empty tracks are now being imported correctly. #827
Added
X-Dawarich-Version
header to theGET /api/v1/health
endpoint response. #800
💙 This release is supported by Steven B., James Manolios, chenrik, aldumil, Arne Schwarck, derpderpington, Chippie, dint, jhalpern, Lex Fradski, Schlufo, cyberswan.at, craftyklaus, JMyrng and Jonah B. on Patreon 💙
What's Changed
- Bump chartkick from 5.1.2 to 5.1.3 by @dependabot in #779
- Bump ffaker from 2.23.0 to 2.24.0 by @dependabot in #780
- Bump strong_migrations from 2.1.0 to 2.2.0 by @dependabot in #781
- Bump puma from 6.5.0 to 6.6.0 by @dependabot in #782
- Return app version in health response by @Freika in #803
- fix: set dbname in psql entrypoint commands by @bo0tzz in #748
- Fix/deleting point after point by @Freika in #807
- Fix deleting export file by @Freika in #809
- Various fixes by @Freika in #813
New Contributors
Full Changelog: 0.23.6...0.24.0-rc