Release Notes for apiman (API Management)

Includes versions: 1.2.0.Final,

Sub-task

  • [ APIMAN-616 ] Prometheus metrics emitter
  • [ APIMAN-848 ] Implement link to start an import of the service as an api

Feature Request

  • [ APIMAN-613 ] Prometheus metrics impl
  • [ APIMAN-631 ] Disable the Metrics tabs if metrics aren't available for some reason
  • [ APIMAN-641 ] Allow users to provide a custom API Key Generator
  • [ APIMAN-698 ] Feature: Endpoint Content-Type
  • [ APIMAN-700 ] Add completion checklist UI to Plan, Service, and App pages
  • [ APIMAN-746 ] Admin UI page for import/export
  • [ APIMAN-752 ] Add copy-to-clipboard feature to How To Invoke modal dialog
  • [ APIMAN-796 ] Allow application to be re-registered
  • [ APIMAN-821 ] Allow custom policy failure formats
  • [ APIMAN-826 ] Add a close/dismiss button to the "Why can't I publish?" popover
  • [ APIMAN-831 ] Support for property placeholders in configuration elements of plans, policies, applications and services
  • [ APIMAN-832 ] Support for property placeholders within the gateway configuration endpoint
  • [ APIMAN-834 ] KC OAuth2 - Map arbitrary fields from token to header(s)
  • [ APIMAN-894 ] Dump config script

