Skip to content

Releases: Freika/dawarich

0.24.2-rc1

24 Feb 23:23
0d70352
Compare
Choose a tag to compare
0.24.2-rc1 Pre-release
Pre-release

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

24 Feb 20:39
b462cd1
Compare
Choose a tag to compare
0.24.2-rc Pre-release
Pre-release

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

New Contributors

Full Changelog: 0.24.1-rc4...0.24.2-rc

What's Changed

Full Changelog: 0.24.1...0.24.2-rc

0.24.1

13 Feb 20:24
2ecd1b7
Compare
Choose a tag to compare

⚠️ 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

New Contributors

Full Changelog: 0.24.0...0.24.1

0.24.1-rc4

13 Feb 19:17
49c6b97
Compare
Choose a tag to compare
0.24.1-rc4 Pre-release
Pre-release

What's Changed

  • Revert "Feature/parallel docker image builds" by @Freika in #874

Full Changelog: 0.24.1-rc3...0.24.1-rc4

0.24.1-rc3

13 Feb 18:09
Compare
Choose a tag to compare
0.24.1-rc3 Pre-release
Pre-release

Full Changelog: 0.24.1-rc2...0.24.1-rc3

0.24.1-rc2

12 Feb 21:59
482cc89
Compare
Choose a tag to compare
0.24.1-rc2 Pre-release
Pre-release

What's Changed

  • Feature/parallel docker image builds by @Freika in #865

Full Changelog: 0.24.1-rc1...0.24.1-rc2

0.24.1-rc1

12 Feb 21:30
3969a2f
Compare
Choose a tag to compare
0.24.1-rc1 Pre-release
Pre-release

Fixing #856

What's Changed

  • Revert "fix: set dbname in psql entrypoint commands" by @Freika in #863

Full Changelog: 0.24.1-rc...0.24.1-rc1

0.24.1-rc

11 Feb 20:46
025d05b
Compare
Choose a tag to compare
0.24.1-rc Pre-release
Pre-release

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

New Contributors

Full Changelog: 0.24.0...0.24.1-rc

0.24.0

10 Feb 18:03
6f32971
Compare
Choose a tag to compare

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:

  1. Enter Dawarich console
  2. Run points = Point.where(import_id: nil).where.not(velocity: [nil, "0"]).where("velocity NOT LIKE '%.%'"). This will return all tracked (not imported) points.
  3. 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, if topic param is sent. The official GPSLogger instructions are assuming user won't be sending topic 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 the GET /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

New Contributors

Full Changelog: 0.23.6...0.24.0

0.24.0-rc

08 Feb 11:12
1491286
Compare
Choose a tag to compare
0.24.0-rc Pre-release
Pre-release

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:

  1. Enter Dawarich console
  2. Run points = Point.where(import_id: nil).where.not(velocity: [nil, "0"]).where("velocity NOT LIKE '%.%'"). This will return all tracked (not imported) points.
  3. 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, if topic param is sent. The official GPSLogger instructions are assuming user won't be sending topic 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 the GET /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

New Contributors

Full Changelog: 0.23.6...0.24.0-rc