zgo-backend/CHANGELOG.md

4.4 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.3.0] - 2023-03-16

Added

  • New type to handle UI translation objects
  • New endpoints for API to get/set translation
  • Tests for translation endpoints
  • Formal parser of ZGo-related tokens in memos

Changed

  • Remove old code for PIN generation
  • Xero reference field to include the amount of ZEC received
  • Separate periodic tasks from API server
  • Zcash transaction monitoring changed to use memo parser

Fixed

  • Xero token generation for brand new users

[1.2.5] - 2023-02-01

Fixed

  • Replaced the PIN generation with the cryptographically-secure crypto-rng.

[1.2.4] - 2023-01-30

Changed

  • Enhance payments to account for early payments on active sessions.

[1.2.3] - 2023-01-27

Changed

  • Implement BLAKE3 for PIN hashing.

[1.2.2] - 2023-01-25

Fixed

  • Corrected selection criteria for expiring owners query

[1.2.1] - 2023-01-24

Added

  • New configuration fields for SMTP

Fixed

  • Owner expiration query
  • Xero token expiration query

[1.2.0] - 2023-01-09

Added

  • New utility to refresh Xero tokens periodically.
  • New module for WooCommerce interaction.
  • New /auth endpoint to authenticate with the WooCommerce plugin and corresponding tests
  • New /woopayment endpoint to generate a new order from the WooCommerce plugin and corresponding tests
  • New /wootoken endpoint to generate a new token and query the token from the database.

Changed

  • Refactored code for requesting Xero tokens to make it reusable.
  • Changed API authentication to allow for endpoints that don't require an Authorization header to support the WooCommerce integration
  • Enhanced the on-chain order confirmation functionality to support WooCommerce integration and future integrations.

[1.1.1] - 2022-10-08

Changed

  • Refactored the api/owner POST endpoint.
  • Added logic to remove extra whitespace from viewing key strings

[1.1.0] - 2022-10-01

Added

  • Feature to record a payment when detected on-chain
  • Function to record a payment in Xero
  • Tests for Xero account code
  • Fields in XeroToken for Xero payment account code
  • Support for the YWallet memo format
  • API endpoint to request a Xero invoice
  • API endpoint to generate ZGo order from external invoice
  • Type XeroInvResponse
  • Type XeroInvoice
  • Type XeroToken
  • Type Xero
  • API endpoint to query Xero configuration
  • Field crmToken for Owner
  • Field externalInvoice and shortCode for Order

Changed

  • Improved error handling for API server
  • CoinGecko price feed to include New Zealand dollar (NZD)

[1.0.0] - 2022-07-27

Added

  • New functionality to read transactions for the given viewing keys
  • New functionality to mark orders as paid once payment is found on-chain
  • New Config type to house the configuration parameters
  • New field in Owner type to store toggle for payment confirmation
  • New field in Owner type to store viewing key

Changed

  • Added chronological sorting to list of orders
  • Added logic in /api/owner endpoint to validate viewing key before saving
  • Updated tests for /api/owner to account for invalid viewing keys
  • Added alphabetic sorting to list of items
  • Refactored code to use new Config type
  • Enhance decodeHexText to support Unicode
  • Enhance encodeHexText to support Unicode
  • Update tests for encode/decode of memos

Fixed

  • Fixed the PIN generation
  • Fixed calculation of order total to ensure 8 decimal places
  • Fixed test for looking for an order with incorrect ID
  • Fixed payment scan to focus only on new transactions

[0.1.0.2] - 2022-05-25

Added

  • Changelog
  • paid field in ZGoOrder type
  • Test for api/order/:id endpoint with an invalid ID

Fixed

  • Bug #1: crash when invalid ID was provided to api/order/:id

[0.1.0.1] - 2022-05-20

Added

  • Parametrized fullnode credentials

[0.1.0.0] - 2022-05-19

Added

  • BOSL license
  • API end points
    • Country
    • Block
    • Node address
    • User
    • Owner
    • Order
    • Item
  • Processing
    • Zcash transactions to ZGo items
    • Convert login memos to Users
    • Mark Owners as paid when payment is found on chain
    • Mark Owners as expired when expiration date is reached