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.
- Removing existing GLOBAL quotas in Api Manager(See issue #442)
- Property "queryStringPassThrough" (See issue #517)
- Axway apimcli: Format and version discrepancies - read-only (Swagger 2.0, single-line) vs editable APIs (Swagger 1.1, formatted) (See issue #516)
- Quota replacement for method: * (See issue #514)
- Allow APIM Cli to retire old API when importing apis using zeroDowntimeUpdate (See issue #511)
- NullPointerException: Cannot invoke "com.axway.apim.api.model.APIMethod.getName() (See issue #512)
- Enable caching for API Import action (See issue #500)
-
allow APIM cli to connect to API Manager protected by Cloudflare (See issue #505)
- Added new paramater named customHeaders to handle additonal headers. E.g ./apim.sh api get -n CalculatorService3 -o json -h localhost -u apiadmin -customHeaders abc:xyz
-
Support August 2024 APIM Release (See issue #504)
- Importing SOAP API with different endpoints (for import and for runtime calls) (See issue #501)
- -returnCodeMapping option does not work on apim-cli org import (See issue #496)
- The output of command 'apim api get' is not containing the complete list of client applications (array) of the api (See issue #495)
- Update API with Assigned Quota (See issue #499)
- Force APIM-cli to download the latest Trusted Certificates in a Frontend API (See issue #494)
- Updated libs to fix security vulnerabilities
- com.graphql-java:graphql-java from 21.3 to 21.5
- commons-io:commons-io from 2.11.0 to 2.14.0
- Outside environment variables should not affect tests (See issue #488)
- API deployment does not set new auth basic password (See issue #481)
- Issue on Windows where exporting all Applications (See issue #483)
- Support May 2024 APIM Release (See issue #486)
- Citrus integration framework upgraded to version 4.1.1
- "ERROR: Cannot validate/fulfill configuration file." when importing back downloaded API (See issue #466)
- APIM-cli import conflicts with older retired versions of a feAPI (See issue #469)
- API with star (*) on the name fails to be exported (See issue #467)
- Missing error code when " Backend API Definition is not available for the API " (See issue #465)
- Issues exporting and importing an API (See issue #460)
- Error importing APIs with inbound OAuth (See issue #459)
- Deleting a V-Host is not considered as a modification (See issue #457)
- NullPointerException Error when importing a new API with system quotas (See issue #474)
- Support Feb 2024 APIM Release (See issue #461)
- APIM CLI to check/skip already removed API (See issue #417)
- Error mapping is not applied when importing "app" (See issue #437)
- Handling backend changes and removal of organization from api-config json file in one command #441
- Handling removing of existing quota in API (See issue #438)
- Regression in handling removing existing quota in API Manager (See issue #434)
- Regression in host (See issue #413)
- gson library 2.4 has vulnerability CVE-2022-25647 (See issue #425)
- Support August 2023 release (See issue #426)
- Null pointer when converting OData -> Open API (See issue #399)
- nullpointer exception occuring while try to import an api (See issue #390)
- Backend basepath issue (See issue #412)
- No change is returning RC 0 instead of RC 10 (See issue #401)
- Add revoke API access command from Org/Application (See issue #419)
- Updated libs
- jackson-* from 2.14.2 to 2.15.2
- commons-csv from 1.9.0 to 1.10.0
- org.ehcache from 3.9.9 to 3.10.8
- log4j-slf4j-impl from 2.19.0 to 2.20.0
- org.glassfish.jaxb 2.3.7 to 2.3.8
- org.apache.httpcomponent 4.5.13 4.5.14
- Inbound Security - Query String Pass Through is not included in api get (See issue #392)
- breaking changes with overrideSpecBasePath = true (See issue #397)
- Add an option to output the json config file in console(See issue #322)
- Introduced an environment variable print_console.
- If the value is set to true, the json config file wille printed on console.
- Default value is false
- Introduced an environment variable print_console.
- Support 7.7 May 2023 release (See issue #391)
- If settings are imported from old versions to May 2023 release, set following values to null as os and architecture elements are removed, (Refer RDAPI-29419)
{ "os" : null, "architecture" : null }
- Add output for apim.sh api check-cert (See issue #374)
- A change in application quota is not detected (See issue #382)
- Snakeyaml size limitation (Nullpointer Exception when downloading API Spec via apim CLI) (See issue #384)
- Command Line Option "zeroDowntimeUpdate" is not working (See issue #370)
- Error updating existing app quota that has no pre-existing quota (See issue #371)
- [APIExportApp] ERROR: An error happened during export. Please check the log (See issue #376)
- Support of All / Global quotas for API and application. (See issue #362)
- Host docker cli images on github docker registry (See issue #373
- apim does not import the whole chain in a PEM certificate (See issue #361)
- Field BackendBasePath in api-config.json not used (See issue #354)
- APIM-CLI Fails to export API WSDL Specifications starting with comments (See issue #364)
- APIM-CLI - parsing valid metadata fails for OdataV4 api (See issue #363)
- Introduced new parameter overrideSpecBasePath to fix issue #354
- Introduced new parameter timeout to handle read, connection and socket timout. The default value is 30 seconds.
- Retry-Delay does not appear in help text (See issue #349)
- Dat file is not exported if Export API with an Organization that have a virtual host containing a ":" (See issue #352)
- backendBasepath not working correctly when server url missing in swagger (See issue #348)
- Support yaml configuration for apim cli (Beta)
- Support for APIM February 2023 release #346
- Special characters in Policy name used request, response or routing policy of an API (See issue #336)
- Export of API created manually in API Manager fails with apim-cli (See issue #337)
- Support API Gateway environment variable (${env.backend}) in Backend base path (See issue #332)
- BackendBasepath not handled properly for open api specification (See issue #341)
- APIM Multiple Organization support
- Sonar cloud code coverage - SonarCloud.
- APIM 7.6.2 support
- Parameters ignoreAdminAccount and allowOrgAdminsToPublish in favor of multi organization support
- Parameter replaceHostInSwagger.
- Export apiRoutingKey (See issue #323)
- apim-cli behaviour during restoration of 2 identical apis but exposed on two different virtual host (See issue #331)
- APIM UI FeAPI via UI WSDL import, exported and imported by CLI fails, due to wsdl file reference api-config.json (See issue #328)
- Added an environment variable with value retain.backend.url=true to add URL used to import WSDL to API manger to api-config.json instead of writing WSDL to file system.
- BUILD SUCCESSFUL despite errors during pipeline execution for publish and un-publish operations (See issue #330)
- Upgraded jackson, ascii-table and log4j jars to latest versions
- Support for November 2022 APIM release (7.7-20221130)
- Get API causes an error when related certificates contains slash character '/' in their CN (See issue #315)
- globalrequest and response polices are not handled correctly using apim settings import (See issue #325)
- Add support for OData V4 specifications (See issue #234)
- Security fix - Bump commons-text from 1.9 to 1.10.0
- Security fix Bump jackson-databind from 2.13.3 to 2.13.4.1
- Cleaned up some System.out.println to reduce console output
- command "api check-certs -days 90 -s api-env -o json" command writes json output on console
- Junit fix (See issue #305)
- Attempt to import WSDL API definition produces HTTP error code 400 when creating front end API (See issue #308)
- AXWAY_APIM_CLI_HOME in the environment may break tests (See issue #306)
- Allow override per method for tags (See issue #162)
- apim cli always use first org for api deployment if user is assigned to multiple org (See issue #311)
- Automate APIM CLI config file creation based on openapi specification
- Support for release 7.7-20220830
- oas 3.0 base path handling (See issue #297)
- BackendBasepath problem exporting SOAP API with apim-cli (See issue #299)
- Importing SOAP API with apim-cli adds "+" instead of spaces for the Backend API name (See issue #301)
- Added new parameter disableCompression. The parameter enables logging API Gateway responses for debugging.
- Usage - api get -u apiadmin -p SpaceSalt25 -h 208.67.129.25 -port 8075 -n "PetStore 3.0" -o json -disableCompression
- Enable http client header and payload logging using jvm -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog -Dorg.apache.commons.logging.simplelog.showdatetime=true -Dorg.apache.commons.logging.simplelog.log.org.apache.http=DEBUG
- If backendBasepath is present in api-config.json, Openapi (OAS 3) servers.url will be modified based on the values. E.g
- If open api servers.url is /api/v3 and backendBasepath is https://backend, the openapi server.url will be replaced with https://backend/api/v3
- If open api servers.url is https://petstore.swagger.io/api/v3 and backendBasepath is https://backend, the openapi server.url will be replaced with https://backend/api/v3
- If open api servers.url is https://petstore.swagger.io/api/v3 and backendBasepath is https://backend/api, the openapi server.url will be replaced with https://backend/api/api/v3
- APIManagerAPIAdapter keeps old parameters (See issue #293)
- Proxy Authentication is not working (See issue #295)
- JsonAPIExporter.saveAPILocally logs Exception, but APIExportApp.exportAPI returns 0 (See issue #298)
- Sample Dockerfile for apimcli
- Environmentalize log level in log42.xml with environment variable LOG_LEVEL. Default LOG_LEVEL is info
- Configured API access of an organization not updated (See issue #290)
- New parameter apimanagerUrl added, which can be used instead of host and port.
- Support for release 7.7-20220530
- Support for API-Manager feature flag api.manager.orgadmin.selfservice.enabled (See issue #217)
- APIM-CLI was not able to connect to API-Manager running on GKE using ingress class: gce-internal due to the port 443 part of the host header
- Logging improved for failed REST-API requests
- Changing the application organization was not recognized as a change (See issue #284)
- Dropped support for release 7.7-20200130
- Now using API-Manager REST-API version /api/portal/v1.4
- Updated libs
- jackson-* from 2.13.2 to 2.13.3
- olingo-odata2-api from 2.0.11 to 2.0.12
- log4j-slf4j-impl from 2.17.1 to 2.17.2
- ascii-table from 1.1.0 to 1.2.0
- Changed the way the APIM-CLI install folder is located (See issue #276)
- Now underlying cache is based on API-Manager Hostname and Port (See issue #265)
- Problem on filtering API with policy name (See issue #268)
- Application export always returned error code 0 (See issue #278)
- Password protected WSDL Specifications dont work (See issue #277)
- Now, when using toggle: -useFEAPIDefinition it is no longer using swaggerVersion 2.0 by default, instead it tries to download the spec using version 3.0, 2.0 and 1.1
- Updated jackson-* from 2.13.0 to 2.13.2
- Updated commons-csv from 1.8 to 1.9.0
- Updated swagger-models from 2.1.11 to 2.2.0
- Updated Jackson Databind from version 2.13.0 to 2.13.2.1 to fix CWE-787
- API-Import fails when using Method-Level quotas (See issue #261)
- Export API to JSON fails if V-Host of API contains a port (See issue #262)
- Exported quota methods now contain the method-name (operationId) instead of the internal ID
- try again the REST-API call on the quota endpoint if the response is API found
- this is required for the API-Management release 7.7.0.20220228
- Support to provide a list of local markdown description files that can be combined with the original description
- Now the given parameter -port is trimmed to avoid a number format exception
- Support to filter API-Specifications Models/Schemas
- Include/Exclude filter structure changed from single object to an array of filters
- Support to filter API-Specifications based on the Paths or Tags (See issue #238)
- Support to filter for the creator of an application (See issue #252)
- CSV- and Application-Console export now contains the creator of an application (See issue #252)
- Environment-Variables in API-config file gets not substituted anymore (See issue #257)
- Backend service URL not configured for SOAP-Services (See issue #255)
- Renamed log4j.xml into log4j2.xml
- Customer specific Cache-Configuration now read from conf/cacheConfig.xml
- Updated Apache Log4J from version 2.17.0 to 2.17.1
- App-Export - AppQuota contains API-ID instead of API-Name (See issue #145)
- Outbound-AuthN OAuth-Provider-Profile only translated into FED-Name for _default profile (See issue #246)
- Backslashes in user passwords are ignored (See issue #244)
- Support to use a cache for import actions (See issue #253)
- UpdateOnly toggle (See issue #251)
- Support to delete applications from API-Manager
- Support for API-Method level quotas
- Updated Apache Log4J from version 2.16.0 to 2.17.0
- Logging improved if APIM-CLI is running in batch mode
- Updated Apache Log4J from version 2.15.0 to 2.16.0 (See issue #225)
- Updated commons-cli from 1.4 to 1.5.0
- Updated commons-io from 2.8.0 to 2.11.0
- Updated commons-lang3 from 3.11 to 3.12.0
- Updated commons-text from 1.8 to 1.9
- Updated jackson-* from 2.11.3 to 2.13.0
- Updated ehcache from 3.8.1 to 3.9.7 (requires to add dependency: org.glassfish.jaxb:jaxb-runtime:2.3.5)
- Updated Apache Log4J from version 1.2.17 to 2.15.0
- API-Manager Remote-Hosts export not working - Filtered incorrectly (See issue #225)
- Added support for OData V2 EDMX specifications (See issue #228)
- Add check expired certificates command (See issue #233)
- Control application user permissions (See issue #186)
- Entity import should fail if a required custom property is missing (See issue #229)
- APIM-CLI should check & fail, when RouteType is Policy without providing a RoutingPolicy (See issue #227)
- Improved logging for missing policies. Now the type of the missing policy is logged.
- No change detected when updating the role of a user (See issue #219)
- API-Import with Method-Level Outbound-Profiles failes if no custom Outbound-Authentication is given (See issue #220)
- Outbound SSL-Authentication is not working (See issue #221)
- WADL support (See issue #222)
- Dropped support for API-Manager version 7.6.2
- Error upgrading access to newer API - The entity could not be found. (See issue #218)
- Provide option to configure the Retry-Delay for some of the API-Manager REST-API calls (See issue #213)
- Feature to grant API access for organization during import (See issue #196)
- Feature to manually define the stage configuration file (See issue #195)
- User-Import now supports staging and variables as the other entity types
- Feature to filter APIs with
-createdOn
based on their creation date. (See issue #209) - The API-Creation date is now exported into the CSV- and Console-Format (See issue #208)
- Changed the Log-Threshold to DEBUG for Console-Logger to make debugging working according to the documentation
- Application-JSON-Export - Credentials should not contain ApplicationID (See issue #146)
- Import Application scopes doesn't work (See issue #206)
- No change detected when changing authenticationProfile in outboundProfiles (See issue #184) by @ftriolet
- A WSDL file with a long comment at the beginning is not recognized as a WSDL specification. (See issue #190)
- Added feature to export APIs as DAT-Files (See issue #191)
- Update RemoteHost lost CreatedBy & CreatedOn (See issue #180)
- Manually configured API-Quotas get lost, when API is re-created (See issue #187)
- Cannot delete API with an image, when the image is changed during deletion (See issue #188)
- CLI does not realize changed policy when updating an API (See issue #179)
- API-ManagerApps Adpater now handles 404 if searching for an Application based on the ID that does not exists (See issue #168)
- vhost="" no longer creates a new API each time (See issue #169)
apim api publish
resets API VHost to configured Default virtual host (See issue #170)- Malformed URL for Backend-URL no longer causing the CLI to fail (See issue #175)
- Application import with no changes no longer logs an exception (See issue #176)
- Trailing slash added to given backendBasepath (See issue #178)
- apim.sh fails if CWD has a space (See issue #160)
- Streams not closed bring to a FileSystemException (See issue #161)
- Streams not closed bring to a FileSystemException (See issue #165)
- Command grant access ignores given api path (See issue #164
- Export-Error when using a Custom-Properties-Model for APIs/Apps/Orgs (See issue #163)
- Resolve system environment variables in environment property files (See issue #166)
- Support for API-Management 7.7-2021-March release (See issue #167)
- Avoid NPE if given OAuth-Provider Profile is invalid (See issue #143)
- Actual API-Lookup when using additional criteria V-Host and QueryRoutingVersion (See issue #151)
- Retry request at API access endpoint also for return code 404 (See issue #157)
- If the useFEAPIDefinition flag is set, then the exported API specification is updated with the backend API information (host, basePath, schemes). (See issue #158)
- Exported API-Manager settings now include Null-Values for not set properties (See issue #150)
- Now Login to API-Manager is considered as successul if Status-Code is between 200-299 or 301 (See issue #148)
- New api grant-access command allowing to grant access to multiple APIs & Orgs with one command (See issue #153)
- Support set the API-Manager REST-API basepath (See issue #141)
- java.lang.ClassCastException when trying to change an API (See issue #131)
- apim api publish command outputs misleading error messages (See issue #134)
- Existing App-Credentials should be updated and not always replaced (See issue #138)
- When publish an API using the APIM CLI, events logs generated have null values for client, app & org (See issue #136)
- When publish an API using the APIM CLI, events logs generated have null values for client, app & org (See issue #136)
- API export to csv fails if API-Version is missing (See issue #130)
- Bug on api approve without providing retirement date, working on v 1.3.2 (See issue #132)
- Renamed command "api upgrade" to "api upgrade-access" (See issue #139)
- New API-Manager 7.7-September release settings are ignored during import (See issue #119)
- Policies not shown in console view if API is not using a Routing-Policy (See issue #121)
- Support to upgrade one or multiple APIs (See issue #120)
- Application-Subscription not restored, when API is Republished to be updated and no applications given the API-Config (See issue #117)
- Created BE-API response was parsing the response wrong. This could lead to an issue, if the API contains a createdOn field. (See issue #112)
- Unicode API-Name was not shown correctly in the Backend-API overview (See issue #113)
- Application-Subscription not restored, when API is Republished to be updated (See issue #114)
- Filters not taken into consideration when deleting orgs
- Support to use a proxy for the API-Manager communication (See issue #109)
- Search for APIs based on configured Inbound- and Outbound-Security (See issue #86)
- Added support for API-Manager Config/Alerts/Remote-Hosts (See issue #68)
- APIs now updated without Re-Creating them if possible (See issue #95)
- Support to manage the full Remote-Host introduced with the API-Manager September/2020 release
- Capability to filter APIs based on their organization
- New command to approve one or more APIs that are in pending state (See issue #97)
- Scripts apim.sh and apim.bat now optionally use AXWAY_APIM_CLI_HOME to setup the classpath (See issue #100)
- Staging support for applications, users and organizations
- Support for custom properties for applications, users and organizations (See issue #93)
- Support to read the API-Description from a local markdown file See issue #110)
- Avoid NPE during API-Export if API-Custom-properties are not configured (See issue #90)
- Disabled applications not created as disabled in API-Manager (See issue #89)
- Support for special characters like an accent (See issue #88)
- Organizations now validated based on given stage (See issue #58)
- API-Import is now stopped if host and backendBasepath is missing (See issue #53)
- Command-Line option with or without arguments can now be given interchangeable (See issue #102)
- apim.bat now works with or without JAVA_HOME set (See issue #105)
- APIs no longer Re-Created if not needed (See issue #95)
- CLI Options parser refactored to be more flexible and support future requirements (See PR #103)
- Updated Commons-text from version 1.8 to version 1.9
- Updated Jackson-Databind from version 2.9.10.5 to 2.9.10.6
- Updated commons-lang3 from version 3.10 to 3.11
- Updated commons-io from version 2.7 to 2.8.0
- Updated org.apache.httpcomponents httpclient from version 4.5.12 to 4.5.13
- Updated Jackson from 2.9.10 to 2.11.3
- Search for APIs based on configured tags (See issue #82)
- Error handling improved if custom properties configuration is invalid (Switch or Select without configured options)
- Added support to import application scopes (See PR #77)
- Leverage "com.axway.apimanager.api.model.disable.confidential.fields" option (See PR #71)
- Support for Stage-Config & Variable substitution for Orgs, Client-Apps and Users
- Support to export & import API-Manager configuration
- Changing an APIs fails due to a ClassCastException (See issue #85)
- NullPointerException when retrieving APIs on console with mode ultra (See issue #80)
- Quota- and Tag-Information always shown as false in console view, even if configured for an API (See issue #81)
- Handling of ExtClient configuration fixed when importing applications (See PR #78)
- Error when updating an organization (See issue #73)
- NPE when updating backendBasepath in a Swagger not having a host configured (See issue #72)
- Internal parameter handling refactore to make it easier to integrate the CLI into other Java-Programs (See PR #83)
- Added new CSV-Export for applications (See issue #70)
- Toggle ignoreCache added to the usage (See issue #52)
- Added new forceUpdate flag to force re-creation (See issue #56)
- apim.sh now starts the CLI in the current directory (See issue #60)
- ErrorHandling improved when API-Config file can't be found
- HTTP-Basic Outbound handling fixed, if no password is given
- CSRF-Token handling improved (See issue #67)
- Error when updating organization (See issue #69)
- Added 7.7-July and 7.6.2-SP5 releases to the list of tested releases
- apim.sh & apim.bat script now support path with blanks. Thanks to @cbrowet-axway
- Handling NPE for Application credential search (See issue #57)
- If FE-Security is a Custom-Policy, the name of the Custom-Policy is now exported (See issue #61)
- Outbound Method-Configuration not working (See issue #50)
- Support to import and export organizations
- Support to import and export users
- Support to publish APIs
- Support to change the backend URL of an API (See issue #43)
- Support to search applications based on their credentials (API-Key & Client-ID) (See issue #44)
- Support to search applications based on their OAuth Redirect-URL
- Stabilized API-Access handling (See issue #35)
- Unkown API-Specifications are now handled gracefully and exported as text files
- Library Apache httpclient Version: 4.5.6 to 4.5.12
- Library Apache commons-io Version: 2.6 to 2.7
- Library Apache commons-text Version: 1.7 to 1.8
- Library Apache commons-lang 2.6 to commons-lang3 3.10
- Library Apache httpmime Version: 4.5.6 to 4.5.12
- Library slf4j-log4j12 Version: 1.7.25 to 1.7.30
- Test library testng Version: 6.9.10 to 6.9.13.6
- Fixed NPE when API has no security configured (See issue #46)
- apim.sh changed to improve support on Mac/Linux systems. Identified by @cbrowet-axway (See issue #42)
- Improving support for OpenAPI 3.x spec having no servers declared (See issue #40)
- API export with methods doesn't contain anymore the internal method-id (See issue #39)
- CLI tool is now taking over RC given by each module (See issue #33)
- Policies are now exported with their name instead of the internal ID
- Feature to use a YAML based API-Definition for Swagger & OpenAPI (API-Manager 7.7 only)
- API Backend-Server information in wide and ultra view console get view
- Option to filter API having a specified backendBasepath
- Show detailed API information if only 1 API is returned (See issue #11)
- Feature to load the API-Definition from the FE-API (See issue #4)
- Feature to export APIs as a CSV-File incl. used polices and subscribed applications
- CLI usage information for all operations improved
- CLI now properly logs out from API-Manager after the execution
- API Custom-Properties are exported into CSV and Console view
- API Console ultra view not longer renders API-Tags in detail. Only indicated with True & False
- renamed parameter
-l / --localFolder
TO-t / --target
- renamed parameter
-df / --deleteFolder
TO-deleteTarget
- renamed parameter
-f / --format
TO-o --output
- Wrong info text during deletion of an unpublished API proxy (See issue #25)
- Bump jackson-databind from 2.9.10.4 to 2.9.10.5
- Custom-Properties missing in API-Export (See issue #13)
- NullPointerException during App export when using OrgAdmin (See issue #16)
- NullPointerException with option -ultra when using OrgAdmin (See issue #12)
- Wrong info text during update of an unpublished API proxy (See issue #15)
- Initial version of the APIM-CLI
- Swagger-Promote completely refactored
- Migrated API-Import & Export to dedicated modules
- New modules to manage applications (Import and Export)
- Get APIs and Applications (Filtered, different formats)
- Delete APIs (Front and Backend)
- Publish APIs
- Introduced API-Management programming interface
- Cannot set Oauth authentication Profile using its name (See issue #2)