# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Removed - Removed "repeat" primitive instruction's enum (planning config) ### Added - New message type "autonomy". 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 - 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 ### Fixed - Add `--remove-orphans` to javascript CI test docker compose arguments ## [v0.2.0] - 2024-02-06 ### Added - New alert message definition - Emergency flag in mission plan schemas - Added additional battery and fuel fields to platform status for SPINE project ### Changed - Updated README to run tests against JS dependencies ## [v0.1.0] - 2023-03-24 ### Added JSON schema definitions for the SoAR project - 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 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 [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