diff --git a/sync/advanced/compatibility.mdx b/sync/advanced/compatibility.mdx index 444e6e9a..1c07e214 100644 --- a/sync/advanced/compatibility.mdx +++ b/sync/advanced/compatibility.mdx @@ -106,7 +106,8 @@ This table lists all fixes currently supported: | `timestamps_iso8601` | [Link](#timestamps_iso8601) | 1.15.0 | 2 | | `versioned_bucket_ids` | [Link](#versioned_bucket_ids) | 1.15.0 | 2 | | `fixed_json_extract` | [Link](#fixed_json_extract) | 1.15.0 | 2 | -| `custom_postgres_types` | [Link](#custom_postgres_types) | 1.15.3 | 2 | +| `custom_postgres_types` | [Link](#custom_postgres_types) | 1.15.3 | 2 | +| `fixed_booleans_in_json` | [Link](#fixed_booleans_in_json). | 1.27.0 (TODO)| None | | `unstable_sqlite_expression_engine` | [Link](#unstable_sqlite_expression_engine). | 1.22.0 | None (unstable) | ### `timestamps_iso8601` @@ -200,6 +201,18 @@ With this fix applied: ``` - Multi-ranges sync as an array of ranges. +### `fixed_booleans_in_json` + +Most source databases supported by PowerSync have a dedicated type for boolean values. +SQLite does not, and uses `0` and `1` integers by convention. For boolean columns, +PowerSync correctly translates values to integers. + +Booleans can also appear in nested structures, e.g. in JSON objects or arrays, +or plain Postgres composite types, ranges and arrays. These are synced as JSON which supports +boolean literals, but the service still used to map boolean values embedded in such structures to integers. + +Enabling this option makes the service preserve booleans in JSON structures. + ### `unstable_sqlite_expression_engine`