Releases: Nick2bad4u/FitFileViewer
FitFileViewer v29.9.0
🚀 Release Notes
-
chore(release): v29.9.0 [skip ci]
- Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
- Commit: 68dd2210
- Date: 2026-02-25
-
✨ [feat] Enhance map rendering and UI icon integration
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 9e12f8a0
- Date: 2026-02-25
-
✨ [feat] Enhance project configuration and documentation - 🛠️ [fix] Add "homepage" format to .ncurc.json for improved package metadata - 📝 [docs] Update USER_GUIDE.md for better clarity on map controls and export formats - 🎨 [style] Refactor linting rules in package.json for better consistency - ⚡ [perf] Optimize ESLint configuration for better performance across multiple directories - 🚜 [refactor] Improve chart hover effects handling in addChartHoverEffects.js - 🧪 [test] Update tests for tab visibility to ensure correct display behavior - 🧹 [chore] Clean up unused styles in index.module.css
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 0f65c4fb
- Date: 2026-02-25
-
🛠️ [fix] Update style property checks for consistency - 🛠️ Update maxHeight checks in createPowerZoneControls tests to use "0px" instead of "0" - 🛠️ Update outlineOffset checks in createChartStatusIndicator tests to use "0px" instead of "0" - 🛠️ Update maxHeight checks in createHRZoneControls tests to use "0px" instead of "0" - 🛠️ Update maxHeight checks in createPowerZoneControlsSimple tests to use "0px" instead of "0"
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 43ad5dd9
- Date: 2026-02-24
-
✨ [feat] Implement Git hooks for session management and logging - 📝 Add hooks for SessionStart, Stop, and UserPromptSubmit events - 🛠️ Create log-prompt scripts for both PowerShell and Bash to handle user input and log events - 🧹 Introduce remove-temp script to clean temporary files in the project
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 420e5434
- Date: 2026-02-23
-
🎨 [style] Improve code formatting and documentation clarity
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 07accd0b
- Date: 2026-02-22
-
✨ [feat] Enhance fullscreen functionality and chart hover effects
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 569d1722
- Date: 2026-02-22
-
✨ [feat] Implement chart fullscreen overlay and legend item box plugin - 🎨 [style] Add CSS styles for chart fullscreen overlay, including backdrop, panel, header, and close button - ✨ [feat] Create chartLegendItemBoxPlugin to enhance legend item interaction - 🛠️ [fix] Update rendering logic to register new chart plugins and adjust legend item box dimensions - 🚜 [refactor] Modularize chart rendering functions and improve state management for fullscreen functionality - ⚡ [perf] Optimize rendering performance for summary and lap sections with virtual scrolling
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: d1acbd42
- Date: 2026-02-22
-
✨ [feat] Enhance chart interactions and UI responsiveness - Added modifier key support for zooming in charts using Ctrl + scroll - Implemented zoom hint overlay to guide users on chart interactions - Updated chart rendering functions to include modifier key for wheel events - Improved layout and responsiveness of various UI components for better user experience - Refactored file browser tab structure for cleaner HTML and improved accessibility
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 31121025
- Date: 2026-02-10
-
🚜 [refactor] Modularize IPC listener setup and improve state management
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 13e61635
- Date: 2026-02-08
-
🚜 [refactor] Centralizes UI DOM helpers
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 139a339f
- Date: 2026-02-08
-
✨ [feat] Add DeDupe Loop agent for comprehensive codebase review and refactoring - Introduced a new agent prompt to conduct a thorough review of the codebase focusing on improvements, bugs, and architectural optimization. - Emphasized refactoring by identifying inline utility functions and generic logic for modularity enhancement. - Categorized findings into high-priority bugs, medium-priority enhancements, and low-priority tweaks, ensuring adherence to modern best practices.
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 7cf40e32
- Date: 2026-02-08
-
🔧 [build] Update Docusaurus ESLint plugin and configuration
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: ccb24aa4
- Date: 2026-02-08
-
✨ [feat] Add auxiliary heart rate support
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 205204ac
- Date: 2026-02-07
-
🔧 [build] Update BeastMode agent tools and configuration
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 5af3fb64
- Date: 2026-02-07
-
Merge branch 'main' of https://github.com/nick2bad4u/FitFileViewer
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 5d1a6f76
- Date: 2026-02-07
-
🔧 [build] Enhance linting setup and documentation
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 13a501d1
- Date: 2026-02-07
-
Bump the npm_and_yarn group across 1 directory with 2 updates (#172)
- Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Commit: 572a85ed
- Date: 2026-02-01
-
ci: Bump the github-actions group with 14 updates (#175)
- Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Commit: 0f0dff88
- Date: 2026-02-01
-
Update metrics.repository.svg - [Skip GitHub Action]
- Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
- Commit: 41f5fa7a
- Date: 2026-02-01
-
✨ [feat] Implement data point filter control and tab state management enhancements
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 588b2db4
- Date: 2026-01-30
-
🚜 [refactor] Standardizes UI IDs
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: a98413be
- Date: 2026-01-30
-
🔧 [build] Update ESLint and Stylelint configurations, enhance CSS properties, and improve HTML metadata
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: d5f56979
- Date: 2026-01-30
-
🔧 [build] Update dependencies and improve project configuration - 📦 Added new dependencies for enhanced linting and formatting: -
@awmottaz/prettier-plugin-void-html,@html-eslint/eslint-plugin,@prettier/plugin-xml, and others for better code quality. - 🔄 Updated existing dependencies to their latest versions for improved performance and security.- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: b7fca7f9
- Date: 2026-01-30
-
🔧 [build] Update dependencies in package.json and package-lock.json - 🔧 Upgrade "@easyops-cn/docusaurus-search-local" from "^0.52.2" to "^0.52.3" - 🔧 Upgrade "@types/node" from "^25.0.10" to "^25.1.0"
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: 7866a3e8
- Date: 2026-01-29
-
🔧 [build] Update dependencies in package.json
- Author: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
- Commit: b444597c
- Date: 2026-01-29...
FitFileViewer v29.8.0
🚀 Release Notes
[29.8.0] - 2026-01-29
[a317a6a...
e639803]
(compare)
💼 Other
-
🔧 [build] Update macOS build configurations
-
Changed macOS version from 13 to 15-intel for improved compatibility
-
Adjusted build steps to reflect new macOS architecture
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com (a317a6a)
⚙️ Miscellaneous Tasks
- (release) V29.8.0 [skip ci]
(e639803)
[29.7.0] - 2026-01-29
[482ed73...
ff8f5bb]
(compare)
🔀 Merge Commits
- [chore] Merge Branch 'main' of https://github.com/nick2bad4u/FitFileViewer
- 'main' of https://github.com/nick2bad4u/FitFileViewer:
[dependency] Update qs in /docusaurus in the npm_and_yarn group across 1 directory (#171)
ci: [dependency] Update dependency group (#170)
Update metrics.repository.svg - [Skip GitHub Action]
Update build-win7.yml
chore: update changelogs for v29.6.0 [skip ci]
[dependency] Update version 29.6.0
Update Build.yml
[dependency] Update version 29.5.0
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com (e719fdf)
🛠️ GitHub Actions
- Update build-win7.yml
(ceace10)
💼 Other
- ✨ [feat] Adds geolocation prompt and clipboard IPC
✨ [feat] Adds session-scoped geolocation prompts with trusted origin checks to avoid exposing permissions to non-app pages
✨ [feat] Routes clipboard writes through the main process with payload validation and async bridge behavior for sandboxed renderers
🛠️ [fix] Preserves map tool layers by isolating activity tracks and finishing polylines when clicks land near the last vertex
🛠️ [fix] Improves column preset UX with auto-save baseline clearing plus sturdier active-tab and fullscreen fallbacks
⚡ [perf] Avoids full storage scans for single-key reads and tightens chart timing/logging to debug mode while clamping invalid ticks
🎨 [style] Refines browser tab controls and theme styling for library/calendar panels, tooltips, and select widgets
🧪 [test] Adds coverage for clipboard IPC, chart sanity checks, data ordering, map layers, and column preset persistence
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com (e12e20a)
- ⚡ [perf] Improve chart render stability
⚡ [perf] Adds render locking and queued follow-up work to avoid concurrent chart updates and tab flicker
⚡ [perf] Defers hover effects, suppresses background loading/notifications, and auto-tunes animations to keep rendering responsive
⚡ [perf] Introduces cache prewarming and safer max-point defaults to speed first chart view without UI freezes
🛠️ [fix] Resolves mixed-case record keys and gates verbose chart logging behind a dev flag
🧹 [chore] Updates dependencies, scripts, formatting, and adjusts tests/mocks
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com (3079611)
-
✨ [feat] Enhance high altitude power estimation and testing
-
🛠️ Update air density calculation to allow lower values at high altitudes
-
🧪 Add unit tests for high altitude power estimation scenarios
-
🧪 Implement tests to verify power estimation at various altitudes
-
🧪 Mock chart settings manager for improved test isolation
-
🧪 Refactor existing tests for better clarity and functionality
-
🧹 Create new task configurations for running tests in Electron app
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com (eea25c7)
- 🎨 [style] Update CSS variables for dark and light themes
- Add new font families and color variables for improved theming
- Define background gradients and color schemes for both themes
- Introduce CSS variables for button and modal styling
🛠️ [fix] Escape HTML in tooltips and calendar results
- Ensure file names and day keys are safely escaped to prevent XSS
- Update tooltip rendering in map overlays to use escaped file names
- Modify calendar results rendering to escape selected day keys
🧪 [test] Add tests for CSS variable definitions and body styles
- Verify existence and order of theme variables in the stylesheet
- Check for light theme overrides and background styling
- Ensure base body styles and font size helpers are defined correctly
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com (771cd7e)
- 🧪 [test] Aligns tests with settings state
🧪 [test] 🧭 Updates unit and UI tests to use settings state for preferences, improving determinism
🧹 [chore] ⚙️ Runs Vitest via node with single worker and caps Windows workers to reduce flakiness
🧪 [test] 🧰 Loads env setup before workers to ensure safe globals
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com (9212990)
- 🚜 [refactor] Moves chart settings to state
🚜 [refactor] Routes chart options, unit preferences, and export theme through centralized settings to reduce direct storage access
- 🚜 [refactor] Adds helpers for zone color schemes, stored color reads, and removal flows to keep caches consistent
- 🚜 [refactor] Improves settings parsing, control defaults, and silent resets for safer numeric/toggle handling
- 🚜 [refactor] Adds declarative chart spec metadata for ids, labels, and axes
🧪 [test] Updates unit symbol warning expectations for settings-based reads
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com (c99e602)
- 🚜 [refactor] Centralizes chart settings state
🚜 [refactor] Centralizes chart visibility and settings in shared state to prevent drift between controls and renders
- 🔄 Migrates legacy per-field storage into normalized settings and triggers reactive updates for status indicators
✨ [feat] Adds declarative chart spec building with dataset hiding to respect visibility preferences
- 🎯 Supports optional label/axis mapping and default color injection for consistent output
🎨 [style] Standardizes homepage class naming and streamlines app styling for maintainability
- 🧹 Cleans legacy CSS rules and tweaks overflow, shadows, and control visuals for stability
🧪 [test] Aligns chart and configuration tests with the centralized settings flow
- ✅ Extends coverage for declarative spec generation and visibility handling
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com (60f4157)
- 🛠️ [fix] Improves CSP-safe exports and tables
🛠️ [fix] Improves clipboard/export reliability in file contexts
- Adds a native clipboard bridge for text/images with fallbacks
- Converts data URLs locally to avoid CSP-blocked fetches
- Updates share notifications when clipboard copy is blocked
🚜 [refactor] Renders tables and CSV without unsafe evaluation
- Builds headers/body from row data and sanitizes cell values
- Initializes data tables on expand with a safe fallback renderer
- Accepts sparse row arrays instead of dropping tables
✨ [feat] Expands summary column controls and ordering
- Moves modal UI into a dedicated helper with search, presets, and status
- Keeps named columns ahead of numbered columns for readability
✨ [feat] Surfaces estimated power across views
- Adds estimated power labels/colors and summary stats
- Applies estimates on load and refreshes charts, summaries, and tables
🛠️ [fix] Improves map tools and overlays
- Enhances help tooltip behavior and measurement control UX
- Uses imperial draw units, adjusts smoothing, and preserves last markers
- Clears measurements on global reset and refreshes after edits
🛠️ [fix] Keeps embedded views loading without sandbox blocks
- Allows inline scripts and removes iframe sandboxing that caused opaque origins
🎨 [style] Refreshes modal, credits, and control styling
- Adds layout, badges, tooltip, and separators for clarity
🧪 [test] Aligns tests with updated clipboard and table flows
- Updates mocks and expectations for revised export behavior
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com (0418aa9)
- ✨ [feat] Enhance map measure and calendar UX
✨ [feat] Improves map measurement feedback and completion
- 📏 Adds per-segment and total distance labels in dua...
FitFileViewer v29.6.0
🚀 Release Notes
🔍 Merge Commit Details
Message:
- Bump version to 29.6.0
- Author: Nick2bad4u <Nick2bad4u@users.noreply.github.com>
- Commit: [](https://github.com/Nick2bad4u/FitFileViewer/commit/)
- Date: 2025-12-05
Commit SHA: f005a91b8876632bab12a02987a1264426325e3e
📦 Download FitFileViewer
- Most Windows users should download the "Installer EXE", "MSI" or "Portable" versions
- Most Mac users should download the "DMG" or "PKG" versions
| Linux | Builds | Format | Download Link |
|---|---|---|---|
| Linux | x64 | AppImage | Fit-File-Viewer-appimage-x86_64-29.6.0.AppImage |
| Linux | x64 | DEB | Fit-File-Viewer-deb-amd64-29.6.0.deb |
| Linux | x64 | RPM | Fit-File-Viewer-rpm-x86_64-29.6.0.rpm |
| Linux | x64 | PACMAN | Fit-File-Viewer-pacman-x64-29.6.0.pacman |
| Linux | x64 | SNAP | Fit-File-Viewer-snap-amd64-29.6.0.snap |
| Linux | x64 | TAR.BZ2 | Fit-File-Viewer-linux-29.6.0.tar.bz2 |
| Linux | x64 | TAR.GZ | [Fit-File-Viewer-linux-29.6.0.tar.gz](https://github.com/Nick2bad4u/FitFileViewer/releases/download/v29.6.0/Fit-File-Vi... |
FitFileViewer v29.4.0
🚀 Release Notes
🔧 [build] Update dependencies and package manager version
- Updated
@vitest/uifrom^4.0.13to^4.0.14 - Updated
@typescript-eslint/eslint-pluginfrom^8.47.0to^8.48.0 - Updated
@vitest/coverage-v8from^4.0.13to^4.0.14 - Updated
vitestfrom^4.0.13to^4.0.14 - Updated
npmversion from11.6.3to11.6.4
📝 [docs] Improve parameter documentation in rendererUtils.js
- Changed parameter name from
isLoadingtoloadinginsetLoadingfunction for clarity
📝 [docs] Enhance documentation in chartOverlayColorPalette.js
- Updated parameter description from
arraytoinputArrayfor better understanding
📝 [docs] Clarify error handling initialization documentation
- Added details about the
_optionsparameter ininitializeErrorHandlingfunction
📝 [docs] Refine logging function documentation
- Added typedef for
RendererLoggerand clarified the purpose ofcreateRendererLogger
📝 [docs] Update state management documentation
- Changed parameter name from
optionsto_optionsinsetLegacyStatefor consistency
📝 [docs] Improve state validator documentation
- Updated typedef for
StateValidatorto include parameter types
🎨 [style] Add Mermaid configuration file
- Created
mermaid.config.jsonwith dark theme and customized theme variables for better visualization
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🔍 Merge Commit Details
Message:
- Bump version to 29.4.0
- Author: Nick2bad4u <Nick2bad4u@users.noreply.github.com>
- Commit: [](https://github.com/Nick2bad4u/FitFileViewer/commit/)
- Date: 2025-11-26
Commit SHA: 466fa4c2bb31ab6c0f7ebdfbe64f2f04f0755236
📦 Download FitFileViewer
- Most Windows users should download the "Installer EXE", "MSI" or "Portable" versions
- Most Mac users should download the "DMG" or "PKG" versions
| Linux | Builds | Format | Download Link |
|----------|--------------|-----...
FitFileViewer v29.3.0
🚀 Release Notes
✨ [feat] Refactor chart rendering and improve IPC handling
- 🔧 [fix] Fixed bug with chart conversion between km/meter/feet/miles
- 🔧 [build] Introduced
createManagedChartutility for consistent chart management across multiple chart rendering functions. - 🛠️ [fix] Updated
renderLapZoneChart,renderPowerVsHeartRateChart,renderSpeedVsDistanceChart, andrenderZoneChartNewto utilizecreateManagedChartfor better chart instance management. - 🔧 [build] Enhanced
renderPowerVsHeartRateChartandrenderSpeedVsDistanceChartto usechartSettingsManagerfor field visibility instead of localStorage. - 🎨 [style] Improved code readability by restructuring conditional statements and ensuring consistent formatting.
- 🔧 [build] Changed IPC channel for FIT file decoding from
"decode-fit-file"to"fit:decode"for better clarity and consistency. - 🎨 [style] Updated debug logging in
debugSensorInfoto use a more appropriate emoji for formatted product output. - 🎨 [style] Changed the icon for the export ZIP functionality in settings to a folder emoji for better visual representation.
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🔍 Merge Commit Details
Message:
- Bump version to 29.3.0
- Author: Nick2bad4u <Nick2bad4u@users.noreply.github.com>
- Commit: [](https://github.com/Nick2bad4u/FitFileViewer/commit/)
- Date: 2025-11-21
Commit SHA: 98de7af734ad2f57a111337718f69983da815de0
📦 Download FitFileViewer
- Most Windows users should download the "Installer EXE", "MSI" or "Portable" versions
- Most Mac users should download the "DMG" or "PKG" versions
| Linux | Builds | Format | Download Link |
|---|---|---|---|
| Linux | x64 | AppImage | Fit-File-Viewer-appimage-x86_64-29.3.0.AppImage |
| Linux | x64 | DEB | [Fit-File-Viewer-deb-amd64-29.3.0.deb](https://github.com/Nick2bad4u/FitFileViewer/releases/down... |
FitFileViewer v29.2.0
🚀 Release Notes
✨ [feat] Add Windows 7 compatibility build process
- Introduced a new GitHub Actions workflow for building Windows 7 compatibility artifacts.
- Created
build-win7.ymlto define the build process for Windows 7 portable applications. - Added
build:win7script inpackage.jsonto trigger the Windows 7 build. - Implemented
build-win7.mjsscript to handle the actual build process using Electron Builder. - Updated
DEVELOPMENT_GUIDE.mdto include instructions for building and testing on Windows 7. - Upgraded
electron-updaterdependency to version 6.7.1 for improved functionality.
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🔍 Merge Commit Details
Message:
- Bump version to 29.2.0
- Author: Nick2bad4u <Nick2bad4u@users.noreply.github.com>
- Commit: [](https://github.com/Nick2bad4u/FitFileViewer/commit/)
- Date: 2025-11-17
Commit SHA: 7a062207e209b88737b27a6a7494972823aad1ff
📦 Download FitFileViewer
- Most Windows users should download the "Installer EXE", "MSI" or "Portable" versions
- Most Mac users should download the "DMG" or "PKG" versions
| Linux | Builds | Format | Download Link |
|---|---|---|---|
| Linux | x64 | AppImage | Fit-File-Viewer-appimage-x86_64-29.2.0.AppImage |
| Linux | x64 | DEB | Fit-File-Viewer-deb-amd64-29.2.0.deb |
| Linux | x64 | RPM | Fit-File-Viewer-rpm-x86_64-29.2.0.rpm |
| Linux | x64 | PACMAN | Fit-File-Viewer-pacman-x64-29.2.0.pacman |
| Linux | x64 | SNAP | [Fit-File-Vi... |
FitFileViewer v29.1.0
🚀 Release Notes
🚜 [refactor] Centralize FIT file domain state, propagate file paths, and unify lifecycle flows
- Delegate AppActions.loadFile to fitFileStateManager when available (startFileLoading + handleFileLoaded with { filePath, source }) and fall back to legacy slices when not present
- decodeFitFile and showFitData now pass filePath + source to fitFileStateManager.handleFileLoaded
- Add clearFitFileDomainState and use it from unloadFitFile; DragDropHandler prefers file.path and reports that path to state manager and showFitData
🚜 [refactor] Harden FitFileStateManager API and legacy compatibility
- handleFileLoaded(fileData, options?) now updates both domain and legacy slices (fitFile.*, globalData, currentFile, charts/map/tables.isRendered), clears errors, sets progress and lastLoadTime
- startFileLoading(...) mirrors legacy isLoading state and initializes loadingProgress
🚜 [refactor] Modularize data-point filter control for testability
- Extract DOM wiring, preview logic and state utilities into elementFactory.js, metricsPreview.js and stateHelpers.js
- Update createDataPointFilterControl to consume the helpers and keep existing UX while simplifying internals
🧪 [test] Stabilize and extend tests
- Update many suites to mock stateManager.subscribe as vi.fn(() => () => {}) to provide unsubscribe no-ops and avoid leaks
- Adjust tests to assert delegation to fitFileStateManager (startFileLoading, handleFileLoaded, clearFileState) and add coverage for new data-point filter modules (metricsPreview/stateHelpers)
📝 [docs] Add/update TypeScript declarations & sourcemaps
- Add d.ts entries and maps for new modules (elementFactory, metricsPreview, stateHelpers, rendererLogger, control elements) and update fitFileState.d.ts signature for handleFileLoaded
🛠️ [fix] Minor UX/robustness tweaks
- Ensure unload/clear flows call domain clearFileState instead of misusing handleFileLoaded(null)
- Improve error handling around delegation to domain manager (try/catch + notifications)
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🔍 Merge Commit Details
Message:
- Bump version to 29.1.0
- Author: Nick2bad4u <Nick2bad4u@users.noreply.github.com>
- Commit: [](https://github.com/Nick2bad4u/FitFileViewer/commit/)
- Date: 2025-11-02
Commit SHA: 7f562733a8a47bf0670539f1de49f76d156c8fa2
📦 Download FitFileViewer
- Most Windows users should download the "Installer EXE", "MSI" or "Portable" versions
| Mac | Builds | Format | Download Link |
|---|---|---|---|
| macOS | x64 | DMG | Fit-File-Viewer-dmg-x64-29.1.0.dmg |
| macOS | x64 | PKG | Fit-File-Viewer-pkg-x64-29.1.0.pkg |
| macOS | x64 | TAR.BZ2 | Fit-File-Viewer-darwin-29.1.0.tar.bz2 |
| macOS | x64 | TAR.GZ | Fit-File-Viewer-darwin-29.1.0.tar.gz |
| macOS | x64 | TAR.XZ | Fit-File-Viewer-darwin-29.1.0.tar.xz |
| macOS | universal | DMG | Fit-File-Viewer-dmg-universal-29.1.0.dmg |
| macOS | universal | PKG | Fit-File-Viewer-pkg-universal-29.1.0.pkg |
| macOS | universal | TAR.BZ2 | Fit-File-Viewer-darwin-universal-29.1.0.tar.bz2 |
| macOS | universal | TAR.GZ | Fit-File-Viewer-darwin-universal-29.1.0.tar.gz |
| macOS | universal | TAR.XZ | Fit-File-Viewer-darwin-universal-29.1.0.tar.xz |
| macOS | universal | ZIP | Fit-File-Viewer-darwin-universal-29.1.0.zip |
| macOS | arm64 | DMG | Fit-File-Viewer-dmg-arm64-29.1.0.dmg |
| macOS | arm64 | PKG | Fit-File-Viewer-pkg-arm64-29.1.0.pkg |
| macOS | arm64 | TAR.BZ2 | Fit-File-Viewer-darwin-arm64-29.1.0.tar.bz2 |
| macOS | arm64 | TAR.GZ | Fit-File-Viewer-darwin-arm64-29.1.0.tar.gz |
| macOS | arm64 | TAR.XZ | [Fit-File-Viewer-darwin-arm64-29.1.... |
FitFileViewer v29.0.0
🚀 Release Notes
👷 [ci] Fix Codecov uploads on Windows and normalize LCOV paths
- Add electron-app/codecov.exe and invoke it in the Vitest workflow to upload ./coverage/lcov.info (Windows-friendly upload step; continue-on-error to avoid CI hard-fail)
- Keep codecov action as a fallback; remove codecov.exe from .gitignore so the binary is tracked
🔧 [build] Add LCOV normalization script to produce repo-root-relative paths
- Add electron-app/scripts/normalize-coverage-lcov.mjs which copies coverage from temp dirs and rewrites SF: entries to POSIX, repo-root-relative paths, then writes normalized lcov back to electron-app/coverage/lcov.info
- This ensures Codecov receives consistent, repo-relative file paths and fixes unusable reports
🔧 [build] Standardize Vitest coverage output and path handling
- Update electron-app/vitest.config.js to use repo-local globs (remove redundant electron-app/ prefixes), set coverage.dir to ./coverage, and add an lcov reporter configured with projectRoot: path.resolve(__dirname, "..")
- Adjust include/exclude, setupFiles, SSR transform patterns, typecheck includes and forceRerunTriggers to use generic repo-relative globs for consistent discovery across platforms
🧪 [test] Update renderLapZoneCharts expectations to match current canvas styling
- Adjust test assertions in electron-app/tests/strictTests/renderLapZoneCharts.test.ts: borderRadius 12px → 8px and boxShadow "0 2px 4px rgba(0,0,0,0.1)" → "0 2px 8px rgba(0,0,0,0.1)"
👷 [ci] Tweak Build workflow path-ignore rules
- Update .github/workflows/Build.yml paths-ignore to include scripts, tests, assets and vite.config.js so workflow trigger logic treats these files as intended
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🔍 Merge Commit Details
Message:
- Bump version to 29.0.0
- Author: Nick2bad4u <Nick2bad4u@users.noreply.github.com>
- Commit: [](https://github.com/Nick2bad4u/FitFileViewer/commit/)
- Date: 2025-10-29
Commit SHA: d61402dd469ea49740ca294c85206a3cb3d7ea87
📦 Download FitFileViewer
- Most Windows users should download the "Installer EXE", "MSI" or "Portable" versions
<s...
FitFileViewer v28.9.0
🚀 Release Notes
Fix Codecov unusable report by adjusting paths to be relative to repo root
- Set coverage.cwd to repo root in vitest.config.js
- Updated all paths in config to be relative to repo root
- Removed working-directory from Codecov upload steps
- Changed file paths in workflow to electron-app/coverage/lcov.info etc.
This ensures lcov paths are electron-app/utils/file.js, matching the repo structure.
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🔍 Merge Commit Details
Message:
- Bump version to 28.9.0
- Author: Nick2bad4u <Nick2bad4u@users.noreply.github.com>
- Commit: [](https://github.com/Nick2bad4u/FitFileViewer/commit/)
- Date: 2025-10-29
Commit SHA: 44ac043643f7319d11e095d067470cc484e2128e
📦 Download FitFileViewer
- Most Windows users should download the "Installer EXE", "MSI" or "Portable" versions
- Most Mac users should download the "DMG" or "PKG" versions
| Linux | Builds | Format | Download Link |
|---|---|---|---|
| Linux | x64 | AppImage | Fit-File-Viewer-appimage-x86_64-28.9.0.AppImage |
| Linux | x64 | DEB | Fit-File-Viewer-deb-amd64-28.9.0.deb |
| Linux | x64 | RPM | Fit-File-Viewer-rpm-x86_64-28.9.0.rpm |
| Linux | x64 | PACMAN | Fit-File-Viewer-pacman-x64-28.9.0.pacman |
| Linux | x64 | SNAP | Fit-File-Viewer-snap-amd64-28.9.0.snap |
| Linux | x64 | TAR.BZ2 | [Fit-File-V... |
FitFileViewer v28.6.0
🚀 Release Notes
👷 [ci][skip-ci][ci-skip] Use dot reporter and silence Vitest output in CI test script
- 👷 [ci] Update electron-app/package.json "test:ci" script to add --reporter=dot and --silent to the vitest invocation
- 🧪 [test] Preserve existing behavior: NODE_OPTIONS=--max-old-space-size=8192 and --coverage remain unchanged; only output format and verbosity are affected
- 🧹 [chore] Rationale: produce concise, progress-style output in CI and reduce noisy logs to make failures easier to scan and triage
- 📝 [docs] No runtime or test logic changes; consider documenting CI log preferences if teams rely on different vitest reporters
Signed-off-by: Nick2bad4u 20943337+Nick2bad4u@users.noreply.github.com
🔍 Merge Commit Details
Message:
- 👷 [ci] Replace Codecov GH Actions with script-based uploads and normalize Codecov config names - 👷 [ci] Replace codecov/codecov-action and codecov/test-results-action steps in .github/workflows/vitest.yml with direct uploads: use bash uploader for lcov and run codecov.exe in Windows cmd for JUnit results to improve reliability and control on Windows runners - 🧹 [chore] Add electron-app/codecov.exe to .gitignore to avoid tracking the CI binary artifact - 📝 [docs] Remove emoji glyphs from component names in codecov.yml (Renderer & UI, Utilities, FIT Parsing, Window State Management) to prevent encoding/display issues in dashboards
- Author: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com>
- Commit: [](https://github.com/Nick2bad4u/FitFileViewer/commit/)
- Date: 2025-10-29
Commit SHA: 845262b29b05324df2d70c68196c39add9519407
📦 Download FitFileViewer
- Most Windows users should download the "Installer EXE", "MSI" or "Portable" versions
- Most Mac users should download the "DMG" or "PKG" versions
| Linux | Builds | Format | Download Link |
|---|---|---|---|
| Linux | x64 | AppImage | Fit-File-Viewer-appimage-x86_64-28.6.0.AppImage |
| ... |