Changelog
Week of June 16
- Revamped the Route Editor:
- Replaced the chart-js graph with a custom SVG implementation
- Added direct line manipulation to the elevation graph
- Added gradient colouring to the graph, and fill
- Allowed for region selection in the graph, and application of tools to regions (smooth, reconcile, delete, annotate)
- Added a "flatten region" tool which averages the gradient over a selected region
- Visualize brunnel annotations in the graph with editable regions
- Improved gradient smoothing with a smooth average window (props Dan C)
- Added distance-weighting to smoothing function to avoid skewed results
- Increased minimum altitude range of the elevation graph to better represent flat routes
- Fixed an issue with the elevation graph toggle styles
- Added automatic map zooming to the route editor
- Fixed a handful of route editor bugs
- Re-introduced warnings for sharp gradient changes
- Added sanity check to avoid trusting elevations below -200m
- Added sanity check when calculating elevation graph altitude bounds
- Prevented the map from moving to focus unnecessarily
- Re-added the de-kink button as an advanced option
- Improved the in-ride UI
- UI: Added a configurable stats panel
- UI: Various UI elements can now be toggled on/off
- UI: The rider list is now scrollable, and shows all riders
- UI: "Draft" and "Grade" have been redesigned
- UI: You can now view "Grade" during workouts
- UI: You can now change the virtual shifting "Gear" on-screen
- UI: The "Fullscreen" text in the Menu is now clickable
- UI: Added text size options
Week of June 9
- Prevent three.js from loading unnecessarily
- Only auto-start within 10 seconds of event start time
- Moved in-ride errors to the "Help" menu tab
- Better SEO detection of static pages
- Support auto-start for casual (not timed) events
Week of June 2
- Minor tweaks to event tiles
- Increased size of the drafting stat
- Clarified the "Quit without saving" confirmation labels
Week of May 26
- Making progress on View Distance, Quality settings
- Prevent caching of the /ride page
- Slightly faster terrain data lookups
- Event edit - set a default title
- Event edit - prevent saving without a route selected
- Fixed issue preventing spectator mode stats (and map) updates
- Fixed riderController issue (causing occasional freezing)
- Fixed workout chart performance issue
- Fullscreen exits automatically when a ride ends
- Fixed avatar circling when a road path ends suddenly
Week of May 19
- Rider list - show full proximity distance if < 1km
- Improved website & multiplayer servers
- Fixed minor issues related to the Svelte 5 upgrade
- Released Windows app, again ๐
- Updated Bluetooth UI for better native app support
- Native apps - show loading animation while devices connect
- Windows app (0.2.2) - Better bluetooth write() support
- Fixed chat auto-scrolling
- Fixed activity timer drift
Week of May 12
- Improved water!
- Switched to a better data source for water
- Added shorelines, waves, smoothed rough edges
- Added DNF riders to race results
- Simplified the in-ride menu
- Upgraded to Svelte 5, updated all dependencies
- Added country flags to athlete detail pages
Week of May 5
- Added spectator mode
- Made Dashboard popular links easier to access
- Added social call-outs to Dashboard
- Fixed numerous minor issues with spectator mode
- Fixed issue preventing draft percent from going negative
- Made filtering more prominent on listing pages
Week of April 28
- Released early access Windows app
- Disabled debug panel
- Settings - prevent browsers from autofilling the wrong fields
- Show lap count for online rides (e.g. Lap 1/3)
- Added API endpoint:
athlete/search
- Activity pages now include drafting stats (for rides from now onward)
- Route listing - Map view now shows route paths
- Route listing - Map view styling updates
Week of April 21
- Finishing up Windows app...
- Working on spectator mode...
- Fixed issue with the Wahoo TICKR X
- Added "Birth year" profile setting for race categorization
- Added "age_category" field to race results API
- Replaced some homepage assets
- Event listing - fixed incorrect distance / climb when multiple laps
Week of April 14
- Fixed crazy power swings when using "fake" virtual shifting
- Workout names are appended to activity titles, even for cleared workouts
- Route editor - added new toggle to visualize the route splines
- Route editor - fixed (lack of) error messages
- Multiplayer - rider list now shows riders heading in opposite direction
- 3D - much better sensation of speed (dynamic camera FoV and pitch)
- 3D - the "look-behind" button (B) is now a button-hold
- 3D - the first-person camera will raise slightly when the rider stands
- 3D - fixed camera jitter when leaning in first-person
- 3D - disabled micro-steer wobbles in first-person
- 3D - fixed floating bridge pylons
- 3D - mouse cursor now auto-hides after a few seconds
- 3D - fixed issue with some lazy-ass bots refusing to pedal
- 3D - changed road center line to dashed
- Route editor - fixed spline calculation
- Route editor - increased spline point density for better curvature
- Route editor - fixed error upon cancelled file upload
- Multiplayer - disable power simulation (dev tool) for timed events
- Fixed Android bluetooth issue
- Fixed issue preventing rider movement during races ๐ฌ
Week of April 7
- New start/finish lines
- Improved cloud visibility
- Fixed rider jitteriness on long routes
- Buildings are now subtly two-toned
- Riders now have micro-steering to avoid having them be perfectly static; a small sway in sync with their cadence. The intensity will reduce at higher speeds, and increase when standing to pedal
- Rider cadence is reduced (visually) when auto-braking. Bot cadence will increase when in a breakaway
- When leaning for corners, riders will spin their outside pedal to the bottom and hold there until upright
- Updated camera logic to avoid wobbling due to micro-steering
- Bots will no longer try to brake or overtake while standing
- Press the down arrow to gently brake (no more emergency braking)
- Added logic to support upcoming native apps
- Fixed issue preventing bluetooth writing
- Added confirmation to prevent accidentally closing active ride
- Workout chart now adheres to "ftpOverride" if present
- Revamped iOS app - now supports device saving (auto-connect), better dropout support, and more
Week of March 31
- Continuing on native apps (will take a few weeks)...
- Speed metric turns red when auto-braking
Week of March 24
- Working on native apps (ongoing, will take a few weeks)...
Week of March 17
- Fixed issue with virtual shifting when in the starting pen
- Fixed dashboard dropdown CSS issue on Windows
- Increased chat box font size
- Cleaned up in-ride Menu / Chat / Camera buttons
- Chat - when minimized, show an alert icon when there's new messages
- Zwift Click can now be used to adjust intensity (workouts) or target resistance (ERG free-ride)
- Experimenting with "wind reduction" icon
- Adjusted minimap placement, other minor styling tweaks
Week of March 10
- New: Group Workouts!
- Fixed issue where a certain hotkey enabled supersonic speeds
- New: choose between black and tan tire sidewall
- Fixed brunnel positioning issues
- Improved brunnel overlaps (e.g. avoids ground intersecting the road beneath a bridge)
- Route editor - exclude brunnels from the "elevation alignment" score
- Improved the appearance of brunnels
- Reduced the likelihood of grass poking through tunnel walls
- Reduced ground poking through the road on tight, steep sections
- Smoother rider movements when on steep gradients
- Improved road curvature
- Rebuilt the Dashboard page
- Fixed grade calculation for non-firmware virtual shifting
Week of March 3
- Fixed many cases of buildings overlapping the road
- Fixed latlng projection issue causing minimap and activity mis-alignment
- Improved minimap heading
- Improved pacer "Balanced" mode to better accompany the rider
- Added conifers!
- Refactored tree generation system
- Improved styling of shrubbery (Ni!)
- Improved cropland density
- Minor color adjustments to the "Temperate" biome
- Fixed arch & finish line coloring
See the archive ยป