Releases: AgOpenGPS-Official/AgOpenGPS
Release 6.8.4
Release Notes — AgOpenGPS 6.8.4
This release focuses on stability improvements and final usability additions.
What's new in 6.8.4
UI & usability improvements
- Redesigned FormCopyTracks for better touch interaction and small screen compatibility.
- Improved general workflow consistency when switching between simplified and advanced modes.
Bug fixes & stability
- Fixed issues with importing interior boundaries.
- Prevented unnecessary intersection removal when loading boundaries from file.
- Corrected boundary tram generation.
- Fixed curve nudge ptA/ptB placement.
- Resolved Youturn Alarm and Headland Sound playback issues.
Translations
- Updated translations for:
- Bulgarian
- Finnish
- Polish
- Portuguese
- Russian
UI for Easy Drive
- New touch-friendly setup screen (
FormEasyDrive). - Automatically transitions into Quick AB mode.
Easy Drive — Quick start without setup
- Added a new Easy Drive mode for quick GPS guidance without creating or loading a field.
- Users can directly enter working width and hitch length, then immediately start driving.
- Automatically launches a simplified workflow for creating AB lines or curves.
Easy Drive behavior
- Uses a temporary tool configuration (rigid, single section).
- Disables field-dependent features such as:
- Headland
- Boundary
- Tramlines
- Profile loading
- Ensures no data is written to disk during the session.
- Restores original vehicle and tool settings on exit.
💡 Note:
AgOpenGPS WinForms remains in maintenance mode. Only stability improvements and critical fixes are accepted going forward.
Release 6.8.3
Release Notes -- AgOpenGPS 6.8.3
Version 6.8.3 marks the end of feature development for AgOpenGPS WinForms.
| ❌ | New features |
| ❌ | Refactoring |
| ✅ | Critical bug fixes only |
The torch has been passed.
Active development continues at:
Built with Avalonia UI -- Windows, Linux, macOS, Raspberry Pi
Caution
This is the last version of AgOpenGPS WinForms to include new features.
From this point forward this repository is in maintenance mode -- only critical bug fixes
will be accepted. No new features, no refactoring.
Active development has moved to AgValoniaGPS
(working title) -- a full rewrite using Avalonia UI targeting cross-platform support
(Windows, Linux, macOS, Android).
What's new in 6.8.3
AgShare – Cloud field loading
- Fields linked to AgShare can now be automatically downloaded from the
cloud before opening, so you always work with the latest version.
Applies to Open, Resume and Drive In. - New toggle in AgShare Settings to switch between Cloud Load (always
fetch latest) and Local Only (existing behaviour). - AgShare Settings form redesigned with a cleaner layout.
- Auto-Upload and Cloud Load buttons are now disabled when AgShare is
not activated. - AgShare UI translations added for DE, NL, HU, CS, FR.
Settings
- Nudge step size is now saved per Tool profile instead of globally,
so each implement can have its own snap distance. - Switching to a different vehicle or tool profile now saves the current
profile first, preventing loss of unsaved changes.
Log Viewer
- Log viewer opens significantly faster — no more line-by-line redraws.
- Viewer auto-refreshes in realtime and scrolls to the latest entry.
- Log file is now trimmed to the last 100 lines on startup.
Updater
- Removed expired GitHub API token from the updater. The token was causing
401 errors and required ongoing maintenance to keep up to date.
Bug fixes
- Fixed ISOXML GuidancePattern ID assignment in TaskData export.
- Normalized steer angle for inverted WAS in CSmartWAS.
- Validated point counts and sort ISOXML boundaries by area.
- Suppressed edge-case exception when a log file is locked by another
process (e.g. OneDrive).
Release 6.8.2
Release Notes -- AgOpenGPS 6.8.2
Version 6.8.2 marks the end of feature development for AgOpenGPS WinForms.
| ❌ | New features |
| ❌ | Refactoring |
| ✅ | Critical bug fixes only |
The torch has been passed.
Active development continues at:
Built with Avalonia UI -- Windows, Linux, macOS, Raspberry Pi
Caution
This is the last version of AgOpenGPS WinForms to include new features.
From this point forward this repository is in maintenance mode -- only critical bug fixes
will be accepted. No new features, no refactoring.
Active development has moved to AgValoniaGPS
(working title) -- a full rewrite using Avalonia UI targeting cross-platform support
(Windows, Linux, macOS, Android).
What's New in 6.8.2
Features
Settings: Vehicle, Tool and Environment Profiles
Settings have been split into three independent profile types:
| Profile | Location | Purpose |
|---|---|---|
| Vehicle | VehicleProfiles/{name}.xml |
Steering, IMU, GPS, hardware brands |
| Tool | ToolProfiles/{name}.xml |
Sections, tram, relay, Arduino Machine |
| Environment | Environment/environment.xml |
Display, sound, window positions |
This makes it possible to mix and match vehicles and tools freely -- e.g. switch the same
tractor between implements without reconfiguring everything.
Converter for existing profiles -- A dedicated conversion form (FormConvertProfiles) is
included to migrate old single-file profiles to the new format. The converter:
- Reads all existing profiles from the legacy
Vehicles/directory. - Shows converted profiles in green; unconverted profiles in white.
- Tool profile is optional -- select Vehicle only if you have no tool-specific settings.
- Blocks duplicate names and shows a clear error dialog.
- Stays open after conversion so you can process multiple profiles in one session.
- Automatically migrates Environment settings on the first conversion (silent, one-time).
Profile management -- A unified profile management screen lets you rename and reset
Vehicle/Tool profiles. Renaming supports case-only changes (e.g. tractor -> Tractor).
Touch-friendly UI -- All profile toggle buttons are large and touch-optimised. On-screen
keyboard support is included in all text inputs.
Startup -- If no profile is found at startup, AgOpenGPS gives a clear message and guides
the user to load or create a profile.
ISOBUS Task Controller Integration
Full ISOBUS Task Controller (ISO 11783 TC) support has been added:
- Task Controller is launched via AgIO and communicates with AgOpenGPS over the existing
UDP/PGN channel. - Supports multiple CAN adapter drivers with automatic start.
- Section control is handled by the TC, including correct reporting of 0 sections when no
implement is connected -- helps verify that TC is running and talking to AgOpenGPS. - The current field name is sent to the Task Controller so TC logs are tied to the
correct field. - TC-AgOpenGPS communication has been stabilised with process-data variables and logging
to file. - All relevant PGN messages are documented in
docs/pgn-protocol.md.
Auto-Update System
AgOpenGPS can now check for and install new releases automatically:
- Checks GitHub releases for a newer version at startup.
- Shows a user-friendly updater UI with release information.
- Downloads and installs the update with rollback support (backup directories are preserved
if rollback fails). - The updater module is independent of
AgOpenGPS.Coreso it can update even when the
Core library changes between versions.
Smart WAS Auto-Calibration
A new Smart WAS (Wheel Angle Sensor) auto-calibration button has been added. Clicking it
zeroes the WAS from the current reading, simplifying initial setup and re-calibration in the
field without entering the full settings menu.
Import Tracks (from Field X to Field Y)
Tracks can now be imported from one field into another:
- Short imported tracks (e.g. from ISO sources) now generate stable, complete curve guidance
with an extended reference curve for offset and guideline calculations at track ends. - A guard prevents crashes when importing a single-point curve.
- Twol track designations used internally by AgOpenGPS are excluded from the export,
keeping imported tracks clean. - After import, the active track is automatically set as selected.
AgShare Improvements
- Cloud availability is checked before uploading; duplicate uploads are blocked with a
clear message in the Log Viewer. - Better error reporting for both upload and download failures.
- The
HttpClientis correctly re-created when the server URL or API key changes. - Internal refactor to a result-pattern and typed DTOs for all AgShare queries, improving
reliability and error traceability.
Touch Drag Scrolling for Track Lists
Track lists now support touch drag scrolling, making it much easier to navigate long track
lists on tablet or touchscreen setups.
"Pop-Up AgIO on Warning" Setting
A new option in Advanced Settings automatically brings the AgIO window to the foreground
when a hardware warning is received, so warnings are never missed while AgOpenGPS is in
full-screen guidance mode.
AB Line Angle Display
The current AB line angle and its inverse (180 degree offset) are now displayed on the
guidance screen, giving the operator an at-a-glance reference for the pass direction.
New Languages
The following languages have been added:
- Bulgarian
- Croatian
- Czech
- Gujarati
- Japanese
- Romanian
- Swedish
License Changed: GPL to Apache 2.0
The project license has been changed from GNU GPL to Apache License 2.0. This gives
integrators and downstream projects clearer terms for using, modifying, and distributing
AgOpenGPS components.
Improvements
Curve Guidance (CABCurve) -- Major Overhaul
The curve guidance engine has been substantially improved:
- Point headings are now calculated from local coordinates rather than global, giving more
accurate guidance on non-trivial curves. - The curve is hidden during recalculation to prevent visual flicker when switching tracks.
- Cancellation checks added to extension loops to prevent the UI from freezing.
- Side guidelines are capped at 3 for performance; the extension algorithm now uses a
single 200 m anchor point instead of 300 interpolated points. ResampleCurve,CalculateHeadings, andMakePointMinimumSpacingare now static,
making the code easier to test.- U-Turn path is rebuilt automatically after a track nudge or reset.
Section Control at 10 Hz
Section control is now processed at a fixed 10 Hz instead of the main frame rate, giving
more consistent section switching regardless of GPU load.
Real Frame Time Display
The actual rendering frame time is now shown in the UI, replacing a synthetic counter.
This helps diagnose performance issues on slower hardware in the field.
UI Redesign: FormJob and FormDialog
- FormJob has been redesigned with a modern button layout.
- FormDialog has been redesigned and now supports a
Severitylevel (info / warning /
error), improving the visual clarity of system messages.
Tram Line Improvements
ReducePointsfunction added for tram track processing, improving performance on long
boundaries.- Duplicate
CreateBoundaryOuterTrackandCreateBoundaryInnerTrackcode paths merged.
OpenGL / Rendering Performance
Multiple targeted performance improvements to the OpenGL wrapper (GLW):
Vertex3replaced withVertex2where the Z coordinate was always 0.GL.SetColornow accepts a byte array, reducing allocations.ColorRgbreplaced withColorRgbathroughout, removing a redundant type.- Viewport management refactored into a dedicated
Viewportclass. SectionsVisualandFenceLineVisualencapsulate their own draw methods, removing
direct dependencies on OpenTK internals.VehicleDotVisualintroduced to harmonise vehicle-dot rendering across forms.BingMapseparated into its own class; unusedz_bingMapresource removed.Texture2DandVertextArrayBasenow implementIDisposablefor correct release of
unmanaged OpenGL resources.
Boundary Tool Improvements
- Zoom and pan in the boundary tool form improved with better step behaviour.
GeoPolygon.RemoveSelfIntersections()added to prevent self-intersecting boundaries
from causing calculation errors.- `GeoPolygon.RemoveCloseNeigh...
Release 6.8.1
Sadly we had a big bug in the section timers in version 6.8.0 we all missed.
This solves that problem. All sections run now at 10hz which raises the quality of section mapping turning on and off.
All other release notes can be found on the 6.8.0 release notes.
Release 6.8.0
AgOpenGPS 6.8 Release Notes
Release Date: Nov 19 2025
Overview
Branch: master
Base: tag 6.7.1
Total Changes: 585 files changed, 30,954 insertions(+), 17,559 deletions(-)
This version and future versions are 64bit only!
🆕 New Features
Track Import & Management (#1040)
- Track Copying Functionality: Added ability to copy tracks between fields
- Includes import/export capabilities for track data
- Bugfixes:
- Fixed track index crash after importing tracks (#1040)
AgShare Integration Improvements (#984, #971, #972, #792)
- Fields Without Boundaries: Fixed upload/download of fields without boundaries to AgShare (#984)
- Boundary Handling: Fixed AgShare boundary saving and loading (#971, #792)
- Headland Distance Display: Fixed headland distance display issues (#972)
- Improved application shutdown and data handling for AgShare
Boundary Creation from Track Lines (#802)
- Build Boundaries from Tracks: New feature to create field boundaries from recorded AB and Curve tracks
- Interactive Boundary Builder: New form (
FormBuildBoundaryFromTracks) with:- Visual track selection and preview
- OpenGL rendering for real-time visualization
- Track endpoint manipulation to create closed boundaries
- Automatic segment intersection detection
- Intelligent track trimming and polygon construction
- Preview Mode: Visualize intermediate results before finalizing boundary
- Direct Integration: Built boundaries are directly integrated into the main system
- File Support: Save created boundaries to field files
- Error Handling: Improved error reporting for invalid tracks or missing files
- User Feedback: Informative message boxes guide the boundary creation process
Headland Detection System (#824)
- New Headland Indicator: Visual indicator when entering/exiting headland areas
- Detection logic integrated into main UI
- New sound notifications for headland events (#825)
Global Hotkey Support (#829)
- Added system-wide hotkey functionality
- Allows control of AgOpenGPS even when window is not focused
Configuration System Overhaul (#826, #768)
- Split Configuration Interface:
FormConfigsplit into separate, focused controls (#826) - Config Menu Restructure: Improved configuration menu organization (#768)
- Better user experience for settings management
Profile System (#703)
- Separate Profile Management: Dedicated menu entries and forms for profile creation/loading
- Improved profile workflow with helpful hints (#799)
- Better profile switching experience
Field File Loading & Saving System Overhaul (#832, #796)
- Stateless File Operations: Complete refactoring of field loading and saving separated from UI (#832)
- Dedicated file IO classes for each file type (BackPic, Boundary, Contour, Flags, Tracks, Headland, etc.)
- Removes UI dependencies from file operations
- Introduces FieldData DTO for encapsulating all loaded data
- Improved modularity and testability
- Enhanced Reliability: Improved robustness and error handling (#796, #832)
- Retry and fallback mechanisms for optional files
- Prevents crashes from missing or corrupt field data
- Better file existence checks and data validation
- Streamlined file loading using unified
FieldFiles.LoadAllmethod
- Field Picker Improvements: Enhanced with distance and area calculations (#832)
- Elevation Grid: Added persistence and file management for elevation data (#832)
- AgShare Integration: Ensures proper field closure and saving before AgShare upload (#796)
- Settings Persistence: Settings now saved before shutdown to prevent data loss (#796)
- Better Logging: Field opening only logged when actually changed, preventing redundant entries (#832)
ISOXML Import/Export Enhancements (#788, #713, #714, #643)
- New ISOXML Import System: Completely rewritten import functionality (#788)
- Raven ISOXML Support: Added support for Raven ISOXML format (#713)
- Valtra KML Import: Fixed Valtra KML import issues (#780)
- Improved KML Loading: Enhanced Load from KML form interface (#712)
- Refactored ISOXML export for better reliability (#714)
- Added extra error-checking and handling in ISOXML operations (#643)
Flags Management (#752, #707)
- CSV Flag Import: Load flags using text or CSV files
- Better error handling for malformed flag data (#752)
Camera System Update (#827)
- Replaced Webcam Library: Switched from
WebEye.Controls.WinForms.WebCameraControltoAccord.Video.DirectShow - Improved camera performance and stability
Estonian Language Support (#820)
- Added Estonian language option with full translation support
- Language selection button added to UI
Build System Improvements (#834, #832, #770, #940)
- Dotnet Publish: Switched to
dotnet publishfor final deployment (#834) - Removed Double-Zipping: Streamlined build output (#770)
- Version Information: Append version to AgOpenGPS.zip filename (#940)
- Dotnet Build: Use
dotnet buildinstead of MSBuild (#732) - Removed auto-generated AssemblyInfo.cs files (#833)
- Set x64 runtime in project file (#900)
AgDiag Diagnostic Tool (#687, #691, #692, #693)
- New AgDiag Tool: Added diagnostic utility for troubleshooting
- Converted to SDK-style project (#691)
- Comprehensive cleanup and refactoring (#692, #693)
Code Analysis & Quality (#813)
- Initial code analysis setup for improved code quality
- Static analysis integration
GPS Output Precision (#793)
- User-selectable GPS output precision
- Optional simulate data mode
🐛 Critical Bugfixes (Existing Features)
U-Turn System
- Critical Crash Fix: Fixed U-turn crashes near inner boundaries (#949)
- Offset Calculation: Fixed U-turn failing when offset equals half implement width (#954)
Boundary System
- Curve Generation: Fixed boundary curve generation for inner boundaries (#960)
- Extra Guidelines: Fixed issue where one too many guidelines were displayed (#1034)
- Guideline Colors: Fixed half of extra guidelines not showing green foreground color (#1025, #1034)
- Duplicate Controls: Removed duplicate Extra Guidelines control from main menu (#948)
Display & Rendering
- Stanley Mode: Fixed goal point not displaying in Stanley mode (#968)
- Section Speed Label: Fixed unit label and conversion for "section off below speed" (#955)
- Imperial Units:
- Field Background: Fixed field background color when texture is disabled (#830)
- Tractor Rendering: Fixed tractor rendering issues (#702)
- Screen Borders: Corrected screen border rendering in OpenGL (#900)
- Cross Track Background: Restored original cross track background texture (#755)
- Lightbar Crash: Fixed crash caused by unnecessary GL.Begin() when creating texture (#760)
Distance Calculations
- Field Distance Accuracy: Made distance to field calculations more accurate (#671)
- LocalPlane Bug: Fixed LocalPlane to calculate MetersPerDegreeLon for each point separately (#787)
Chart Windows
- Fixed naming of chart windows and menu entries (#977)
Map Display
- Lat/Lon Formatting: More consistent latitude/longitude formatting in FormMap (#855)
- BingMap Colors: Restored accidentally deleted code for correct BingMap texture color (#856)
- BingMap Integration: Added BingMap for easy loading and saving of field background pictures (#858)
Track Selection
- First Visible Track: Choose the first visible track when track button is pressed (#740)
- AB Line/Curve: Invalidate AB line/curve when settings loaded (#756)
Form Handling
- Quick AB Curve: Properly close Quick AB Curve creator form if insufficient points are recorded (#742)
- AutoSteer Icon: Fixed AutoSteer button showing AutoSnapToPivot icon (#741)
- Form Saving: Multiple improvements to FormSaving functionality (#797, #798)
Auto Lift Function
- Various improvements and fixes to auto lift functionality (#769)
Tool Position
- Back Buffer Culling: Changed culling to be based on ToolPos instead of vehicle position (#676)
AgIO
- Auto-Save: AgIO now auto-saves changes to XML file (#778)
- Exit Message: Better exit text for AgIO (#943)
- Restart: Ensure AgIO restart is done properly (#684)
Translation Fixes
- Fixed "Outer" and "Pts:" not being translated in MapForm (#852)
- Multiple translation updates from Weblate (#854, #850, #846)
- Fixed Lithuanian language copy-paste errors (#786)
Memory & Dependencies
- Fixed issues with Resources due to different versions of System.Memory package (#785)
UI State & Visibility
- Enhanced field loading and UI button visibility logic (#900)
- Fixed text label anchor settings (#735)
- Fixed UTurnButton positions (#661)
- Fixed index out of bounds when clicking green or yellow symbols (#694)
Delete Confirmation
- Rephrased 'Delete For Sure' to 'Are you sure you want to delete?' (#1036)
🏗️ Architecture & Refactoring
Major Refactoring (Developer-Focused)
- Field Dependencies: Removed dependencies from Field/Fields/FieldDescription to streamers (#762)
- Textures: New Texture class to simplify texture operations (#651)
- CNMEA Improvements: Let CNMEA use base classes more effectively (#679, #670)
- Ackermann Code: Replaced quadruple Ackermann code with unified implementation (#654)
- CPolygon Removal: Removed CPolygon class (#746)
- Translations to Core: Moved translations to Core project (#734)
- Fonts to Core: Moved fonts to Core proj...
Release 6.7.1
Automated Release by GitHub Action CI
What's Changed
- fix youturn with offset by @P00qwerty in #749
- Fix from develop by @mattmccormack in #757
- Fixed Tool Width not updating in the config form when loading a new v… by @spencerryan in #754
- Fix Bnd Tool 3rd point always on by @farmerbriantee in #773
- Modified the Display All Settings form to appropriately scale the WAS… by @lansalot in #775
- Hotfix/6.7-agio-gpsbaud by @lansalot in #776
New Contributors
- @spencerryan made their first contribution in #754
Full Changelog: 6.7.0...6.7.1
Release 6.7.0
What's Changed
- Refactored Sections.Designer.cs by @lansalot in #513
- Use NuGet packages for dependencies by @FantasyTeddy in #514
- Centralize logging in new
AgLibraryproject by @FantasyTeddy in #542 - Nudge by machine: added PGN222 to UDPComm.designer by @mtz8302 in #558
- Implementing a switch based sectionControl - based on the code by MTZ8302 by @hagre in #537
- Remove solution configuration 'All' and platform 'x86' by @FantasyTeddy in #566
- pgn 252 fix by @richardklasens in #574
- Convert projects to SDK-style by @FantasyTeddy in #567
- Update README.md add comment for VS clone option by @richardklasens in #584
- change label names to logical names instead of labelXX for config design by @richardklasens in #569
- Refactor/config vehicle designer by @J005t67 in #587
- Extract ISOXML export by @FantasyTeddy in #592
- fix exception if 2 points made and slicer was ticked gave a exception by @richardklasens in #591
- FormFirst Translation resx lines and labels by @richardklasens in #586
- Fix AgIO not responding with wrong baud rate by @FantasyTeddy in #595
- newSettings by @P00qwerty in #583
- Extract Keypad & Keyboard display into extension methods by @FantasyTeddy in #593
- Add test project for
AgLibraryby @FantasyTeddy in #599 - Adding extra guidelines for curves from Brian by @richardklasens in #590
- Add new
AgOpenGPS.Coreproject by @FantasyTeddy in #600 - more translation options for flag,fieldata,fielddir by @richardklasens in #601
- translations done for all fieldforms by @richardklasens in #604
- added cycle lines by @mtz8302 in #606
- Autoswitch Dual to Fix speed based by @chrisriteco in #603
- Fix images in configuration by @FantasyTeddy in #608
- Enable building of AgOpenGPS without cloning with Git by @FantasyTeddy in #609
- Take over refactored base classes from AOG2 repository by @J005t67 in #602
- Translations more forms by @richardklasens in #611
- oglBack dimensions, tram linewidth too wide, set to 4 by @farmerbriantee in #613
- More Translations :) by @richardklasens in #612
- Take over Field aspect models from AOG2 repository by @J005t67 in #610
- Refactored Dubins classes by @J005t67 in #615
- Add test project for
AgOpenGPS.Coreand a WPF example application by @FantasyTeddy in #618 - New WorkedAera classes by @J005t67 in #619
- Use InvariantCulture in ISO-XML by @FantasyTeddy in #622
- New base ViewModels by @J005t67 in #617
- New views and main layout for new WpfApp by @J005t67 in #623
- added JCB Brand by @richardklasens in #627
- Added a TRIP-counter for applied area by @richardklasens in #628
- Remove changelog files by @FantasyTeddy in #632
- CancellationTokenRequest for ABCurve List by @richardklasens in #629
- Correct typo in filename Wgs84.cs and little bit more. by @J005t67 in #634
- Fixes and requests by @P00qwerty in #635
- Fix section on delay. SaveOrNot form too narrow for text by @farmerbriantee in #636
- Fix sim coords not being saved by @FantasyTeddy in #644
- Allow decimal values for switch speed (Auto Dual <-> Fix) by @FantasyTeddy in #645
- Fix Sim Coord From save by @farmerbriantee in #646
- Add missing field aspect models by @J005t67 in #648
- Add
VehicleConfigmodel by @FantasyTeddy in #647 - Big Resx Translation Update from different Languages by @richardklasens in #621
- Add TrackLines to FieldExisting by @farmerbriantee in #652
- fixes by @richardklasens in #650
- ISOXML-6.7 by @lansalot in #656
- Patches by @richardklasens in #668
- Fixes/6.7 by @richardklasens in #695
- Fixes/6.7 by @richardklasens in #725
New Contributors
- @mtz8302 made their first contribution in #558
- @hagre made their first contribution in #537
- @chrisriteco made their first contribution in #603
Full Changelog: 6.6.2...6.7.0
Release 6.6.2
Automated Release by GitHub Action CI
Release 6.6.1
Automated Release by GitHub Action CI
Release 6.6.0
Automated Release by GitHub Action CI