Skip to content

Releases: endurain-project/endurain

v0.16.4

23 Dec 12:08

Choose a tag to compare

v0.16.4 - OAuth 2.1 PKCE, CSRF Protection, MFA backup codes, session security enhancements, add time duration display to heart rate zones and improved docs

⚠️ Warning:

ª The DB has schema changes, however no impacts are expected. Nevertheless backup your DB before applying the update.

  • Your users sessions will be deleted on upgrade. Users will have to authenticate again
  • This release currently breaks RunnerUp integration. If you use it refrain from updating until further notice
  • Migration from previous dev versions is not supported!

💡Gentle reminder: don't forget to update the image from "ghcr.io/joaovitoriasilva/endurain" to "ghcr.io/endurain-project/endurain"

Changes

  • Implement OAuth 2.1 PKCE, CSRF Protection, MFA Backup Codes, and Session Security Enhancements #448
  • Add update instructions for bare metal docs #447
  • Add docs page to set up SSO using either Pocket ID or Tailscale as the SSO provider #443
  • Add time duration display to heart rate zones #442
  • Added Proxmox community script to docs
  • Enhanced documentation developer guides
  • Enhanced documentation for authentication logic
  • Dependency bump

New contributors

Contributors

v0.16.3

15 Dec 12:56

Choose a tag to compare

v0.16.3 - Pocket ID as supported OIDC identity provider and fix for swapped labels for elapsed and moving time

  • Fix swapped labels for elapsed and moving time #440
  • Add Pocket ID as supported OIDC identity provider
  • Dependency bump

v0.16.2

11 Dec 15:16

Choose a tag to compare

v0.16.2 - Fix for no sleep data retrieved from GC

  • Fix for no sleep data retrieved from GC when some values are None resulting in NoneType exception #439

v0.16.1

11 Dec 10:55

Choose a tag to compare

v0.16.1 - Fix for BMI calculation on manual weight entry

  • Fix for BMI calculation on manual weight entry #438

v0.16.0

09 Dec 12:26

Choose a tag to compare

v0.16.0 - Single Sign-On support, steps data, sleep data, sleep targets for health metrics and sleep scoring system

⚠️ Warning:

ª The DB has schema changes, however no impacts are expected. Nevertheless backup your DB before applying the update.

  • MariaDB support is dropped. Use PostgreSQL as your DB. Check docs if need to migrate from MariaDB to PostgreSQL
  • Your users sessions will be deleted on upgrade. Users will have to authenticate again
  • Migration from previous Alpha and RC versions is not supported!

New Features:

Backend

  • Drop MariaDB support
  • Introduces support for external identity providers (SSO) #58
  • New password hasher utility, replacing legacy bcrypt and password logic
  • New token manager utility for JWT creation/validation
  • Refresh tokens are now hashed before being stored -> safer (no JWT leakage)
  • Hashed content now uses Argon2id. Users passwords are updated automatically on new login
  • Switched file security module to external module - safeuploads
  • Backend now correctly handles missing files or missing routes on requests
  • New auth module, centralizing authentication (local and SSO)
  • Add Strava activity retrieval by date range #368
  • Added steps, sleep and RHR data to Health section with charts inline with the changes made to activity charts
  • Added health targets for sleep, steps and weight
  • Add sleep scoring system on manual sleep entries
  • Add user max heart rate override for HR zone calculations #390
  • Fix pace calculation for lap swimming activities without splits #427
  • Refactor bulk import to use thread pool executor #399
  • Support SMTP_PASSWORD as Docker secret
  • Dependency bump

Frontend

  • Migrated some frontend components to TS
  • Introduces support for external identity providers (SSO) #58
  • Centralized and unified modal logic with new reusable Bootstrap modal composable
  • Added new validationUtils.ts for validation helper functions
  • Refactor asset imports to use centralized constants
  • Move activity visibility settings to a collapsible #423
  • Added steps, sleep and RHR data to Health section with charts inline with the changes made to activity charts
  • Added health targets for sleep, steps and weight
  • Add user max heart rate override for HR zone calculations #390
  • Dependency bump

