v0.30.0

snarktank/ralphv0.30.0Mar 24, 2026by github-actions[bot]

AI Summary

Adds new connectors for MongoDB and PostgreSQL (WAL) and enhances array serialization capabilities. Introduces async callbacks and an event loop parameter for reusing async state across graph runs.

Key Highlights

  • New `pw.io.mongodb.read` connector
  • New `pw.io.postgres.read` connector using WAL
  • Support for numpy array serialization in Postgres
  • Async callback available for `pw.io.python.write`

Breaking Changes

  • MongoDB read/write serialization changed to nested BSON arrays to preserve shape
  • Dependencies for `pw.io.pyfilesystem.read` moved to extras (install with `pip install pathway[pyfilesystem]`)

New Features

  • `pw.io.airbyte.read` accepts `dependency_overrides` parameter
  • `pw.run` and `pw.run_all` have `event_loop` parameter

Full Release Notes

### Added
- `pw.io.mongodb.read` connector, which reads data from a MongoDB collection. The connector first delivers a full snapshot of the collection and then, if the streaming mode is used, subscribes to the change stream to receive incremental updates in real time.
- `pw.io.postgres.read` connector, which reads data from a PostgreSQL table directly by parsing the Write-Ahead Log (WAL).
- `pw.io.postgres.write` and `pw.io.postgres.read` now support serialization/deserialization of `np.ndarray` (`int`/`float` elements), homogeneous `tuple` and `list` (via Postgres `ARRAY`; multidimensional rectangular arrays supported).
- `pw.io.airbyte.read` now accepts a `dependency_overrides` parameter, allowing users to pin specific versions of transitive dependencies (e.g. `airbyte-cdk`) installed into the connector's virtual environment. This unblocks connectors broken by upstream dependency changes without waiting for upstream fixes.

### Changed
- **BREAKING**: `pw.io.mongodb.write` and `pw.io.mongodb.read` now serialize and deserialize `np.ndarray` columns as nested BSON arrays that preserve the array's shape. Previously, all ndarrays were flattened to a single BSON array regardless of dimensionality, making it impossible to reconstruct the original shape on read-back. For 1-D arrays the representation is identical to before (`[1, 2, 3]`); only multi-dimensional arrays are affected.
- **BREAKING**: The dependencies for `pw.io.pyfilesystem.read` are no longer included in the default package installation. To install them, please use `pip install pathway[pyfilesystem]`.
- Asynchronous callback for `pw.io.python.write` is now available as `pw.io.OnChangeCallbackAsync`.
- `pw.run` and `pw.run_all` now have the `event_loop` parameter to support reusing async state across multiple graph runs.

### Fixed
- `pathway web-dashboard` now waits for the metrics database to be created instead of terminating instantly.