Release Notes

The changes reported in the release notes are cumulative. We include all customer-visible functionality updates as well as any known issues and suggested workarounds.

Release 1.24.0 (21 July 2022)

New Features & Enhancements

  • Shipments destined for the US or Canada have been standardized to use the USPS codes for state or province. Every shipment request method now uses this input: individual shipment requests made via the Console or the API and bulk requests using the CSV file all require the USPS codes. The mappings between full names and codes are given in USPS Codes for US and Canada. As of the current release, use of these USPS codes is mandatory. Shipment requests that do not adhere to this standard will generate an error message, and no shipment will be created.

Resolved Issues

  • Console: In the table on the Shipments tab, shipments were not sorting correctly on the ship_date or the delivery_date columns. Shipment requests should have been sorted into chronological order based on the selected column. Now the sequencing of requests in these columns is displayed correctly in chronological order when the sort icon for either of these columns is clicked.
  • Some shipments sent through India Post and delivered by the Transnet carrier made no progress through the expected statuses; they remained in the Shipped:In Transit state even after the shipment was delivered. This issue has now been fixed; all India Post shipments sent via Transnet are now tracked and therefore make the expected progress through the statuses.
  • CSV: If the country code column in the CSV upload file had a space inserted in the country code, for example, a trailing space after “US” so that the system read it as “US “, upload of the CSV file would fail without an error. This issue has now been fixed.

Known Issues

  • Some shipments sent to India have a status of “Delivered,” even though the carrier and tracking number are still showing as “coming soon.”

Known Limitations

  • API: When getting a purchase order by its ID, extra, undocumented fields are returned. When a request for GET /v1/purchaseorders/{purchaseorderId} is sent, the response includes (is_vat_valid, is_tax_exempt, is_post_pay).
  • Channel Partners: To order keys via API from inventory purchased through channel partners, the new /shipments_exact APIs must be used. The older, deprecated /shipments API only supports ordering keys from inventory purchased directly from Yubico. For more information, see Inventory: Channel Partners.
  • India shipments: Some of our shipments to India use India Post for the last mile. India Post does not support our automated shipment tracking service, and therefore the tracking ID that YubiEnterprise Delivery displays is not actually a link. Workaround: Copy the India Post tracking number (typically 13 digits starting with E, R, or C) and paste it into either the India Post website - https://www.indiapost.gov.in/_layouts/15/dop.portal.tracking/trackconsignment.aspx (“Evaluate the expression” means do the arithmetic displayed in the box to prove that you are not a bot) or any of the other tracking service sites that support India Post, such as Ship24.com - (https://www.ship24.com/couriers/india-post-tracking).

Release 1.23.0 (23 June 2022)

New Features & Enhancements

  • Shipments destined for the US or Canada can use the USPS codes for state or province. Every shipment request method has been standardized for this input: individual shipment requests made via the Console or the API and bulk requests using the CSV file all take the USPS codes. The mappings between full names and codes are given in USPS Codes for US and Canada. As of YubiEnterprise Delivery release 1.24.0 scheduled for 21 July 2022, use of these USPS codes will be mandatory. After this date, shipment requests that do not adhere to this standard will generate an error message, and no shipment will be created.
  • Console Each Purchase Order now has its own detail page, showing PO number, whether direct or channel sale, and if the latter, the seller’s name, the expiring date for initial or perpetual stock, address and contact information. The available inventory is shown as before.

Known Limitations

  • API: When getting a purchase order by its ID, extra, undocumented fields are returned. When a request for GET /v1/purchaseorders/{purchaseorderId} is sent, the response includes (is_vat_valid, is_tax_exempt, is_post_pay).
  • Channel Partners: To order keys via API from inventory purchased through channel partners, the new /shipments_exact APIs must be used. The older, deprecated /shipments API only supports ordering keys from inventory purchased directly from Yubico. For more information, see Inventory: Channel Partners.
  • India shipments: Some of our shipments to India use India Post for the last mile. India Post does not support our automated shipment tracking service, and therefore the tracking ID that YubiEnterprise Delivery displays is not actually a link. Workaround: Copy the India Post tracking number (typically 13 digits starting with E, R, or C) and paste it into either the India Post website - https://www.indiapost.gov.in/_layouts/15/dop.portal.tracking/trackconsignment.aspx (“Evaluate the expression” means do the arithmetic displayed in the box to prove that you are not a bot) or any of the other tracking service sites that support India Post, such as Ship24.com - (https://www.ship24.com/couriers/india-post-tracking).

Release 1.22.1 (25 May 2022)

Resolved Issues

  • For shipments sent to India, status emails declaring that the shipment had been sent were being generated every hour. This issue has now been fixed.

Known Limitations

  • API: When getting a purchase order by its ID, extra, undocumented fields are returned. When a request for GET /v1/purchaseorders/{purchaseorderId} is sent, the response includes (is_vat_valid, is_tax_exempt, is_post_pay).
  • Channel Partners: To order keys via API from inventory purchased through channel partners, the new /shipments_exact APIs must be used. The older, deprecated /shipments API only supports ordering keys from inventory purchased directly from Yubico. For more information, see :ref:channel-partners-label.