Fixes:

  • Frontend now correctly handles Refresh and CSRF refresh logic
  • Fix for following back results in no modal shown #385
  • Fix for can't click context menu after login #348
  • Fix for some activities with gps track do not show speed/pace chart #422
  • Add instructions for bare-metal install to documentation #426
  • Fix incorrect units on public links #433
  • New sleep scoring docs and updated gallery screenshots
  • New default login photo
  • Added missing translation files to Crowdin
  • Added Nginx Proxy Manager proxy example file to docs #419
  • General bug fixes
  • Add TRADEMARK.md
  • Update Docker compose example for Jaeger service to use new image and config

New contributors

v0.16.0-RC2

08 Dec 15:54

Choose a tag to compare

v0.16.0-RC2 Pre-release
Pre-release

v0.16.0-RC2 - Release Candidate 2 for v0.16.0 - Single Sign-On support, steps data, sleep data, sleep targets for health metrics and sleep scoring system

⚠️ Warning:

  • This is not a final version, expect bugs and errors
  • MariaDB support is dropped. Use PostgreSQL as your DB. Check docs if need to migrate from MariaDB to PostgreSQL
  • Your users sessions will be deleted on upgrade. Users will have to authenticate again
  • Migration from previous Alpha versions is not supported!

Changes from RC1 to RC2

  • ⚠️ Warning: Migration from previous Alpha and RC versions is not supported!
  • Add instructions for bare-metal install to documentation #426
  • Refactor bulk import to use thread pool executor #399
  • Added missing translation files to Crowdin
  • Refactor health_targets, health_weight, health_steps and health_sleep API for simplicity and add tests
  • Add ability to delete, create or edit sleep entry
  • Add sleep scoring system on manual sleep entries
  • New sleep scoring docs and updated gallery screenshots
  • New default login photo
  • Dependency bump

Changes from Alpha5 to RC1

  • ⚠️ Warning: Migration from previous Alpha versions is not supported!
  • Add user max heart rate override for HR zone calculations #390
  • Fix pace calculation for lap swimming activities without splits #427
  • On SSO IdP creation, if custom logo is selected the user can now input an URL for the image #58

Changes from Alpha4 to Alpha5

  • ⚠️ Warning: Migration from previous Alpha versions is not supported!
  • Add health sleep tracking with dedicated health page
  • Added RHR healh page with data from sleep tracking

Changes from Alpha3 to Alpha4

  • ⚠️ Warning: Migration from previous Alpha versions is not supported!
  • Merged changes made until v0.15.9
  • Fix for some activities with gps track do not show speed/pace chart #422
  • Move activity visibility settings to a collapsible #423
  • Added steps data to Health section
  • Line chart in weight section is now inline with the changes made to activity charts
  • Added targets for weight and steps

Changes from Alpha2 to Alpha3

  • Fixed enable/disable provider from the list level #58
  • Icon hint inside provider's edit dialog is now aligned with available templates #58
  • Fixed issue that was breaking "Auto-redirect to SSO" #58
  • Added ability to have local login as a backup for SSO, even with "Auto-redirect to SSO" enabled. Adding ?forceLocalLogin=true to the url enables this. Example: https://endurain.com?forceLocalLogin=true #58
  • Enabled redirect on login. Example:
    • User is not logged in and navigates to https://endurain.com/settings
    • Redirects to https://endurain.com/login?redirect=/settings
    • User logs in using local or SSO auth
    • User is then redirected to https://endurain.com/settings instead of home page

Migrate from Alpha 1 to Alpha 2

  • You will need to change column idp_refresh_token in users_identity_providers table from varchar to text. Example with final stage bellow:
Screenshot 2025-11-04 at 16 40 36

Changes from Alpha1 to Alpha2

  • Fixed typo on README and docs index
  • Introduces Casdoor as a supported identity provider #58
  • Fixes update IDP not working
  • Fixes refresh token to large to be stored error
  • Add Strava activity retrieval by date range #368

New Features:

