Commit e9a53f0c authored by Trishna Saeharaseelan's avatar Trishna Saeharaseelan
Browse files

Merge branch 'release-v2.0.0' into 'master'

Release v2.0.0

See merge request !59
1 merge request!59Release v2.0.0
Pipeline #267182 passed with stages
in 1 minute and 35 seconds
[flake8]
# Black formats code with max line length of 88
# Bugbears B950 warning allows lines to be 10% longer than flake8's max
max-line-length = 80
# Errors and warnings to report
select =
C,
E,
F,
W,
B,
# Allow max line length to be exceeded by 10% before warning.
B950
# Errors and warnings to ignore
ignore =
# Black puts space around slice operator which flake8 errors on.
E203,
# No error on max line length exceeded as B950 is doing this for us.
E501,
# Black puts line breaks before binary operators so don't warn this.
W503
B036
E999
# Folders to ignore
exclude =
.git,
*.pyc,
__pycache__,
./docker,
./docs,
./kustomize
./requirements.txt
./requirements-dev.txt
./CHANGELOG.md
./CONTRIBUTING.md
......@@ -7,24 +7,68 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
## [Unreleased]
## [v1.0.0] - 2024-08-28
## [v2.0.0] - 2025-03-11
### Removed
- Removed "repeat" primitive instruction's enum (planning config)
### Added
- Route to header schema which shows the list of client_IDs relaying the message from the true source of message to final destination of it.
- New message type "autonomy_engine_control". Long term plan is to integrate this as an object into the planning configuration schema, where if an operation has autonomy, the metadata, configurations, any instructions / default settings shall be within this message structure section.
- Additional_data field to platform_status to input any other data from a platform to be published
- Goal object in mission_plan message that consists of a GeoJSON feature (representing the part of primitive that is currently the goal of the given mission plan).
- A `partial` flag that indicates if a mission plan is a partial plan or the entire mission plan
- Added "informational" to enum for primitive's instruction enum (planning configuration)
- Options to primitives (under planning_configuration message) which is only a property when a primitive has an instruction of "follow" or "navigate_to"
- Validate message_ID matches uuid format
- Add definition of instruction_set message
- Added optional primitives to squad schema
### Changed
- Use discover to find all unit tests
- Run tests against current format definitions
- Test that formats match saved schema
- Added "instruction" as required under the primitive schema (planning configuration)
- Refactor instructeion_set into platform_instruction_set
- Refactor mission_plan schema autonomy_engine_plan_ID oneOf
- Update all example messages with valid UUIDs
- Refactor action schema to accept geojson.Points
- Use geojson Point for platform_status
- Add waypoint to platform_status
- Updated header version to accept semver, branch or commit
- Store remote schemas as committed local files
This prevents the live runtime loading untested changes
- Refactored planning_configuration message definition
- Remove region_of_interest and exclusion_zones
- Add primitives array of classified geojson Features
- Inject remote geojson schema definitions
- Use geojson Polygon instead of region_schema
- Upgraded openapi-spec-validator to latest release (0.7.1)
- Upgraded openapi-schema-validator to latest release (0.6.2)
## [v1.0.0] - 2024-08-28
### Changed
- Use discover to find all unit tests
- Run tests against current format definitions
- Test that formats match saved schema
- Run python and javascript tests in CI
- Refactor schema script to remove invalid definitions object automatically
- Refactor generate_schema_config script to output file on -f flag
- Refactor generate_schema_config script to output file on -f flag
## [v0.2.0] - 2024-02-06
### Fixed
### Added
- Add `--remove-orphans` to javascript CI test docker compose arguments
## [v0.2.0] - 2024-02-06
### Added
- New alert message definition
- New alert message definition
- Emergency flag in mission plan schemas
- Added additional battery and fuel fields to platform status for SPINE project
- Added additional battery and fuel fields to platform status for SPINE project
### Changed
......@@ -35,18 +79,19 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
### Added
JSON schema definitions for the SoAR project
- outer wrapper MESSAGE definition
- header object
- outer wrapper MESSAGE definition
- header object
- payload object
- acknowledgement
- mission_plan (raw and encoded)
- observation (raw and encoded)
- platform_status (raw and encoded)
- planning_configuration
- platform_status (raw and encoded)
- planning_configuration
Example messages matching the schema for each partner
[unreleased]: https://git.noc.ac.uk/communications-backbone-system/backbone-message-format/compare/v1.0.0...dev
[unreleased]: https://git.noc.ac.uk/communications-backbone-system/backbone-message-format/compare/v2.0.0...dev
[v2.0.0]: https://git.noc.ac.uk/communications-backbone-system/backbone-message-format/compare/v1.0.0...v2.0.0
[v1.0.0]: https://git.noc.ac.uk/communications-backbone-system/backbone-message-format/compare/v0.2.0...v1.0.0
[v0.2.0]: https://git.noc.ac.uk/communications-backbone-system/backbone-message-format/compare/v0.1.0...v0.2.0
[v0.1.0]: https://git.noc.ac.uk/communications-backbone-system/backbone-message-format/compare/9e6ce245...v0.1.0
......@@ -93,7 +93,7 @@ python3 -m unittest discover
2. Test 2 - Use javascript validators
```
# Compile schema and run javascript validation tests in docker
python3 test-js.py
bash test-js.sh
```
## Quick Links
......
{
"header":{
"message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "b427003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2022-11-16T00:00:00Z",
"version": 1,
"source": "hydrosurv_adapter",
......
{
"header": {
"message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "b427003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2022-11-16T00:00:00Z",
"version": 2,
"source": "gui",
......
{
"header": {
"message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "b427003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2022-11-16T00:00:00Z",
"version": 2,
"source": "gui",
......
{
"header": {
"message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "b427003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2022-11-16T00:00:00Z",
"version": 2,
"source": "autonomy_engine",
......
{
"header": {
"message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "b427003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2022-11-16T00:00:00Z",
"version": 2,
"source": "autonomy_engine",
......
{
"header":{
"message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "b427003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2022-11-16T00:00:00Z",
"version": 2,
"source": "autonomy_engine",
......
{
"header": {
"message_ID": "t1237003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "t1237003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2023-03-16T00:00:00Z",
"version": 2,
"source": "autonomy_engine",
......
{
"header": {
"message_ID": "e1237003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "e1237003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2023-03-16T00:00:00Z",
"version": 2,
"source": "hermes.ecosub2",
......
{
"header":{
"message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "b427003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2022-11-16T00:00:00Z",
"version": 2,
"source": "gui",
"destination": "soar.all.all.all.from_platform.planning_configuration",
"destination": "",
"delivery_type": "broadcast",
"encoded": false
},
"payload":{
"message_type": "planning_configuration",
"planning_config_ID": 1,
"exclusion_zones": [
"primitives": [
{
"geometry_coordinates": [
[
[
-4.1777839187560915,
50.34173405662855
],
[
-4.1777839187560915,
50.33820949229701
],
[
-4.143667777943875,
50.33820949229701
],
[
-4.143667777943875,
50.34173405662855
],
[
-4.1777839187560915,
50.34173405662855
"instruction": "stay_outside",
"feature": {
"type": "Feature",
"properties": {
"name": "The Rock",
"type": "exclusion_zone"
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-4.1777839187560915,
50.34173405662855
],
[
-4.1777839187560915,
50.33820949229701
],
[
-4.143667777943875,
50.33820949229701
],
[
-4.143667777943875,
50.34173405662855
],
[
-4.1777839187560915,
50.34173405662855
]
]
]
]
]
}
],
"region_of_interest": [
}
}
},
{
"geometry_coordinates": [
[
[
-4.1777839187560915,
50.34173405662855
],
[
-4.1777839187560915,
50.33820949229701
],
[
-4.143667777943875,
50.33820949229701
],
[
-4.143667777943875,
50.34173405662855
],
[
-4.1777839187560915,
50.34173405662855
"instruction": "stay_inside",
"feature": {
"type": "Feature",
"properties": {
"name": "Survey Zone Charlie",
"type": "operating area"
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-4.1777839187560915,
50.34173405662855
],
[
-4.1777839187560915,
50.33820949229701
],
[
-4.143667777943875,
50.33820949229701
],
[
-4.143667777943875,
50.34173405662855
],
[
-4.1777839187560915,
50.34173405662855
]
]
]
]
]
}
}
}
],
"squads": [
......
{
"header":{
"message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "b427003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2022-11-16T00:00:00Z",
"version": 2,
"source": "hermes",
......
{
"header":{
"message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "b427003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2022-11-16T00:00:00Z",
"version": 2,
"source": "ecosub_c2",
......
{
"header": {
"message_ID": "t1237003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "t1237003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2023-03-16T00:00:00Z",
"version": 2,
"source": "hermes.ah1",
......
{
"header": {
"message_ID": "e1237003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "e1237003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2023-03-16T00:00:00Z",
"version": 2,
"source": "ecosub.ecosub-c2",
......
{
"header": {
"message_ID": "t1237003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "t1237003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2023-03-16T00:00:00Z",
"version": 2,
"source": "hermes.ecosub-2",
......
{
"header": {
"message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "b427003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2022-11-16T00:00:00Z",
"version": 2,
"source": "autonomy_engine",
......
{
"header":{
"message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "b427003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2022-11-16T00:00:00Z",
"version": 2,
"source": "ecosub_c2",
......
{
"header": {
"message_ID": "e1237003c-0000-11aa-a1eb-bvcdfghjgfdd",
"message_ID": "e1237003c-0000-11aa-a1eb-b1cdf2342fdd",
"timestamp": "2023-03-16T00:00:00Z",
"version": 2,
"source": "hermes.ecosub2",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment