# 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).

## [0.9.2] - 2022-10-13

### Changed

- Minimum node version is now 14.20.0

### Fixed

- Fixed failing Portokasse login after platform links were updated (Thanks to @as19git67)

## [0.9.1] - 2021-11-16

### Fixed

- Rounding error in shopping cart summary total price (Thanks to @as19git67)

## [0.9.0] - 2021-08-23

### Added

- Product matching based on content information
- Paper and envelope calculations for product matching
- Product now have a `properties` key with various information about the usage
  and features of the product as well as flags for registered, priority and
  tracking ability

### Changed

- Product structure for weight and dimension ranges changed

## [0.8.0] - 2021-08-20

### Added

- Shopping cart matches product with receiver address to avoid wrong vouchers

### Fixed

- User did not set wallet balance if it was empty with zero Euros

## [0.7.1] - 2021-08-20

### Fixed

- The domestic flag for products did not match the actual data structure

## [0.7.0] - 2021-08-17

### Added

- Support for catalogs from ProdWS

### Changed

- `ShoppingCart` now has vouchers in the new property `vouchers`

## [0.6.0] - 2021-08-15

### Added

- Orders can now be downloaded to your computer
- PNG orders also extract the archive after download
- All useful interfaces are now available from the main package

### Changed

- Credentials are now copied before use in the credential stores

### Fixed

- Fixed typo in `OneClickForAppServiceOptions`
- Order response property `walletBallance` is now optional as it does not occur
  in the response of `retrieveOrder()`

## [0.5.2] - 2021-08-13

### Added

- Portokasse journal lists top up and order history
- Checkout supports PPL versions of products
- Using the `.cache` directory instead of the global `/tmp` folder

### Changed

- Added eslint and prettier to the project and updated code style

### Fixed

- Checkout option `shopOrderId` is now a number

## [0.5.1] - 2021-08-11

### Changed

- Overall error handling from services and stability update
- Services now take care of initialization state by theirself
- Local shopping cart options can be used prior to 1C4A service init

## Fixed

- Rounding error in total amount of shopping cart summary
- `getShoppingCartSummary()` now has return type `ShoppingCartSummary`

## [0.5.0] - 2021-08-10

### Added

- Portokasse service support to top up your account
- Dependency injection with inversify
- Addresses now support state codes that get added in front of the zip code

### Changed

- `getUserInfo()` returns a promise as it makes use of the Portokasse service
  to retrieve live wallet balance data

### Fixed

- Run scripts work on Windows as well

## [0.4.3] - 2021-08-05

### Added

- Shopping car items support product price in cents together with the product
  code if the ProdWS is not used
- dryrun checkout is default in test environment
- Added user data information

### Changed

- User info can only be updated once the user is authenticated

### Fixed

- User info `showTermsAndConditions` is now updated if false is provided

## [0.4.2] - 2021-07-28

### Added

- Product list can be loaded for a given date to retrieve outdated products
- Code coverage support with codecov

### Changed

- More detailed user information data are retrieved from
  `internetmarke.getUserInfo()`
- Restructured readme
- Cached files get invalid if the internetmarke package received an update

## [0.4.1] - 2021-07-28

### Added

- Adjusted tests for the new app structure

### Changed

- Address parser is now more generic

### Fixed

- Named address fields `salutation` and `title` can now be added

## [0.4.0] - 2021-07-28

### Added

- PDF format support for preview and ordered vouchers
- The output format of a shopping cart can be defined during checkout
- Page format template are loaded from the server (for PDF format)
- All static content lists from the services are cached file based
- Vouchers (preview and ordered) support images from the public gallery
- Manifest and shopping list PDF support for ordered shopping cart
- For testing the `dryrun` option on checkout only validates the shopping cart
  locally
- Order management for the shopping cart can retrieve, update and remove items
- Page format positions are generated by default if not defined
- Complete example file in `examples` folder for easier adopion

### Changed

- TypeScript rewrite of the whole project
- Switched from pino to debug logger
- Switched from Travis to GitHub ctions

### Deprecated

- Earlier 0.3.0 api is outdated and incompatible with 0.4.0

## [0.3.0] - 2018-03-27

### Added

- Product service provides available products
- File cache stores product list for a day
- Retrieve earlier orders by id

### Changed

- `internetmarke.orderVoucher` now takes a productCode or product from the
  product service

## [0.2.1] - 2018-02-25

### Added

- Error handling to prevent invalid usage

### Changed

- Refactored 1C4A service to own file

### Fixed

- Error handling in order process
- Converted numeric address zip to string

## [0.2.0] - 2018-02-20

### Added

- Support for sender and receiver addresses for vouchers

## [0.1.1] - 2018-02-19

### Added

- Generate vouchers in PNG format without addresses
- Generate order id
- Preview PNG vouchers
- AddressZone and FrankingZone layout supported
- Load public gallery images