Bug

  • [ APIMAN-166 ] Create an async JDBC component and leverage it in BASIC Auth Policy
  • [ APIMAN-167 ] Create an async LDAP component and then leverage it in the BASIC auth policy
  • [ APIMAN-286 ] Remove plugin, then add it back in result in exception
  • [ APIMAN-293 ] Can't iterate easily on plugin policies
  • [ APIMAN-306 ] User is not reminded to save edits before moving between tabs in service, etc. definitions
  • [ APIMAN-340 ] Plugins: log versions of plugin on plugin load
  • [ APIMAN-476 ] CORS request from the UI to /apiman appears broken in WF8
  • [ APIMAN-551 ] (ES) Async Indexing issue: create org
  • [ APIMAN-593 ] When using the docker image and 8443 logjam vulnerability
  • [ APIMAN-607 ] Forward Keycloak Token info broken in Keycloak OAuth Policy plugin
  • [ APIMAN-620 ] switch to postgres report database error
  • [ APIMAN-622 ] Seed Data: missing the transfer quota policy
  • [ APIMAN-625 ] Smoke Test: modify so header is not case sensitive
  • [ APIMAN-626 ] Plugins with empty configuration forms can't be added as policies
  • [ APIMAN-627 ] DDL problems in 1.1.6.Final
  • [ APIMAN-634 ] Sometimes able to skip past auth policy in combination with CORS
  • [ APIMAN-637 ] Headers added by OkHttp library
  • [ APIMAN-643 ] Suppress inbound host header and reassign to endpoint host header
  • [ APIMAN-651 ] Separate out Vert.x 3 common elements
  • [ APIMAN-653 ] Bower unable to resolve swagger-ui dependency
  • [ APIMAN-657 ] Investigate strange getCause behaviour in connector
  • [ APIMAN-659 ] Vert.x 3 GW: Fix JSON format
  • [ APIMAN-668 ] server-all UI missing resources (blank UI)
  • [ APIMAN-675 ] First-time edit of a description with no current value doesn't "take"
  • [ APIMAN-680 ] Quick-fail actions if entity is in the wrong state
  • [ APIMAN-684 ] Displayed system select component whereas everywhere else is used styled dropdown button
  • [ APIMAN-686 ] Quota policy should return 200 if the limit was reached in the process of upload.
  • [ APIMAN-703 ] No Service Found results in a stack trace
  • [ APIMAN-704 ] Invoking a non-public service without api key should produce a user-friendly error
  • [ APIMAN-710 ] Outdated information in documentation about using Infinispan
  • [ APIMAN-711 ] GET metrics without specifying query parameters leads to NullPointerException
  • [ APIMAN-714 ] "Page is dirty" warning sometimes happen when the page isn't dirty
  • [ APIMAN-715 ] Fix Vert.x 3.1 changes
  • [ APIMAN-716 ] Can attempt to create a contract with an unpublished service
  • [ APIMAN-720 ] Remove Bower and set up NPM to handle FE dependencies
  • [ APIMAN-721 ] Legend in metrics chart not showing text
  • [ APIMAN-726 ] Managed Endpoint field should be copy-able
  • [ APIMAN-728 ] Modal Dialogs broken in apiman UI
  • [ APIMAN-729 ] API Security UI settings are all disabled by default
  • [ APIMAN-730 ] Without refresh, uninstalled plugin still shows as installed on 'Available Plugins' page
  • [ APIMAN-733 ] Need a default value for "Failure Response" when creating an ip white/black list policy
  • [ APIMAN-735 ] New member page not working
  • [ APIMAN-736 ] Join date not displaying on user detail page
  • [ APIMAN-739 ] Receive HTTP response code 0 for blacklist policy instead of 403
  • [ APIMAN-741 ] JSONP policy needs to reset or clear the Content-Length header
  • [ APIMAN-742 ] Import fails if an application is registered but has a contract on a retired service
  • [ APIMAN-747 ] Creating a contract with an unpublished service results in Already Exists
  • [ APIMAN-753 ] Copy-to-clipboard button should stay "copied"
  • [ APIMAN-755 ] CachingESRegistry doesn't properly load/cache the application
  • [ APIMAN-762 ] The API Manager micro service doesn't support downloading the JSON/XML api registry
  • [ APIMAN-763 ] Malformed URL proxying in service gateway
  • [ APIMAN-766 ] Export button remains stuck in "exporting..." state
  • [ APIMAN-767 ] New user permissions only loaded on full page refresh
  • [ APIMAN-768 ] Read-only text input fields appear disabled
  • [ APIMAN-769 ] Policy not found: null (after import)
  • [ APIMAN-770 ] Inconsistent L&F of File Upload control (export/import UI)
  • [ APIMAN-771 ] Cannot build from source unless first manually install gulp
  • [ APIMAN-779 ] Allow proxied HTTP connections to have custom timeouts configured
  • [ APIMAN-780 ] JSONP policy throws org.xnio.channels.FixedLengthOverflowException
  • [ APIMAN-786 ] Service Checklist UI: the "go there" icon doesn't work
  • [ APIMAN-797 ] Exception with status 500 on authentication failure when using LDAP
  • [ APIMAN-800 ] Service Impl Tab: error message not cleared when fixed
  • [ APIMAN-803 ] Bootstrap Select Glitchy & Not Displaying Values
  • [ APIMAN-804 ] Edit Role UI Page should have the role name somewhere
  • [ APIMAN-806 ] Mysql and Postgres DDLs no longer work
  • [ APIMAN-812 ] Allow changes to policies on registered applications
  • [ APIMAN-818 ] When upgrading a policy plugin, it does not show-up in the Policy-drop-down of a service
  • [ APIMAN-819 ] Index Already Exists on apiman startup
  • [ APIMAN-823 ] Validate policyDefId != null when adding new policy in the REST layer
  • [ APIMAN-825 ] When canceling a form, the "Unsaved Changes" warning dialog is shown
  • [ APIMAN-827 ] UI flicker when loading a page
  • [ APIMAN-830 ] JPA error when visiting "Manage my services" before creating an Org
  • [ APIMAN-833 ] Not all default values are set when adding Keycloak OAuth policy using the API
  • [ APIMAN-836 ] Blog Post: authentication blog post has a broken link (to keycloak docs)
  • [ APIMAN-849 ] Search for API with dash in the name fails to match
  • [ APIMAN-852 ] ddl-tools module is not deployed to nexus
  • [ APIMAN-854 ] ClientNotFoundException returned in case of non-existing client version
  • [ APIMAN-860 ] UI: Save button dirty state bug on the api-impl page
  • [ APIMAN-861 ] UI: API Definition on the api-def page is broken
  • [ APIMAN-871 ] Permission error: only admin users can view the API Catalog browser UI
  • [ APIMAN-873 ] Extra CSS border between each item in the APIs tab
  • [ APIMAN-875 ] Create Contract page no longer shows a spinner on the Create button when creating
  • [ APIMAN-878 ] LDAP Component not available
  • [ APIMAN-879 ] Editing an existing BASIC auth policy - the Identity Source is not properly selected
  • [ APIMAN-880 ] Enable direct access grants for apiman-gateway-api
  • [ APIMAN-881 ] NPE for exceptional path when invalid config provided

