Skip to content

Changelog

All notable changes to this project will be documented in this file.

This file is related to ReportConnectors Python package.

[1.28.0] - 2025-11-21

Added

  • Master of Reference (Mor) API Client
  • Support for custom Transport Adapter that allows control over TLS versions used in the API requests.
  • get_ciam_token helper function in the utils module, to simplify the CIAM token retrieval.

Removed

  • ConditionIndicesAPIClient
  • RawDataCollectorAPIClient

[1.27.4] - 2025-10-16

Changed

  • Improved CIAM config look-up tables, to support URLs with and without trailing slashes.
  • Removed ConditionIndicesModelConnector
  • Deprecated ConditionIndicesAPIClient and RawDataCollectorAPIClient, to be removed in release 1.28

[1.27.3] - 2025-10-01

Added

  • Support for non-standard device types in ALM API Client, when there is only one match in the ALM service.

Fixed

  • Bugfix #490735 - Handling of missing or invalid serial numbers in ALM API Client

[1.27.2] - 2025-09-24

Changed

  • Add support for Python 3.13

[1.27.1] - 2025-09-17

Added

  • Support for the Asset group search in the Powertrain Report API Client

[1.27.0] - 2025-09-16

Added

  • Support for the MV drive serial numbers in ALM API Client
  • Powertrain Analytics API support for new Condition Index Trend types

Changed

  • ALM API Client methods respect device type when searching for maintenance plans and asset core data
  • MCCU API Client integration test disabled, because the MCCU API is not reachable

Removed

  • Support for the Huawei OBS file storage engine

[1.26.9] - 2025-08-14

Added

  • Support for the Powertrain Subscription API Client

[1.26.8] - 2025-07-23

Added

  • Cleaning of HTML escaped strings from the Powertrain APIs responses

Changed

  • ALM API Client. Support asset_id as an input for the get_maintenance_plan method.

[1.26.7] - 2025-05-23

Added

  • Life cycle phase field added to the ALM Base Data model

Changed

  • URLs used for events searching in the Powertrain Report API Client

Fixed

  • integration test cases for the Powertrain Report API Client events searching methods

[1.26.6] - 2025-04-22

Added

  • Support for Python 3.12

Changed

  • Data model changes in the Powertrain API Clients
    • Organization API: id replaced with asset_id.
    • Report API: AssetDetails extended with new optional fields data_connection_status, environment_sensor_serial_number, status_change_data_received_timestamp.
    • Analytics API: support for useAllRetentions parameter in the get_analytic_results method.

[1.26.5] - 2025-04-04

Fixed

  • Fixed jwt.exceptions.ExpiredSignatureError: Signature has expired

[1.26.4] - 2025-03-14

Fixed

  • Fixed the JWT payload data model to allow for audience being a list of strings.

[1.26.3] - 2025-03-11

Changed

  • Updated log levels on the response decoding in the BaseApiClient.

Fixed

  • Fixed sensorId field type to Optional[int] in ReportAPI Asset Details model.

[1.26.2] - 2025-02-28

Fixed

  • Added defaults Report API optional model's fields.

[1.26.1] - 2025-02-28

Fixed

  • Added defaults Report API optional model's fields.

Changed

[1.26.0] - 2025-02-26

Changed

  • All Powertrain APIs were updated to work with api.powertrain.abb.com instead of the Azure-based urls. - BREAKING CHANGE
  • Updated typing of the optional fields. mypy no_implicit_optional set to True.

Fixed

  • Fixed typing in the Powertrain Reports API Client

[1.25.0] - 2025-02-25

Added

  • Powertrain Reports API Client

[1.24.1] - 2025-02-24

Changed

  • SmartSensorAPIClient
    • Remove support for custom auth_token in send_report_confirmation method
  • Powertrain APIs
    • Asset API - Get Assets Details model
    • TypeConfig API - Update endpoint names

Fixed

  • Update request with new auth credentials after the credentials are refreshed

