# Release Notes — 2.70 Covers the **2.70** release series. Most recent patch: **2.70.3**. Unless a subsection notes otherwise, changes apply to both Monad SaaS and self-hosted. ## New features & improvements **SaaS & self-hosted** - **Collapsible grouped side navigation** — the left-hand navigation is now grouped into sections you can collapse, so it stays tidy as your workspace grows. Live for everyone. - **Longer batching windows for Kafka outputs** — a Kafka output's maximum flush interval can now be set up to 20 minutes (up from 60 seconds), so a low-traffic pipeline can wait longer to accumulate a fuller batch instead of flushing many tiny ones — avoiding a small-file problem in downstream systems. Each record is still delivered as its own Kafka message; this setting only controls how long Monad waits before flushing a batch. - *Access:* set it on the Kafka output under the `Maximum Flush Interval` field. - **Clearer batch-output field name** — the batch `Publish Rate` setting is now labeled `Maximum Flush Interval` across outputs, matching what it actually controls. - **Self-describing HTTP ingest back-off** — while the HTTP ingest endpoint is still starting up it now returns a clear `503` with a `Retry-After` header, so clients can retry gracefully instead of failing hard. - **New guide: handling schema-drift alerts** — a new guide on responding to Schema Drift Detection alerts. [Docs →](https://app.monad.com/docs/alerts/schema-drift-detection) - **Fuller alert payload documentation** — the alerting docs now describe the complete alert JSON payload envelope, making it easier to build downstream integrations against Monad alerts. [Docs →](https://app.monad.com/docs/alerts) - **Corrected Kafka output limits in the docs** — the Kafka output documentation now reflects the real limits: maximum flush interval up to 1200s and data size up to 25 MiB. [Docs →](https://app.monad.com/docs/outputs/kafka) **Self-hosted only** - **Configurable pipeline autoscaling ceiling** — operators can now set the maximum replica count for pipeline autoscaling, giving tighter control over how far a busy pipeline scales out on your cluster. - *Access:* set the `MONAD_HPA_MAX_REPLICAS` operator environment variable in your Helm values (default 10). See the [Platform Architecture guide](https://app.monad.com/docs/guides/architecture). - **New self-managed deployment guides** — new Platform Architecture and Troubleshooting guides for running Monad in your own cluster. [Platform Architecture →](https://app.monad.com/docs/guides/architecture) · [Troubleshooting →](https://app.monad.com/docs/guides/troubleshooting) ## New connectors - **Dialpad Change Log input — Beta** — ingests Dialpad change-log events into Monad, so you can route Dialpad configuration/activity changes into your security data pipelines. Available in beta. [Docs →](https://app.monad.com/docs/inputs/dialpad/dialpad-change-log) ## Fixes - **Multicursor input backfill start time** — inputs that use multicursor now return the correct backfill start time (the configured backfill time, or the current time when none is set) instead of an incorrect value. - **S3 → SQS input surfaces malformed batches** — the S3/SQS input now validates the records array and fails clearly on a malformed batch instead of failing silently, so bad input is easy to spot. - **Consistent backfill for object-storage inputs** — object-storage inputs now behave consistently when backfilling. - **Dedicated org logs view** — organization logs now live on their own `/logs` route, separate from org-level actions. ## Breaking changes None. ## Need help? See the [Monad docs](https://app.monad.com/docs) for setup guides and reference, or reach out to Monad Customer Support at [support@monad.com](mailto:support@monad.com) or via your dedicated Slack customer channel. :::note Self-hosted deployments upgrade to a `2.70.x` release with `helm upgrade`. Review the **Breaking changes** section above before upgrading; when it says "None," the upgrade is drop-in. :::