Backend

  • Drop MariaDB support
  • Introduces support for external identity providers (SSO) #58
  • New password hasher utility, replacing legacy bcrypt and password logic
  • New token manager utility for JWT creation/validation
  • Refresh tokens are now hashed before being stored -> safer (no JWT leakage)
  • Hashed content now uses Argon2id. Users passwords are updated automatically on new login
  • Switched file security module to external module - safeuploads
  • Backend now correctly handles missing files or missing routes on requests
  • New auth module, centralizing authentication (local and SSO)
  • Dependency bump

Frontend

  • Migrated some frontend components to TS
  • Introduces support for external identity providers (SSO) #58
  • Centralized and unified modal logic with new reusable Bootstrap modal composable
  • Added new validationUtils.ts for validation helper functions
  • Refactor asset imports to use centralized constants
  • Dependency bump

Fixes:

  • Frontend now correctly handles Refresh and CSRF refresh logic
  • Fix for following back results in no modal shown #385
  • Fix for can't click context menu after login #348
  • General bug fixes
  • Add TRADEMARK.md
  • Update Docker compose example for Jaeger service to use new image and config

New contributors

v0.16.0-RC1

03 Dec 22:52

Choose a tag to compare

v0.16.0-RC1 Pre-release
Pre-release

v0.16.0-RC1 - Release Candidate 1 for v0.16.0 - Single Sign-On support, steps data, sleep data and targets for health metrics

⚠️ Warning:

  • This is not a final version, expect bugs and errors
  • MariaDB support is dropped. Use PostgreSQL as your DB. Check docs if need to migrate from MariaDB to PostgreSQL
  • Your users sessions will be deleted on upgrade. Users will have to authenticate again
  • Migration from previous Alpha versions is not supported!

Changes from Alpha5 to RC1

  • ⚠️ Warning: Migration from previous Alpha versions is not supported!
  • Add user max heart rate override for HR zone calculations #390
  • Fix pace calculation for lap swimming activities without splits #427
  • On SSO IdP creation, if custom logo is selected the user can now input an URL for the image #58

Changes from Alpha4 to Alpha5

  • ⚠️ Warning: Migration from previous Alpha versions is not supported!
  • Add health sleep tracking with dedicated health page
  • Added RHR healh page with data from sleep tracking

Changes from Alpha3 to Alpha4

  • ⚠️ Warning: Migration from previous Alpha versions is not supported!
  • Merged changes made until v0.15.9
  • Fix for some activities with gps track do not show speed/pace chart #422
  • Move activity visibility settings to a collapsible #423
  • Added steps data to Health section
  • Line chart in weight section is now inline with the changes made to activity charts
  • Added targets for weight and steps

Changes from Alpha2 to Alpha3

  • Fixed enable/disable provider from the list level #58
  • Icon hint inside provider's edit dialog is now aligned with available templates #58
  • Fixed issue that was breaking "Auto-redirect to SSO" #58
  • Added ability to have local login as a backup for SSO, even with "Auto-redirect to SSO" enabled. Adding ?forceLocalLogin=true to the url enables this. Example: https://endurain.com?forceLocalLogin=true #58
  • Enabled redirect on login. Example:
    • User is not logged in and navigates to https://endurain.com/settings
    • Redirects to https://endurain.com/login?redirect=/settings
    • User logs in using local or SSO auth
    • User is then redirected to https://endurain.com/settings instead of home page

Migrate from Alpha 1 to Alpha 2

  • You will need to change column idp_refresh_token in users_identity_providers table from varchar to text. Example with final stage bellow:
Screenshot 2025-11-04 at 16 40 36

Changes from Alpha1 to Alpha2

  • Fixed typo on README and docs index
  • Introduces Casdoor as a supported identity provider #58
  • Fixes update IDP not working
  • Fixes refresh token to large to be stored error
  • Add Strava activity retrieval by date range #368

New Features:

Backend

  • Drop MariaDB support
  • Introduces support for external identity providers (SSO) #58
  • New password hasher utility, replacing legacy bcrypt and password logic
  • New token manager utility for JWT creation/validation
  • Refresh tokens are now hashed before being stored -> safer (no JWT leakage)
  • Hashed content now uses Argon2id. Users passwords are updated automatically on new login
  • Switched file security module to external module - safeuploads
  • Backend now correctly handles missing files or missing routes on requests
  • New auth module, centralizing authentication (local and SSO)
  • Dependency bump

