Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove legacy C API [AP-1684] #1404

Merged
merged 6 commits into from
Apr 29, 2024
Merged

Remove legacy C API [AP-1684] #1404

merged 6 commits into from
Apr 29, 2024

Conversation

woodfell
Copy link
Contributor

@woodfell woodfell commented Feb 15, 2024

Removal Warning

This PR will be merged on 8/4/2024. On this date the legacy C API will become unavailable, it will not be reintroduced. On or shortly after this date libsbp version v6.0.0 will be tagged and released

Description

@swift-nav/devinfra

Remove legacy C API including all generated code, examples, templates, and sbpg module.

Remove all references to "v4" API which were lying around in a handful of places. There is no such thing as the V4 API any more, there is just the libsbp API

API compatibility

Yes

Legacy C API completely removed including:

  • Any message types in the form struct msg_xxx_t
  • Functions relating to sending or processing encoded payloads or frames
  • payload and frame callback types
  • #defines message types - in the form SBP_MSG_XXX
  • C++ LegacyState wrapper
  • All files under the libsbp/legacy directory
  • V4 compatibility headers for modern API in libsbp/v4/<package.h>

API compatibility plan

The modern API was introduce to this repository in Sep 2021. The legacy API was retained but all symbols were marked as deprecated and compile time messages were output by GCC and Clang whenever a legacy header was used

In Dec 2023 the legacy was moved to a more difficult to access place. It was no longer accessible simply by include libsbp/sbp.h All headers were retained but even more compile time messages were added indicating that these files would be deleted in the next major version

This PR is the final stage of the deprecation plan. Any users of this repository should have already converted their code to use the moden API.

JIRA Reference

https://swift-nav.atlassian.net/browse/AP-1684

@woodfell woodfell changed the title First stab at removing legacy API Remove legacy C API [AP-1684] Apr 2, 2024
@woodfell woodfell marked this pull request as ready for review April 3, 2024 11:34
@woodfell woodfell requested review from jungleraptor and a team as code owners April 3, 2024 11:34
@sokhealy
Copy link
Contributor

sokhealy commented Apr 16, 2024

@sokhealy
Copy link
Contributor

Do we have to change any of the header guards?
LIBSBP_V4_

Copy link
Contributor

@sokhealy sokhealy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Besides the above comments I don't see any issue with the changes here.

Copy link

sonarcloud bot commented Apr 21, 2024

Quality Gate Failed Quality Gate failed for 'libsbp-c'

Failed conditions
87.2% Coverage on New Code (required ≥ 90%)

See analysis details on SonarCloud

@woodfell woodfell merged commit 42b1e19 into master Apr 29, 2024
21 of 22 checks passed
@woodfell woodfell deleted the woodfell/remove_legacy_api branch April 29, 2024 00:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants