Sync with API V2 branch
Description
This PR merges the V2 API changes that have been done on a separate branch.
Type of change
-
Bug fix (non-breaking change which fixes an issue) -
New feature (non-breaking change which adds functionality) -
Breaking change (fix or feature that would cause existing functionality to not work as expected) -
This change requires a documentation update -
This change is a documentation update
Checklist:
-
My code follows the style guidelines of this project -
I have performed a self-review of my own code -
I have commented my code, particularly in hard-to-understand areas -
I have made corresponding changes to the documentation -
My changes generate no new warnings -
I have added tests that prove my fix is effective or that my feature works -
New and existing unit tests pass locally with my changes