[1.24.0] - 2025-02-18

Added

  • CIAM API Client - BREAKING CHANGE
    • Support for external token refresh function
  • Base API Client
    • Automatic token refresh when the response status code is 401

Changed

  • CIAM API Client
    • JwtPayload model extended, and allow extra fields
  • Powertrain Organization API
    • Updated get_an_organization_by_legacy_asset_identifier method to return optional response.

[1.23.1] - 2025-02-12

Changed

  • Powertrain Asset API
    • Asset Details endpoint
    • Asset Search endpoint
    • Assets Details list endpoints and models

[1.23.0] - 2025-02-12

Added

  • CIAM API Client. It enables the full interaction with CIAM API.
  • Automatic Token refresh for Powertrain API clients, based on the CIAM API Client
  • Full test suite for CIAM related activities
  • Documentation of CIAM API Client
  • Tool for updating the CIAM local data

Changed

  • Dependencies updated
  • Powertrain API clients requires CIAM API URL on initialization
  • Powertrain API clients uses CIAM API Client to deal with authentication
  • ALM API client requires CIAM API URL on initialization
  • Updated test for Powertrain API base activities
  • Analytics API results data model extended with begin data and end date

Fixed

  • Powertrain Organization API enpoint names

[1.22.0] - 2025-01-29

Added

  • Cosmos DB client to access the legacy drive data

Changed

  • Documentation updated and restructured
  • Dropped support for Python 3.8
  • Updated endpoints and models for the Powertrain Analytics API clients
  • Updated models for the Powertrain Asset API clients

[1.21.0] - 2025-01-17

Added

  • Support for full URL in the make_request method of the BaseApiClient

Changed

  • Powertrain FileService API Client
    • New method to download directly from the RawDataFile download URL

[1.20.0] - 2025-01-10

Changed

  • Powertrain Timeseries API Client
    • Endpoint URLs updated to match the latest API version
  • Powertrain Analytics API Client
    • Endpoint URLs updated to match the latest API version

[1.19.0] - 2024-11-27

Added

  • Powertrain Type Config API Client
    • Unit Converter endpoints
    • Bearing Info endpoints

Changed

  • Powertrain integration tests run against the prod environment
    • Pipeline configuration
    • Integration test codebase updates
  • Powertrain Timeseries API Client
    • Datapoints without any value are allowed in the response

Fixed

  • Powertrain Asset API Client
    • Fixed search_for_assets method query

[1.18.0] - 2024-11-14

Added

  • PowertrainFileServiceAPIClient
    • Separate method for downloading the file directly from the FileService API

Fixed

  • PowertrainOrganizationAPIClient
    • Fixed test case for searching the organization by SmartSensor asset id

[1.17.0] - 2024-09-25

Added

  • ALM (Asset Lifecycle Management) API Client
  • Script for downloading the maintenance plans from ALM service
  • Documentation for ALM API Client
  • Script for verifying the access to the Powertrain API services

Changed

  • CIAM API Client extracted from Powertrain API Clients and used in ALM API Client
  • Timeseries API Client updated with new endpoint values

[1.16.2] - 2024-09-11

Changed

  • Powertrain API Clients
    • Analytic API - results fields in the response model made optional
    • Base API - store the ID token in the client, if available

[1.16.1] - 2024-09-04

Changed

  • Powertrain API Clients
    • Asset API - set ConnectionStatus in AssetDetailsResponse to optional

[1.16.0] - 2024-08-19

Added

  • Powertrain API Clients
    • Organizations API

[1.15.0] - 2024-08-06

Added

  • Powertrain Event Service API Client
  • Powertrain Base API unit tests

Changed

  • Powertrain authentication method used custom Oauth2 token data model
  • All uses of datetime.utcnow replaced with datetime.now(timezone.utc)
  • Documentation updated with Powertrain Event Service API Client

[1.14.0] - 2024-07-17

