Skip to content

Releases: EasyPost/easypost-node

v6.3.0

24 Apr 17:01
d21b15b
Compare
Choose a tag to compare
  • Fixes the Beta client, previously the beta functions were not accessible due to how they were exported. This has now changed so each service is prepended with Beta (eg: BetaCarrierMetadata)
  • Adds CarrierMetadata typescript definitions

v6.2.0

18 Apr 21:22
1f60b2c
Compare
Choose a tag to compare
  • Adds beta retrieveCarrierMetadata function
  • Adds missing api_keys property to User
  • Improves Error Deserialization to dynamically handle edge cases that have a bad format
  • Adds a helper function to retrieve carrier metadata

v6.1.0

04 Apr 16:46
6731064
Compare
Choose a tag to compare
  • Add getNextPage function that retrieves the next page of results for a paginated collection

v6.0.0

22 Mar 16:17
d659065
Compare
Choose a tag to compare

Includes all of the changes made in v6.0.0-rc1 below plus the following:

  • Adds class properties to each model for autocomplete and explicit deserialization
  • Adds missing status_detail to trackers

v6.0.0-rc1

01 Mar 20:07
6f08651
Compare
Choose a tag to compare
v6.0.0-rc1 Pre-release
Pre-release

Breaking Changes

  • Bumps minimum Node from 10 to 12
  • Renamed default export API to EasyPostClient
  • Overhauled the data flow of the library
    • Instead of creating a local object and then calling .save() on it to create/update it at the API level, you will pass in the same data as before but to one of either create() or update() functions on the service in question
    • The base service no longer implements all functions and instead each individual service implements its own functions. This means the library namespace won't be cluttered with various notImplemented functions
    • All instance functions (excluding lowestRate) previously called on an object are instead called on a service. (eg: shipment.buy(shipment.lowest_rate()) is now client.Shipment.buy(shipment.id, shipment.lowest_rate())))
      • All functions attached to a service are now async and must be awaited
  • Moved library structure around
    • Introduced /models that contain the EasyPost objects
    • Renamed /resources to /services to better reflect that a service called against an EasyPostClient differs from an API resource, now known as the models
    • Each service file now has _service appended
    • Added /utils which contains both internal_util.js which is not intended for user consumption and util.js which contains public utilities
    • Moved getLowestSmartRate and validateWebook function to util.js as neither of them require the client object to function
  • References of Referral were changed to ReferralCustomer to match the API
  • Bumps major versions of all dependencies
  • Changes the primaryOrSecondary parameter name to priority in billing functions to match the API
  • Empty response functions now return nothing (deleting records, funding a wallet, etc)
  • Explicit type parameter for retrieving all reports removed, include type in generic params dictionary instead.
  • Improves error 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.
  • Corrects references of smartrate to SmartRate and smartRate to match the API

New Features

  • Add retrieveStatelessRates and getLowestStatelessRate functions

Bug Fixes

  • Completely overhauled deserialization process, nested objects (eg: rates of shipments, etc) now properly convert to their appropriate EasyPostObject
  • Fixes the verifyAddress function to actually verify an address
  • Fixes a bug that could double wrap or unintentionally wrap the results of an /all API call with the name of the object in question

v5.10.1

06 Feb 18:08
6d013bb
Compare
Choose a tag to compare
  • Fixes library packaging to exclude items that aren't needed for the final build including a subdirectory of node_modules that bloated the previous release (closes #343)

v5.10.0

18 Jan 18:03
2dc1430
Compare
Choose a tag to compare
  • Adds all function to Pickup class to retrieve all pickups
  • Adds retrievePayload and retrieveAllPayloads functions to retrieve payloads for an Event
    • These are static functions on the Event class, so you can call them like easypost.Event.retrieveAllPayloads(eventId)
  • Adds missing Typescript implementations for CustomsInfo, CustomsItem, ScanForm, User, Referral, Rate, CarbonOffset, and Brand (closes #328)

v5.9.0

11 Jan 17:12
941c7ef
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

v5.8.0

07 Dec 17:50
98c430d
Compare
Choose a tag to compare
  • Routes requests for creating a carrier account with a custom workflow (eg: FedEx, UPS) to the correct endpoint when using the save function

v5.7.1

24 Oct 19:06
bc3afd7
Compare
Choose a tag to compare
  • Fixes multiple bugs that made the addCreditCard function unusable, adds tests
  • The response of the updateBrand function now properly becomes a Brand object
  • Insuring a shipment via Shipment.insure no longer improperly wraps the amount key in id. There may be other edge cases among other object/function calls that get corrected due to this change
  • Validating webhook signatures of differing byte sizes now throws a more meaningful error message
  • Removed the browser check when building request headers. Impact should be minimal since out of the box this library cannot be used in the browser