Skip to content
103 changes: 103 additions & 0 deletions docs/release-notes/2.14.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# Percona Backup for MongoDB 2.14.0 ({{date.2_14_0}})

- [Installation](../installation.md){.md-button}


Percona Backup for MongoDB (PBM) is a distributed, low-impact solution for creating consistent backups of MongoDB sharded clusters and replica sets, and restoring them to a specific point in time.

## Release highlights

=== "🖥️ Interactive confirmation prompt"

!!! warning "Breaking change"

Since an interactive prompt is now printed, automation and scripts must use the `-y` flag to bypass this confirmation (same as for delete operations).


### Interactive confirmation for restore
To reduce the risk of accidental or unintended restores, `pbm restore` command now includes an interactive confirmation prompt. This requires explicit user approval before a restore action is executed.

This change addresses scenarios where users might inadvertently re‑run a previous restore command from shell history, potentially restoring the wrong backup to production. With the new confirmation step, restores are safer and less prone to human error.

```bash
$ pbm restore <backup-name>

You are about to restore backup '<backup-name>' to the current cluster.
This operation may overwrite existing data.

Do you want to continue? [y/N]:
```

=== "⚡ Optimized backup uploads"

### Concurrent streaming for faster MinIO uploads

This release introduces support for the `ConcurrentStreamParts` option when uploading files to MinIO storage. By enabling concurrent part uploads, large file transfers can achieve improved throughput and efficiency.

To ensure reliability, PBM includes built‑in optimizations and fallbacks:

- **Small files:** If the file is smaller than the upload part size, concurrent upload is automatically disabled (since it’s unnecessary).

- **Empty streams:** If the MinIO library reports an unexpected error for empty streams, PBM will retry the request with ConcurrentStreamParts disabled.

These safeguards ensure that concurrent uploads deliver performance benefits without compromising stability.

??? example "Example"

```yaml
storage:
type: minio
endpointUrl: https://minio.example.com
bucket: pbm-backups
credentials:
accessKey: <ACCESS_KEY>
secretKey: <SECRET_KEY>
concurrentStreamParts: true
```


## Changelog

### New features

- [PBM-1598](https://perconadev.atlassian.net/browse/PBM-1598) Add timeout to admin command \_configsvrBalancerStop

### Improvements

- [PBM-1167](https://perconadev.atlassian.net/browse/PBM-1167) PiTR with physical backup doesn't recover data

- [PBM-1480](https://perconadev.atlassian.net/browse/PBM-1480) Allow PBM Agent to start with read-only storage for restore validation

- [PBM-1600](https://perconadev.atlassian.net/browse/PBM-1600) Interactive confirm prompt when restore

- [PBM-1638](https://perconadev.atlassian.net/browse/PBM-1638) Automatic Inclusion of KMIP Key Identifier in Physical Backup Metadata

- [PBM-1639](https://perconadev.atlassian.net/browse/PBM-1639) Physical restore stucks since PBM ignores shutdown command failure

- [PBM-1653](https://perconadev.atlassian.net/browse/PBM-1653) Enable concurrent uploads for MinIO storage type

- [PBM-1703](https://perconadev.atlassian.net/browse/PBM-1703) 404 messages on S3 because .pbm.init.pbmpart.1

- [PBM-1730](https://perconadev.atlassian.net/browse/PBM-1730) Abort restore when balancer stop fails

### Bugs

- [PBM-1345](https://perconadev.atlassian.net/browse/PBM-1345) Fail of PITR slicer on one RS doesn't stop the whole PITR process

- [PBM-1472](https://perconadev.atlassian.net/browse/PBM-1472) Extra slash symbol in bucket/prefix options breaks PBM ability to save or discover backups on storage

- [PBM-1586](https://perconadev.atlassian.net/browse/PBM-1586) CLI waits infinitely when agent crashes during the backup execution

- [PBM-1599](https://perconadev.atlassian.net/browse/PBM-1599) pbm-cli fails with timeout when stopping the balancer takes longer

- [PBM-1609](https://perconadev.atlassian.net/browse/PBM-1609) Oplog slicer not stopped during restore

- [PBM-1629](https://perconadev.atlassian.net/browse/PBM-1629) Backup fails since PBM miscalculates collection size when backup.compression is set to none

- [PBM-1648](https://perconadev.atlassian.net/browse/PBM-1648) pbm --wait does not return error on backup failure

- [PBM-1657](https://perconadev.atlassian.net/browse/PBM-1657) Support mongodb\+srv protocol for PBM CLI connection strings

- [PBM-1683](https://perconadev.atlassian.net/browse/PBM-1683) size\_uncompressed\_h reporting bloated size for incremental backups