v0.24.0

pathwaycom/pathwayv0.24.0Jul 17, 2025by github-actions[bot]

AI Summary

This release adds MQTT read/write connectors, enables batch computation for LLM components, and makes several breaking changes around API key configuration and deprecated connectors.

Key Highlights

  • pw.io.mqtt.read and pw.io.mqtt.write methods
  • SentenceTransformerEmbedder and HFPipelineChat now compute in batches
  • OpenAIChat and OpenAIEmbedder api_key and base_url must be set in constructor

Breaking Changes

  • api_key and base_url for OpenAIChat must be set in constructor, not __call__
  • api_key for OpenAIEmbedder must be set in constructor, not __call__
  • pw.io.kafka.read_from_upstash has been removed

New Features

  • pw.io.mqtt.read
  • pw.io.mqtt.write
  • Batch computation for LLM components with max_batch_size parameter

Full Release Notes

### Added
- `pw.io.mqtt.read` and `pw.io.mqtt.write` methods for reading from and writing to MQTT.

### Changed
- `pw.xpacks.llm.embedders.SentenceTransformerEmbedder` and `pw.xpacks.llm.llms.HFPipelineChat` are now computed in batches. The maximum size of a single batch can be set in the constructor with the argument `max_batch_size`.
- **BREAKING** Arguments `api_key` and `base_url` for `pw.xpacks.llm.llms.OpenAIChat` can no longer be set in the `__call__` method, and instead, if needed, should be set in the constructor.
- **BREAKING** Argument `api_key` for `pw.xpacks.llm.llms.OpenAIEmbedder` can no longer be set in the `__call__` method, and instead, if needed, should be set in the constructor.
- `pw.io.postgres.write` now accepts arbitrary types for the values of the `postgres_settings` dict. If a value is not a string, Python's `str()` method will be used.

### Removed
- `pw.io.kafka.read_from_upstash` has been removed, as the managed Kafka service in Upstash has been deprecated.