Version 1.0.3
Overview
Note
You MUST update your copy of CRSF for Arduino to this version as soon as possible.
CRSF for Arduino has been re-licensed to the GNU Affero General Public License v3 and is in effect from v1.0.3 onwards.
The GNU General Public License v3 no longer applies to CRSF for Arduino, and is invalid from v1.0.3 onwards.
This is the first security-focused release of its kind, and any future releases that are security-focused, you SHOULD update to that version as soon as possible.
I know this isn't the release many of you were expecting, but it's one that's sorely needed to be made.
The main highlight here is CRSF for Arduino has been re-licensed to the GNU Affero General Public License v3.
So, you SHOULD take the time to familiarise yourself with that as soon as you can.
There are a couple of minor things here that are also noteworthy, and that's moving from the old Arduino/MBed version of RP2040 support to Earle Philhower's Arduino-Pico package for RP2040 support; and I have fixed a typo in the compatibility table for STM32F405RG targets.
On my side, there's some CI changes, where I have re-factored my old Arduino and PlatformIO CIs into one unified Quality Control CI.
As a part of my Quality Control CI, I am performing static code analysis in (what I call) my "Defect Detector", and I am performing vulnerability scanning with CodeQL.
What's Changed
The elephant in the room
Security
Fixes
- fix(targets): Refine ESP32 compatibility by @ZZ-Cat in #99
- fix(compatibility table): 🚑 Add missing
STM32F405RG
string todeviceNames[]
array by @ZZ-Cat in #107
Re-factors
- refactor(targets): ♻️ Use Arduino-Pico instead of the "official" PlatformIO package for RP2040 by @ZZ-Cat in #112
- refactor(CI): ♻️ Replace existing CIs with one Quality Control CI by @ZZ-Cat in #115
- refactor(quality control): Use an isolated version of
CFA_Config.hpp
for Defect Detector environment. by @ZZ-Cat in #117
Chores
For more information
Full Changelog: v1.0.0...v1.0.3
Semantic Versioning
All releases of CRSF for Arduino follow the Semantic Versioning Guidelines.
This means "Major.Minor.Patch".
Major = New features that are incompatible with previous iterations.
Minor = New features &/or hardware support that retains compatibility with the current Major release.
Patch = Bug fixes.
This Patch Version is the third follow-up release to Version 1.0.x,
and is the first security-focused release of its kind for CRSF for Arduino.
While every effort has gone in to ensure the latest release is bug-free, there are no guarantees with firmware development.
Your feedback is always welcome. If you spot any bugs, don't hesitate to open an issue.
For general comments & questions, please use the discussions section.
New contributors are always welcome. Please read through my Contribution Guidelines before you go Gung Ho with coding.