# Changelog

All notable changes to the `earthscale` client package are documented here.

## 0.16.0

### New Features

* **Dataset listing now supports filtering.** `list_datasets()` accepts `name`, `tags`, `bbox`, `created_after`, `created_before`, and `limit` parameters to narrow results. All filters use AND logic.
* **New `iter_datasets()` method** for iterating over large result sets with automatic cursor-based pagination. This is the recommended way to list datasets.
* **New `PaginatedListDatasetResponse` model** for cursor-based pagination, exposed at the top level.

### Changes

* `ListDatasetResponse` now includes an `updated_at` field.
* `list_datasets(limit=...)` and `iter_datasets(page_size=...)` now raise `ValueError` if the value is outside the 1–1000 range.

### Fixes

* Fixed `ListDatasetResponse.tags` docstring (was incorrectly labeled as "labels").

## 0.15.1

### New Features

* Support `tags` on datasets as key-value pairs, deprecating `labels`.
* Add `AddDatasetRequest.tags` field; `labels` is now deprecated.
* Add `AddDatasetResponse.dataset_version_id` field.
* Pretty-print client models using JSON in IPython environments.

### Fixes

* Fix type handling in client for doc generation.
* Nicer error handling for forbidden errors.

## 0.15.0

### New Features

* OAuth login flow with auto-detected free port.
* Log which servers are used on client init.

### Fixes

* Fix a type warning in the CLI.

## 0.14.2

### New Features

* Add `pixel_info_url` to `TileServer` response.

### Fixes

* Correctly pass in credentials file.

## 0.14.0

### New Features

* Add proxy support in client.

### Changes

* Improve client docstrings.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.earthscale.ai/python-api/changelog.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
