Releases: Freika/dawarich
0.22.0
Please read this release notes carefully before upgrading.
Docker-related files were moved to the docker
directory and some of them were renamed. Before upgrading, study carefully changes in the docker/docker-compose.yml
file and update your docker-compose file accordingly, so it uses the new files and commands. Copying docker/docker-compose.yml
blindly may lead to errors.
No volumes were removed or renamed, so with a proper docker-compose file, you should be able to upgrade without any issues.
To update existing docker-compose.yml
to new changes, refer to the following:
dawarich_app:
image: freikin/dawarich:latest
...
- entrypoint: dev-entrypoint.sh
- command: ['bin/dev']
+ entrypoint: web-entrypoint.sh
+ command: ['bin/rails', 'server', '-p', '3000', '-b', '::']
...
dawarich_sidekiq:
image: freikin/dawarich:latest
...
- entrypoint: dev-entrypoint.sh
- command: ['bin/dev']
+ entrypoint: sidekiq-entrypoint.sh
+ command: ['bundle', 'exec', 'sidekiq']
Although docker-compose.production.yml
was added, it's not being used by default. It's just an example of how to configure Dawarich for production. The default docker-compose.yml
file is still recommended for running the app.
Changed
- All docker-related files were moved to the
docker
directory. - Default memory limit for
dawarich_app
anddawarich_sidekiq
services was increased to 4GB. dawarich_app
anddawarich_sidekiq
services now use separate entrypoint scripts.- Gems (dependency libraries) are now being shipped as part of the Dawarich Docker image.
Fixed
- Visit suggesting job does nothing if user has no tracked points.
BulkStatsCalculationJob
now being called without arguments in the data migration.
Added
- A proper production Dockerfile, docker-compose and env files.
💙 This release is supported by Steven B., James Manolios, chenrik, aldumil, Arne Schwarck, derpderpington, Chippie, dint, jhalpern, Lex Fradski, EurenikZ and Schlufo on Patreon 💙
What's Changed
Full Changelog: 0.21.6...0.22.0
0.21.6
Changed
- Disabled visit suggesting job after import.
- Improved performance of the
User#years_tracked
method.
Fixed
- Inconsistent password for the
dawarich_db
service indocker-compose_mounted_volumes.yml
. #605 - Points are now being rendered with higher z-index than polylines. #577
- Run cache cleaning and preheating jobs only on server start. #594
💙 This release is supported by Steven B., James Manolios, chenrik, aldumil, Arne Schwarck, derpderpington, Chippie, dint, jhalpern, Lex Fradski, EurenikZ and Schlufo on Patreon 💙
What's Changed
Full Changelog: 0.21.5...0.21.6
0.21.5
You may now use Geoapify API for reverse geocoding. To obtain an API key, sign up at https://myprojects.geoapify.com/ and create a new project. Make sure you have read and understood the pricing policy and Terms and Conditions.
Added
- Geoapify API support for reverse geocoding. Provide
GEOAPIFY_API_KEY
env var to use it.
Removed
- Photon ENV vars from the
.env.development
and docker-compose.yml files. APPLICATION_HOST
env var.REVERSE_GEOCODING_ENABLED
env var.
💙 This release is supported by Steven B., James Manolios, chenrik, aldumil, Arne Schwarck, derpderpington, Chippie, dint, jhalpern, Lex Fradski and EurenikZ on Patreon 💙
What's Changed
Full Changelog: 0.21.4...0.21.5
0.21.4
Fixed
- Fixed a bug where Photon API for patreon supporters was not being used for reverse geocoding.
💙 This release is supported by Steven B., James Manolios, chenrik, aldumil, Arne Schwarck, derpderpington, Chippie, dint and jhalpern on Patreon 💙
Full Changelog: 0.21.3...0.21.4
0.21.3
⚠️ Important announcement ⚠️
A few days ago @lonvia, maintainer of https://photon.komoot.io, the reverse-geocoding API service that Dawarich is using by default, reached me to highlight a problem: Dawarich makes too many requests to https://photon.komoot.io, even with recently introduced rate-limiting to prevent more than 1 request per second.
Photon is a great service and Dawarich wouldn't be what it is now without it, but I have to ask all Dawarich users that are running it on their hardware to either switch to a Photon instance hosted by me (@Freika) or strongly consider hosting their own Photon instance. Thanks to @rtuszik, it's pretty much docker compose up -d
. The documentation on the website will be soon updated to also encourage setting up your own Photon instance. More reverse geocoding options will be added in the future.
Let's decrease load on https://photon.komoot.io together!
Thank you.
Reverted
Imported points will now be reverse geocoded only after import is finished.
💙 This release is supported by Steven B., James Manolios, chenrik, aldumil, Arne Schwarck, derpderpington, Chippie, dint and jhalpern on Patreon 💙
What's Changed
- Bump tailwindcss-rails from 3.0.0 to 3.1.0 by @dependabot in #601
- Bump oj from 3.16.8 to 3.16.9 by @dependabot in #602
- Bump rubocop-rails from 2.27.0 to 2.28.0 by @dependabot in #603
Full Changelog: 0.21.2...0.21.3
0.21.2
Added
- Logging for Immich responses.
- Watcher now supports all data formats that can be imported via web interface.
Changed
- Imported points will now be reverse geocoded only after import is finished.
Fixed
- Markers on the map are now being rendered with higher z-index than polylines. #577
💙 This release is supported by Steven B., James Manolios, chenrik, aldumil and Arne Schwarck on Patreon 💙
What's Changed
- feat: added google_phone_takeout and google_semantic_histo into impor… by @Eduard-Gimaev in #539
- Start reverse geocoding after import is finished by @Freika in #592
- Add Logging for Immich by @arne182 in #597
New Contributors
- @Eduard-Gimaev made their first contribution in #539
- @arne182 made their first contribution in #597
Full Changelog: 0.21.1...0.21.2
0.21.1
Added
- Cache cleaning and preheating upon application start.
PHOTON_API_KEY
env var to set Photon API key. It's an optional env var, but it's required if you want to use Photon API as a Patreon supporter.- 'X-Dawarich-Response' header to the
GET /api/v1/health
endpoint. It's set to 'Hey, I'm alive!' to make it easier to check if the API is working.
Changed
- Custom config for PostgreSQL is now optional in
docker-compose.yml
.
💙 This release is supported by Steven B., James Manolios, chenrik, aldumil and Arne Schwarck on Patreon 💙
What's Changed
- Bump geocoder from
04ee293
to 1.8.4 by @dependabot in #557 - Bump sidekiq from 7.3.6 to 7.3.7 by @dependabot in #584
- Bump importmap-rails from 2.0.3 to 2.1.0 by @dependabot in #585
- Bump geocoder from
04ee293
to 1.8.5 by @dependabot in #586 - Bump debug from 1.9.2 to 1.10.0 by @dependabot in #587
- Bump dotenv-rails from 3.1.6 to 3.1.7 by @dependabot in #588
Full Changelog: 0.21.0...0.21.1
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