Release 1.22.0 (20 May 2022)

New Features & Enhancements

  • With the release of version 1.22.0, the tracking of shipments to India becomes more transparent. On the Console, clickable tracking numbers are now provided for shipments delivered by Blue Dart, one of our main carriers on the Indian subcontinent. The API too returns a tracking_link value.

Resolved Issues

  • Shipments sent to GB/UK now transition relatively quickly to “Delivered” or “Delivery Exception” instead of remaining in the “Shipped: In Transit” status indefinitely.
  • Console: The Purchase Order sorting function did not work. Clicking on a column heading did not result in the content of the column being sorted. This issue has now been fixed, and any column can now be sorted as expected.

Known Limitations

  • API: When getting a purchase order by its ID, extra, undocumented fields are returned. When a request for GET /v1/purchaseorders/{purchaseorderId} is sent, the response includes (is_vat_valid, is_tax_exempt, is_post_pay).
  • Channel Partners: To order keys via API from inventory purchased through channel partners, the new /shipments_exact APIs must be used. The older, deprecated /shipments API only supports ordering keys from inventory purchased directly from Yubico. For more information, see :ref:channel-partners-label.

Release 1.21.0 (26 April 2022)

Resolved Issues

  • If a field has been selected for sorting on any of the console list screens, that field title will now be shown in bold.
  • Email addresses are now validated during shipment request creation for single and bulk shipments.
  • The channel partner name field in the shipments .csv file is now populated for all entries, including direct sale shipments.
  • Previously, when an order received a Delivery Exception status, an internal message was shown in the console. This has been fixed so the message is no longer shown.
  • The API documentation has been updated to reflect that the suggested address fields (suggest_street_line1, suggest_street_line2, suggest_street_line3, suggest_city, suggest_region, and suggest_postal_code) are largely deprecated and will return an empty string. This applies to the following APIs: GET /shipments_exact, POST /shipments_exact, GET /shipments_exact{shipmentId}, and POST /shipments_exact{shipmentId}.
  • The suggest_recipient field of the API, which is never returned in responses, has been removed from the API.
  • On the Users screen under Settings, the alphabetic sort was not working properly when trying to sort users by email address. The sort function has been fixed and now behaves as expected.
  • Role and State are no longer sortable fields on the Users screen under Settings in the console.

Known Limitations

  • API: When getting a purchase order by its ID, extra, undocumented fields are returned. When a request for GET /v1/purchaseorders/{purchaseorderId} is sent, the response includes (is_vat_valid, is_tax_exempt, is_post_pay).
  • Channel Partners: To order keys via API from inventory purchased through channel partners, the new /shipments_exact APIs must be used. The older, deprecated /shipments API only supports ordering keys from inventory purchased directly from Yubico. For more information, see Inventory: Channel Partners.

Release 1.20.0 (24 March 2022)

New Features & Enhancements

  • Console/CSV/API: Consistency in the requirement for recipient telephone number in shipment requests is now system-wide. When creating a single shipment request in the Console (i.e., using the GUI), phone number has always been a required field. Now bulk shipment requests via CSV upload also require phone number, as do shipment requests made via API. With the current release of YubiEnterprise Delivery, 1.20.0, shipment requests that do not include recipient telephone number (“Contact phone”) will no longer be processed. Although the /shipments API is deprecated, this requirement will be enforced on that API too.
  • Console/CSV/API Shipment request statuses will now be updated to reflect changes reported after requests have reached the “Delivery Exception” state.

Known Limitations

  • API: When getting a purchase order by its ID, extra, undocumented fields are returned. When a request for GET /v1/purchaseorders/{purchaseorderId} is sent, the response includes (is_vat_valid, is_tax_exempt, is_post_pay).
  • Channel Partners: To order keys via API from inventory purchased through channel partners, the new /shipments_exact APIs must be used. The older, deprecated /shipments API only supports ordering keys from inventory purchased directly from Yubico. For more information, see Inventory: Channel Partners.

Release 1.19.0 (24 February 2022)

New Features & Enhancements

  • Console: The detail view of the shipment request now displays Total cost and Product cost in the Shipping and tax section of the page instead of at the top, where it was previously shown.

Resolved Issues

  • The POST validate-address API that is used to determine whether an address is acceptable by YED for delivery contradicted the POST shipments_exact API in that the first deemed an address without a city acceptable, while the second deemed it unacceptable, since city is a required field. The validate-address API has now been fixed; it too requires the city field and its rules are consistent with the rules of the POST shipments_exact API.

Known Limitations

  • API: When getting a purchase order by its ID, extra, undocumented fields are returned. When a request for GET /v1/purchaseorders/{purchaseorderId} is sent, the response includes (is_vat_valid, is_tax_exempt, is_post_pay).
  • Channel Partners: To order keys via API from inventory purchased through channel partners, the new /shipments_exact APIs must be used. The older, deprecated /shipments API only supports ordering keys from inventory purchased directly from Yubico. For more information, see Inventory: Channel Partners.

Release 1.18.0 (20 January 2022)

New Features & Enhancements

  • API Holders of API tokens are notified before expiry of a token via an automatically generated email sent to the address associated with the token. The email is sent 7 days before expiry, the day before expiry, and on the day of expiry.

