v0.1.0

Initial release.

  • OAuth2 authorization code flow, with automatic refresh and a pluggable Exact.TokenStore for the rotating refresh token
  • Region aware base URLs, division scoped paths
  • OData query options, cursor pagination and a lazy stream/2
  • d envelope unwrapping and /Date(...)/ decoding
  • Exact.Error with a matchable :reason, retries honoring Retry-After
  • Rate limit state on every page and error
  • Resource modules for Me, Divisions, Accounts, Contacts, SalesInvoices and GLAccounts, plus Exact.Resource for the rest