WKO4 for OS X Release Notes
4.0 Build 381 (2018-Apr-30)
- Improvements to speed up incremental sync with TrainingPeaks.
4.0 Build 380 (2018-Mar-22)
- Fixed a crash in some charts showing cycling dynamics data for files with no cycling dynamics.
- Fixed a problem with the ewma() function that could cause a crash.
- Fixed spurious error indicating a missing close paren.
- Fixed a problem reading some TCX files with an irregular recording rate.
- Improved activation/deactivation using new service.
- Fixed a problem loading athlete profile photos from TrainingPeaks.
4.0 Build 375 (2017-Aug-15)
- Fixed a problem scaling the Y axis on QA charts.
- Fixed a problem filtering workouts based on sport type buttons in some reports.
- Fixed a problem plotting points on some weekly charts.
- Fixed a language/region setting problem interpreting . and , on the Workout Details tab.
- Ignore case on file extensions while downloading files from TrainingPeaks.
- Updated charts that are part of the initial install to the latest.
- Changed the default install location on macOS only to ~/WKO4 instead of ~/Documents/WKO4.
- Added a message to the Windows installer to warn when antivirus prevents overwriting WKO4.exe.
4.0 Build 370 (2017-Jul-14)
- Sync current athlete first before syncing others.
- Added a new stacked bar chart type.
- Added a new option "Learn more about this chart" to chart tab menus.
- Added new default charts.
- Added new chart configuration rounding option "none" for no rounding and no trailing zeros.
- Added new riderposition variable for files with Garmin Cycling Dynamics.
- Support partial (fractional) days in athleterange function.
- Remember whether the window is maximized on PC.
- Read HRV data from FIT files.
- Hide rows in reports with all -- values for Y axis columns.
- New updated Expressions Reference. See the Help menu for the latest.
- Allow use of ecpower for run workouts
- Implemented new grouping version of avg, count, min, max.
- Added noinvalid() function to skip -- values.
- Added new statistical functions variance and pvariance.
- Added new sortx and sortxd functions to sort on X axis.
- Added new trig functions cos, cot, csc, sec, sin, tan, acos, asin, atan, atan2, cosh, sinh, tanh, acosh, asinh, atanh, deg2rad, rad2deg, deg2grad, grad2deg.
- New assignment operator for user defined variables.
- Fixed a problem reading TCX files with trackpoints out of order.
- Fixed a problem reading average speed of swim length from FIT files.
- Fixed a problem calculating rolling PD metrics.
- Fixed a problem with undo while editing expressions on macOS.
- Fixed a problem with layout on bar charts which cut the size on the first and last bar.
- Fixed a problem with automatic Y axis minimum and maximum checkbox.
- Fixed a problem updating the workout date after making changes on the Workout Details tab.
- Fixed a problem reading developer fields from TCX files.
4.0 Build 352 (2017-Mar-13)
- Fixed a problem drawing vertical lines on charts using the pattern (data, ).
- Fixed a problem with reports formatting X axis when the value is a string and not a number.
- Fixed a problem drawing charts and scaling the X axis with expressions that use the variable x.
- Fixed a problem updating the Chart Library on PC for charts that have special characters in the filename.
- Added an expression for population standard deviation pstddev().
4.0 Build 350 (2017-Mar-1)
- Now parses .fit file developer fields.
- Support for the Quarq Qollector device.
- Support for Moxy ConnectIQ developer fields.
- Changed report formatting to eliminate repeating headers.
- Allow CTL, ATL, and TSB variables at the workout level.
- The dropped files dialog allows incremental search for athlete.
- Athleterange function now takes a set of dates as the first two parameters.
- New subcript operator  can be used with lists/sets.
- New functions:
- New variables:
- Fixed a problem with weighted average that gave too much weight to the first value in the set.
- Fixed a problem parsing some TCX files with invalid dates.
- Fixed a scaling problem when the X axis is date, to include the last fractional date.
- Fixed a problem importing WKO+ files for manual workouts with duration only.
- Fixed kleg variable when Preferences are set to English.
- Fixed a problem reading laps from .fit file created by Saries PowerAgent.
4.0 Build 342 (2016-Dec-8)
- Added interval target functions: targetpower, targetduration, targetname.
- Filter out obviously invalid GPS track points in maps.
- Paren and bracket matching in expression editor.
- Syntax coloring in expression editor.
- Expressions from the popup are inserted to the expression editor instead of replacing.
- Fixed a problem automatically expanding the expression editor box on PC.
- Allow fractional seconds when editing workout level ranges in RHE.
- Synchronize the cursor position while moving the cursor on a map.
- Improved copy to clipboard on PC charts.
- Create thumbnails after editing a chart on PC.
- Create selections on the map by clicking the dot and dragging.
- Fix a problem reading .fit files for open water swim.
- Relax error checking in corrupt/malformed .fit files.
- Fix a problem with jumping LHE while syncing with TrainingPeaks.
4.0 Build 333 (2016-Nov-4)
- Installs missing DLL on Windows 7.
- Fixed problem converting between UTC and local time that caused spurious updates to calculations.
- Don't return an X axis value when using levelfrom() at the workout level.
- Fixed a problem setting X Axis label after changing the expression.
- Changed workoutrange() function to allow a list for from and to parameters.
- Fixed a problem showing combo box dropdown on Sierra.
- Fixed a problem overlapping ranges at the athlete level.
- Fixed a problem evaluating the false portion of if() function.
- Fixed a problem dragging the X axis when zoomed into a chart with Ranges Highlight.
- Removed Device Agent from WKO4 menus.
4.0 Build 330 (2016-Oct-24)
- Expanded functions that emit click-through information for right click on charts.
- The fill function for data series now fills up for positive and down for negative.
- Fixed alignment of some overlapped data series.
- Fixed a crash on PC with very long expressions.
- Added new yx(), xx(), li(), rev() functions. Look them up in the Expression Reference.
- Recognize file type with capitalized file extensions on PC.
- Fixed a problem that caused recalculation when using data moved between PC and Mac.
- When onboarding and picking a data store other than the default, fixed a problem copying default charts.
- Improved duplicate checking to fix some false positives.
- Changed the count() function to count non-zero numbers and non-blank strings.
- Now recognizes secondary click gestures on Mac trackpad.
- Sorts items in Chart Library with banners to the top.
- Drag the X axis left and right when zoomed into a chart with Ranges Highlight.
- Properly scale logarithmic X axis when choosing manual minimum and maximum.
- Changed the threshold for movingduration to 1mph for running files.
- The expression max(power,"week") works just like max(max(power),"week").
- Fixed a problem with ctl, atl, and tsb variables and sport type buttons.
- Fixed a problem with max(data, "week") reporting -- if the first workout for the week has no data.
4.0 Build 317 (2016-Aug-28)
- Fix for X axis problem when building some charts and reports.
- Changes to allow meanmax navigation at the workout level.
4.0 Build 316 (2016-Aug-26)
- Added EDGE820 to list of Garmin models that support iLevels
- Improved upload iLevels to Garmin devices, eliminated unnecessary updates.
- New meanmaxfrom() and meanmaxto() functions.
- New cumsum() functions.
- Added rolling vo2max and fibertype functions.
- Beta test new expression guide (work in progress).
- New data type to enter time/duration data. For example: meanmax(power, 0:20:00)
- Added right click menu (control-click on Mac) for RHE.
- Navigate directly from meanmax charts by right clicking on the chart.
- Added new buttons for maps to zoom in, zoom out, zoom fit all, zoom fit RHE selection.
- Click and drag to pan/move maps.
- Optimized drawing on Map tab for better speed.
- Evaluate workout range start and end times as expressions.
- Fixed problem converting PZI Pace and Friel Pace levels from metric to English.
- Fixed problem automatically converting deltadistance from metric to English.
- Fixed a problem shrinking file when using Cut or Clear the end of a workout.
- Fixed a problem highlighting in the Sensor Data tab while dragging a workout selection.
- Fix Sensor Data tab follows cursor movement on charts on PC.
4.0 Build 307 (2016-Jul-27)
- Added new TTE expression.
- Added TTE to the athlete bar.
- Replaced the map server.
- Fixed problem searching for the duration of FRC/FTP iLevel.
- Fixed a problem selecting a range when using Ranges Overlap.
4.0 Build 304 (2016-Jul-1)
- Finalize new running metrics.
4.0 Build 303 (2016-Jun-24)
- Added some functions for running beta group.
4.0 Build 300 (2016-Jun-20)
- Added a new metric for athlete height.
- Shows channels on the Workout Details tab.
- Added an option to invert the X axis in charts.
- Improved speed of filter function so that some workout-level charts load faster.
- Now keeps a rolling backup of .wko4athlete and .wko4home files.
- Updated list of Garmin products.
- Tracks files already imported per device serial number to speed up importing from Garmin devices.
- Fixed a problem with X axis scale when units are either week or month.
- Fixed an intermittent crash when building charts.
- Fixed a problem importing empty files from Garmin that were not recognized as duplicates.
- Fixed a problem updating sFTP on Garmin devices that don't support iLevels.
- Fixed a problem calculating movingduration for some swim files.
- Fixed a problem with training level units when using frielpace or pzipace.
- Fixed a problem with post-workout notes while syncing.
- Fixed a problem with application freeze while checking for duplicates during sync or import.
4.0 Build 296 (2016-Jun-02)
- Fixed a bug setting the Y axis when configuring a chart, which lead to a crash.
- Fixed a problem filling-in area charts.
- Corrected the thousands separator for some regions.
- Fixed a crash on PC related to AVG anti-virus.
- Change to support Garmin iLevels.
- Show pace based VI and EF for runs without power.
- Fixed a rounding error converting a date value to a month value.
4.0 Build 287 (2016-May-16)
- New layout for the Chart Library window.
- Added a button to the Chart Library window to delete charts from My Charts.
- Added stamina to the athlete bar.
- Changed order of workout ranges in the RHE to order bests by duration, not by start time.
- Added more peak power durations to the workout level RHE.
- Give the option to overwrite charts when exporting them.
- Changed the default athlete profile photo image.
- Automatically convert between N and lbf based on preferences setting.
- Fixed a problem syncing changes to workout time from TrainingPeaks.
- Fixed a problem scaling the X axis when using Automatic Maximum.
- Fixed several crashes reported by users.
- Fixed a deadlock problem while evaluating certain expressions.
- New form of bin(data, list) function to allow a list of cut points for custom zones.
- New athleterange(from, to, expr) function.
- New workoutrange(from, to, expr) function.
- New has(string, substring) function.
- Added variables begindate, enddate, begintime, endtime, begindistance, enddistance.
4.0 Build 280 (2016-April-29)
- Native support to import TCX files using drag-and-drop.
- Fix scrollbar problem on PC dropdown boxes.
- Fix a problem with sizing dialog box elements on PCs with high DPI.
- Fix report column alignment when a row has a blank text column.
- Filter workouts by tag name using the LHE.
- Fixed intermittent crash while navigating using the LHE.
4.0 Build 269 (2016-April-13)
- Added upload for iLevels to supported Garmin devices.
4.0 Build 266 (2016-April-8)
- Added a new Dashboard chart type.
- Added a "Tiny" option for even smaller fonts on charts (may be useful in dashboard).
- Default horizontal charts can now configure line type (Line or Area).
- Import new channels "verticaloscillation" and "stancetime" from .FIT files.
- Created shortcut names for channels per sport type. Now "power" means power for any sport type, but "bikepower" means power for only bike workouts and "runpower" means power for only run workouts. Same with "cadence", "bikecadence", "runcadence" and "rowcadence".
- Changed athlete Hero Bar to use bikepower so run power doesn't affect PD metrics.
- Fixed a problem aggregating bins for the bin() function at the athlete level, which sometimes would show bins out of order.
- Fixed a problem formatting numbers with some regions that use a space as a thousands separator.
4.0 Build 260 (2016-March-16)
- Fixed a localization probelm when entering fractional values for weight on t
he Athlete Details tab.
- Fixed a problem with X axis values when doing arithmetic on the bin() functi
- Fixed a problem setting manual minimum and maximum values for Y axis scale f
or % units.
- Fixed a problem determining the total duration from some PWX files.
- Changed validation checks for CTL and ATL constants.
- Added a new Area chart type to the data series configuration page.
- Fixed a problem with levelfrom() and levelto() functions that caused a crash
- Fixed a problem with dashed line types in Windows.
- Fixed a web navigation problem in on the What's New tab for Mac.
- Fixed a problem that caused the X axis to disappear sometimes after hiding a
- Fixed a problem scaling the Map tab to fit all data in the selected range.
4.0 Build 255 (2016-February 29)
- Fixed a problem with the bin function (distribution charts) for intervals within a file.
- Speed up importing and syncing files.
- Fixed a problem parsing ride start times with fractional seconds in PWX file.
- Fixed missing calculation for the VAM variable.
- Fixed erroneous distance number after clearing distance on TrainingPeaks then syncing.
- Fix the TSB variable to add shift, now matching the Athlete hero bar.
- Fix problem calculating Intensity Factor for manual run workouts
- Guess sport type for devices that use FIT_SPORT_GENERIC (Fenix).
4.0 Build 251 (2016-February 18)
- Fixed a problem recognizing TrainingPeaks passwords with certain special characters.
- Fix a vulnerability while checking for new updates.
- Fixed a bug that gave false positive when checking if a workout is a duplicate.
- Get start time for planned workouts when syncing with TrainingPeaks.
- New feature to associate a Garmin device with an athlete. Look for checkbox on the Import From Device window, and also the Devices block on the Athlete Details tab.
- Fixed memory leaks.
- Improved speed and responsiveness.
- Fixed crashes and improved stability.
4.0 Build 204 (2015-November 2)
- Fixed crash loading certain workouts with invalid distance records.
- Found and fixed some memory leaks.
- Fixed application freeze in some circumstances when renaming a workout file.
- Fixed a problem recognizing duplicate files created by Dropbox or Google Drive.
- Send dropped files to WKO4 instead of the web page when dropping files on a Web chart.
- Fixed crash when adding/editing athlete tags on the Athlete Details tab.
- Fixed a problem where typing in an edit box on the Athlete Details would lose keyboard focus.
- Remember the selected date range per Athlete when clicking between athletes.
- Send anonymous usage data to help us improve WKO4. You can opt out in WKO4/Preferences.
- Calculate power metrics for running files with a power channel.
- Fixed crash on chart picker when you attempt to drag a chart.
- Calculate NP for running files with power data channel.
4.0 Build 197 (2015-October 19)
- Fixes to improve stability.
- Fixed a problem editing post-workout notes.
- When importing files, no longer prompts for athlete name if there is only one.
- Fix a problem writing to the log during sync with TrainingPeaks which resulted in a crash.
- Fixed problem displaying durations for iLevels.
- Fixed problem showing web pages using El Capitan.
- Update charts immediately after using Cut or Clear.
4.0 Build 193 (2015-October 15)
- Several fixes to improve responsiveness and speed.
- Scans data files on startup to reload changed files.
- New chart type for showing a Web Page.
- Now adds default charts per sport type when a new sport type is found.
- Fixed a problem adding default athlete ranges. Created a new opton on the Athlete LHE to reset athlete ranges to default.
- Rotate log files and delete old ones.
- Improved responsiveness while editing historical FTP and weight metrics.
- Fixed an issue flagging new workouts, and athletes with new workouts, using bold-face font.
- Sort athlete names in LHE case-insensitive.
- Fixed a problem evaluating conditional expressions which lead to incorrect binning of expressions with compound conditionals.
- Fixed a problem with evaluating athlete date range expressions in RHE.
- New log, ln, log10 functions.
- New ecpower, rngp and rgrade functions.
- New fibertype and vo2max functions.
- Fixed incorrect placeholder text on LHE dropdown box.
- New font size feature on chart configuration General page.
4.0 Build 175 (2015-September 4)
- Fix problem with sync which caused duplicate pre-activity notes.
- Fixed a crash related to calculating iLevels.
- Permit editing athlete date ranges.
- Fixed a problem that caused sync to freeze.
- Resolved an issue where changing time zones would cause recalculation.
4.0 Build 173 (2015-August 27)
- Revised iLevel names, added durations.
- Fixed a problem calculating iLevels which caused a delay.
4.0 Build 171 (2015-August 21)
- Added cut/copy/clear options to the range menu.
- Added command-delete key shortcut to delete current row in Sensor Data chart.
- Fixed problem with some expressions using data channels at the athlete level.
- Improved responsiveness while calculating after importing/adding files.
4.0 Build 166 (2015-August 11)
- Fixed several issues importing/syncing .pwx and .fit files.
- Fixed a problem saving new post-workout notes.
- Added an option to launch trainingpeaks.com from the gear menu.
- Changed boolean operators to permit comparison to NA constant.
4.0 Build 162 (2015-August 7)
- Fixed a problem synchronizing data from workouts without a sensor data file.
- Fixed a problem where importing files would stop at a certain file and not continue.
4.0 Build 161 (2015-August 5)
- Fixed problem comparing composed unicode characters.
- Fixed a problem importing threshold pace from WKO3 incorrect.
- Importing files from WKO3 now automatically add the athlete setup chart.
- Importing files now updates Athlete Details page to add/remove metrics by sport type.
- Fixed a problem with sport types when syncing basic TrainingPeaks accounts through a coaching account.
- Fixed a problem responsible for a frequent crash.
4.0 Build 158 (2015-July-31)
- Fixed a crash related to updating charts when navigating with the LHE or RHE.
- Fixed a crash upading workout description and notes with incorrect encoding.
- Changed sync for download only accounts to preserve local changes to metadata. Local changes will only be overwritten on new changes on TraingPeaks.com.
4.0 Build 156 (2015-July-29)
- Fix an error message while syncing.
4.0 Build 155 (2015-July-27)
- Updates to default chart packs.
- Fix a problem with non-ascii characters in athlete name.
- Recalculate swim and run workouts when you change historical run threshold or swim threshold.
- Handle internet connection problems more gracefully.
- Fix a crash exiting during TrainingPeaks sync.
- Prevent a sync from starting while importing/upgrading.
- Added a close button to the progress/status widget.
- Updating calculations immediately after a sync or import.
- Do not allow sleep while sying or importing.
4.0 Build 153 (2015-July-23)
- Fixed problems related to syncing files with TrainingPeaks.com.
Visit the Feature Updates page on TrainingPeaks.com.