Resolved Issues

  • When the CSV file containing shipment requests was generated, the inventory_type column was not always populated for every row in the file. This issue has now been fixed.
  • In the email that the system sends to notify recipients that a shipment will arrive, the carrier field was not consistently populated, nor was the link added to the carrier’s tracking number. This issue has now been fixed, and both the carrier and the tracking link are included in the email. API: This also resolves the issue of the incomplete response that was returned for the shipment order in the GET /shipments_exact and GET /shipments_exact/<shipmentId> responses: they now return comprehensive information.
  • In the user guide, the section entitled Using the API to Execute a Shipping Request had a typo in the second sentence, which prevented the following information from being displayed at that location. “Although the system can deliver to Post Office (PO) Boxes within the United States, delivery to PO Boxes (or the equivalent) elsewhere in the world is unlikely to succeed.” This has now been fixed, so that the information now appears in this location.

Known Limitations

  • API When getting a purchase order by its ID, extra, undocumented fields are returned. When a GET /v1/purchaseorders/{purchaseorderId} is sent, the response includes is_vat_valid, is_tax_exempt, is_post_pay.

Release 1.17.2 (10 December 2021)

Enhancements

  • Fifteen more countries have been added to the list of deliverable shipment destinations. The lists of countries and the corresponding limitations are given in Key Quantities.

Resolved Issues

  • Console: Shipments to overseas PO boxes (non-USA) are not delivered; instead, they are returned by all carriers. The Console now displays a warning to this effect when a shipment request is created using an overseas PO box. This limitation is referenced in Post Office Box as Destination.

Release 1.17.0 (18 November 2021)

New Features & Enhancements

  • Console: Owners, Admins, and Auditors can now view the list of refunds for lost or missing shipments, drill down into the details of each item, and download a CSV file containing this data. For more information, see Refunds.

Resolved Issues

  • Console: Including leading or following whitespace with a term entered in the Search field yielded no results, even if the search term ought to have produced results. This issue has now been resolved; the system automatically trims any whitespace of this kind before the search is performed.
  • When a shipment request was made providing a company name as recipient, plus either recipient first name or recipient last name, a validation error was returned. This issue has now been resolved: no error is thrown when the company name plus either first name or last name is provided.
  • Console: The edit icon on the shipments page redirected the user to the shipment details page instead of showing the edit view in the same page. This issue has now been resolved, and it is now possible to edit in the same view.
  • The status summary for shipments that were cancelled indicated that the shipments had been delivered, even though they were not. This issue has now been fixed: the status summary correctly shows canceled shipments as such.
  • API integrations: The API documentation for the GET /shipments_exact API (to get all shipments) erroneously said that all the items included in the shipment (shipment_items) would be returned; that was incorrect - the field (shipment_items) was not returned in the response. This is no longer the case, and the API documentation now accurately reflects that the shipment_items field is not returned in the response.
  • Console: After login, the Dashboard did not show any data. Only when the page was refreshed or one was redirected back from another page did the page load and show relevant data. This issue has now been resolved: the Dashboard page loads upon login and displays all data.

Known Issues

  • API When getting a purchase order by its ID, extra, undocumented fields are returned. When a request for GET /v1/purchaseorders/{purchaseorderId} is sent, the response includes (is_vat_valid, is_tax_exempt, is_post_pay).
  • When the CSV file containing shipment requests is generated, the inventory_type column is not always populated for every row in the file.

Known Limitations

  • For European shipments using Bpost, also known as the Belgian Post Group, the tracking number is not hyperlinked. However, the delivery status does, update correctly. Workaround: To find out where a Bpost shipment is, copy the tracking number and input it on Bpost’s page for that purpose, http://www.bpost2.be/bpostinternational/track_trace/find.php?lng=en or that of their partner,

Release 1.16.0 (21 October 2021)

New Features & Enhancements

  • Eight new countries are available for existing and new organizations to ship to. They are: India, Saudi Arabia, the United Arab Emirates, Mexico, Chile, Israel, Taiwan, and Hong Kong.
  • Fulfillment partner [“Provider”] information is now displayed:
    • On the Console, on the shipment details page, in the Shipping & tax section
    • In the API, in the carrier field.
  • API PUT /shipments/makedraft has been deprecated and is therefore no longer available.

Known Issues

  • API: When getting a purchase order by its ID, extra, undocumented fields are returned. When a request for GET /v1/purchaseorders/{purchaseorderId} is sent, the response includes (is_vat_valid, is_tax_exempt, is_post_pay).

Known Limitations

Release 1.15.0 (23 September 2021)

New Features & Enhancements

  • Seven new countries: It is now possible to have shipments sent to Australia, New Zealand, Japan, Singapore, the Philippines, Indonesia, and Thailand.

