Skip to content

Releases: EasyPost/easypost-java

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

v6.0.0-rc1

30 Nov 17:28
b163a6f
Compare
Choose a tag to compare
v6.0.0-rc1 Pre-release
Pre-release

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

v5.10.0

21 Sep 22:21
2ede04d
Compare
Choose a tag to compare
  • Adds support to pass an EndShipper ID when buying a shipment
  • Removes the unusable overload shipment buy functions that did not contain a rate parameter
  • Add White Label support:
    • Create a referral customer
    • Update a referral customer's email address
    • List all referral customers
    • Add a credit card to a referral customer's account

v5.9.0

25 Aug 19:26
c224cf3
Compare
Choose a tag to compare
  • Moves EndShipper out of beta into the general library namespace
  • Removes the unusable ParcelCollection and all function of the Parcel object

v5.8.1

03 Aug 20:55
1eb9cd2
Compare
Choose a tag to compare
  • Fixes a bug where an erroneous API call to retrieve smartrates would be made behind the scenes whenever a shipment object was updated locally from the API (such as when regenerating rates) due to the deprecated function name being called getSmartrates and the library assuming this was a getter and attempting to use it to update the shipment data

v5.8.0

02 Aug 19:34
ca60b96
Compare
Choose a tag to compare
  • Adds Carbon Offset support
    • Adds the ability to create a shipment with carbon offset
    • Adds the ability to buy a shipment with carbon offset
    • Adds the ability to one-call-buy a shipment with carbon offset
    • Adds the ability to re-rate a shipment with carbon offset
  • Adds validateWebhook function that returns your webhook or raises an error if there is a webhook secret mismatch