- The
tiled serve ...
CLI commands now accept a--log-config
option, pointing to a custom uvicorn logging configuration file. An example file was added to the repository root,example_log_config.yml
. - Added
tiled.adapters.protocols
which will provide possibility for user to implement their custom adapters in a way that satisfies mypy. - Added
tiled.client.smoke
with a utility for walking a node and ensuring that the data in it can be read. - Added
tiled.client.sync
with a utility for copying nodes between two Tiled instances. - Show authentication state in
Context
repr.
- SQLite-backed catalogs now employ connection pooling. This results in a significant speed-up and avoids frequently re-opening the SQLite file.
- Metadata returned from the use of the
select_metadata
is now a one-item dictionary with 'selected' as the key, to match default type/behavior. - The method
BaseClient.data_sources()
returns dataclass objects instead of raw dict objects. tiled.client.sync
has conflict handling, with initial options of 'error' (default), 'warn', and 'skip'
- Propagate setting
include_data_sources
into child nodes. - Populate attributes in member data variables and coordinates of xarray Datasets.
- Update dependencies.
- The
content-encoding
blosc
was recently upgraded from Blosc to Blosc2. Thecontent-encoding
has been renamed toblosc2
to avoid version confusion between different versions of Tiled servers and clients.
- Metric-reporting had an error when
compress
timing was recorded butcontent-encoding
header was unset.
- Python 3.12 support
- Added
tiled.adapters.resource_cache
for caching file handles between requests.
- Removed object cache from the codebase. If
object_cache
is included in the server configuration file, a warning is raised that this configuration has no effected.
- The configuration setting
tiled_admins
did not work in practice. If a user in the list was already an admin (such as, after a server restart) an error was raised on startup. - The table creation statements for PostgreSQL were not committed. (This may have been a regression due to a change in SQLAlchemy defaults.)
- Tolerate HTTP responses that are missing a
x-tiled-request-id
header, such as when a proxy server responds with an error. - Use
httpx
status code sentinels (instead ofstarlette
ones) for typing client-side status codes.
- Removed upper bound version pin on
dask
. - Switched from
blosc
toblosc2
. - Made client objects dask-serializable
- Added support for registering multiple Assets with a DataSource in an update
- Usage of deprecated Pydantic 2.x APIs was updated.
- Specify a
fallback-version
,0.0.0
, to be used when the version-detection code cannot run.
- Support for specifying the format that uploaded data will be stored in.
- Support for storing uploaded tabular data in CSV format.
- A new HTTP endpoint,
PATCH /api/v1/table/partition/{path}
supporting appending rows to a tabular dataset. - A new method
DataFrameClient.append_partition
. - Support for registering Groups and Datasets within an HDF5 file
- Tiled version is logged by server at startup.
- Critical regression that broke
tiled serve directory ...
CLI.
- Updated the pydantic version in the pyproject.toml. Now the allowed versions are >2.0.0 - <3.0.0 .
- Changes to prepare for upcoming numpy 2.0 release
- Changes to address deprecations in FastAPI