From 9b3b298b85286162433febcdf49ecaedfad13d09 Mon Sep 17 00:00:00 2001 From: asonnenschein Date: Thu, 3 Oct 2024 09:20:50 -0400 Subject: [PATCH] finalize release changes and delete changelog --- CHANGES.txt | 443 ---------------------------------------------------- RELEASE.md | 24 +-- 2 files changed, 12 insertions(+), 455 deletions(-) delete mode 100644 CHANGES.txt diff --git a/CHANGES.txt b/CHANGES.txt deleted file mode 100644 index c35213f8..00000000 --- a/CHANGES.txt +++ /dev/null @@ -1,443 +0,0 @@ -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 diff --git a/RELEASE.md b/RELEASE.md index 0def8fc7..2054f115 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -2,33 +2,33 @@ *Planet maintainers only* -Releasing is a two-step process: (1) releasing on Github and test.pypi and (2) releasing to pypi. Releasing on Github will automatically trigger a release on test.pypi via a Github Action. Following manual confirmation of a successful and satisfactory release on test.pypi, release on pypi is triggered manually with the Github Action "Automatically Publish on TestPyPi". There is also an option to publish to test.pypi and pypi from your local machine. +Releasing is a two-step process: (1) releasing on GitHub and test.pypi and (2) releasing to PyPI. Releasing on GitHub will automatically trigger a release on test.pypi via a GitHub Action. Following manual confirmation of a successful and satisfactory release on test.pypi, release on PyPI is triggered manually with the Github Action `Autopublish to TestPyPI`. There is also an option to publish to test.pypi and PyPI from your local machine. -#### Versions and Stability +## Versions and Stability The SDK follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html) and therefore only major releases should break compatibility. Minor versions may include new functionality and patch versions address bugs or trivial changes (like documentation). -If depending upon official packages from pypi, a developer should feel comfortable specifying `planet == 2.*` unless depending on a specific feature introduced at a minor version, in which case `planet == 2.x.*` (where x is the minor version of the new feature) should suffice. +If depending upon official packages from PyPI, a developer should feel comfortable specifying `planet == 2.*` unless depending on a specific feature introduced at a minor version, in which case `planet == 2.x.*` (where x is the minor version of the new feature) should suffice. + +The default branch is always `main` and should be considered in-development but with tests and other build steps succeeding. -The default branch should be considered in-development but with tests and other build steps succeeding. ## Release Workflow 1. Create a release branch off of `main` that bumps the SDK version number and updates the changelog: - * Bump SDK version number in `planet/__version__.py`. - * Update `CHANGES.txt`, adhering to [Keep a Changelog](https://keepachangelog.com/). -2. Create a PR for the release branch and merge into `main`. + * Bump SDK version number in `planet/__version__.py` +2. Create a PR for the release branch and merge into `main` 3. Create a new GitHub release: * Set tag to release version * Set target to `main` * Set title to tag release version - * Copy description from the new entry in the changelog -4. Verify the successful run of the Github Action "Autopublish to TestPyPi" and validate the test release on [test.pypi.org](https://test.pypi.org/project/planet/) -5. Run the Github Action "Publish on PyPi", **!!!** Set Branch to the release branch **!!!** -6. Verify the successful run of the Github Action "Publish on PyPi" and validate the release on [pypi.org](https://pypi.org/project/planet/) + * Add short description of changes, adhering to [Keep a Changelog](https://keepachangelog.com/en/1.1.0/#how). +4. Verify the successful run of the Github Action `Autopublish to TestPyPI` and validate the test release on [test.pypi.org](https://test.pypi.org/project/planet/) +5. Run the Github Action `Publish on PyPI` +6. Verify the successful run of the Github Action `Publish on PyPI` and validate the release on [pypi.org](https://pypi.org/project/planet/) -### Local publishing +## Local publishing Publishing to testpypi and pypi can also be performed locally with: