Fix Hr percentage in activity view for Hr reserve
Improved location detection
We have deployed a cleary improved location name detection. There will always be edge cases where the name doesn't fit perfectly.
Garmin Sync with Title and Description
Garmin has extended the API and now we can also access the titles and descriptions. This only happens during the initial sync of the activity.
Removed 'Training times' stats plugin
Almost all stats from the "Training times" stats are still available in the Histogram tool.
Garmin has removed the synchronization of third party activities from e.g. Zwift
For the past year, Garmin also synced third-party activities to platforms like ours.G armin has now disabled this and activities such as from Zwift can no longer be synced to us via Garmin. We hope that Zwift and co will provide an API in the future. But so far there seemed to be no interest there.
See also Feature Request "Sync with Zwift"
Fix multi sport Coros sync
Color bars for intensity by zone distribution
Runalyze now offers a possibility to directly assess the intensity of an activity in the calendar view at a glance: Color bars for zone distribution.
Removed Polar history import
Due a change on Polar's site we are not able to offer the Polar history import anymore.
New lap intensities besides active/rest
We've added further lap intensity options. Laps can now be marked as 'Interval/Active', 'Recovery', 'Warm-up', 'Cool-down' and 'Rest'.
FIT details: trimp added
Runalyze is now able to import vendor-specific trimp values stored in *.fit files.
Changes regarding defaults after registration
We changed some defaults after registration. We removed the activity type for 'Warm-up' (which motivated people to split workouts into three activities), renamed 'Jogging' to 'Eas run' and 'Long Slow Distance' to 'Long Run' and removed default clothes. Nevertheless, this does only apply for upcoming registrations and as usual every user can define his own activity types and equipment categories (and rename the existing ones).
Duplicate detection improved
We have improved the duplicate detection during activity import.
Detection of Zwift locations
Missing data in Zone distribution/Poster Tool/Performance Curves
It took a while until we have found why some data is missing. This has been fixed now and some activities are reprocessing. You should see all data until tomorrow evening.
Feature voting platform
Internally we already track all your feature requests and try to see what we develop next. Now we've just added a Feature Voting Plattform, where you can submit feature requests, upvote existing requests and also get notified when there is a new status of your request.
Performance curves for last 90 days
The performance curves have been added for individual activities some time ago. We now have the performance curves for last 90 days live. You can find them in the list of tools or directly at https://runalyze.com/my/performance-curves.
Zone distribution based on raw data is now available for everyone
Zone statistics (for pace/power/hr in the statistics tab) based on recorded data series are now available for everyone. These statistics were based until now only on the average values of the activities.
Health section: Blood Glucose tracking
Sync with Oura (Beta)
Synchronization with Oura (http://ouraring.com/) is now possible. So far only sleep data, as we do not yet support HRV data outside of individual activities. In the same move, we added two more data fields to the sleep data (average heart rate and resting rate
Beta: Zone distribution based on raw data
Zone statistics* (Pace/Power/HR) based on recorded data series are now available for Runalyze Supporter as beta feature. These statistics were based until now only on the average values of the activities.
*Only at the Analysis-Statistic plugin yet
Sync with Wahoo
You are now able to sync our activities from Wahoo to Runalyze automatically. Read more
Suunto - Upload fit file to Suunto App
If you have a connected Suunto account at Runalyze you can now upload a Fit file directly to Suunto app.
Search for virtual activities
Virtual activities (e.g. Zwift rides/runs) can now be filtered when searching for activities.
Aerobic threshold estimation based on HRV
Runalyze has a new experimental feature: for activities with HRV data (or RR intervals) the aerobic threshold can be estimated (or at least it’s tried to do so).
Read more in our latest blog article.
Performance curves for single activities
With the latest update, Runalyze can now display power, pace and heart rate performance graphs for individual activities. These graphs show the best or maximum performance for all possible time periods – from one second to the entire activity duration.
Read more in our latest blog article.
Fixes for week numbers at turn of the year
At some places week numbers at turn of the year were not correctly taken into account.
Polar Sleep Sync activated for everyone
Power duration curves for last 90 days are now in private beta
We are currently testing new features based on the long-term trend of histograms, duration curves, and route data. This includes power duration curves, which are now available for the first beta testers.
FIT details are now available in miscellaneous section
FIT details (performance condition, recovery time, estimated VO2max by file, ...) are now available in the miscellaneous section of the activity view. They have been visible in the dataset only so far.
Suunto route upload
If you have a connected Suunto account at Runalyze you can now upload a GPX route directly to Suunto app and thus to your watch.
Fix initial trimp calculation
Since 1st December, the initial trimp calculation may have been off. This has been fixed now.
Poster generation: option to generate heatmap for a single month
There's a new feature (for supporters only): The poster tool has a new option to generate the heatmap (or grid layout) for a single month.
Weather data: request data for the middle of the activity
Up to now the weather data was always queried for the beginning of the activity. This has now changed and we now request the weather at the middle of the activity.
New configuration option: import lap times with tenths of a second
We have added a new configuration option Round laps to full seconds which defaults to true. Unchecking this option will give you lap times with tenths of a second for future imports.
Running Effectiveness and Relative Running Economy in dataset & tools
- Respect date related weight, maximum/resting heart rate in tools and dataset
- Add Running Effectiveness to tools
- Add Relative Running Economy to dataset and tools
Fix gpx parser to respect detect pauses settings
Withings token refresh failed
A third party library we were using used some old invalid urls to request tokens. This has been fixed. If you have problems with the Withings connection please disconnect and reconnect.
API Health metrics: bulk endpoint
Our API got an bulk endpoint for health metrics.
Fix for (rare) disappearance of single data
Our "PrivacyGuard" had a bug which caused the graphs/raw data to be missing for some activities. If you are affected by such an activity, you have to import this activity again.
Extended our API (Health metrics)
We have extended our API for our partners.
Respect all privacy settings from dataset for shared activities
Two months ago we started respecting the 'main' privacy settings from your dataset. Now, almost all privacy settings are respected. For example, if you set your average heart rate to private, the heart rate data series for other people will also be hidden.
New metric: VAM
VAM is the average ascent speed in meters per hour, calculated based on all classified climbs in Runalyze. This value is now available for all upcoming activities (with at least one classified climb).
Shortcuts to set all activities public/private
You can now set all your activities public or private with one click from your privacy settings.
Fix gradient calculation in case of bad gps data
Activity view: plot for flight time
The activity view now includes a plot for flight time (assuming cadence and ground contact time are available).
ANOVA: group by month (and year), weekday and daytime
Our ANOVA tool can now group values additionally by month (and year), weekday and daytime.
Internal version upgrades
We have upgraded several internal dependencies of Runalyze.
Polar Health Sync
Due to a bug no weight or rest heart rate data was received. This should work again for future entries.
Option to switch off power calculation
Runalyze can automatically calculate power for running and cycling activities. Previously, this was always done when no recorded data was available. From now on you can choose for each sport whether Runalyze should calculate power always, never or only when empty.
Option to limit Polar Sync
Runalyze now has same settings for limiting Polar Sync as for Garmin Sync. Still, sleep sync is not yet available for Polar due to problems on Polar's side
Fix aerobic decoupling calculation
Fix trimp calculation in case of partially missing heart rate values
Option to limit Garmin Sync
As some users have requested we have now created a setting to restrict the Garmin synchronization.
Select whether you want to have the resting heart rate, sleep data and/or body composition automatically synchronized. Default remains "yes"
Withings Sync is now available for all users
Fix pace in race prediction calculator
Fix activity form: calculate kcal only if distance changes
Fix disconnecting accounts from Garmin/Suunto/Withings
In rare cases an invalid connection to these services resulted in problems disconnecting those accounts. This has been fixed.
Date, time and number format
You can now set your locale dependent date, time and number format in your account settings.
Color route according to speed
Garmin beat us to it a few days ago, but this feature has also been on our wish list for a long time. Now it’s done and you can also colorize all your tracks by speed in Runalyze. So you can see directly on which sections you were especially fast or slow.
Read more at our blog.
Fix time zone issue for posters
Some activities were assigned to the wrong day within the poster tool.
Start of the week: new option "Saturday"
Fix gap calculation for extreme gradients
Gradients above 40% (or below -40%) were incorrectly evaluated when calculating the Grade Adjusted Pace.
Device detection: Updated list of devices and vendors
We have updated our device list and are now able to detect a lot of new devices and vendors.
New beta feature: Withing Sync
Synchronization of health data from Withings is now enabled for Runalyze Supporters.
Garmin History Import: Limitation removed & history health sync added
The Garmin history import can now be used again without any limitation by Garmin. Requesting more than 1000 days of history is possible again.
Body composition, sleep data and resting heart rate are now available for syncing too. Duplicates can occur for health data if entries already exist for requested time period.
Recovery heart rate in activity view
The recovery heart rate (2 minutes after stopping) had been available as dataset value and is now shown in the activity view as well.
Edit activity: 'Save and close' button
Relative TRIMP has been added to dataset and ANOVA and trend analysis
Relative TRIMP is simply TRIMP per hour. It can be used as an intensity metric, similar to average heart rate, but taking into account the changing workloads during the activity.
Respect privacy settings for shared activities
The 'main' privacy settings from your dataset are now respected for your shared activities (daytime, title, notes, route name, training partners, tags and equipment). You may want to set those fields to private in your dataset settings.
FIT files: Fix for files from FORM smart swim goggles
Polar Sync: Resting heart rate and weight
Resting heart rate and weight should now also be automatically synchronized from Polar to Runalyze. Sleep data cannot yet be synchronized due to a problem with Polar.
Garmin Sync: Duplicates with weight and resting heart rate
Due to a misunderstanding of sleep and resting heart rate synchronization with Garmin, there were many duplicates. A fix was applied. Most duplicates for Resting Heart Rate and sleeps have been removed.
Full tables for all health data
All kind of health data like weight, sleep, mental state, blood pressure, maxium heart rate and resting heart rate have their own tables now where you can edit and delete all entries.
Garmin History Import is back again (with limitation)
The Garmin history import is available again. But as we are limited temporarily by Garmin with 1000 days/minute the tool maybe shows an information that you need to wait a minute.
Sync for Garmin weight, sleep and resting heart rate.
Weight and sleep data is now synced automatically from Garmin to Runalyze. Resting heart rate should be synced automatically too.
Refactored health section
New health section: We have migrated all data to the new health section.
A blog post with all changes will be available in the end of the next week.
Track mental state
Mood, fatigue and stress can have quite an impact on everyday training. Both positive and negative. Looking at these values over a longer period of time is therefore not only important for training, but also to be able to counteract in everyday life if the fatigue and stress continues for too long.
Track blood pressure
You can track your blood pressure. Automatic sync with e.g. Withings is in work
FIT files: Update for internal fit parser module
New Metrics: GAP, xGAP, xPace, Variability Index, Aerobic Efficiency, Aerobic Decoupling and Uphill/Downhill Efficiency
We will explain to you in detail what the values mean in detail soon. But you can already find the values for all future (!) activities in the activity view, in the dataset (must be activated) and in the usual tools (trend analysis, ANOVA, sorting by search). - And you can find a short info about the values in our glossary.
We know that you would like to see the values for all past activities - so would we. But this requires the re-processing of many millions of activities. We have this on our radar and will let you know as soon as this is possible or available.
Rebuild of database infrastructure
We have rebuilt, updated and extended our database infrastructure.
Grade adjusted pace for running
After a long time in beta status, the Grade Adjusted Pace (GAP) is finally here. We have made some adjustments to the calculation parameters and from now on we will show you the GAP for the running activities, for single laps and for climbs.
Facebook Login fixed
Streak view shows total distance
We have added the total distance to the shown streak (statistics 'plugin' below calendar view).
Equipment table: last use
The full equipment table has a new column for the last use of each object.
Show climbs in activity view and dataset
Climbs are now available in the activity view. In addition, you can activate the number of climbs (and their categories) in your dataset for the calendar view.
Fix weather mapping
Some weather conditions were wrongly assigned for data of the service provider darksky with us.
From now on you can view the progress chart for the different sports and time periods on Runalyze.
Compare your distance, duration, ascending altitude, TRIMP or number of activities in the current period (year/month/week) with a previous one (up to the beginning of last year at the most), and keep track of where you will end up.
Fix reading developer fields for multisession files
Fix gps parser for non-defined namespace extensions
Support for all developer fields from FIT files
Runalyze does now import and store all developer fields from FIT files. Read more at our blog.
Fix default privacy for all sports
Due to a bug in the new account setup guide we had to reset the privacy settings for all users in the sports to private. If you want to have the activities automatically set to public when importing, you have to reconfigure that setting for each sport.
Easy account setup
Athletes can now easily set up their account to provide all the data necessary for specific calculations. Read more at our blog.
Fix best sub segments for non-equidistant data
There was a bug resulting in wrong best sub segments for power data in case of non-equidistant data. This behavior has been fixed.
Fix false duplicates for short transitions
Multisport sessions (e.g. Triathlon) with short transitions (less than one minute) led to false duplicates.
Fix time zone issue for sports panel
The sports panel did ignore the user's time zone when showing e.g. current week.
Fix imperial units in plot tooltip
Plot tooltips in activity view did not respect imperial units.
Option to recalculate a single activity
It is now possible to recalculate TRIMP, VO2max and altitude for an individual activity.
Activity view: dynamically show inactive laps
History import for Decathlon
You can now take over your complete history via Decathlon sync.
Support for treadmill incline from Runn sensor
We have added support for incline data from Runn™ Smart Treadmill Sensor from North Pole Engineering.
New beta features: improved views for marathon shape and running performance status
For users with supporter status there are two new views for the current marathon shape and for the running performance status. We explain the new Marathon Shape View in detail on our blog and an article on the running performance status view will follow. After a few weeks those features will be freely available for every user.
Various minor improvements for activity view
We have internally refactored the activity view (to get rid of some legacy code) and added a few improvements. Heart rate and pace zone tables as well as computed laps do now show average power and power zone table does now show average pace.
Fix Google login for some users
The Google login did not work for everyone lately. We have fixed the issue by updating a third-party library.
Decathlon: automatic synchronization
Direct synchronization with Decathlon & Domyos E-Connected is now possible. Read more at our blog.
Glossary: running dynamics
We have added various new entries in our glossary for running dynamics (cadence, stride length, ground contact time/balance, vertical oscillation/ratio, flight time/ratio).
Climb score: show avg. power
Average power was added to the Climb Score view. You can switch between pace and power now.
Increased max length of equipment notes
NEW: Become a RUNALYZE SUPPORTER
To be able to invest more time in RUNALYZE in the long term, we are now launching a subscription model. You can become a RUNALYZE supporter. Read more at our blog.
Special event: Easter Run 2020
In view of the current situation and numerous cancelled events, we have organised a virtual Easter run. Read more at our blog.
Fix map for poster tool
Coros added export to RUNALYZE
Read more at our blog.
Internal refactoring for account activation/deletion and password recovery
TCX export of activities without datapoints
Revert using fit files for Polar sync
Polar sync now uses *.fit-files by default
Polar sync now uses *.fit-files by default. The option to switch formats has been removed.
New elevation correction config option
The user can switch between "Never correct", "Only if device has no barometer" or "Always". The new option "Always" is intended for cases when the barometer of a device is broken or provides useless data.
Do not correct elevation for devices with barometer
If a device that has a barometer is detected during import, no automatic altitude correction is performed, even if it is activated in the configuration. Barometric altitude data is usually much more accurate than data corrected by satellite data. A manual correction is still possible afterwards.
Fix altitude data from barometer
Elevation data from a device with a barometer was erroneously stored as 'corrected' data. Affected are activities between 13 and 17 March. In this case the data was not corrected, only the displayed message is incorrect.
Automatic device detection
When importing fit files, the device is now automatically detected in almost all cases.
Suunto: Force sync of individual activities
Sometimes Suunto only informs us with a significant time delay if a new activity is available. If in doubt, you can now directly trigger a sync of individual activities.
Fix invalid vo2max correction factors
In rare cases an invalid vo2max correction factor was calculated.
Fix generation of social images
After a recent change the generation of the images did not work anymore.
Anova and trend analysis: total strokes and swolf
We have added the swim metrics total strokes and SWOLF to our anova and trend analysis tools.
Fix account deletion link
The link to delete the account in the account settings was temporarily not available.
Limit number of zones
We have limited the maximum number of zones you can set per metric (heart rate, pace, power) to 20.
Add range for easy trimp
Instead of a single value (to reach TSB = 0) 'Easy TRIMP' now shows a range to keep an optimal workload ratio of 0.8 < A:C < 1.3.
Fix anova tool
The anova tool wasn't available after our latest internal framework update.
Internal framework update
We have updated the framework we use internally.
Fix menu on mobile devices (logout link was not reachable)
Running Effectiveness: clearify 'levels'
The levels we have shown so far for Running Effectiveness are only valid for data coming from Stryd. Running Effectiveness based on calculated power data (as done by us via GOVSS) do not have a high information content.
Fix power calculation for files with only zeros in power stream
Power values have not been calculated if the imported file contained only zeros. This behavior has been fixed now.
Fixed Polar History Import tool
Due to another uncommunicated change on Polar's side our history import for your Polar data did not work correctly.
Gravatar as profile image (optional)
You now have the option to use the gravatar as profile image (shown in the upper right corner of the dashboard and your public athlete page).
Race performance chart: date on x-axis
The Race Performance Chart has a new option to use the date as x-axis.
FIT files: support for Anaerobic Training Effect
Fix adding race result for activities with very long titles
Mapzen is the new default service for elevation correction
The elevation data from Mapzen has been set as the default elevation service. The service uses the terrain tiles dataset from AWS' open data registry.
User Backup creation failed
Backups were not working since 4th December. This has been fixed now.
Disabled Runtastic converter
Runtastic's official backup does include gpx files with heart rate and altimeter information from now on. The converter is not required anymore and has been disabled.
Ascent/Descent instead of a single elevation value
Ascent and descent can now be edited and can be entered for activities without elevation profile. So far, most sections used only a single elevation value (which was the maximum of ascent/descent). From now on, a single elevation value always shows the ascent.
New power value: xPower
xPower is a weighted average of your power output and serves as an alternative stress metric.
Read more in our glossary.
FIT files: support for description field by Suunto
From now on the developer field "description" Suunto uses in FIT files is mapped to our description field in RUNALYZE.
Fix for imports of invalid power data
Invalid power values (e.g. negative values) are now ignored when parsing a file. We discovered some tcx files that failed while importing because of those invalid values.
Export of a single activity: use correct laps
Exported activities (e.g. as tcx file) will now contain the correct laps instead of default 1k auto-lap.
Acute:Chronic workload ratio in calculations panel
The Acute:Chronic workload ratio (ACWR), which is simply the ratio of ATL and CTL, is now shown in the calculations panel. It can be used to determine injury risk.
Read more in our glossary.
RSS Feed for this changelog
You can now also subscribe to the changelog as an RSS feed.
Fix for poincaré plots
Until now, poincaré plots of hrv data always displayed only one (the last) y-value for an x-value. This behavior has now been fixed.
FIT files: support for estimated vo2max by Suunto
From now on the estimated vo2max by Suunto is mapped to our internal "estimated vo2max field" from fit files. You can activate this value in your dataset.
We have fixed a configuration that resulted in slower page calls.
Various bugfixes and improvements in our activity importer
Fix 'remember me' for login
The "remember me" functionality has not worked correctly since our recent redesign. This bug has now been fixed so that users can stay logged in for a longer period of time.
Automatic time zone detection for file imports
The time zone detection, based on the activity's coordinates, was broken for some time. During that time, we only used the user's default time zone which may be incorrect in case of e.g. vacations.
Auto-fill route names with start location
The start location is now automatically added to the "Route" field if the activity contains gps coordinates.
New design for landing page, login, registration, ...
We have redesigned the publicly accessible pages such as the landing page, login and registration or our glossary and help pages.
Calculated power is now correctly updated when the sport or altitude profile is changed
For all running and cycling activities for which no recorded power is available, power is automatically calculated. This calculation is now correctly performed (or removed) even if the sport is changed later and updated if the elevation profile is changed (by elevation correction or removing a data series).
Suunto Sync: Fixing laps
When syncing Suunto activities there were problems with the laps. We only support flat laps. This if fixed for all future activities.
TCX files: Fix empty altitude values
Missing altitude values were wrongly imported as "0", which leads to different problems. These values are now imported correctly as unknown.
Power calculation for running: Fix for potentially negative values
Illegally high speeds (e.g. due to errors in data recording) may have led to negative power values. This behavior is now suppressed.
Automatic translation of help articles
Help articles will be automatically translated into German, French, Spanish, Portuguese, Dutch, Italian, Polish or Russian if we have not translated them yet manually.
Activity data: New data series for Air Power from Stryd
Air Power data streams by Stryd will be imported for all upcoming activities. Still, we don't show the data in the activity view yet.
Storing original FIT files
From now on we are storing all uploaded fit files. You can download them from every individual activity.
Show/Add equipment categories in sport settings
In the sports configuration, the individual equipment categories of a sport can now be viewed, assigned and removed.
GOVSS/Running power for everyone
The automatic estimation of power data, if no recorded data is available, was previously only available for cycling. We now have such an estimate for running activities as well.
Read more in our blog post Running Power for everyone.
Workaround for activity upload from mobile devices
Mobile browsers like Safari do not support the list of supported file extensions. We added a temporary workaround until all mobile browsers fix that issue.
Fix stats view for some rare cases
Fix table headers in statistics plugin for year on year view
Added a changelog
We work on RUNALYZE day in and day out. To give you a better idea of all the changes, bugfixes and new features we're releasing, we've added a public changelog.
Centralized logging for the growing infrastructure
Fix trimp calculation after removing heart rate series
Fix for calculated training paces
The calculation of the paces in the section "Training paces" contained a small error. Speeds below 100% were a bit too fast, above 100% a bit too slow.
Design: Adjust colors to match logo
Fix fit parser for swimming heart rate in multisport files
Problem was caused by swimming heart rate, which is at the end of the file but belongs to the second session.
Show dataset labels in statistics
Elevation calculation: Correctly respect pauses
Tracked pauses must cause elevation calculation to split trackdata into different segments and add ascent/descent values of all segments separately to total ascent/descent.
Single queue for activity import
As a preparation for scaling the activity import, activities from history import, API import and normal sync now end up in the same queue.
New service for elevation data: Mapzen
We are evaluating new data sources for elevation data and added Mapzen as a new elevation service. The service uses the terrain tiles dataset from AWS' open data registry.
Sport type can be guessed by title
Activity titles (as provided in some file types) will be used to guess the user's correct sport type.
New tool: Convert Runtastic backup to gpx files
Runtastic has decided to discontinue its web platform. Downloading all your data from Runtastic is easy, but the data is stored in a non-usual format. We made a converter written by Glenn Reyes available to let you get your activity files in a standard gpx format. You can find our converter at runalyze.com/runtastic-converter.
Fix social image download
Internal framework update
We have updated the framework we use internally by some versions.
Refresh Suunto API Tokens automatically
Fitbit sync: Ignore duplicate notifications
Garmin sync: Check content type
Garmin's new API provides information about the file type. Unfortunately, for older activities, this is always mistakenly FIT, whether or not the file type is actually GPX. Garmin knows the bug but will not fix it. We now check the file content so that the import works accordingly.
Single fields for ascent/descent in tools and dataset
FIT files: Recovery heart rate 2 Minutes after end of activity
Removed dataset style option
Remove old Garmin api
The outdated Garmin api has been removed. Users that have not switched to the new api will not have any activities synchronized until they have connected to the new api.
FIT files: Update for internal fit parser module
Fix multisession files from Suunto
Activity data: Added Peak EPOC and support for recovery time from Suunto
Activity data: New data series for Respiratory Rate from Garmin devices
FIT files: Support for Power by IQ app Running Power Estimator
Power by Garmin Connect IQ app Running Power Estimator does not use the standard power field to store power data. This is now mapped to the power field in Runalyze.
Full Garmin import via new api
We are now able to provide a full history import (except third party activities and manual activities) from Garmin.
Subjective feeling in activity
Gradient distribution in climb score
Polar Sync: Option to choose between fit and tcx format
Fix social images to correctly respect pauses
Adjust tile url for hikebikemap
Stride length available in anova and trend analysis
New uploader: Zip is extracted in browser
Fix wind chill to ignore temperatures above 10°C
Fix climb score view for imperial units
Improved fitlog import
Fix reading gpx extension values (ns1)
Fix Suunto API deauthorization
Full Suunto import (with range option)
Improved requeuing of activity sync and import
Shape plot: New option 'Last 24 months'
Fix dashboard for users without active statistic plugins
New Help and Support section
We have introduced a new Help and Support section at runalyze.com/help trying to answer the most frequent questions.
Update Facebook share feature
FIT files: Fix idle laps in swim files
Emoji support for various comment fields