- Large changes in config objects and schemas:
* replaced `Config` object with config utility functions `collect_configs_from_path`, `interpret_config_from_dict`, and `interpret_config_from_path`,
* pipeline and manager config objects are now `pydantic` schema classes, which are fully typed objects,
* removed `${env:variable}` from the config language.
- Changes in area managers:
* added `AreaManager.cache_grid` method,
* (**code-breaking**)improved functionalities of `BatchAreaManger`, instead of `tile_buffer` it now uses `tile_buffer_x` and `tile_buffer_y` config parameters,
* (**code-breaking**) improved `UtmZoneAreaManager`, replaced `patch_buffer` config parameter with `patch_buffer_x` and `patch_buffer_y` which now work with absolute instead of relative buffers ,
* implemented grid transformation methods for `UtmZoneAreaManager` and `BatchAreaManager`.
- Other core improvements:
* added `EOGrowObject.from_raw_config` and `EOGrowObject.from_path` methods,
* fixed an issue in `EOPatchManager`,
* improvements of pipeline logging, logging handlers, and filters.
- Pipeline improvements:
* Implemented `SwitchGridPipeline` for converting data between tiling grids.
* Large updates of `BatchDownloadPipeline` with restructured config schema and additional functionalities.
* `BatchToEOPatchPipeline` now works with `input_folder_key` and `output_folder_key` instead of `folder_key` and has an option not to delete input data. A few issues in the pipeline were fixed and unit tests were added.
* Minor improvements of config parameters in `MergeSamplesPipeline` and prediction pipelines.
* Implemented `DummyDataPipeline` for generating data for unit tests.
- New tasks:
* `SpatialJoinTask` and `SpatialSliceTask` for spatial operations on EOPatches,
* `DummyRasterFeatureTask` and `DummyTimestampFeatureTask` for creating EOPatches with dummy data.
- Updates in utilities:
* added utilities for spatial operations and grid transformations,
* implemented `eogrow.utils.fs.LocalFolder` abstraction,
* renamed `get_patches_without_all_features` into `get_patches_with_missing_features` from `eogrow.utils.filter` ,
* (**code-breaking**) updated `eogrow.utils.testing.run_and_test_pipeline` to work with a list of pipeline configs.
- Created the `eo-grow` package [documentation page](https://eo-grow.readthedocs.io/en/latest/).
- `eo-grow` is now a fully typed package. Added mypy and isort code checking to CI.
- Updated tutorial notebooks to work with the latest code.
- Many minor improvements and fixes in code, tests, and documentation.