Skip to content

Latest commit

 

History

History
349 lines (214 loc) · 12.6 KB

CHANGELOG.md

File metadata and controls

349 lines (214 loc) · 12.6 KB

Changelog

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

This project adheres to Semantic Versioning.

Added

  • Stability improvements.

3.2.1 - 2024-11-08

Fixed

  • Issues with parsing Items and Shipments using the new data-component, selectors made more precise.
  • Transactions use util selector methods, so consistent use of trying a list of selectors is maintained.

3.2.0 - 2024-11-07

Added

  • Support for Transactions.
  • Improvements for currency parsing.

Changed

3.1.0 - 2024-11-04

Added

  • python-dateutil as a dependency is now used to parse dates, increasing the types of dates supported and eliminating manually splittings strings apart to find the date.
  • parse_date to simple_parse.
  • Cleanup for parsing payment method.
  • Cleanup for parsing currency totals.
  • Stability improvements.

Changed

  • Replaced simple_parse's link arg with a more generic attr_name (pass "href" or "src" as the value for the same behavior).
  • Order.payment_method_last_4 parses to an int, and now uses safe_simple_parse.

3.0.0 - 2024-11-03

Added

  • Retry support to CLI when stale session fails to authenticate the first time.
  • Improvements to exception messages on auth failures.
  • Documentation improvements.

Fixed

  • Several parsing issues with the implementation of Amazon's new data-component tag.

Removed

  • Order.order_shipped_date, this cannot be consistently parsed from Amazon.
  • Order.refund_completed_date, this cannot be consistently parsed from Amazon.

2.0.3 - 2024-11-01

Added

  • Further support for Amazon's new data-component tag on order price, seller, and return eligibility, and fixing an issue with Shipment parsing.
  • Parsable.to_date() attempts multiple date formats.

Fixed

  • An issue with Shipments parsing with Amazon's new data-component.

2.0.2 - 2024-10-30

Added

  • item_class to the config file, which allows for overriding the Item class.
  • Support for Amazon's new data-component tag on order subtotals.
  • Build and stability improvements.

Fixed

  • The return value of Order._parse_recipient() is now optional, so parsing doesn't break digital goods without a shipping address.
  • Redundant order ID logic to parse from the URI, simplified to consistently fetch from page.
  • Support for order details selector on Amazon's legacy digital orders page.

2.0.1 - 2024-10-27

Added

Build and stability improvements.

2.0.0 - 2024-10-26

Added

  • Support for Amazon's new data-component tags.
  • order_class to the config file, which allows for overriding the Order class.
  • shipment_class to the config file, which allows for overriding the Shipment class.
  • Simplified integration tests to more quickly catch regressions.
  • Bug fixes and stability improvements.

Changed

Removed

1.1.4 - 2024-06-07

Added

  • Improvements to helper functions for simple parsing support (prefix_split, parsing improvements, and more).
  • Bug fixes and stability improvements.

1.1.3 - 2024-06-05

Added

  • Config is now managed through a YAML file, with support for CLI overrides.
  • Documentation improvements.

Fixed

  • Parsing issues due to change in Amazon.com DOM.
  • Other minor bug fixes.

1.1.2 - 2024-05-18

Added

  • Build improvements.
  • Documentation improvements.
  • Test improvements (Amazon no longer provides the condition field in many cases).

Fixed

  • Raise AmazonOrdersNotFoundError when Order is not found.
  • Prices with thousands separator now parse properly.

Changed

1.1.1 - 2024-04-09

Added

  • Build improvements.
  • Test improvements.

Changed

  • Renamed kwarg passed to IODefault.prompt() from captcha_img_url to img_url.
  • Renamed kwarg passed to IODefault.prompt() from mfa_device_select_choices to choices.

1.0.16 - 2024-03-24

Added

  • constants.BASE_URL will look for the environment variable AMAZON_BASE_URL before defaulting to "https://www.amazon.com".
  • Build and stability improvements.

1.0.15 - 2024-03-05

Added

  • Build and style improvements.
  • Documentation improvements.
  • pytest to streamline running unit and integration tests.

Removed

  • conf.VERSION, moved all version information to amazonorders/__init__.py. Get package version with from amazonorders import __version__ instead.

1.0.14 - 2024-02-26

Added

  • Build improvements.

Changed

  • Renamed make check-style to make check.

1.0.13 - 2024-02-20

Added

  • login command to CLI.
  • If --username or --password are not given and no stored session, CLI will prompt.
  • Build improvements.

Fixed

  • Issue where Parsable objects could not be pickled due to BeautifulSoup Tag objects.

1.0.12 - 2024-02-11

Added

  • Relative dependency pinning in pyproject.toml.
  • Style and stability improvements (check flake8 with make check-style).

Removed

  • requirements.txt files to streamline in to pyproject.toml.

1.0.11 - 2024-02-09

Changed

  • version command now includes Python version and doesn't printer banner, for easy parsing.

1.0.10 - 2024-02-08

Added

  • Migrated to pyproject.toml.

1.0.9 - 2024-02-07

Added

  • AuthForm's now passes captcha_img_url to its prompt() fallback for Captcha, useful for overriding IODefault.
  • MfaDeviceSelectForm now passes mfa_device_select_choices to prompt(), useful for overrides IODefault.
  • Documentation improvements.

1.0.8 - 2024-01-30

Added

  • Stability improvements.

1.0.7 - 2024-01-29

Added

  • AuthForm abstract class, and migrated all auth flow items to subclasses of this class.
  • Parsable.simple_parse(), which can handle most basic fields when parised with CSS selectors.
  • Stability improvements.
  • Test improvements.

Changed

  • Moved all constant variables (URLs, CSS selectors, etc.) to constants.py.
  • Migrated entities to use CSS selector constants.
  • constants.SIGN_IN_URL is now the landing page for login, the old value has been moved to constants.SIGN_IN_REDIRECT_URL.

1.0.6 - 2024-01-25

Added

  • Support for when local session data is stale (Amazon prompts us to login again).
  • Documentation improvements.

Fixed

  • Regression in the Captcha flow introduced in 1.0.5.

1.0.5 - 2024-01-25

Added

Changed

1.0.4 - 2024-01-24

Added

  • A new OTP auth flow from Amazon that can occur after Captcha.
  • Parameters --max-auth-attempts and --output-dir to CLI.
  • DEFAULT_OUTPUT_DIR, which defaults to os.getcwd(), but allows users to change where output files are written.
  • Troubleshooting section to the docs.
  • Test improvements, including the ability to run dynamic tests using private order data from JSON files.

Changed

  • Improved string representations of entities, including Order, moved string representation of all fields back to cli.py out of the __str__ method.
  • Moved DEFAULT_COOKIE_JAR_PATH to conf.py.

1.0.3 - 2024-01-18

Added

  • CLI improvements.
  • Documentation improvements.

1.0.2 - 2024-01-18

Added

  • IODefault for I/O operations, which can be extended to use something other than print() and input().
  • Documentation improvements.
  • Test improvements.

Removed

  • Orders.print_output variable, cli.py now handles output.

1.0.1 - 2024-01-17

Added

  • Auth flow now also checks session cookies in addition to parsing the page for signs of login.
  • All fields to string representation of Order, so they are not output on the CLI.
  • logout command to CLI.
  • Documentation improvements.
  • Test improvements.

Fixed

  • Improvements to CLI, including error message cleanup on auth exceptions.
  • Order.order_details_link is now properly populated even on the details page.
  • .gitattributes to HTML files are now ignore by Linguist.

1.0.0 - 2024-01-16

  • First stable release of amazon-orders.