Resolved Issues

  • In cases when particular carriers were used to ship an order, shipments were not progressing beyond the SentForFulfillment state. The system now handles additional carriers correctly.
  • Very occasionally, shipments did not have their delivered_date set. This issue has now been resolved, and all shipments that reach their target recipient have a delivered_date.
  • On the Purchase Order popup, the channel partner name and partner ID were not shown the same way as they were in the shipment popup. The presentation of this information has now been rationalized so that it appears with the same formatting and in the same detail in both locations.
  • Disabled Update Button When a shipment request was in the Awaiting validation state, it was not possible for the creator of the request to edit any field other than the from stock/key counts field. Even though the user was able to click the Shipment id link to open the shipment details page, the Update button remained disabled by default. This issue has now been resolved: it is possible to update all fields on the shipment details page even when the request is in the Awaiting validation state.
  • Insufficient inventory

    • To maintain the window during which orders can be updated, edited, or recalled/deleted, orders are held and processed in batch. Therefore there might be less inventory available by the time an order is processed than what was shown in purchase order details when the request was created. For example, the person starting to create a shipment request assumes that the 50 keys the console shows they have in inventory will still be available by the time the shipment request is submitted. When this is not the case, any shipment requests processed after the inventory is exhausted will be flagged Error: Processing Error, contact support.  Reason is Not enough Inventory for Shipment - ShipmentStateError.
    • A second issue arises from the same source: when the user clicks on the shipment request ID with that error, part of the status message displayed is “Insufficient Inventory of Product X” where “X” is an integer. To find out what X means, consult the Product Name, Stock/Inventory, product_id and inventory_product_id table.
    • A third issue arises from the same source: it is not possible to make single shipment requests for products that are not available in inventory - which is expected if insufficient product has been purchased, but an insufficiency of inventory can also be caused by Yubico itself running out of stock.

    Workaround: Either contact Support to get more inventory, or edit the request to switch to another product for which inventory is available.

Known Limitations

Release 1.14.0 (19 August 2021)

New Features & Enhancements

  • Shipment requests: The alphanumeric character limits on the Console fields and the cells in the CSV upload file and the API have been expanded. For exact details, see the table detailing these limits in Shipment Request Fields.
  • The shipment request detail popup has been expanded to a full page in order to display more information.

Resolved Issues

  • API: For POST validate-address, street_line1 limit is 60 alpha-numeric characters.
  • The unit price of the products is shown on the Purchase Order popup if the products were purchased directly from Yubico (as opposed to from a channel partner).
  • Single shipment request: The product list is now filtered by the partner selected. In other words, selecting a channel partner determines which products are available for shipment and the quantities thereof.
  • Bulk shipment request: The CSV file’s ChannelPartnerId column requires that the ID be explicitly entered instead of defaulting to “1” for Yubico (direct sale). This facilitates the avoidance of errors.

Known Issues

  • API When getting a purchase order by its ID, extra, undocumented fields are returned. When a request for GET /v1/purchaseorders/{purchaseorderId} is sent, the response includes (is_vat_valid, is_tax_exempt, is_post_pay).

Known Limitations

Release 1.13.0 (22 July 2021)

New Features & Enhancements

  • Channel Partners: This feature enables the inclusion of Yubico’s channel partners in YubiEnterprise Delivery. Customers can distinguish between inventory purchased directly from Yubico and inventory purchased through our channel partners. This information is displayed on the Purchase Order (PO) tab by clicking on the individual PO IDs (see PO Detail View). When requesting individual shipments using the Console, the channel partner is specified via the Channel Partner dropdown (see Shipping to a Single Address (Console)), while for bulk upload of shipment requests, the ChannelPartnerId column in the CSV file is must be populated see: Shipment Request Fields). This feature is fully described in Purchasing Through a Channel Partner in “Requesting Shipment” in this guide. The updated APIs are listed under a heading with the same name, Purchasing Through a Channel Partner, in the “API Onboarding Playbook” in this guide.
  • The default Delivery Exception email no longer references and links to Yubico’s support website. This enables enterprise customers to divert any support requests from shipment recipients (end users) to their own IT team.
  • Download CSV: A new field, recipient_company, is now included in the exportable .csv file containing all shipment requests. This is the equivalent of the Company field in a single shipment request.

Resolved Issues

  • API: To order keys via API from inventory purchased through channel partners, the new /shipments_exact APIs must be used. The older, deprecated /shipments API only supports ordering keys from inventory purchased directly from Yubico. For more information, see Purchasing Through a Channel Partner.
  • There was an issue where the user ID associated with a shipment request was being updated to the ID of the last user to edit the shipment. The requester ID is supposed to be the ID of the user who originated the request and should not change once the order is created. A side effect of this was that it was possible for the shipment to get into a state in which it was not viewable/editable/delete-able. The fix was to ensure that the requester ID always remains unchanged.
  • API: Now suggest_postal_code returns the correct information. Previously, this was never correctly returned, which affected the following APIs:

    • GET /shipments_exact
    • GET /shipments_exact/{shipmentId}
    • PUT /shipments_exact/{shipmentId} because the response to that is the full shipment payload, which includes the suggest_postal_code field.

    It had no effect on the POST /validate-address API.

Known Issues

  • When getting a purchase order by its ID, extra, undocumented fields are returned. When a request for GET /v1/purchaseorders/{purchaseorderId} is sent, the response includes (is_vat_valid, is_tax_exempt, is_post_pay).

