Skip to content
22 changes: 16 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,8 @@ Changes prior to 3.9.0 are documented as [release notes on GitHub](https://githu
- `type_view()` in `bsoncxx::document::element` and `bsoncxx::array::element`: equivalent to `get_value()`.
- `type_value()` in `bsoncxx::document::element` and `bsoncxx::array::element`: equivalent to `get_owning_value()`.

### Fixed

- CMake option `ENABLE_TESTS` (`OFF` by default) is no longer overwritten by the auto-downloaded C Driver (`ON` by default) during CMake configuration.
- `storage_engine() const` in `mongocxx::v_noabi::options::index` is correctly exported using mongocxx export macros instead of bsoncxx export macros.

### Changed

- Bump the minimum required C Driver version to [2.1.0](https://github.com/mongodb/mongo-c-driver/releases/tag/2.1.0).
- CMake 3.16.0 or newer is required when `ENABLE_TESTS=ON` for compatibility with the updated Catch2 library version (3.7.0 -> 3.8.1).
- Minimum supported compiler versions to build from source are updated to the following:
- GCC 8.1 (from GCC 4.8.2).
Expand Down Expand Up @@ -72,6 +66,16 @@ Changes prior to 3.9.0 are documented as [release notes on GitHub](https://githu
- See: [MongoDB C Driver 2.1.0 Release Notes](https://github.com/mongodb/mongo-c-driver/releases/tag/2.1.0).
- Support for macOS 11 and macOS 12 (deprecated in 4.1.0).

## 4.1.4

### Changed

- Bump the auto-downloaded C Driver version to [2.1.2](https://github.com/mongodb/mongo-c-driver/releases/tag/2.1.2).

### Changed

- Bump the minimum required C Driver version to [1.30.6](https://github.com/mongodb/mongo-c-driver/releases/tag/1.30.6).

## 4.1.3

### Changed
Expand Down Expand Up @@ -172,6 +176,12 @@ Changes prior to 3.9.0 are documented as [release notes on GitHub](https://githu
- `bsoncxx::builder::stream::concatenate` in `<bsoncxx/builder/stream/helpers.hpp>`. Use `bsoncxx::builder::concatenate` in `<bsoncxx/builder/concatenate.hpp>` instead.
- `mongocxx::events::read_preference` in `<mongocxx/events/topology_description.hpp>`. Use `mongocxx::read_preference` in `<mongocxx/read_preference.hpp>` instead.

## 3.11.1

### Fixed

- The API version of auto-downloaded C Driver libraries no longer incorrectly inherits the C++ Driver's `BUILD_VERSION` value.

## 3.11.0

> [!IMPORTANT]
Expand Down
2 changes: 1 addition & 1 deletion Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -1603,7 +1603,7 @@ TOC_EXPAND = NO
# protocol see https://www.sitemaps.org
# This tag requires that the tag GENERATE_HTML is set to YES.

SITEMAP_URL = https://mongocxx.org/api/mongocxx-4.1.3/
SITEMAP_URL = https://mongocxx.org/api/mongocxx-4.1.4/

# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
Expand Down
11 changes: 5 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,12 @@ git clone -b releases/stable https://github.com/mongodb/mongo-cxx-driver.git
| Version | ABI Stability | Development Stability | Development Status |
| :---------: | :-------------: | :-------------------------: | :----------------: |
| master | N/A | _Do not use in production!_ | Active |
| 4.1.3 | None | Ready for Use | Bug Fixes Only |
| 4.1.2 | None | Ready for Use | Not Supported |
| 4.1.1 | None | Ready for Use | Not Supported |
| 4.1.0 | None | Ready for Use | Not Supported |
| 4.1.4 | None | Ready for Use | Bug Fixes Only |
| 4.1.3 | None | Ready for Use | Not Supported |
| ... | ... | ... | ... |
| 4.0.0 | None | Ready for Use | Not Supported |
| 3.11.0 | None | Ready for Use | Bug Fixes Only |
| 3.10.2 | None | Ready for Use | Not Supported |
| 3.11.1 | None | Ready for Use | Bug Fixes Only |
| 3.11.0 | None | Ready for Use | Not Supported |
| ... | ... | ... | ... |
| 3.0.0 | None | Ready for Use | Not Supported |

Expand Down
56 changes: 49 additions & 7 deletions etc/apidocmenu.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,50 @@

## Driver Documentation By Version

[4.1.3](../mongocxx-4.1.3) | [4.1.2](../mongocxx-4.1.2) | [4.1.1](../mongocxx-4.1.1) | [4.1.0](../mongocxx-4.1.0) | [4.0.0](../mongocxx-4.0.0) | [3.11.0](../mongocxx-3.11.0) | [3.10.2](../mongocxx-3.10.2) | [3.10.1](../mongocxx-3.10.1) | [3.10.0](../mongocxx-3.10.0) | [3.9.0](../mongocxx-3.9.0) | [3.8.1](../mongocxx-3.8.1) | [3.8.0](../mongocxx-3.8.0) | [3.7.2](../mongocxx-3.7.2) | [3.7.1](../mongocxx-3.7.1) | [3.7.0](../mongocxx-3.7.0) | [3.6.7](../mongocxx-3.6.7) | [3.6.6](../mongocxx-3.6.6) | [3.6.5](../mongocxx-3.6.5) | [3.6.4](../mongocxx-3.6.4) | [3.6.3](../mongocxx-3.6.3) | [3.6.2](../mongocxx-3.6.2) | [3.6.1](../mongocxx-3.6.1) | [3.6.0](../mongocxx-3.6.0) | [3.5.1](../mongocxx-3.5.1) | [3.5.0](../mongocxx-3.5.0) | [3.4.2](../mongocxx-3.4.2) | [3.4.1](../mongocxx-3.4.1) | [3.4.0](../mongocxx-3.4.0) | [3.3.2](../mongocxx-3.3.2) | [3.3.1](../mongocxx-3.3.1) | [3.3.0](../mongocxx-3.3.0) | [3.2.1](../mongocxx-3.2.1) | [3.2.0](../mongocxx-3.2.0) | [3.1.4](../mongocxx-3.1.4/) | [3.1.3](../mongocxx-3.1.3/) | [3.1.2](../mongocxx-3.1.2/) | [3.1.1](../mongocxx-3.1.1/) | [3.1.0](../mongocxx-3.1.0/) | [3.0.3](../mongocxx-3.0.3/) | [3.0.2](../mongocxx-3.0.2/) | [3.0.1](../mongocxx-3.0.1/) | [3.0.0](../mongocxx-3.0.0/)
[4.1.4](../mongocxx-4.1.4) |
[4.1.3](../mongocxx-4.1.3) |
[4.1.2](../mongocxx-4.1.2) |
[4.1.1](../mongocxx-4.1.1) |
[4.1.0](../mongocxx-4.1.0) |
[4.0.0](../mongocxx-4.0.0) |
[3.11.1](../mongocxx-3.11.1) |
[3.11.0](../mongocxx-3.11.0) |
[3.10.2](../mongocxx-3.10.2) |
[3.10.1](../mongocxx-3.10.1) |
[3.10.0](../mongocxx-3.10.0) |
[3.9.0](../mongocxx-3.9.0) |
[3.8.1](../mongocxx-3.8.1) |
[3.8.0](../mongocxx-3.8.0) |
[3.7.2](../mongocxx-3.7.2) |
[3.7.1](../mongocxx-3.7.1) |
[3.7.0](../mongocxx-3.7.0) |
[3.6.7](../mongocxx-3.6.7) |
[3.6.6](../mongocxx-3.6.6) |
[3.6.5](../mongocxx-3.6.5) |
[3.6.4](../mongocxx-3.6.4) |
[3.6.3](../mongocxx-3.6.3) |
[3.6.2](../mongocxx-3.6.2) |
[3.6.1](../mongocxx-3.6.1) |
[3.6.0](../mongocxx-3.6.0) |
[3.5.1](../mongocxx-3.5.1) |
[3.5.0](../mongocxx-3.5.0) |
[3.4.2](../mongocxx-3.4.2) |
[3.4.1](../mongocxx-3.4.1) |
[3.4.0](../mongocxx-3.4.0) |
[3.3.2](../mongocxx-3.3.2) |
[3.3.1](../mongocxx-3.3.1) |
[3.3.0](../mongocxx-3.3.0) |
[3.2.1](../mongocxx-3.2.1) |
[3.2.0](../mongocxx-3.2.0) |
[3.1.4](../mongocxx-3.1.4/) |
[3.1.3](../mongocxx-3.1.3/) |
[3.1.2](../mongocxx-3.1.2/) |
[3.1.1](../mongocxx-3.1.1/) |
[3.1.0](../mongocxx-3.1.0/) |
[3.0.3](../mongocxx-3.0.3/) |
[3.0.2](../mongocxx-3.0.2/) |
[3.0.1](../mongocxx-3.0.1/) |
[3.0.0](../mongocxx-3.0.0/)

## Driver Development Status

Expand All @@ -12,13 +55,12 @@
| Version | ABI Stability | Development Stability | Development Status |
| :---------: | :-------------: | :-------------------------: | :----------------: |
| master | N/A | _Do not use in production!_ | Active |
| 4.1.3 | None | Ready for Use | Bug Fixes Only |
| 4.1.2 | None | Ready for Use | Not Supported |
| 4.1.1 | None | Ready for Use | Not Supported |
| 4.1.0 | None | Ready for Use | Not Supported |
| 4.1.4 | None | Ready for Use | Bug Fixes Only |
| 4.1.3 | None | Ready for Use | Not Supported |
| ... | ... | ... | ... |
| 4.0.0 | None | Ready for Use | Not Supported |
| 3.11.0 | None | Ready for Use | Bug Fixes Only |
| 3.10.2 | None | Ready for Use | Not Supported |
| 3.11.1 | None | Ready for Use | Bug Fixes Only |
| 3.11.0 | None | Ready for Use | Not Supported |
| ... | ... | ... | ... |
| 3.0.0 | None | Ready for Use | Not Supported |

Expand Down
6 changes: 3 additions & 3 deletions etc/generate-latest-apidocs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
set -o errexit
set -o pipefail

LATEST_VERSION="4.1.3"
LATEST_VERSION="4.1.4"
DOXYGEN_VERSION_REQUIRED="1.14.0"

# Permit using a custom Doxygen binary.
Expand Down Expand Up @@ -70,8 +70,8 @@ else
# - set OUTPUT_DIRECTORY to `build/docs/api/mongocxx-<version>`.
# - set PROJECT_NUMBER to `<version>`.
sed_in_place \
-e "s|^OUTPUT_DIRECTORY\s*=\s*.*$|OUTPUT_DIRECTORY = ${output_directory:?}|g" \
-e "s|^PROJECT_NUMBER\s*=\s*.*$|PROJECT_NUMBER = ${LATEST_VERSION:?}|g" \
-e "s|^OUTPUT_DIRECTORY[[:space:]]*=[[:space:]]*.*$|OUTPUT_DIRECTORY = ${output_directory:?}|g" \
-e "s|^PROJECT_NUMBER[[:space:]]*=[[:space:]]*.*$|PROJECT_NUMBER = ${LATEST_VERSION:?}|g" \
"${scratch_dir:?}/Doxyfile"
fi

Expand Down
26 changes: 16 additions & 10 deletions etc/releasing.md
Original file line number Diff line number Diff line change
Expand Up @@ -377,6 +377,8 @@ Review the contents of the release draft, then publish the release.
Navigate to the
[fixVersions page on Jira](https://jira.mongodb.com/plugins/servlet/project-config/CXX/versions?status=unreleased).

Close the Jira ticket tracking this release with "Documentation Changes" set to "Not Needed". A DOCSP ticket is generated later.

Click the "..." next to the relevant version and select "Release".

### Update GitHub Webhook
Expand Down Expand Up @@ -428,6 +430,10 @@ git push upstream releases/vX.Y

The new branch should be continuously tested on Evergreen. Update the "Display Name" and "Branch Name" of the [mongo-cxx-driver-latest-release Evergreen project](https://spruce.mongodb.com/project/mongo-cxx-driver-latest-release/settings/general) to refer to the new release branch.

### Update SBOM serial number

Check out the release branch `releases/vX.Y`.

Update `etc/cyclonedx.sbom.json` with a new unique serial number for the next upcoming patch release (e.g. for `1.3.1` following the release of `1.3.0`):

```bash
Expand Down Expand Up @@ -528,25 +534,25 @@ Commit these changes to the `post-release-changes` branch:
git commit -m "Post-release changes"
```

### Create Documentation Tickets
### Update Documentation Ticket

(Stable Releases Only) Close the Jira ticket tracking this release with "Documentation Changes" set to "Needed". Fill the "Documentation Changes Summary" field with information requesting updates to:
When the Jira fixVersion is released, a DOCSP ticket is created and e-mailed to the `dbx-c-cxx` group with subject "Action Required: Relay Compatibility Updates to Docs Team".

- the tables on the [Compatibility](https://www.mongodb.com/docs/languages/cpp/cpp-driver/current/compatibility/) page,
- the "Driver Status by Family and Version" section of the [home
Add a comment requesting updates to:

- (if applicable) the tables on the [Compatibility](https://www.mongodb.com/docs/languages/cpp/cpp-driver/current/compatibility/) page,
- (if applicable) the "Driver Status by Family and Version" section of the [home
page](https://www.mongodb.com/docs/languages/cpp/cpp-driver/current/#driver-status-by-family-and-version), and
- the [full version](https://github.com/mongodb/docs-cpp/blob/master/snooty.toml) for the C++ Driver documentation pages.

This will generate a DOCSP ticket with instructions to update the C++ Driver docs.

Example (using Jira syntax formatting):

```
* The [Compatibility|https://www.mongodb.com/docs/languages/cpp/cpp-driver/current/compatibility/] page must be updated:
- mongocxx-X.Y.Z may change "libmongoc Compatibility" by requiring mongoc-A.B.C or later.
- mongocxx-X.Y.Z should have the same "MongoDB Compatibility", "Language Compatibility", and "Compiler Compatibility" as version mongocxx-X.Y.(Z-1)
** mongocxx-X.Y.Z may change "libmongoc Compatibility" by requiring mongoc-A.B.C or later.
** mongocxx-X.Y.Z should have the same "MongoDB Compatibility", "Language Compatibility", and "Compiler Compatibility" as version mongocxx-X.Y.(Z-1)
* The [MongoDB C++ Driver|https://www.mongodb.com/docs/languages/cpp/cpp-driver/current/#driver-status-by-family-and-version] page must be updated: {{{}mongocxx X.Y.x{}}} is now a previous stable release and no longer under active development; {{{}mongocxx X.Y+1.x{}}} is the new current stable release eligible for bug fixes.
* the [full version|https://github.com/mongodb/docs-cpp/blob/master/snooty.toml] for C++ Driver documentation must be updated to {{{}X.Y.Z{}}}.
* The [full version|https://github.com/mongodb/docs-cpp/blob/master/snooty.toml] for C++ Driver documentation must be updated to {{{}X.Y.Z{}}}.
```

### Publish Updated Documentation
Expand Down Expand Up @@ -790,7 +796,7 @@ See the [MongoDB C++ Driver Manual](https://www.mongodb.com/docs/languages/cpp/c

NOTE: The mongocxx X.Y.x series does not promise API or ABI stability across patch releases.

Please feel free to post any questions on the MongoDB Community forum in the [Drivers](https://www.mongodb.com/community/forums/c/data/drivers/7) category tagged with [cxx](https://www.mongodb.com/community/forums/tag/cxx). Bug reports should be filed against the [CXX](https://jira.mongodb.org/projects/CXX) project in the MongoDB JIRA. Your feedback on the C++11 driver is greatly appreciated.
Please feel free to post any questions on [Stack Overflow](https://stackoverflow.com/questions/tagged/mongodb%20c++). Bug reports should be filed against the [CXX](https://jira.mongodb.org/projects/CXX) project in the MongoDB JIRA. Your feedback on the C++11 driver is greatly appreciated.

Sincerely,

Expand Down