zgo-backend/CHANGELOG.md

268 lines
6.9 KiB
Markdown
Raw Permalink Normal View History

2022-05-24 18:10:01 +00:00
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
2024-01-29 20:22:51 +00:00
## [1.8.1]
### Changed
- Changed license to MIT
- Updated to Haskell LTS 21.22
- Update to new version of `zcash-haskell`
2023-10-28 12:20:18 +00:00
## [1.8.0]
2023-09-28 15:47:05 +00:00
### Added
- Parser for Unified Addresses that validates the address
- Tests for UA parsing from wallets
- Function to scan new transactions using known viewing keys
- Function to identify the owners and VKs needed for tx scans
### Changed
- Order endpoint updated to ensure orders belong to shop before adding to DB.
- MongoDB driver updated to support MongoDB 6.
2023-09-28 15:47:05 +00:00
- Full validation of Sapling addresses to parser.
### Removed
2023-10-16 20:43:26 +00:00
- `api/orderx` endpoint.
2023-09-28 15:47:05 +00:00
- `makeZcashCall` function moved to the generic `zcash-haskell` library.
- `RpcResponse`, `RpcCall` types moved to the generic `zcash-haskell` library.
## [1.7.0]
2023-06-26 16:27:27 +00:00
### Added
- Parameter to config for number of confirmations for scan
- Endpoint for language for invoices
### Changed
- Modified payment confirmation to use new WooCommerce plugin API endpoint.
2023-06-26 16:27:27 +00:00
- Consolidated the `invdata`, `orderid` and `orderx` endpoints
- The `xerotoken` endpoint uses `session` for authentication
- The order by ID/token endpoint includes shop name
### Fixed
- The viewing key obfuscation of blank viewing keys
2023-05-25 15:42:40 +00:00
## [1.6.0]
2023-05-16 19:27:10 +00:00
### Added
- New JSON serialization for WooTokens.
- New `/api/ownervk` endpoint to save viewing keys
- Use of `zcash-haskell` library to validate Sapling viewing keys
2023-05-16 19:27:10 +00:00
### Changed
2023-06-15 13:55:39 +00:00
- Modified the process of scanning for payments to only scan addresses that have an active ZGo session and have enabled payment confirmations
2023-05-16 19:27:10 +00:00
- Modified the process to mark paid orders to ensure only payments to the shop's wallet get marked as paid
2023-05-25 15:42:40 +00:00
- Modified the `items` endpoint to use the login session to identify records
2023-05-16 19:27:10 +00:00
## [1.5.0] - 2023-05-15
2023-05-08 16:21:09 +00:00
### Added
- `isUserValid` function
- New middleware to validated requests come from an existing user
2023-05-10 19:58:31 +00:00
- New endpoint for the language data of the login page
2023-05-12 18:57:56 +00:00
- New `OwnerData` to represent informational values
- New `OwnerSettings` to abstract configuration settings for owners
2023-05-08 16:21:09 +00:00
### Changed
- Modified API tests to use `session` parameter.
2023-05-08 21:01:46 +00:00
- Modified `api/owner` endpoint to use a specific data structure to create new owners
2023-05-12 13:32:55 +00:00
- Modified `api/owner` endpoint to use session as input
2023-05-08 16:21:09 +00:00
2023-05-02 23:35:26 +00:00
## [1.4.1] - 2023-05-02
### Fixed
- Correct potential node errors when saving viewing keys
2023-05-02 20:12:49 +00:00
## [1.4.0] - 2023-05-02
2023-04-11 15:03:47 +00:00
### Added
- New type for Pro sessions
- New functions to save and read Pro sessions from DB
- New function to turn off Pro session
2023-04-28 18:08:09 +00:00
### Fixed
- Handling of potential failures of RPC calls to `zcashd` ([#6](https://git.vergara.tech/Vergara_Tech/zgo-backend/issues/6)).
2023-03-16 15:20:49 +00:00
## [1.3.0] - 2023-03-16
2023-02-02 21:14:28 +00:00
### Added
2023-02-02 21:14:28 +00:00
- New type to handle UI translation objects
- New endpoints for API to get/set translation
- Tests for translation endpoints
2023-03-14 15:17:31 +00:00
- Formal parser of ZGo-related tokens in memos
2023-02-02 21:14:28 +00:00
### Changed
2023-02-02 21:14:28 +00:00
- Remove old code for PIN generation
2023-02-28 17:19:08 +00:00
- Xero reference field to include the amount of ZEC received
- Separate periodic tasks from API server
2023-03-14 15:17:31 +00:00
- Zcash transaction monitoring changed to use memo parser
2023-02-02 21:14:28 +00:00
2023-03-15 20:52:52 +00:00
### Fixed
- Xero token generation for brand new users
2023-02-01 18:49:33 +00:00
## [1.2.5] - 2023-02-01
### Fixed
- Replaced the PIN generation with the cryptographically-secure `crypto-rng`.
2023-01-30 21:31:51 +00:00
## [1.2.4] - 2023-01-30
### Changed
- Enhance payments to account for early payments on active sessions.
2023-01-27 17:19:35 +00:00
## [1.2.3] - 2023-01-27
2023-01-27 17:01:05 +00:00
### Changed
- Implement `BLAKE3` for PIN hashing.
2023-01-25 17:20:19 +00:00
## [1.2.2] - 2023-01-25
### Fixed
- Corrected selection criteria for expiring owners query
2023-01-24 20:11:34 +00:00
## [1.2.1] - 2023-01-24
2023-01-24 16:21:17 +00:00
2023-01-24 19:27:32 +00:00
### Added
- New configuration fields for SMTP
2023-01-24 16:21:17 +00:00
### Fixed
- Owner expiration query
- Xero token expiration query
2023-01-09 16:01:44 +00:00
## [1.2.0] - 2023-01-09
2022-05-24 18:10:01 +00:00
2022-10-26 20:34:29 +00:00
### Added
- New utility to refresh Xero tokens periodically.
2022-11-14 21:56:30 +00:00
- New module for WooCommerce interaction.
2022-12-01 20:36:06 +00:00
- 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
2023-01-09 16:01:44 +00:00
- New `/wootoken` endpoint to generate a new token and query the token from the database.
2022-10-26 20:34:29 +00:00
### 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.
2022-10-26 20:34:29 +00:00
2022-10-08 13:39:13 +00:00
## [1.1.1] - 2022-10-08
### Changed
- Refactored the `api/owner` POST endpoint.
- Added logic to remove extra whitespace from viewing key strings
2022-10-01 14:25:53 +00:00
## [1.1.0] - 2022-10-01
2022-08-03 18:48:51 +00:00
### Added
2022-09-09 16:17:59 +00:00
- Feature to record a payment when detected on-chain
- Function to record a payment in Xero
2022-09-06 19:01:14 +00:00
- Tests for Xero account code
- Fields in `XeroToken` for Xero payment account code
- Support for the YWallet memo format
2022-08-20 13:18:40 +00:00
- API endpoint to request a Xero invoice
- API endpoint to generate ZGo order from external invoice
- Type `XeroInvResponse`
- Type `XeroInvoice`
2022-08-11 22:30:24 +00:00
- Type `XeroToken`
2022-08-10 15:19:18 +00:00
- Type `Xero`
- API endpoint to query Xero configuration
2022-08-03 18:48:51 +00:00
- Field `crmToken` for `Owner`
2022-08-03 19:13:33 +00:00
- Field `externalInvoice` and `shortCode` for `Order`
2022-08-03 18:48:51 +00:00
2022-09-22 20:20:10 +00:00
### Changed
- Improved error handling for API server
- CoinGecko price feed to include New Zealand dollar (NZD)
2022-09-06 19:01:14 +00:00
2022-07-27 13:18:12 +00:00
## [1.0.0] - 2022-07-27
2022-07-13 14:21:23 +00:00
### Added
2022-07-22 16:04:15 +00:00
- New functionality to read transactions for the given viewing keys
- New functionality to mark orders as paid once payment is found on-chain
2022-07-13 14:21:23 +00:00
- 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
2022-07-13 14:21:23 +00:00
2022-07-07 15:33:53 +00:00
### Changed
2022-07-26 20:45:45 +00:00
- 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
2022-07-13 14:21:23 +00:00
- Refactored code to use new `Config` type
2022-07-07 15:33:53 +00:00
- Enhance `decodeHexText` to support Unicode
- Enhance `encodeHexText` to support Unicode
2022-07-07 15:56:33 +00:00
- Update tests for encode/decode of memos
### Fixed
2022-07-25 17:29:02 +00:00
- Fixed the PIN generation
- Fixed calculation of order total to ensure 8 decimal places
2022-07-07 15:56:33 +00:00
- Fixed test for looking for an order with incorrect ID
2022-07-13 14:21:23 +00:00
- Fixed payment scan to focus only on new transactions
2022-07-07 15:33:53 +00:00
## [0.1.0.2] - 2022-05-25
2022-05-24 18:10:01 +00:00
### Added
- Changelog
- `paid` field in ZGoOrder type
- Test for `api/order/:id` endpoint with an invalid ID
2022-07-07 15:33:53 +00:00
### Fixed
2022-05-24 18:10:01 +00:00
- 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