Added

  • Powertrain File Service API Client

Changed

  • Condition Index Trend values updated with KpiMinimum and KpiMaximum

[1.13.0] - 2024-06-10

Added

  • Powertrain API Clients
    • Asset API
    • Analytics API
    • Timeseries API
  • Updated documentation for api clients
  • Common authentication via CIAM
  • Pydantic model based responses
  • Support for api-version header in base api client
  • SonarQube pipeline

Changed

  • BaseApiClient authentication function typing
  • LocalFile system implementation of StorageEngine uses pathlib.Path
  • Integration test pipeline runs tests in paralel
  • Integration test config is based on pydantic-settings
  • BaseApiClient abstract class extended with abstract method is_logged

[1.12.0] - 2024-02-27

Added

  • MCCUAPIClient
    • get_shaft_power_map method

[1.11.1] - 2023-02-16

Fixed

  • Off-by-one error in log message

[1.11.0] - 2023-01-09

Added

  • SmartSensorAPIClient
    • get_bearing_info method

[1.10.0] - 2023-01-04

Changed

  • Default value for check_for_assigned_drives in CmdAPIClient.get_list_of_serial_numbers is set to False

Fixed

  • 330309 Unable to obtain an access token for CMD API

[1.9.2] - 2023-09-21

Fixed

  • instability in test_smartsensor_api_client.py

[1.9.1] - 2023-08-07

Fixed

  • CmdAPIClient
    • Structure of the drive details list response

[1.9.0] - 2023-08-04

Added

  • CmdAPIClient
    • Support for Cloud Interface API, that includes listing drive serial numbers and drive details.
    • Support for multiple sub-APIs under the same base api.

[1.8.1] - 2023-05-31

Added

  • Extra error logs in BaseAPIClient.

[1.8.0] - 2023-05-09

Added

  • RawDataCollector API client

Changed

  • Dependencies reviewed
  • isort applied
  • code check pipeline improved with version check

[1.7.0] - 2023-04-17

Added

  • SmartSensor API client: get_sites() method

[1.6.2] - 2023-03-14

Changed

  • Flake8 replaced with ruff

[1.6.1] - 2023-02-23

Fixed

  • fixed issue where FileStorage .list_files method were throwing error where parent dir did not exist

[1.6.0] - 2023-02-22

Changed

  • prefix input will also work with partial file name (for both azure and file_system storage)

[1.5.0] - 2023-02-14

Added

  • prefix input to storage.list_files operation

[1.4.0] - 2023-01-17

Added

  • MCCU API Client

[1.3.1] - 2022-12-08

Changed

  • Project organization changed
  • Build system is based on pyproject.toml

[1.3.0] - 2022-12-02

Added

  • SmartSensor API Client
    • Send report confirmation method
    • Missing auth data can be read from API when using set_auth_token method with use_api_data flag.
  • Lite Cache
    • max age parameter added to cache

Changed

  • SmartSensor API Client
    • Full auth response is stored
  • Base API Client
    • Responses with status code >= 400 are not cached

Fixed

  • Unit test helpers

[1.2.0] - 2022-10-17

Added

  • SmartSensor API Client
  • Documentation based on MKDocs
  • Docstrings to all API Clients

Changed

  • Base API Client reviewed and refactored

[1.1.0] - 2022-10-05

Added

  • Type validation tests using mypy

Changed

  • CmdAPIClient: start and end date input parameters are expected to be datetime objects

[1.0.1] - 2022-09-28

Added

  • Support for python 3.7, 3.8 and 3.9
  • SonarQube analysis step in test pipeline

[1.0.0] - 2022-09-27

Added

  • CmdAPI Client to connect with CMD API
  • BaseAPIClient class to be used as a starting point for all API Clients. It is based on SmartSensorAPIClient.

Changed

  • Refactor of ConditionIndices API Client using BaseAPIClient
  • Reorganization of test suites
  • Azure Pipelines improved