Contributions

Open Source.

ISOBUS (ISO 11783) and SAE J1939 are the CAN-bus protocols agricultural equipment uses to let tractors, implements, and displays talk to each other. AgIsoStack++ is the free, open-source C++ stack that implements them, AgIsoVirtualTerminal and AgIsoDDOPGenerator are the tools built on it, and AgOpenGPS uses it to steer real machinery in the field. Below is every change sent upstream, grouped by repository, newest first.

Changelog
AgIsoStack++Open-Agriculture21 PRs · 19 merged · 2 in reviewSend Load Version response after a restored pool is parsedin reviewAgIsoStack++#766Preserve CAN port on completed TP/ETP messagesmergedAgIsoStack++#762Report why MacCAN PCAN failed to open through get_last_errormergedAgIsoStack++#760Report why Windows CAN plugins failed to open through get_last_errormergedAgIsoStack++#759Report SocketCAN open failures through start() and get_last_error()mergedAgIsoStack++#747Sanitize designator strings in the ISOXML DDOP exportmergedAgIsoStack++#745Report an error when the VT server can't use an object poolmergedAgIsoStack++#743Fix stale API references and run instructions in the tutorialsmergedAgIsoStack++#741Save the tutorial DDOP as .ddop, leaving .iop to VT object poolsmergedAgIsoStack++#740Sync DDI enum, table and value formatters with the ISO 11783-11 2026090801 exportmergedAgIsoStack++#734Fix format_value() for DDI 505 and 506mergedAgIsoStack++#733Fix heartbeat rx sequence counter validationmergedAgIsoStack++#728Close the CAN driver when the hardware interface stopsmergedAgIsoStack++#722Document saving a DDOP to a .iop filemergedAgIsoStack++#716Regenerate the ISO 11783-11 DDI database from the 2026050501 exportmergedAgIsoStack++#715Add PGN keyed sniffing callbacks and passive transport protocol reassemblyin reviewAgIsoStack++#709Fix VT working set and application SonarQube warningsmergedAgIsoStack++#699Fix VT server SonarQube issuesmergedAgIsoStack++#694Docs/tutorial fixesmergedAgIsoStack++#692Fix TimeDate SPN 962 day scalingmergedAgIsoStack++#687Fix CANMessage 24-bit big-endian parsingmergedAgIsoStack++#686
AgIsoVirtualTerminalOpen-Agriculture17 PRs · 12 merged · 5 in reviewReport a failed object pool in End of Object Pool responsein reviewAgIsoVirtualTerminal#250Show an alert when the CAN interface fails to start or goes downmergedAgIsoVirtualTerminal#248Fix --vt-number on first launch, tidy include guards and headersmergedAgIsoVirtualTerminal#246Update the README and screenshotsmergedAgIsoVirtualTerminal#245Attach installers to published releasesmergedAgIsoVirtualTerminal#244Bump stack to close the CAN driver on stopmergedAgIsoVirtualTerminal#241Fit clipped soft key designators to the current VT soft key sizein reviewAgIsoVirtualTerminal#206Show alarm masks raised by working sets that are not selectedin reviewAgIsoVirtualTerminal#205Guard against a null component when the active mask object cannot be renderedmergedAgIsoVirtualTerminal#203Fit working set designators to their selector buttonmergedAgIsoVirtualTerminal#202Scale object pools authored for a smaller data maskin reviewAgIsoVirtualTerminal#199Make CAN hardware config dialog modal to fix Z-order issuemergedAgIsoVirtualTerminal#197Fix JUCE deprecation warnings in text drawingmergedAgIsoVirtualTerminal#196Small UI fixesmergedAgIsoVirtualTerminal#192Check GitHub for a newer release on launchmergedAgIsoVirtualTerminal#189Add a diagnostics window for active DTCsin reviewAgIsoVirtualTerminal#187Show CAN adapter connection status next to the menu barmergedAgIsoVirtualTerminal#185
AgIsoDDOPGeneratorOpen-Agriculture28 PRs · 21 merged · 7 in reviewImport taskdata xmlin reviewAgIsoDDOPGenerator#41Update pin to sanitize ISOXMLmergedAgIsoDDOPGenerator#40Add a Type combo to the device element settingsmergedAgIsoDDOPGenerator#39Only offer DPD and DPT objects as device element childrenin reviewAgIsoDDOPGenerator#37Refresh the README for current main and document TC version 3 vs 4mergedAgIsoDDOPGenerator#36Fix the Time Format labels and add a Decimal Symbol list boxmergedAgIsoDDOPGenerator#35Bump AgIsoStack-plus-plus to 1bd6189 for the 2026090801 DDI exportmergedAgIsoDDOPGenerator#34Fix the extended structure label comparison and buffer sizein reviewAgIsoDDOPGenerator#33Save DDOPs as .ddop by default, leaving .iop to VT object poolsmergedAgIsoDDOPGenerator#32Bump version to 1.2.0mergedAgIsoDDOPGenerator#31Bump AgIsoStack++ to 1830a47 for the DDI database and working width fixmergedAgIsoDDOPGenerator#30Add a version 4 example DDOP and round trip it in the testmergedAgIsoDDOPGenerator#29Report every DDOP error and warning on Check for Errorsin reviewAgIsoDDOPGenerator#28Open a DDOP by double-clicking it on Linuxin reviewAgIsoDDOPGenerator#27Fix EXAMPLE.iop so it can be savedmergedAgIsoDDOPGenerator#26Show DDI name in the editormergedAgIsoDDOPGenerator#25Fix window close button not exiting the appmergedAgIsoDDOPGenerator#24Bump version to 1.1.1mergedAgIsoDDOPGenerator#23Attach working binaries to releasesmergedAgIsoDDOPGenerator#22Add a linting workflow, a MacOS build job, and update the CI actions to v7mergedAgIsoDDOPGenerator#21Bump version to 1.1.0mergedAgIsoDDOPGenerator#20Prune every reference to a deleted object, and protect the root device elementin reviewAgIsoDDOPGenerator#18Warn duplicate element numbers on Check for ErrormergedAgIsoDDOPGenerator#17Add a Section Layout viewin reviewAgIsoDDOPGenerator#16Add ISOXML TASKDATA.XML export to the File menumergedAgIsoDDOPGenerator#15Stop Save As from downgrading a v4 pool to v3mergedAgIsoDDOPGenerator#14Fix Save writing to the wrong filemergedAgIsoDDOPGenerator#13Update SDL submodule to 2.32.10 to fix configuring with CMake 4mergedAgIsoDDOPGenerator#11
AOG-TaskControllerAgOpenGPS-Official5 PRs · 5 mergedStop duplicating release notes by generating them in one job onlymergedAOG-TaskController#95Report hardware message send failures + tidy up loggingmergedAOG-TaskController#72Send Implement Hardware messages towards AgOpenGPSmergedAOG-TaskController#71Test iop validation during CI build on AOG-TaskControllermergedAOG-TaskController#69feat: ISOBUS Virtual Terminal UI with persisted, VT-editable settingsmergedAOG-TaskController#66