# v0.1.2 — DDL Tracking and Connection Pooler Compatibility

> **Full technical details:** [v0.1.x.md-full.md](v0.1.x.md-full.md)

**Status: ✅ Released** | **Scope: Patch**

> Improved handling of schema changes, better compatibility with connection
> poolers, and expanded test coverage for edge cases.

---

## What problem does this solve?

After v0.1.0, users encountered situations where schema changes to source
tables were not fully tracked, and deployments behind PgBouncer (a common
PostgreSQL connection pooler) required additional guidance. This patch
addresses both.

---

## DDL Tracking: ALTER TYPE and POLICY Changes

PostgreSQL allows you to change a column's data type (`ALTER TYPE`) or modify
row-level security policies (`ALTER POLICY`) on a table. These schema changes
can affect what a stream table computes, so pg_trickle's DDL event trigger
now detects and records them alongside the previously tracked changes.

*In plain terms:* if you change the type of a column that a stream table uses,
pg_trickle will notice and handle the transition correctly rather than
silently producing stale or incorrect results.

---

## Window Function Partition Key Tests

Window functions that use `PARTITION BY` clauses (such as "the last N events
per user") had edge cases that were not covered by the test suite. New tests
were added, and one edge case in the partition key handling was corrected.

---

## PgBouncer Connection Pooler Documentation and SPI Retry

When pg_trickle runs behind **PgBouncer** in transaction-pooling mode, the
background worker's internal database connections need special configuration.
This release adds clear documentation for the recommended PgBouncer setup,
and adds a retry mechanism for the rare case where an internal SPI (server
programming interface) connection is interrupted mid-operation.

---

## Scope

v0.1.2 is a targeted patch covering schema-change tracking, window function
correctness, and connection-pooler compatibility. No new user-visible features
were added.
