Releases: Freika/dawarich
0.21.0
The dawarich_db
service now uses a custom postgresql.conf
file.
As @tabacha pointed out in #549, the default shm_size
for the dawarich_db
service is too small and it may lead to database performance issues. This release introduces a shm_size
parameter to the dawarich_db
service to increase the size of the shared memory for PostgreSQL. This should help database with peforming vacuum and other operations. Also, it introduces a custom postgresql.conf
file to the dawarich_db
service.
To mount a custom postgresql.conf
file, you need to create a postgresql.conf
file in the dawarich_db
service directory and add the following line to it:
dawarich_db:
image: postgres:14.2-alpine
shm_size: 1G
container_name: dawarich_db
volumes:
- dawarich_db_data:/var/lib/postgresql/data
- dawarich_shared:/var/shared
+ - ./postgresql.conf:/etc/postgresql/postgresql.conf # Provide path to custom config
...
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U postgres -d dawarich_development" ]
interval: 10s
retries: 5
start_period: 30s
timeout: 10s
+ command: postgres -c config_file=/etc/postgresql/postgresql.conf # Use custom config
To ensure your database is using custom config, you can connect to the container (docker exec -it dawarich_db psql -U postgres
) and run SHOW config_file;
command. It should return the following path: /etc/postgresql/postgresql.conf
.
An example of a custom postgresql.conf
file is provided in the postgresql.conf.example
file.
Added
- A button on a year stats card to update stats for the whole year. #466
- A button on a month stats card to update stats for a specific month. #466
- A confirmation alert on the Notifications page before deleting all notifications.
- A
shm_size
parameter to thedawarich_db
service to increase the size of the shared memory for PostgreSQL. This should help database with peforming vacuum and other operations.
...
dawarich_db:
image: postgres:14.2-alpine
+ shm_size: 1G
...
- In addition to
api_key
parameter,Authorization
header is now being used to authenticate API requests. #543
Example:
Authorization: Bearer YOUR_API_KEY
Changed
- The map borders were expanded to make it easier for New Zealanders to scroll around the map.
- The
dawarich_db
service now uses a custompostgresql.conf
file. - The popup over polylines now shows dates in the user's format, based on their browser settings.
🎄Christmas disclaimer: 🎄
The holidays are ahead of us, so please expect slower responses and fixes. Things should return to their normal pace by the end of January 2025. Meanwhile, give yourself a well-deserved rest and enjoy your time with significant people. Eat some salads, build a snowman if you have snow in your area, and feel that holiday spirit.
Happy holidays!
💙 This release is supported by Steven B., James Manolios, chenrik, aldumil and Arne Schwarck on Patreon 💙
What's Changed
- Add buttons to recalculate month and year stats independently by @Freika in #567
- Support API key in Authorization header by @Freika in #568
- Add a custom postgresql.conf file to the dawarich_db service by @Freika in #569
- Update map popup to format dates with the locale from the browser by @whimsical-c4lic0 in #564
Full Changelog: 0.20.2...0.21.0
0.20.2
Added
- A point id is now being shown in the point popup.
Fixed
- North Macedonia is now being shown on the scratch map. #537
Changed
- The app process is now bound to
::
instead of0.0.0.0
to provide compatibility with IPV6. - The app was updated to use Rails 8.0.1.
💙 This release is supported by Steven B., James Manolios, chenrik, aldumil and Arne Schwarck on Patreon 💙
What's Changed
- Update to Rails 8 by @Freika in #560
- Add point id to popup and fix scratch map for North Macedonia by @Freika in #559
- Bind to both IPv6 and IPv4 interfaces by default by @duckfullstop in #516
New Contributors
- @duckfullstop made their first contribution in #516
Full Changelog: 0.20.1...0.20.2
0.20.1
0.20.1 - 2024-12-16
Fixed
- Setting
reverse_geocoded_at
for points that don't have geodata is now being performed in background job, in batches of 10,000 points to prevent memory exhaustion and long-running data migration.
💙 This release is supported by Steven B., James Manolios, chenrik, aldumil and Arne Schwarck on Patreon 💙
Full Changelog: 0.20.0...0.20.1
0.20.0
Added
GET /api/v1/points/tracked_months
endpoint added to get list of tracked years and months.GET /api/v1/countries/visited_cities
endpoint added to get list of visited cities.- A link to the docs leading to a help chart for k8s. #550
- A button to delete all notifications. #548
- A support for
RAILS_LOG_LEVEL
env var to change log level. More on that here: https://guides.rubyonrails.org/debugging_rails_applications.html#log-levels. The available log levels are::debug
,:info
,:warn
,:error
,:fatal
, and:unknown
, corresponding to the log level numbers from 0 up to 5, respectively. The default log level is:debug
. #540 - A devcontainer to improve developers experience. #546
Fixed
- A point popup is no longer closes when hovering over a polyline. #536
- When polylines layer is disabled and user deletes a point from its popup, polylines layer is no longer being enabled right away. #552
- Paths to gems within the sidekiq and app containers. #499
Changed
- Months and years navigation is moved to a map panel on the right side of the map.
- List of visited cities is now being shown in a map panel on the right side of the map.
💙 This release is supported by Steven B., James Manolios, chenrik, aldumil and Arne Schwarck on Patreon 💙
What's Changed
- On Map Point delete: Hide Polyline Layer, if it was hidden before by @tabacha in #552
- docs: Mention Helm chart by @Cogitri by @sheyabernstein in #550
- Feature: Add a "Delete Notifications" button by @tabacha in #548
- Add support for changing log level in development by @sheyabernstein in #540
- Map page update by @Freika in #529
- Bump oj from 3.16.7 to 3.16.8 by @dependabot in #556
- Bump dotenv-rails from 3.1.4 to 3.1.6 by @dependabot in #554
- fix gem paths in compose.yml & k8s instructions by @tigattack in #499
- Add devcontainer to dawarich by @tabacha in #546
New Contributors
- @sheyabernstein made their first contribution in #550
- @tigattack made their first contribution in #499
Full Changelog: 0.19.7...0.19.8
0.19.7
Fixed
- Fixed a bug where upon deleting a point on the map, the confirmation dialog was shown multiple times and the point was not being deleted from the map until the page was reloaded. #435
Changed
- With the "Points" layer enabled on the map, points with negative speed are now being shown in orange color. Since Overland reports negative speed for points that might be faulty, this should help you to identify them.
- On the Points page, speed of the points with negative speed is now being shown in red color.
💙 This release is supported by Steven B., James Manolios, chenrik and aldumil on Patreon 💙
What's Changed
Full Changelog: 0.19.6...0.19.7
0.19.6
The dawarich_shared
volume now being mounted to /data
instead of /var/shared
within the container. It fixes Redis data being lost on container restart.
To change this, you need to update the docker-compose.yml
file:
dawarich_redis:
image: redis:7.0-alpine
container_name: dawarich_redis
command: redis-server
volumes:
+ - dawarich_shared:/data
restart: always
healthcheck:
Telemetry is now disabled by default. To enable it, you need to set ENABLE_TELEMETRY
env var to true
. For those who have telemetry enabled using DISABLE_TELEMETRY
env var set to false
, telemetry is now disabled by default.
Fixed
- Flash messages are now being removed after 5 seconds.
- Fixed broken migration that was preventing the app from starting.
- Visits page is now loading a lot faster than before.
- Redis data should now be preserved on container restart.
- Fixed a bug where export files could have double extension, e.g.
file.gpx.gpx
.
Changed
- Places page is now accessible from the Visits & Places tab on the navbar.
- Exporting process is now being logged.
ENABLE_TELEMETRY
env var is now used instead ofDISABLE_TELEMETRY
to enable/disable telemetry.
💙 This release is supported by Steven B., James Manolios, chenrik and aldumil on Patreon 💙
What's Changed
Full Changelog: 0.19.5...0.19.6
0.19.5
Fixed
- Fixed a bug where the map and visits pages were throwing an error due to incorrect approach to distance calculation.
💙 This release is supported by Steven B., James Manolios, chenrik and aldumil on Patreon 💙
What's Changed
Full Changelog: 0.19.4...0.19.5
0.19.4
The GET /api/v1/trips/:id/photos
endpoint now returns a different structure of the response:
{
id: 1,
latitude: 10,
longitude: 10,
localDateTime: "2024-01-01T00:00:00Z",
originalFileName: "photo.jpg",
city: "Berlin",
state: "Berlin",
country: "Germany",
type: "image",
+ orientation: "portrait",
source: "photoprism"
}
Fixed
- Fixed a bug where the Photoprism photos were not being shown on the trip page.
- Fixed a bug where the Immich photos were not being shown on the trip page.
- Fixed a bug where the route popup was showing distance in kilometers instead of miles. #490
Added
- A link to the Photoprism photos on the trip page if there are any.
- A
orientation
field in the Api::PhotoSerializer, hence theGET /api/v1/photos
endpoint now includes the orientation of the photo. Valid values areportrait
andlandscape
. - Examples for the
type
,orientation
andsource
fields in theGET /api/v1/photos
endpoint in the Swagger UI. DISABLE_TELEMETRY
env var to disable telemetry. More on telemetry: https://dawarich.app/docs/tutorials/telemetryreverse_geocoded_at
column added to thepoints
table.
Changed
- On the Stats page, the "Reverse geocoding" section is now showing the number of points that were reverse geocoded based on
reverse_geocoded_at
column, value of which is based on the time when the point was reverse geocoded. If no geodata for the point is available,reverse_geocoded_at
will be set anyway. Number of points that were reverse geocoded but no geodata is available for them is shown below the "Reverse geocoded" number.
💙 This release is supported by Steven B., James Manolios, chenrik and aldumil on Patreon 💙
What's Changed
- Bump prometheus_exporter from 2.1.1 to 2.2.0 by @dependabot in #508
- Add Source to thumbnail image. Perhabs a fix to #506 untested. by @tabacha in #507
- Update How_to_install_Dawarich_using_Docker.md by @rebelvg in #512
- Trips photoprism integration by @Freika in #518
- Add DISABLE_TELEMETRY env var to disable telemetry by @Freika in #519
- Update map popup to use configured distance unit by @whimsical-c4lic0 in #490
- Introduce reverse_geocoded_at to points by @Freika in #474
New Contributors
- @tabacha made their first contribution in #507
- @rebelvg made their first contribution in #512
- @whimsical-c4lic0 made their first contribution in #490
Full Changelog: 0.19.3...0.19.4
0.19.3
Changed
- Refactored stats calculation to calculate only necessary stats, instead of calculating all stats
- Stats are now being calculated every 1 hour instead of 6 hours
The list of years on the Map page is now calculated based on users' points instead of stats. It's also being cached for one day because it's usually a heavy operation based on the number of points. - Reverse-geocoding points are now being performed in batches of 1,000 points to prevent memory exhaustion.
Added
- In-app notification about telemetry being enabled.
💙 This release is supported by Steven B., James Manolios, chenrik and aldumil on Patreon 💙
What's Changed
- Calculate only necessary stats by @Freika in #496
- Add in-app telemetry notification by @Freika in #497
Full Changelog: 0.19.2...0.19.3
0.19.2
The Telemetry release
Dawarich now can collect usage metrics and send them to InfluxDB. Before this release, the only metrics that could be somehow tracked by developers (only @Freika, as of now) were the number of stars on GitHub and the overall number of docker images being pulled, across all versions of Dawarich, non-splittable by version. New in-app telemetry will allow us to track more granular metrics, allowing me to make decisions based on facts, not just guesses.
I'm aware about the privacy concerns, so I want to be very transparent about what data is being sent and how it's used.
Data being sent:
- Number of DAU (Daily Active Users)
- App version
- Instance ID (unique identifier of the Dawarich instance built by hashing the api key of the first user in the database)
The data is being sent to a InfluxDB instance hosted by me and won't be shared with anyone.
Basically this set of metrics allows me to see how many people are using Dawarich and what versions they are using. No other data is being sent, nor it gives me any knowledge about individual users or their data or activity.
The telemetry is enabled by default, but it can be disabled by setting DISABLE_TELEMETRY
env var to true
. The dataset might change in the future, but any changes will be documented here in the changelog and in every release as well as on the telemetry page of the website docs.
Added
- Telemetry feature. It's now collecting usage metrics and sending them to InfluxDB.
Fixed
- Problem with importing Owntracks' .rec files (#476)
💙 This release is supported by Steven B., James Manolios, chenrik and aldumil on Patreon 💙
What's Changed
- fix imports of owntracks .rec files containing log types other than events by @jduar in #476
- Telemetry by @Freika in #488
New Contributors
Full Changelog: 0.19.1...0.19.2