Frontend

  • Migrated some frontend components to TS
  • Introduces support for external identity providers (SSO) #58
  • Centralized and unified modal logic with new reusable Bootstrap modal composable
  • Added new validationUtils.ts for validation helper functions
  • Refactor asset imports to use centralized constants
  • Dependency bump

Fixes:

  • Frontend now correctly handles Refresh and CSRF refresh logic
  • Fix for following back results in no modal shown #385
  • Fix for can't click context menu after login #348
  • General bug fixes
  • Add TRADEMARK.md
  • Update Docker compose example for Jaeger service to use new image and config

New contributors

v0.16.0-Alpha5

28 Nov 16:07

Choose a tag to compare

v0.16.0-Alpha5 Pre-release
Pre-release

v0.16.0-Alpha5 - Alpha5 for v0.16.0 - Single Sign-On support, steps data, sleep data and targets for health metrics

⚠️ Warning:

  • This is not a final version, expect bugs and errors
  • MariaDB support is dropped. Use PostgreSQL as your DB. Check docs if need to migrate from MariaDB to PostgreSQL
  • Your users sessions will be deleted on upgrade. Users will have to authenticate again
  • Migration from previous Alpha versions is not supported!

Changes from Alpha4 to Alpha5

  • ⚠️ Warning: Migration from previous Alpha versions is not supported!
  • Add health sleep tracking with dedicated health page
  • Added RHR healh page with data from sleep tracking

Changes from Alpha3 to Alpha4

  • ⚠️ Warning: Migration from previous Alpha versions is not supported!
  • Merged changes made until v0.15.9
  • Fix for some activities with gps track do not show speed/pace chart #422
  • Move activity visibility settings to a collapsible #423
  • Added steps data to Health section
  • Line chart in weight section is now inline with the changes made to activity charts
  • Added targets for weight and steps

Changes from Alpha2 to Alpha3

  • Fixed enable/disable provider from the list level #58
  • Icon hint inside provider's edit dialog is now aligned with available templates #58
  • Fixed issue that was breaking "Auto-redirect to SSO" #58
  • Added ability to have local login as a backup for SSO, even with "Auto-redirect to SSO" enabled. Adding ?forceLocalLogin=true to the url enables this. Example: https://endurain.com?forceLocalLogin=true #58
  • Enabled redirect on login. Example:
    • User is not logged in and navigates to https://endurain.com/settings
    • Redirects to https://endurain.com/login?redirect=/settings
    • User logs in using local or SSO auth
    • User is then redirected to https://endurain.com/settings instead of home page

Migrate from Alpha 1 to Alpha 2

  • You will need to change column idp_refresh_token in users_identity_providers table from varchar to text. Example with final stage bellow:
Screenshot 2025-11-04 at 16 40 36

Changes from Alpha1 to Alpha2

  • Fixed typo on README and docs index
  • Introduces Casdoor as a supported identity provider #58
  • Fixes update IDP not working
  • Fixes refresh token to large to be stored error
  • Add Strava activity retrieval by date range #368

New Features:

Backend

  • Drop MariaDB support
  • Introduces support for external identity providers (SSO) #58
  • New password hasher utility, replacing legacy bcrypt and password logic
  • New token manager utility for JWT creation/validation
  • Refresh tokens are now hashed before being stored -> safer (no JWT leakage)
  • Hashed content now uses Argon2id. Users passwords are updated automatically on new login
  • Switched file security module to external module - safeuploads
  • Backend now correctly handles missing files or missing routes on requests
  • New auth module, centralizing authentication (local and SSO)
  • Dependency bump

Frontend

  • Migrated some frontend components to TS
  • Introduces support for external identity providers (SSO) #58
  • Centralized and unified modal logic with new reusable Bootstrap modal composable
  • Added new validationUtils.ts for validation helper functions
  • Refactor asset imports to use centralized constants
  • Dependency bump

Fixes:

  • Frontend now correctly handles Refresh and CSRF refresh logic
  • Fix for following back results in no modal shown #385
  • Fix for can't click context menu after login #348
  • General bug fixes
  • Add TRADEMARK.md
  • Update Docker compose example for Jaeger service to use new image and config

