Skip to content

Releases: EasyPost/easypost-java

v6.7.0

06 Jun 21:44
a2ddd68
Compare
Choose a tag to compare
  • Retrieving carrier metadata is now generally available via client.carrierMetadata.retrieve
  • Bump all dependencies

v6.6.1

09 May 21:41
691158b
Compare
Choose a tag to compare
  • Test suite tweaked so EasyVCR is no longer a production dependency

v6.6.0

02 May 16:14
1a33282
Compare
Choose a tag to compare
  • Adds retrieveEstimatedDeliveryDate function to the Shipment class

v6.5.0

18 Apr 21:46
bcf1e00
Compare
Choose a tag to compare
  • Adds beta retrieveCarrierMetadata function
  • Fixes the type for requestBody from Map to String for Payload class
  • Add retrieveCarrierMetadata method to retrieve carrier metadata for carriers

v6.4.0

04 Apr 16:22
d23db1e
Compare
Choose a tag to compare
  • Adds getNextPage function to each service which retrieves the next page of a collection when the has_more key is present in the response (eg: client.address.getNextPage(addressCollection))
  • Adds missing Event status property

v6.3.1

22 Mar 16:28
0f4d794
Compare
Choose a tag to compare
  • Handle edge cases when deseralizing error JSON, closes Github issue #239

v6.3.0

21 Feb 18:32
b921e74
Compare
Choose a tag to compare
  • Adds beta retrieveStatelessRates function to get stateless rates
  • Adds getLowestStatelessRate function to filter the lowest stateless rate

v6.2.0

18 Jan 18:10
3ae58c8
Compare
Choose a tag to compare
  • Adds all function to Pickup to retrieve all pickups
  • Adds retrieveAllPayloads and retrievePayload to retrieve all payloads or a single event payload

v6.1.0

11 Jan 17:24
5944c1e
Compare
Choose a tag to compare
  • Adds new beta billing functionality for ReferralCustomer users
    • addPaymentMethod can add a pre-existing Stripe bank account or credit card to your EasyPost account
    • refundByAmount refunds your wallet by a dollar amount
    • refundByPaymentLog refunds you wallet by a PaymentLog ID

v6.0.0

05 Jan 17:25
9081e75
Compare
Choose a tag to compare

Includes all the changes from v6.0.0-rc1 listed below in addition to the following:

  • All constants are now defined in the top-level Constants class (com.easypost.Constants)
    • Users who are utilizing the constants for exception message parsing should account for the new namespace
  • Added support for creating/registering carrier accounts that require custom workflows (e.g. FedEx, UPS)
  • Swapped the parameters for the following functions, making id the first argument
    • Shipment.generateForm()
    • EndShipper.update()
    • CarrierAccount.update()
  • Fixed a typo, ServiceUnavailablError is now ServiceUnavailableError
  • Fixed a typo: Smartrate is now SmartRate, apikeys is now apiKey, scanform is now scanForm
  • Moved validateWebook, findLowestSmartrate, and getLowestSmartRate from Services to Utilities since it does not required an EasyPost client object
  • Added a root level APIException class for all HTTP exceptions

Breaking Changes

  • Library is now thread-safe
    • Initialize an EasyPostClient object with an API key. Optionally set connection and readtime params
    • All methods (i.e. create, retrieve, all) exist in services, accessed via property of the client (eg: client.shipment.create())
      • E.g. Static method -> Shipment shipment = client.address.create(params)
      • E.g. Instance methods are now static -> Shipment boughtShipment = client.shipment.buy(shipmentID, lowestRate)
    • All functions are now taking object ID instead of an object, which means the functions are returning the response value directly instead of updating the current object
      • E.g. Shipment boughtShipment = client.shipment.buy(shipmentID, lowestRate)
  • Improves error exception handling
    • Specific error types for each category of error
    • API error message may be an array rather than a string. Arrays will be concatenated (by comma) and returned as a string.
  • Removes createAndVerifyWithCarrier function
  • Removes verifyWithCarrier function
  • Removes getUpdate and setUpdate from Tracker class
  • Removes all beta features and corrsponding unit tests
  • Removes serviceCode from Rate class since this value is internal use only
  • Removes invalid function User.create() since creating a child-user requires a name
  • Removes deprecated class CreditCard and its associated classes PrimaryPaymentMethod, SecondaryPaymentMethod, and BaseCreditCard, please use alternative Billing class
  • Removes all the setters of each object
  • Removes the refresh() function in all classes, please use retrieve() function instead
  • Removes invalid functions that allow users to make an API request without providing required parameters
  • Changes the type of Insurance Amount from Float to String
  • Changes the type hasMore in ReferralCustomerCollection from boolean to Boolean
  • Renames some getters
    • Pickup class: getPickoutRates() -> getPickupRates()
    • PaymentMethod class: getPrimaryPaymentMethodObject() -> getPrimaryPaymentMethod()
    • PaymentMethod class: getSecondaryPaymentMethodObject() -> getSecondaryPaymentMethod()
  • Converts return type from a boolean to void when we receive an empty response body from the API
    • fundWallet() and deletePaymentMethod() in Billing class
    • createList() in Tracker class
    • updateEmail() in ReferralCustomer class
  • Changes the type result of Event from EasyPostResource to Map<String, Object>

Bug Fixes

  • Adds two missing attributes in the Event class: pendingUrls and completedUrls
  • AppEngine default timeout is now the same as connection timeout