Known Limitations

  • Channel Partners: To order keys via API from inventory purchased through channel partners, the new /shipments_exact APIs must be used. The older, deprecated /shipments API only supports ordering keys from inventory purchased directly from Yubico. For more information, see Purchasing Through a Channel Partner.

Release 1.12.0 (24 June 2021)

Resolved Issues

  • Search function: when a search had 0 results, you could type any page number without an error being displayed. This issue has been resolved.

Known Issues

  • When getting a purchase order by its ID, extra, undocumented fields are returned. When a request for GET /v1/purchaseorders/{purchaseorderId} is sent, the response includes (is_vat_valid, is_tax_exempt, and is_post_pay).

Known Limitations

Release 1.11.2 (26 May 2021)

Resolved Issues

  • The status of shipment requests that had already been sent out for fulfillment was not updating as expected. The status of those orders remained stuck at “Processing: Queued for Fulfillment” instead of progressing to “Processing: Sent for Fulfillment”. This issue has now been resolved.

Known Issues

  • Search function: when a search has 0 results, you can type any page number without an error being displayed.
  • The .csv template for bulk shipment requests sometimes contains a column for a product that you do not have, e.g., the YubiKey 5 NFC might not be available to you and yet the template has a column for it. If you attempt to use this column, your bulk shipment request will be rejected for containing an invalid product ID.

Known Limitations

Release 1.11.0 (20 May 2021)

New Features & Enhancements

  • API Token: timestamps for creation, last use, and expiry are now shown on the profile page for that user. This information is shown for all tokens used since YubiEnterprise Delivery release 1.10.
  • Automated emails sent by the system to end-users upon shipment / delivery / delivery-exception are now fully customizable. Formerly an organization owner or admin could use the Console to customize a paragraph that was then inserted into the standard email template. Now the UI shows one field for the subject of the email and a second for the email body. The customization performed here will apply to all emails sent by the system for that organization.
  • The ability to search shipments by recipient_email has now been enabled.
  • The Shipped_date now appears on the Dashboard of the Console and on the Shipments tab, as well as in the .csv download file containing the shipment requests.
  • The Delivered_date now appears on the Dashboard of the Console and on the Shipments tab, as well as in the .csv download file containing shipment requests. This field is searchable.

Resolved Issues

  • CRLF characters (Carriage Return (ASCII 13, r) Line Feed (ASCII 10, n)) were allowed in the address fields of individual shipment requests made via the Console. This resulted in unexpected line breaks in the corresponding row of the download CSV file. Those characters are now stripped from the input, so the CSV file no longer shows those line breaks.
  • Data contained in downloaded .csv files of shipment requests was problematic, in that it caused a lack of alignment. This issue has now been corrected.
  • When the same item was ordered from different types of inventory, e.g., primary/backup subscription, advanced tier, initial/replacement/buffer, the total quantity of the item from all types of inventory did not always add up correctly. This issue has now been fixed.
  • If you entered a product type or quantity that was not available or inactive in the system, the shipping request was rendered incomplete, and the status message used the numeric ID of the product instead of its name (e.g., “ProductId 3 not active in the system”). This issue has now been resolved, so that the actual name of the product is shown, e.g., “YubiKey 5C not active in the system”.
  • If you canceled a bulk shipment request after having uploaded a .csv file, the previously selected file name was displayed next to the Choose file button. This issue has now been resolved.
  • If you hovered over your profile icon on the Console, instead of your organization name in the tooltip, you would see its ID in the YubiEnterprise Delivery system. This issue has now been resolved, and so the actual name of your organization is displayed in the tooltip.

Known Issues

  • Search function: when a search has 0 results, you can type any page number without an error being displayed.
  • The .csv template for bulk shipment requests sometimes contains a column for a product that you do not have, e.g., the YubiKey 5 NFC might not be available to you and yet the template has a column for it. If you attempt to use this column, your bulk shipment request will be rejected for containing an invalid product ID.

Known Limitations

Release 1.10.0 (22 April 2021)

New Features & Enhancements

  • The .csv file for bulk import has always been limited to 10MB, but now the system returns a clear error message along with the 400 response code when a user attempts to upload a file that is too large.
  • User Account Management: The list of users on the Settings > Users tab now displays a user status column. This enables adherence to compliance procedures when reviewing which users have access to the system.
  • Enhanced Security: Session login limits: YubiEnterprise Delivery users do not stay logged in indefinitely. They are automatically logged out after 24 hours.

Resolved Issues

  • Console search widget: the page counter is now reset to 1 for each new search.
  • Console search widget: It was not possible to enter a page number that would have contained no search results; in other words, if there were only 10 pages of search results, you could not enter 100. It is now possible to enter a page number that does not exist because there were not that many results, but an error message explaining this is now shown.
  • The available inventory displayed on the Purchase Order popup is now sorted.
  • Making an /auth/machine-token API request with an expired token used to fail with a 500 error. Now such a request correctly returns a 401.
  • When a user created a new API token and then switched orgs, the view did not update - the new token still appeared under the other org, even though the active token reference did update correctly. This has now been fixed.
  • The email address of the user who created a shipment request is now shown in the pop-up window displayed by clicking on the ID of the shipment request.
  • Broken links in the documentation have now been fixed.
  • Users in demo mode are no longer able to edit the email template informing new recipients that they will be receiving shipments from YubiEnterprise Delivery. This capability is reserved for org owners and admins whose accounts are fully enabled (i.e., no longer in demo mode).