Task

  • [ APIMAN-309 ] Plugin documentation updates
  • [ APIMAN-444 ] Re-implement the Import Service(s) UI
  • [ APIMAN-619 ] Increase memory settings in maven
  • [ APIMAN-638 ] Default Gateway to ES instead of ISPN
  • [ APIMAN-707 ] Remove hawtio dependencies from apiman UI
  • [ APIMAN-712 ] Deploy directly to sonatype instead of nexus
  • [ APIMAN-717 ] Add Jest read/connect timeouts to WarCdiFactory
  • [ APIMAN-748 ] Vertx: Auto-generated code not marked as ignore
  • [ APIMAN-750 ] Completion Checklist: UI mockups
  • [ APIMAN-760 ] Default value of API Type should be REST
  • [ APIMAN-776 ] Create a synchronous impl of the new jdbc component
  • [ APIMAN-777 ] Modify the basic auth policy to use the new jdbc component
  • [ APIMAN-816 ] apiman entity renaming

Enhancement

  • [ APIMAN-283 ] UI to search for and install plugins (global apiman plugin registry)
  • [ APIMAN-372 ] Feature request - Add a mechanism to unload a plugin
  • [ APIMAN-485 ] Greying out disabled fields
  • [ APIMAN-516 ] Add immediate return function to policy chain
  • [ APIMAN-520 ] Blacklist of bad ciphersuites for gateway TLS
  • [ APIMAN-569 ] Mechanism for automatically assigning roles to users to on registration
  • [ APIMAN-621 ] Metrics: add # bytes transferred (both directions) to RequestMetric
  • [ APIMAN-642 ] Log the full back-end URL as part of RequestMetric
  • [ APIMAN-645 ] Add data source resetter functionality to vertx.3 port tests
  • [ APIMAN-677 ] Support service definition URLs
  • [ APIMAN-678 ] Pull in the service definition from the AvailableServiceBean returned by service catalogs
  • [ APIMAN-682 ] Add refresh button to metrics pages
  • [ APIMAN-699 ] Add an index.html at the root of the manager micro-service to explain /apiman vs. /apimanui
  • [ APIMAN-708 ] Add support in the UI for "upgrading" plugins
  • [ APIMAN-723 ] Upgrade the BASIC auth policy to use a JDBC connection optionally
  • [ APIMAN-751 ] Completion Checklist: back-end support
  • [ APIMAN-754 ] Track # of published/registered versions of service/apps
  • [ APIMAN-783 ] Create setting/option to allow service redeploy
  • [ APIMAN-790 ] Better validation of Service Endpoint
  • [ APIMAN-795 ] Use the copy-to-clipboard widget on the consumer-service UI page
  • [ APIMAN-805 ] Make the encrypter pluggable - both for gateway and manager
  • [ APIMAN-810 ] Allow re-registering of *unregistered* apps
  • [ APIMAN-820 ] Update the UI to allow choosing multiple Gateways per service

HTML Source