Changelog moved to https://github.com/planetlabs/planet-client-python/releases

2.13.0 (2024-12-18)
- Add Planet class (`from planet import Planet`)
  - Planet is a client that uses sync methods. Users do not have
    to interact with asyncio to use the sync client.
  - the Planet class is implemented by calling out to the async methods.
    This should be transparent to users. Depending on uptake and feedback,
    the underlying implementation may change in the future (but we will commit
    to semantic versioning when it comes to breaking changes in the API).

2.12.0 (2024-12-09)
- Add parameters to the subscriptions list command: --source-type, --created, --start-time,
  --end-time, --updated, --hosting, --name, --name-contains, and --sort-by.
- Add parameters to the orders list command: --source-type, --name,
  --name-contains, --created-on, --last-modified, --hosting, and --sort-by.
- Remove the unused limit parameter of SubscriptionsClient.get_results_csv

2.11.0 (2024-10-21)

Added:
- Support for new Tanager item types and assets.

Updated:
- Development and release process documentation.

2.10.0 (2024-06-24)

Added:
- Adjust how PV source types are documented.

2.9.0 (2024-06-05)

Added:
- Support for forest_carbon_monitoring_3m (#1045).

2.8.0 (2024-06-05)

Added:
- Support for hosting parameter in Orders API (#1042)
- New Data API tests (#1041)

2.7.1 (2024-05-29)

Fixed:
- Rearranged arguments in Data API search commands to not break existing scripts  (#1038).

2.7.0 (2024-05-21)

Added:
- Support for using feature references in Orders API, Data API and Subscriptions APIs (#1032).

2.6.0 (2024-04-24)

Added:
- Support for analysis_ready_ps data layers in Subscriptions API (#1033).

2.5.0 (2024-04-04)

Added:
- Support Subscriptions API hosting block for Sentinel Hub in the CLI (#1029).
- Support for field_boundaries_sentinel_2_p1m in Subscriptions API (#1026)

2.4.0 (2024-03-19)

Added:
- Support Subscriptions API hosting block for Sentinel Hub (#1023).

2.3.0 (2024-02-09)

Added:
- Support Subscriptions API `PATCH` requests (#1020).
- Add path_prefix to Subscriptions API request builder (#1018).

Fixed:
- Fixed datetime serialization bug (#1016).

2.2.0 (2023-10-16)

Added:
- Support for forest_carbon_diligence_30m data layer in Subscriptions API (#1012).
- Support for cloud_filter tool in Subscriptions API (#1014).

2.1.1 (2023-07-20)

Changed:
- Version 2.1.0 was not compatible with Python 3.7 because of an import of
  typing.Literal. It is now imported exclusively from typing_extensions and
  Python 3.7, while EOL, will be supported for a while longer (#).
- The upper version pin for click has been removed. This project ignores type
  errors involving click.command() and click.group() since 2.1.0 and does not
  need to avoid click 8.1.4 or 8.1.5.

2.1.0 (2023-07-17)

Added:
- Support for publishing stages and time range types has been added to the
  subscriptions CLI (#992).
- The --cloudconfig option of the request command of the orders CLI has been
  superseded by a new --delivery option, with --cloudconfig left as an alias.
  New --archive-type, --archive-filename, and --single-archive options to
  control the zip archiving of order outputs without any cloud storage delivery
  have also been added (#990).


2.1b1 (2023-07-11)

Added:
- The request command of the subscriptions CLI has a new --clip-to-source
  option (#988).
- A new request-pv command has been added to the subscriptions CLi (#988).
- Support for catalog source publishing stages (#977) and time range types
  (#978) have been added to subscription_request.catalog_source.
- Add the option to get Planetary Variable subscription results as a CSV file
  (#981).
- A subscription_request.planetary_variable_source function has been added
  (#976).
- The subscription_request.build_request function has a new option to clip to
  the subscription's source geometry. This is a preview of the default behavior
  of the next version of the Subscriptions API (#971).


2.0.3 (2023-06-28)

Changed:
- Orders CLI now forces STAC to false for GEE deliveries. This is due to the
  Orders API change to surface validation errors when stac is specified for GEE
  orders.(#957)


2.0.2 (2023-05-24)

Fixed:
- Fixed bug where SkySatVideo was not recognized as a valid data api item type.
- Fixed wheel name to indicate that only python 3 is supported and updated
  build metadata to indicate that the package is now a stable release and only
  supports Python 3.


2.0.1 (2023-05-10)

Fixed:
- Fix security issue where secret file was being created with read access other
  users on the machine. Automatically fixes the file permissions to only read
  and write the first time the file is accessed and continues to enforce the
  proper file permissions going forward.

Docs:
- Fixed broken links on "CLI for Data API Tutorial" page (#952).
- Protect against injecting javascript:URI into edited href tags in docs (#934).
- Remove --pre --user from pip install instructions (#948).
- Update the syntax of example code in the docstrings in the Order and Data
  clients and add example code to the Subscriptions client docstring (#943).


2.0.0 (2023-04-17)

User Interface Changes:
- Match search-create and search-update name/filter options/parameters in Data
  API and CLI to match to search UI (#883, #898, #909).
- Change Subscriptions CLI function naming from describe to get to match other
  clients (#900).
- Removed (unused) checksum argument from download_order (#896).
- Move planet data stats CLI interval and filter args to required options
  (#894).

Changed:
- Data and Subscriptions API and CLI now normalize and validate item type and
  asset type (#902, #905).
- Bulk create order example now demonstrates use of a dynamic list (#913).

Added:
- Added bandmath tool to order_request (#876)
- Subscriptions request generator api/cli no longer requires geojson entry for
  catalog source to only be a geometry, it can pull the geometry out of a
  feature and featurecollection (#880)

Fixed:
- Fixed bug that caused Landsat asset download with the Data Client fail
  (#928).
- Fixed notifications entry layout generated by order_request that was causing
  the notifications entry to not be used in the generated order (#917).
- Session class unit tests are marked to be run within an event loop and are
  no longer skipped (#881).


2.0.0-rc.2 (2023-03-15)

Added:
- The Session class can now construct clients by name with its client method
  (#858).
- Updated product bundle spec to 2/24/23 version.


2.0.0-rc.1 (2023-03-06)

User Interface Changes:
- Stdin is no longer the default for CLI arguments/options that read from
  stdin, string, or filename. To specify stdin, use `-`.
- planet data filter cli command outputs empty filter by default, helpers must
  be specified with flags.
- (edit 2023-03-15, added) planet data search filter is specified by --filter
  flag.

Changed:
- Connect retries wait time adjusted from 1sec to just shy of 1sec to
  optimize distribution

Added:
- Data CLI commands: asset-get, asset-download, asset-activate, asset-wait,
  search-run, search-list, search-update, search-delete
- Add AssetStatusBar reporter, use in data asset-wait cli command
- Add subscription request helper methods in python api
- Add planet subscriptions request CLI command
- Add support for base_url in subscriptions client
- Add support for MultiPolygon in orders clip tool

Fixed:
- Remove null printout from CLI subscriptions cancel command
- Update session_configuration.py to latest api


2.0.0-beta.1 (2022-12-07)

Changed:
- Auth.write() renamed to Auth.store() to match CLI command
- CLI now only sources from the configuration file
- the following functions were changed to generator functions and therefore no
longer require awaits: OrdersClient.list_orders, DataClient.search,
DataClient.run_search, SubscriptionsClient.list_results,
SubscriptionsClient.list_subscriptions.
- - CLI command planet orders request arguments have changed so only IDs is
positional, all others are flags.

Added:
- support for Sentinel-2 as a target in the harmonization tool in
orders_request
- `planet auth store` CLI command for storing authentication info
in the configuration file

Fixed:
- status option for list_subscriptions now works
- subscriptions list_results now returns more than the first page


2.0a6 (2022-11-10)

- Add SDK identification headers to communication with servers (#754).
- Add new example (example subfolder): Downloading multiple assets in
  parallel (#722).

2.0a5 (2022-10-20)

- Implement python api data client asset download and supporting functions (#707).
- `planet data filter` cli command outputs a valid empty filter if all
  subfilters are removed (#654).
- 'planet orders request' cli command now provides supported bundles for a
  given item type, bundle and item type are case-insensitive, and bundle and
  item type are moved to positional arguments (#680).

2.0a3 (2022-09-07)

- A change in behavior of httpx affected download of order assets in 2.0a2.
  We're working around this change in behavior (#685).
- Subscriptions API methods communicating with particular subscription
  endpoints (cancel_subscription, update_subscription, get_subscription, and
  get_results) were broken due to missing 'f' prefixes (#687). The prefixes
  have been added.
- STAC metadata can now be added to Orders requests (#676).
- More help and better error messages around bundles and asset types have been
  added to the Orders API (#650, #675).
- Help for planet-subscriptions-describe and update commands has been
  corrected, resolving the issue reported in #658.

2.0a2 (2022-08-04)

- Upgrade httpx to 0.23, change how quota exceptions are caught
- Increase reliability of communication with Planet servers and avoid clobbering them
- Add CLI data stats
- CLI search-quick -> search, API quick-search -> search
- limit option: remove None as a possibility, value of zero means no limit
- fix sort param field
- add sort option to planet data search-quick

2.0a1 (2022-06-28)

This is the first pre-release of the new features and interfaces coming in
version 2.0.0 later this year. A more complete listing of changes in this
package is coming soon. The highlights are

- Requirement of Python version 3.7 or newer.
- Support for Planet Data, Orders, and Subscription APIs.
- A Python package (the SDK) with asyncio support.
- A new and improved command line interface (the CLI).

1.4.6 (2020-05-18)

- New: you can now pass a search string to the Orders CLI via `--ids_from_search`
- New: the Orders CLI now has a shortcut `--clip` for clipping operations
- Fix: you can now download Order locations one by one
- Multiple test fixes: Python 2.7 tests, flake8, & make html-docs warning
- Add support for new 5-band asset types

1.4.5 (2020-02-11)

 - Add support for new skysat video item and asset types
 - Add `strict` keyword argument to searches

1.4.4 (2019-12-17)

- Pin requests-futures version to avoid error message.
- Fix broke jq parsing for regular data search
- Under certain conditions the response body can get printed more than once

1.4.3 (2019-11-14)

- Updating copyright date for modified files
- Removing monkey patch
- Make sure base_url has a trailing /
- Simplified configuration of analytics client to be consistent

1.4.2 (2019-10-04)

- added new asset type

1.4.1 (2019-09-17)

- fix quick search regression: allow multiple item types as options in quick search again

1.4.0 (2019-09-16)

- Add CLI support for Planet Orders API

1.3.2 (2019-08-27)

- add new skysat asset types

1.3.1 (2019-07-19)
-------------------------------------
- report the default value for item limit
- replace hardcoded values with global variables
- add header for data examples in Examples page
- adding before, after options, separating `features list` from `features
- Added default limit of 100 to `analytics collections features list`
- Added separate `analytics collections features list-all` that will keep retrieving results with no limit
- Added before, after options to both `analytics collections features list` and `analytics collections features list-all`

1.3.0 (2019-07-10)
-------------------------------------
- Added support for Analytic Feeds
- Fixing incorrect shorthand CLI arg
- Add comment to explain why the get resource entrypoint won't work in AF next.
- unit tests for analytics commands
- Adding auto-pagination for analytics commands
- Add additional mosaics entrypoints to list mosaics for a series, as well mosaics for AF resources
- Separate out analytics configuration to allow for using analytics alongside mosaics, even in AF next

1.2.4 (2019-06-27)
-------------------------------------
- Add new UDM2 and related asset types

1.2.3 (2019-06-11)
-------------------------------------
- Authenticate item and asset type calls from CLI
- Update tox config to remove obsolete Python 3 versions and allow pytest args
- mimetypes.guess_extension() returns either .tif or .tiff - test accordingly
- Let date_range filter handle dates given with and without timezones
- Update copyright date
- Update Planet address
- Limit arg is required for items_iter()
- Add pywin32 dep for windows platforms
- Flake8 fixes
- Fix improper handling of mixed states when activating multiple assets with Downloader.
- Force TravisCI to upgrade pytest to avoid conflicts
- Add new item types to CLI tool in order to match API's item-types endpoint.
- Don't let final report get swallowed up with ANSI output
- Output the same report for all downloads via CLI

1.2.2 (2019-03-04)
-------------------------------------
- Use requests' urlparse for Py2 & Py3 compatibility
- Prevent empty filenames when attempting to download assets without a Content-Disposition header
- Add more Python 3.7 support by removing keywords
- Rename --rbox to --bbox and leave --bbox as an alias for backwards compatibility
- De-duplicate explicit jq hyperlink (avoids sphinx warning)
- Add examples of mosaic functionality
- Update CLI command help info for mosaic functionality
- Add LICENSE explicitly to setup.py so that pex can find it

1.2.1 (2018-11-08)
-------------------------------------
- Set login headers as content-type:application/json during planet init

1.2.0 (2018-10-10)
-------------------------------------
- Added support for mosaics
- Unpinned setuptools
- Upgraded setuptools and pip
- Built universal wheels
- Implemented filter combining in the CLI
- Fixed flake8 violations, mostly trivial
- Added sentinel1 item type
- Added SR & skysat asset types to defaults
- Added tox config for testing against multiple Python versions
- Regenerated docs

1.1.0 (2017-09-15)
-------------------------------------
- update docs to use cloud_cover as field_name
- move version and update user agent with client name and version
- fix cli reference doc generation, flags have dash
- Support new assets as they become available in the API without changes needed to the client

1.0.1 (2017-08-22)
-------------------------------------
- update the doc strings with defaults
- update allowed item/asset types for skysat
- date_range improvements, handle Z suffix in strp_lenient

1.0.0 (2017-04-01) Code name: no-joke
-------------------------------------
- Remove V0 API support
- Initial V1 Data API support

0.0.6 (2016-02-17)
------------------
- Support for 'aoi_id' (saved geometry) queries in 'search' command
- More robust handling of potential download failures

0.0.5 (2015-12-01)
------------------
- Support RapidEye in CLI
- Fix examples in README
- Fix duplicate example in doc

0.0.4 (2015-09-23)
------------------
- Some API fixes related to trailing slashes
- Documentation refresh
- Area search for mosaic quads
- Use workspace id for search
- Editing workspace filters on CLI
- More products for sync tool
- Fix out of sync issue in sync tool
- Delete discarded temp files in atomic file handling
- Cancellation of async processes

0.0.3 (2015-08-25)
------------------
- Resolve extraneous 'None' appearing in CLI usage
- Documentation reworking
- Check for destination directory existence
- Some AOI validity checking for WKT/GeoJSON
- Paging improvements + support in CLI search results
- Mosaic/quads support
- Atomic file writing
- Pretty print by default when attached to terminal output
- Initial workspace support

0.0.2 (2015-08-05)
------------------
- Add init command for fetching and storing key
- Paging fixes for search/metadata
- Fix bad redirect handling related to API change
- Use published field, not acquired field for syncing

0.0.1 (2015-07-17)
------------------
- Initial release
