All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
1.0.1 – 2024-12-17
Note: For the next minor version (1.1.0) we plan to drop support for PHP 8.0.
Request::requireSuccessFor(): Fix misleading error response for (successfully) saving category data when usingCMDBCategory
- Slightly updating the README to represent the current state of the client (PHP and i-doit compatibility)
1.0.0 – 2024-12-16
Note: Support for all PHP 7 versions has been dropped. PHP 8+ only, from now on :)
Idoit::search(),Idoit::batchSearch: Add search modes "normal" (default), "deep" and "auto-deep"- Support for PHP
8.3
- Breaking: Change Composer package to
idoit/apiclient - Breaking: Change PHP namespace to
Idoit\APIClient - Breaking: Move repository to
github.com/i-doit/api-client-php - Breaking: Require at least PHP version
8.0 - Recommend PHP version
8.2 - Breaking: Require at least i-doit
1.18.1and its API add-on1.12.3
- Breaking: Drop support of PHP version
7.1,7.2,7.3and7.4
0.10 – 2020-04-07
Note: Support for PHP 7.0 is finally dropped. Version 7.1 is deprecated. Support will be dropped in a further release. Please upgrade to at least version 7.2. Version 7.4 is recommended.
- Require at least PHP version
7.1on production environments - Require at least PHP version
7.2on dev/CI environments - Mark PHP version
7.1as deprecated - Recommend PHP version
7.4
- Drop support of PHP version
7.0
0.9 – 2019-10-11
Note: Support of PHP 5.6 is finally dropped. Version 7.0 is deprecated. Support will be dropped in a further release. Please upgrade to at least version 7.1. Version 7.3 is recommended.
CMDBStatus: Provide API calls for namespacecmdb.status- Provide cURL error code in case of connection problems
- Check for errors when initiating cURL
- Add virtual category constant
C__CATG__DATABASE_FOLDERwhich will be blacklisted by some methods - Run environment in a Docker container
- Mark PHP version
7.0as deprecated - Recommend PHP
7.3 - Declare strict types
CMDBLocationTree::readRecursively(): Make method really recursively (contribution by @Pta42)
- Drop support of PHP version
5.6
0.8 – 2019-04-16
It's spring time! 🌱
To get the full experience, please update your i-doit to version >= 1.12.2 and API add-on to version >= 1.10.2.
Idoit::getLicense(): Read license information- Configuration option
API::BYPASS_SECURE_CONNECTION: Disable security-related cURL options (boolean) CMDBObject::readAll(): Read all information about object including category entriesCMDBCategory::batchRead(): Add new optional parameter "status"
CheckMKStaticTag::create(),CheckMKStaticTag::batchCreate(): Do not require parametertaganymoreCheckMKStaticTag: Remove parameterexportfrom static tags (not available any more in add-on "Check_MK 2")CMDBObject::load()is deprecated, because it is pretty slow. UseCMDBObject::readAll()instead!- Suppress HTTP header
Expectto prevent broken responses
API::disconnect(): Letcurl_close()delete resource is enough
0.7 – 2018-12-17
This release comes with new features and tons of unit tests. To get the full experience, please update your i-doit to version >= 1.11.2 and API add-on to version >= 1.10.
CMDBObject::createWithCategories(): Create new object with category entriesCMDBObject::recycle(): Restore object to "normal" statusCMDBObject::markAsTemplate(): Convert object to templateCMDBObject::markAsMassChangeTemplate(): Convert object to mass change templateCMDBObjects::read()& Co.: Optionally, fetch category entries for each objectCMDBObjects::recycle(): Restore objects to "normal" statusCMDBCategory::save(): Create new or update existing category entry for a specific objectCMDBCategory::read(),CMDBCategory::readOneByID(): Filter entry/entries by statusCMDBCategory::archive(): Archive entry in a multi-value category for a specific objectCMDBCategory::delete(): Mark entry in a multi-value category for a specific object as deletedCMDBCategory::purge(): Purge entry in a single- or multi-value category for a specific objectCMDBCategory::recycle(): Restore entry in a multi-value category for a specific object to "normal" stateCMDBDialog::create(): Reference parent entry by its title (string) or by its identifier (integer)CMDBDialog::delete(): Purge value from drop-down menuIdoit::getAddOns(): Read information about installed add-onsCMDBImpact: Filter relations by statusCMDBObjectsByRelation: Filter relations by statusCMDBLocationTree: Filter relations by statusCMDBLogbook: Set optional limit when reading entries- Execute CLI commands over API (method namespace
console) CheckMKTags: Read host tags by one or more objects from categoryC__CATG__CMK_TAGAPI::rawRequest(): Perform a low level API requestCMDBCategoryInfo::testGetVirtualCategoryConstants(): Get list of constants for virtual categoriesCMDBImpact::readByTypes(): Perform an impact analysis for a specific object by one ore more relation type constant or identifiers
CMDBObject::archive(),CMDBObjects::archive(): Change to new API methodcmdb.object.archiveCMDBObject::delete(),CMDBObjects::delete(): Change to re-newed API methodcmdb.object.deleteCMDBObject::purge(),CMDBObjects::purge(): Change to new API methodcmdb.object.purgeCMDBObject::load(): Include custom categories with user-defined attributesCMDBObject::load(): Ignore virtual categories which have no dataCMDBCategory::clear(): Change to new API methodcmdb.object.archiveCMDBCategory::purge(): Re-name methodpurge()toquickpurge()- Add HTTP header
Expect: 100-continueto each API call, useful for huge calls/slow hosts - Validate error object in response and throw all details about it
File::add(),File::batchAdd(): Use renamed constant for category "file versions"- Avoid "PHP Notice" when there is a detailed error description available
0.6 – 2018-06-21
Happy summer time ⛱️
- Throw SPL exceptions to provide you more semantics on errors
CMDBWorkstationComponents: Re-named methodsreadByEmail()andreadByEmails()- Require PHP >= 7.1 on dev/ci environments (only relevant if you want to contribute)
CMDBCategory::clear(): Archiving zero category entries results in a broken API request
0.5 – 2018-04-25
CMDBCategoryInfo::readAll(): Try to fetch information about all available categoriesAPI::request(): Allow to overwritelanguageparameter- Enhance unit tests, mostly for testing fixed bugs in i-doit
1.10.2and API add-on1.9.1
- HTTP body message from server response will be added to thrown exception if request fails with unknown error
CMDBCategory::batchUpdatereturns itself (neither the result nor the entry identifiers)
CMDBCategory::readFirst()now returns an empty array[]instead offalse(boolean)- Validation error for missing proxy settings while proxy is disabled by
proxy.active=false
0.4 – 2018-02-21
- Archive category entries for a specific object with
CMDBCategory::clear() - Create, read, update and delete monitoring instances (monitoring add-on)
- Create, read, update and delete static host tags (Check_MK add-on)
- Update several category entries with
CMDBCategory::batchUpdate() - List requirements in documentation
- More assertions in unit tests
- Bump required versions of i-doit (
>= 1.10) and its API add-on (>= 1.9) - Require entry identifier in methods
CMDBCategory::archive(),delete()andpurge() - Methods
cmdb.category.create,cmdb.category_info.read(and others, too) do not need parameterscatgorcats. Parametercategoryseems to be sufficient. - Make
CMDBCategory::purge()a lot faster due to methodcmdb.category.quickpurge - Return empty array for reports with no results (class
CMDBReports)
- Use correct setting for proxy type and check if username is set
- Remove
idoitapi.phpbecause Composer is the prefered way to use - Remove many dependencies from unit tests
0.3 – 2017-07-25
- Check whether connection timed out or i-doit host sends HTTP status code that indicates something went wrong
- Throw more useful exceptions when connection to Web server failed
- Throw exception in method
CMDBObject::load()when object not found - Limit batch requests in
Select::find()
0.2 – 2017-04-05
- Upload image files with class Image
- Get last server response with method
API::getLastResponse() - Find more objects by their attributes with method
Select::find() - Script for debugging purposes in
README.md - Add many more unit tests
- Fix broken batch request in method
Image::batchAdd() - Fix broken error message in method
CMDBCategory::batchCreate() - Fix in a batch request that sub results have no key id in method
CMDBCategory::batchCreate() - Fix broken Exception message in
CMDBObject::upsert() - Fix typos in
README.md
Initial release