Release 1.9.0 (18 March 2021)

The initial API documentation link on Swaggerhub (https://app.swaggerhub.com/apis/yubico/yubi-enterprise-delivery-public/v1-oas3) is no longer updated and has therefore between removed. Please refer to: https://console.yubico.com/apidocs/ for the latest API documentation.

Enhancements

  • User input is validated in such a way that the user is able to confirm or change input as required before submitting shipment requests; for example:
    • Indications of the allowed input for any given field are provided
    • Character rules are now provided for each API
    • The verification results for uploaded CSV files are now provided
    • Error codes have been standardized.
  • YubiEnterprise Delivery users can now give their security keys (nick)names so that a user with multiple keys can distinguish them from each other. The console displays the keys in the order in which they were registered.
  • API: Validation error responses are now consistent across the APIs.
  • API Security:
    • If your request body does not contain valid JSON, the system informs you that the JSON contents you presented could not be verified and were therefore discarded.
    • When a user with permissions to change user roles attempts to grant a disallowed privilege level, the requested role is checked against a list of available roles and the error displayed to the user says only “a match was not found for a valid role”.
  • When selecting products during the creation of a shipment request, users can now see the entire range of custom product options available to their organization.
  • Organization owners can now reset just users’ passwords in addition to the existing option of resetting users entirely.

Resolved Issues

  • Telephone numbers entered in shipment requests are now validated. If a mistake is found, the user is given the opportunity to correct it before the request is processed.
  • API: Submitting invalid values for the delivery_type or inventory_type fields now triggers INFO-level errors instead of 500s.
  • API: A JSON unmarshall error resulting from a malformed payload for the /shipments POST CreateShipment API used to send ‘500 / “unknown error”’’. This type of error now sends ‘400 / “invalid payload”’’.
  • When your login has expired, clicking on the Generate API token on the profile page does not work. This issue has now been fixed.
  • API: The auditor role can delete API tokens as well as create them.
  • Transaction rollbacks are now logged at INFO level instead of at WARNING level, which was too severe.
  • When an attempt is made to delete a shipment request that does not exist, the error code returned is now 404 instead of 500, which erroneously indicated a server problem. This issue has now been fixed.
  • API: When Organization Products are returned, the TotalCount is now set.
  • API: When calling InviteUserToCurrentOrganization for a user already in an organization, an AlreadyExists response is now returned.
  • API: GET /shipments was missing the advanced_search parameter. This is now present.
  • The CSV download was timing out. This issue has now been resolved.

Known Limitations

Release 1.8.3 (9 March 2021)

Enhancements

  • Support for Transport Layer Security (TLS) v1.0 and v1.1 has been removed; the earliest version YubiEnterprise Delivery now supports is TLS 1.2. This update to the cryptographic protocols renders network communication less vulnerable to attack.

Release 1.8.0 (18 February 2021)

Features & Enhancements

  • Security Enhancement: YubiEnterprise Delivery 1.8.0 implements an infrastructure enhancement that requires all users to reset their passwords. All users will have received an email from Yubico announcing this one week prior to the 1.8.0 release. The email explains the procedure to be followed: click on the link in the email, which takes you to a page enabling you to update your password. If you do not update it within one week, contact your YubiEnterprise Delivery organization owner for an account reset. If you are an Org Owner, contact YubiEnterprise Support.
  • Using the API and the Console (GUI) for single shipments, it is now possible to include products from different inventory types within the same shipment. For details, see Shipping to a Single Address (Console).
  • Advanced Search for API Advanced search capabilities have been introduced for API users. Fields with different names will be searched in an AND, while fields with the same name will be ORed.

Resolved Issues

  • When browsers truncated redirection URLs, or users manually copy-pasted incomplete URLs, the missing OAuth authorize parameters caused the login backend to crash.

Known Issues

  • When your login has expired, clicking on the Generate API token on the profile page does not work. Workaround: Log in to the Console again.

Release 1.7.0 (21 January 2021)

Features & Enhancements

  • API: Advanced search Lists of shipment requests can be filtered by query parameters. We introduced /search-description on searchable resources to provide a description of the searchable fields.
  • Timestamps for shipment requests and for orders being shipped are now provided with millisecond precision from the Console (the GUI) and via the API.
  • API We now return “404 Not Found” response {"message":"Product Id <> could not be found"} for GET /products/{product id} on an invalid product ID, as per the API contract.
  • The tracking number for each shipment is now associated directly with the shipping date, just as the “Shipped - in transit” status is directly linked to the date of shipment.

Resolved Issues

  • Organization names were not being displayed correctly. This issue has now been fixed.
  • Some European shipments did not show the correct tracking number link. This issue has now been fixed.
  • When selecting shipments for bulk deletion, the number of shipment requests listed as available for deletion may not have matched the number displayed directly underneath the Back to Shipments button (e.g., “1 - 11 of 32” and yet there would be only a single item shown in the list). The number of items listed in the table was correct, not the number shown on the upper right. This issue has now been fixed.
  • When the API was used to create a shipment request against a subscription that did not include the product you wanted to ship, the shipment details page (the popup for the shipment ID) on the Console (the GUI) for that request would show that the “ghost product” request was made against Standard products inventory. This issue is now fixed.
  • In the YubiEnterprise Console (the GUI), the limit on the number of characters in the “Company” field has been raised from 15 to 20, so it now matches the limits on that field in the bulk upload as a CSV file and the API.
  • Shipment requests with shipment_state_id=104 (ShipmentStateDelivered) will always have is_delivered=TRUE.
  • Upon completing a single shipment request using the YubiEnterprise Console (the GUI), the button for creating another shipping request did not appear to be functional. Its name is now properly displayed, and this secondary button changes from white to dark blue when you mouse over it.
  • When using the Console (GUI) to create a single shipment request and selecting first Standard products from the From stock dropdown, entering a quantity for any product, then selecting another item from From stock, the quantity previously selected in conjunction with Standard products disappears from view. However, the number entered is still in the system; it shows up in the confirmation message when you click Create Shipment.
  • API In the validate-address API, some fields in the response payload and the US Address Component did not match the LOB API. This issue is now fixed.

Release 1.6.0 (19 November 2020)

Features & Enhancements

  • With the release of YubiEnterprise Delivery 1.6.0, customers have more granular control in determining the stock inventory from which products are shipped. Previously, the system would choose the stock from the oldest Purchase Order in the system to ensure that the customer’s stock did not expire before use.

    • Explicit selection is now available for single shipment requests (see Shipping to a Single Address (Console)).

    • Bulk shipment orders will continue to use the original method whereby the system chooses the stock. Bulk shipment ordering will convert to the exact choice method in a future release.

    • A new set of delivery APIs has been made available to support the exact choice method, the suite of /shipments_exact APIs. The original /shipments APIs are deprecated starting in this 1.6.0 release but they will continue to be available until at least May 2021. Customers are encouraged to use the /shipments_exact APIs for any new development and to update existing clients soon.

      Deprecated APIs and their Replacements
      Deprecated Replacement
      GET /shipments GET /shipments_exact
      POST /shipments POST /shipments_exact
      GET /shipments/{shipmentId} GET /shipments_exact/{shipmentId}
      PUT /shipments/{shipmentId} PUT /shipments_exact/{shipmentId}
      DELETE /shipments/{shipmentId} DELETE /shipments_exact/{shipmentId}
      /UpdateShipmentById shipments_exact/{shipment_id}
  • Before adding Backup subscriptions to new Purchase Orders (POs), existing POs should be exhausted.
  • Download of CSV file with shipment requests has been accelerated.
  • Expedited shipments in the US will no longer use USPS Priority (for 1-99 items) and UPS Ground (for 100-500 items) but instead will be using UPS Overnight for 1-500 products. The cost of shipping has been adjusted accordingly.
  • A new version of the original /address-validation API checks addresses more closely to ensure acceptance by the system. The deprecated API is /address-validation and the new one is /validate-address. The deprecated API will continue to be available until at least May 2021. Users are encouraged to use the /validate-address API for any new development and to update existing clients soon.
  • The online Help can now be accessed from the login screen; it is not necessary to log in to access Help.
  • Better navigation: When reviewing Incompletes, a new Go Back to Shipments button facilitates acceleration of the workflow.
  • The Dashboard view more accurately reflects modes of purchase and stock in inventory. The new sections are Standard products inventory, Non-subscription inventory, and Subscription inventory.

Resolved Issues

  • It is now possible to create a single shipment request combining different types of stock/inventory, for example both a lanyard from the Standard products option and a key from the Primary Subscr. Advanced Tier - Init option in the From stock dropdown.
  • The Search function for the online help (User Guide and Release Notes) has now been fixed.
  • Purchase Order (PO) display: Inventory counts of zero on POs are no longer shown as just a forward slash, but instead as expected, for example “0/100 - YubiKey 5C”.
  • The detail view of Purchase Orders with “ghost” inventory is now available. “Ghost” inventory was caused by Yubico adding a product to an Organization and then removing it.

Release 1.5.0 (22 October 2020)

Features

  • It is now possible to delete multiple shipment requests simultaneously. This is useful when the system is unable to validate multiple addresses or when the wrong CSV file was uploaded by mistake.
  • The CSV file upload now accepts alternative values for DeliveryType: instead of just 1 for Normal and 2 for Expedited, the words Normal and Expedited are now acceptable input. Integer parsing will be retained for backwards compatibility.

API

  • GET  /inventory has been extended so that it always returns product_mapping.

Resolved Issues

  • Outstanding error messages are now cleared between shipment updates.
  • Products no longer in inventory cannot be selected from the New shipping request page in the Console for a single shipment request. In the API, /shippablekeys returns only products still in inventory for inventory_type = 1.

Known Issues

When selecting shipments for bulk deletion, the number of shipment requests listed as available for deletion may not match the number displayed directly underneath the Back to Shipments button (e.g., “1 - 11 of 32” and yet there is only a single item shown in the list). The number of items listed in the table is correct, not the number shown on the upper right.

Release 1.4.0 (24 September 2020)

Features

  • Improved /products API endpoint behavior: GET /products returns the list of products that are both a) in inventory and b) shippable.
  • The delivery exceptions email feature has been completed.

