Hello PX4 maintainers,
I am working on a flight controller board product and would like to ask about the recommended strategy for upstreaming it and maintaining support across multiple PX4 release lines.
The long-term goal is to have this board accepted into the official PX4 repository. At the same time, from a product perspective, besides a newer stable version such as v1.16, there may also be a need to support older PX4 versions such as v1.14 and v1.15.
After looking more carefully at the repository and documentation, I realized that PX4 has release branches such as release/1.14 in addition to release tags. So the question is not whether older versions exist only as tags, but rather how those older release branches are expected to be used in practice.
What I would like to clarify is:
-
If a new flight controller board is merged into the official PX4 repository, does support for older release branches such as
release/1.14andrelease/1.15still need to be maintained only in the vendor’s own fork? -
In practice, does the PX4 project accept board support PRs targeting older release branches, or are those branches mainly intended for limited fixes and backports rather than adding support for new boards?
-
If a vendor wants their board to run on multiple PX4 versions, what is the recommended workflow?
-
Maintain an internal fork with separate product branches such as
1.14,1.15, and1.16? -
Upstream only the newest supported version?
-
Or submit separate PRs/backports to older official release branches as well?
-
-
For long-term product support, what is the usual boundary between:
-
what should be maintained by the board vendor, and
-
what can reasonably be expected from the official PX4 upstream repository?
-
My current understanding is:
-
Upstreaming a board to PX4 does not automatically mean that older release branches for that board will also be maintained.
-
Even if older
release/X.Ybranches exist, they may in practice be intended mainly for selective fixes/backports rather than for introducing support for a newly added board. -
As a result, multi-version product support may still require the vendor to maintain their own branches and perform their own validation and testing.
I would like to confirm whether this understanding is correct.
I would also appreciate guidance on the preferred direction for the porting work:
-
Is it generally better to start from an older branch such as v1.14 and forward-port to newer versions, or
-
start from v1.16 and backport to v1.14 / v1.15?
Background:
-
This is a flight controller board product intended for general users.
-
The board is planned to eventually be merged into the official PX4 repository.
-
The main concern is how to manage compatibility and maintenance cost across multiple PX4 release branches.
Thank you for your time.