Skip to content

Releases: ietf-wg-asdf/asdf-nipc

nipc-asdf-07

17 Jun 20:17
Compare
Choose a tag to compare
  • Updated API paths to use RESTful resource naming conventions:
    • /{id}/property/{property}/devices/{id}/properties/{propertyName}
    • /{id}/event/{event}/devices/{id}/events/{eventName}
    • /{id}/action/{action}/devices/{id}/actions/{actionName}
    • /{id}/action/connection/devices/{id}/manage/connection
  • Added group operations as a separate endpoint:
    • POST /groups/{id}/events/{eventName} - Enable event on group
    • DELETE /groups/{id}/events/{instanceId} - Disable event on group
    • GET /groups/{id}/events/{instanceId} - Get group event status
    • GET /groups/{id}/events - Get multiple group events status
  • Migrated from custom error format to RFC 9457 Problem Details:
    • Removed nipcStatus field and numeric error codes
    • Added type field with URI-based error identifiers
    • Added title field for brief error summaries
  • Updated status codes for better HTTP compliance:
    • Actions now return 202 Accepted with Location header for status tracking
    • Property writes return 204 No Content instead of echoing the written data
  • Simplified response formats by removing redundant data:
    • Property read responses no longer include id and property fields
    • Event responses use instance-based tracking with Location headers
    • Removed X-Request-ID headers from examples
  • Events now use instance-based management:
    • Event enable operations return 201 Created with Location header
    • Location header contains unique instance ID for tracking
    • Event disable uses instance ID instead of event name
    • Support for multiple instances of the same event type
  • Actions now follow asynchronous pattern:
    • POST /devices/{id}/actions/{actionName} returns 202 Accepted
    • Location header points to action instance for status checking
    • GET /devices/{id}/actions/{instanceId} checks action status
    • Status responses include completion state (e.g., "IN_PROGRESS", "COMPLETED")
  • SDF model registration response format changed:
    • Now returns array format: [{"sdfName": "..."}] instead of single object
  • Multi-property operations now use array format:
    • Request/response bodies are direct arrays instead of objects with properties field
    • Simplified structure: [{"property": "...", "value": "..."}]
  • Moved embedded protocol mapping APIs to extensions:
    • POST /{id}/action/property/write/extensions/{id}/properties/write
    • POST /{id}/action/property/read/extensions/{id}/properties/read
    • POST /{id}/action/broadcast/extensions/{id}/manage/transmit
  • Fixed API path reference in connection management documentation:
    • /{id}/action/connection/devices/{id}/manage/connection

nipc-asdf-06

15 May 21:16
Compare
Choose a tag to compare

What's Changed

Full Changelog: nipc-asdf-05...nipc-asdf-06

nipc-asdf-05

13 May 18:28
Compare
Choose a tag to compare
  • Added Schema section in the architecture chapter
  • Added customTopic to mqttBroker
  • Default topic format changed with the addition of data-app id (no longer needs to be percent encoded)
  • Extension APIs - Firmware, Bulk and conditional read API to use callback or polling
  • Conditional read - frequency renamed to retryTime
  • Conditional read - return value in case of failure as well
  • Added more errorCodes

nipc-asdf-04

07 Apr 22:01
fb38a4e
Compare
Choose a tag to compare

A short summary of the changes is as follows:

  • All the model and text updates that were discussed at the hackathon and interim meeting
  • Updated architecture section
  • The registration APIs no longer require a device ID to register the model or data-app
  • The value field is made optional in the action API since not all protocols require a value to be sent for an action
  • The failure response and error codes have been redesigned
  • Updated the bulk API extension to align with the new APIs
  • Added a conditional read API extension
  • Updated the CBOR CDDL to allow for a batch of messages to be sent in a single MQTT message
  • Updated the example sections in the draft to go through a couple of API flows
  • Updated the appendix with additional models and an example thermometer SDF model with BLE protocol mapping

nipc-asdf-03

21 Oct 23:23
Compare
Choose a tag to compare
  • API changes to adopt to ASDF principles and nomenclature:
  • Replaced different operations categories with SDF actions
  • Updated pub/sub topic APIs to SDF events
  • Introduced properties instead of attributes
  • Consolidated different types of properties into a single SDF property
  • Removed superfluous API’s due to consolidation of properties
  • Updated the schema with SDF nomenclature
  • Implemented a new OpenAPI model (appendix)
  • Updates to the intro and overview to reflect changes
  • A new architecture section explaining all API architecture elements
  • Main API catetgory: Actions
  • 2nd API category: Registrations – these APIs should only be needed if NIPC is standalone. When integrated in SDF model, registrations are part of the model (NIPC in SDF!)
  • Changed protobuf to CBOR

nipc-asdf-01

20 Aug 19:31
31012c0
Compare
Choose a tag to compare
  1. Fixed the appendix section where the yaml files weren’t embedded in the draft correctly
  2. Fixed the normative reference to draft-ietf-scim-device-model which was pointing to an obsolete draft before

nipc-asdf-00

16 Jul 12:36
b7aef2c
Compare
Choose a tag to compare

nipc-asdf-00 adopted by working group

draft-00

08 Nov 12:05
Compare
Choose a tag to compare

nipc-bbrinckm-draft00