Resolved Issues

  • Inventory type in shipment requests always displays correctly now.
  • The product images for multiple subscription tiers concurrently displayed are now consistent.

Release 1.3.1 (10 September 2020)

Known Issue

  • When requesting shipment for a YubiKey Lanyard, the Inventory Type must be set at type 1, YubiKey Shipment, even if you are a subscription customer. This means that if you want to send a person both a lanyard and a key from subscription stock, you must make two separate shipment requests. Set the other inventory types as follows:

    InventoryTypeEnum

    Integer inventory_type (Stock) Purchase Mode
    1 Standard Product Outright purchase
    2 Non-subscription Purchase of virtual keys
    3 Subscription - Initial Shipment Subscription
    4 Subscription - Buffer Stock Shipment Subscription
    5 Subscription - Replacement YubiKey Shipment Subscription
    • Use Inventory Type 1 if you have purchased keys on the perpetual mode and/or for lanyards.
    • Use Inventory Type 2, YubiKey Tier SKU Shipment, if you are not a subscription customer, but have purchased tiers of keys instead of physical keys.
    • Inventory Types 3, 4, and 5 are for subscription customers only.
      • Make sure to use up all of your Inventory Type 3, Initial, within the first year of your subscription.
      • Use Inventory Type 4 at any time: Buffer stock expires only at the end of your subscription term.
      • Use Inventory Type 5, Replacement, for users who have lost their keys or want to upgrade.

