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.1
and its API add-on1.12.3
- Breaking: Drop support of PHP version
7.1
,7.2
,7.3
and7.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.1
on production environments - Require at least PHP version
7.2
on dev/CI environments - Mark PHP version
7.1
as 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_FOLDER
which will be blacklisted by some methods - Run environment in a Docker container
- Mark PHP version
7.0
as 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 parametertag
anymoreCheckMKStaticTag
: Remove parameterexport
from 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
Expect
to 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_TAG
API::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.archive
CMDBObject::delete()
,CMDBObjects::delete()
: Change to re-newed API methodcmdb.object.delete
CMDBObject::purge()
,CMDBObjects::purge()
: Change to new API methodcmdb.object.purge
CMDBObject::load()
: Include custom categories with user-defined attributesCMDBObject::load()
: Ignore virtual categories which have no dataCMDBCategory::clear()
: Change to new API methodcmdb.object.archive
CMDBCategory::purge()
: Re-name methodpurge()
toquickpurge()
- Add HTTP header
Expect: 100-continue
to 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 overwritelanguage
parameter- Enhance unit tests, mostly for testing fixed bugs in i-doit
1.10.2
and API add-on1.9.1
- HTTP body message from server response will be added to thrown exception if request fails with unknown error
CMDBCategory::batchUpdate
returns 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 parameterscatg
orcats
. Parametercategory
seems 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.php
because 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