v0.30.0

alibaba/zvecv0.30.0Mar 24, 2026by github-actions[bot]

AI Summary

This release introduces new connectors for MongoDB and PostgreSQL, enhances array serialization capabilities, and adds async support for Python I/O operations.

Key Highlights

  • New `pw.io.mongodb.read` connector with snapshot and streaming support.
  • New `pw.io.postgres.read` connector using Write-Ahead Log (WAL).
  • Enhanced serialization for `np.ndarray` and lists in Postgres.
  • Dependency override parameter for Airbyte connectors.

Breaking Changes

  • Changed serialization for `pw.io.mongodb` to preserve array shape (nested BSON) instead of flattening.
  • Moved `pw.io.pyfilesystem.read` dependencies to optional extras.

New Features

  • `pw.io.mongodb.read` connector.
  • `pw.io.postgres.read` connector.
  • Serialization support for `np.ndarray`, tuples, and lists in Postgres.
  • `pw.io.airbyte.read` dependency overrides parameter.
  • Async callback (`pw.io.OnChangeCallbackAsync`) for Python write operations.

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.