Release 1.3.0 (28 August 2020)

Features

  • Enhanced and extended address validation status messages: error messages displayed as a result of failed address validation now give instructions for achieving successful validation.
  • Improvements to the downloadable shipments CSV. It now shows for each shipment:
    • Organization name as well as org-ID
    • Purchase Order number
    • User email as well as user-ID
    • Delivery type indicating “normal” or “expedited”
    • Both shipment state ID and actual shipment state message
    • Both shipment product cost and shipment product taxes.
  • Added YubiKey Lanyard to the product list.
  • Begin preview of API to retrieve the available subscriptions.

Resolved Issues

  • The customized email for DELIVERY EXCEPTIONS can now be sent as a preview sample to the logged-in YubiEnterprise Delivery user.

Release 1.2.0 (23 July 2020)

Features

  • Updated Pricing
    • Introducing flat-fee shipping for up to 2 keys:
    • Introducing support for expedited shipping (1-3 days)
  • Email customization and preview: The notification emails automatically sent to YubiKey recipients can be customized, and can also be previewed. Clicking the Send Sample button below the Customize Email field sends a sample of the customized email to the email ID logged into YubiEnterprise Delivery. For more details, see Notifying End-Users of Shipment and Delivery.
  • PREVIEW: Ability to download shipments table: Organization owners, admins, and auditors can download the information on the Shipments tab as a CSV file. There are two options:
    • The entire contents can be downloaded - i.e., all the rows in the table, even if there are multiple pages.
    • Search results. If a search term is entered into the Search field, the rows containing the search term will be downloaded as a CSV file.
  • Subscription Shipping through YubiEnterprise Delivery: Subscription customers can view their inventory on the Dashboard, with:

    • Premium Tier Subscription
    • Premium Tier Subscription Replacement
    • Premium Tier Subscription Buffer.

    Subscription customers can specify shipment types:

    • Initial shipment
    • Buffer stock shipments
    • Replacement YubiKey shipment

    Subscription customers can download a CSV file with the contents of the shipments table (see “Ability to download shipments table” above), showing all the YubiKeys in the subscription tier and Subscription-Fulfillment-Type.

Known Issues

  • The customized email for DELIVERY EXCEPTIONS cannot be sent as a preview sample to the logged-in YubiEnterprise Delivery user.

Release 1.0.0 (18 June 2020)

Features

YubiEnterprise Delivery enables organizations to manage orders of Yubico’s security keys (including YubiKeys), encompassing:

  • Ordering shipment of a key or keys to a single address through the YubiEnterprise Delivery Console (the GUI) or the API
  • Bulk upload of shipping orders for fulfillment using CSV files
  • Shipping orders via the API
  • Inventory management
  • Tracking shipping costs
  • Tracking shipment of the security keys you purchase from Yubico to the end-user
  • Customizing auto-generated delivery notification emails
  • Support for Virtual Product Tiers.

Known Limitations

  • The following character limitations (including spaces) apply to all three methods of requesting shipment: Console (GUI), CSV, and API:
    • First Name: 15
    • Last Name: 20
    • Company: 20
    • Address lines 1, 2, 3: 40
    • City: 20
  • In certain situations, if your computer has a platform FIDO authenticator such as Windows Hello and you want to enroll a YubiKey, the Windows UI displayed may ask you to enroll that other platform authenticator. Workaround: Hit Cancel to get to the YubiKey enrollment option.

Known Issue

  • A shipment request whose status is indicated as ShipmentStateError must be recreated and resubmitted.