22Write the date in place of the "Unreleased" in the case a new version is released. -->
33# Changelog
44
5+ ## 0.1.0-b27 (2025-05-08)
56
6- ## Unreleased
7+ _ This release requires a database migration of the catalog database._
8+
9+ ``` none
10+ tiled catalog upgrade-database [postgresql://.. | sqlite:///...]
11+ ```
12+
13+ ### Added
14+
15+ - New access policy ` TagBasedAccessPolicy ` which introduces more robust
16+ authorization based on the concept of tagging. When this policy is used,
17+ access to data is controlled by the node's ` access_blob ` (i.e the tags applied
18+ to that node).
19+ - Added new ` access_blob ` column to catalog database, in support of the new
20+ authorization. This blob typically contains one of: resource owner (creator),
21+ or a list of access tags.
22+ - Added new filter type ` AccessBlobFilter ` which filters nodes based upon their
23+ ` access_blob ` contents. In support of the new authorization.
24+
25+ ### Changed
26+ - Tiled now accepts a single ` access_control ` configuraton for the entire
27+ server, only. Access policies are now a server-wide singleton used for
28+ all access requests. Access control can no longer be specified on
29+ individual trees.
30+ - Removed ` path_parts ` arg from access policy signatures and related.
31+ - Effective scopes for the principal (from authN) are now threaded into
32+ access policies and related.
33+ - Removed ` access_policy ` from ` MapAdapter ` and ` CatalogAdapter ` ; accesss policies
34+ are now set server-wide only.
35+
36+ ## 0.1.0-b26 (2025-05-07)
37+
38+ ### Added
39+
40+ - New query parameter ` drop_revision ` on endpoints ` PUT /metadata/{path} `
41+ and ` PATCH /metadata/{path} ` . If set to true, the version replaced by
42+ the update is _ not_ saved as a revision. This is exposed in the Python
43+ client via a new keyword-only argument ` drop_revision ` in
44+ ` update_metadata ` , ` patch_metadata ` , and ` replace_metadata ` .
45+
46+ ### Fixed
47+
48+ - A critical bug in the ` mount_node ` feature introduced in the
49+ previous release prohibited the server from starting when
50+ ` mount_node ` was used with a PostgreSQL database.
51+
52+ ## 0.1.0-b25 (2025-05-06)
53+
54+ ### Added
55+
56+ - New optional parameter to catalog configuration, ` mount_node `
57+ enables mounting different sub-trees of one catalog database
58+ at different prefixes. This is an advanced feature to facilitate
59+ migration from many catalogs to one. See
60+ ` tiled/_tests/test_mount_node.py ` for usage.
61+
62+ ## 0.1.0-b24 (2025-05-06)
63+
64+ ### Added
65+
66+ - Support for reading numpy's on-disk format, ` .npy ` files.
67+
68+ ### Changed
69+
70+ - In server configuration, ` writable_storage ` now takes a list of URIs,
71+ given in order of decreasing priority.
72+ - Adapters should implement a ` supported_storage ` attribute, as specified
73+ in ` tiled.adapters.protocols.BaseAdapter ` . This is optional, for
74+ backward-compatiblity with existing Adapters, which are assumed to
75+ use file-based storage.
76+
77+ ### Fixed
78+
79+ - When using SQL-backed storage and file-backed storage, Tiled treated SQLite
80+ or DuckDB files as if they were directories of readable files, and
81+ included them superfluously in a check on whether assets were situated
82+ in a readable area.
83+ - Update data_sources in the client after receiving a response from the server.
84+ Removed the (unused) ` data_source ` parameter from the ` PUT /data_source/ `
85+ endpoint; the id of the updated data source must be included in the structure
86+ within the body of the request.
87+
88+ ## 0.1.0-b23 (2025-04-24)
89+
90+ ### Added
91+
92+ - New query type ` Like ` enables partial string match using SQL ` LIKE `
93+ condition.
94+
95+ ### Changed
96+
97+ - Exposed ` Session.state ` information from database to enhance custom access
98+ control developments.
99+
100+ ## 0.1.0-b22 (2025-04-21)
101+
102+ ### Added
103+
104+ - Tiled now retries HTTP requests that fail due to server-side (` 5XX ` ) or
105+ connection-level problems.
106+ - Support for ` async ` streaming serializers (exporters)
107+
108+ ### Changed
109+
110+ - Iteration over a ` Composite ` client yields its (flattened) keys, not its
111+ internal parts. This makes ` __iter__ ` and ` __getitem__ ` consistent.
112+
113+ ## 0.1.0-b21 (2025-04-15)
7114
8115### Added
9116
@@ -15,15 +122,17 @@ Write the date in place of the "Unreleased" in the case a new version is release
15122
16123- Adjust arguments of ` print_admin_api_key_if_generated ` and rename ` print_server_info `
17124- Allow ` SQLAdapter.append_partition ` to accept ` pyarrow.Table ` as its argument
125+ - Fix streaming serialization of tables keeping the dtypes of individual columns
18126
19127### Maintenance
20128
21129- Extract API key handling
22130- Extract scope fetching and checking
23131- Refactor router construction
24132- Adjust environment loading
25- - This is a breaking change if setting TILED_SERVER_SECRET_KEYS or TILED_ALLOW_ORIGINS,
26- TILED_SERVER_SECRET_KEYS is now TILED_SECRET_KEYS and these fields now require passing a json
133+ - This is a breaking change if setting ` TILED_SERVER_SECRET_KEYS ` or
134+ ` TILED_ALLOW_ORIGINS ` . ` TILED_SERVER_SECRET_KEYS ` is now
135+ ` TILED_SECRET_KEYS ` and these fields now require passing a json
27136 list e.g. `` TILED_SECRET_KEYS='["one", "two"]' ``
28137- More type hinting
29138- Refactor authentication router construction
0 commit comments