v0.16.0-Alpha4

25 Nov 15:33

Choose a tag to compare

v0.16.0-Alpha4 Pre-release
Pre-release

v0.16.0-Alpha4 - Alpha4 for v0.16.0 - Single Sign-On support, steps data and targets for weight and steps

⚠️ Warning:

  • This is not a final version, expect bugs and errors
  • MariaDB support is dropped. Use PostgreSQL as your DB. Check docs if need to migrate from MariaDB to PostgreSQL
  • Your users sessions will be deleted on upgrade. Users will have to authenticate again
  • Migration from previous Alpha versions is not supported!

Changes from Alpha3 to Alpha4

  • ⚠️ Warning: Migration from previous Alpha versions is not supported!
  • Merged changes made until v0.15.9
  • Fix for some activities with gps track do not show speed/pace chart #422
  • Move activity visibility settings to a collapsible #423
  • Added steps data to Health section
  • Line chart in weight section is now inline with the changes made to activity charts
  • Added targets for weight and steps

Changes from Alpha2 to Alpha3

  • Fixed enable/disable provider from the list level #58
  • Icon hint inside provider's edit dialog is now aligned with available templates #58
  • Fixed issue that was breaking "Auto-redirect to SSO" #58
  • Added ability to have local login as a backup for SSO, even with "Auto-redirect to SSO" enabled. Adding ?forceLocalLogin=true to the url enables this. Example: https://endurain.com?forceLocalLogin=true #58
  • Enabled redirect on login. Example:
    • User is not logged in and navigates to https://endurain.com/settings
    • Redirects to https://endurain.com/login?redirect=/settings
    • User logs in using local or SSO auth
    • User is then redirected to https://endurain.com/settings instead of home page

Migrate from Alpha 1 to Alpha 2

  • You will need to change column idp_refresh_token in users_identity_providers table from varchar to text. Example with final stage bellow:
Screenshot 2025-11-04 at 16 40 36

Changes from Alpha1 to Alpha2

  • Fixed typo on README and docs index
  • Introduces Casdoor as a supported identity provider #58
  • Fixes update IDP not working
  • Fixes refresh token to large to be stored error
  • Add Strava activity retrieval by date range #368

New Features:

Backend

  • Drop MariaDB support
  • Introduces support for external identity providers (SSO) #58
  • New password hasher utility, replacing legacy bcrypt and password logic
  • New token manager utility for JWT creation/validation
  • Refresh tokens are now hashed before being stored -> safer (no JWT leakage)
  • Hashed content now uses Argon2id. Users passwords are updated automatically on new login
  • Switched file security module to external module - safeuploads
  • Backend now correctly handles missing files or missing routes on requests
  • New auth module, centralizing authentication (local and SSO)
  • Dependency bump

Frontend

  • Migrated some frontend components to TS
  • Introduces support for external identity providers (SSO) #58
  • Centralized and unified modal logic with new reusable Bootstrap modal composable
  • Added new validationUtils.ts for validation helper functions
  • Refactor asset imports to use centralized constants
  • Dependency bump

Fixes:

  • Frontend now correctly handles Refresh and CSRF refresh logic
  • Fix for following back results in no modal shown #385
  • Fix for can't click context menu after login #348
  • General bug fixes
  • Add TRADEMARK.md
  • Update Docker compose example for Jaeger service to use new image and config

v0.15.9

19 Nov 12:18

Choose a tag to compare

v0.15.9 - Add support for kayaking, sailing, snow shoeing and inline skating activities, initial support for all Garmin Index S2 stats, bug fixes, added missing translations

  • Add support for kayaking, sailing, snow shoeing and inline skating activities #411
  • Windsurf should now display speed instead of pace #411
  • Cadence graph should now display SPM in running activities #418
  • Gear list on activity page should now be refreshed after changing activity type if applicable #415
  • Support for all Garmin Index S2 stats. Backend is prepared for this, and frontend will support this on v0.16.X #401
  • Added missing translations

Contributors

@thehijacker in support for all Garmin Index S2 stats #401