-
Notifications
You must be signed in to change notification settings - Fork 10
DOCSP-51349: Upgrade guide #127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
@@ -8,4 +8,389 @@ | |||||||||
:local: | ||||||||||
:backlinks: none | ||||||||||
:depth: 1 | ||||||||||
:class: singlecol | ||||||||||
:class: singlecol | ||||||||||
|
||||||||||
.. meta:: | ||||||||||
:keywords: backwards compatibility, update | ||||||||||
|
||||||||||
Overview | ||||||||||
-------- | ||||||||||
|
||||||||||
In this section, you can identify the changes you must | ||||||||||
make to your application to upgrade your driver to a new version. | ||||||||||
|
||||||||||
Before you upgrade, perform the following actions: | ||||||||||
|
||||||||||
- Ensure the new driver version is compatible with the {+mdb-server+} versions | ||||||||||
your application connects to and the Java Runtime Environment (JRE) your | ||||||||||
application runs on. To view compatibility information, see the | ||||||||||
:ref:`Compatibility <kotlin-sync-compatibility>` page. | ||||||||||
- Address any breaking changes between the current version of the driver | ||||||||||
your application is using and your planned upgrade version in the | ||||||||||
:ref:`Breaking Changes <kotlin-sync-breaking-changes>` section. To learn | ||||||||||
more about {+mdb-server+} release compatibility changes, see the | ||||||||||
:ref:`<kotlin-sync-server-release-changes>` section. | ||||||||||
|
||||||||||
.. tip:: | ||||||||||
|
||||||||||
To minimize the number of changes your application might require when | ||||||||||
you upgrade driver versions in the future, use the | ||||||||||
:ref:`{+stable-api+}. <kotlin-sync-stable-api>` | ||||||||||
|
||||||||||
.. _kotlin-sync-breaking-changes: | ||||||||||
|
||||||||||
Breaking Changes | ||||||||||
---------------- | ||||||||||
|
||||||||||
A breaking change is a modification in a convention or behavior in | ||||||||||
a specific version of the driver that might prevent your application from | ||||||||||
working properly if not addressed before upgrading. | ||||||||||
|
||||||||||
The breaking changes in this section are categorized by the driver version that | ||||||||||
introduced them. When upgrading driver versions, address all the breaking | ||||||||||
changes between the current and upgrade versions. For example, if you | ||||||||||
are upgrading the driver from v5.0 to v5.5, address all breaking changes from | ||||||||||
the version after v5.0 including any listed for v5.5. | ||||||||||
|
||||||||||
.. _kotlin-sync-breaking-changes-v5.5: | ||||||||||
|
||||||||||
Version 5.5 Breaking Changes | ||||||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||||||||
|
||||||||||
- The driver is no longer compatible with {+mdb-server+} version | ||||||||||
4.0. To learn more about this change, see the | ||||||||||
:ref:`kotlin-sync-server-release-change-v5.5` section. | ||||||||||
|
||||||||||
.. _kotlin-sync-breaking-changes-v5.2: | ||||||||||
|
||||||||||
Version 5.2 Breaking Changes | ||||||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||||||||
|
||||||||||
This driver version introduces the following breaking changes: | ||||||||||
|
||||||||||
- Drops support for {+mdb-server+} v3.6. To learn more about this change, | ||||||||||
see the :ref:`<kotlin-sync-server-release-change-v5.2>` section. | ||||||||||
|
||||||||||
- Revises the `mongodb-crypt <https://mvnrepository.com/artifact/org.mongodb/mongodb-crypt>`__ | ||||||||||
dependency versioning to match the versioning for the JVM drivers. Future versions of | ||||||||||
``mongodb-crypt`` will be released alongside the driver and will share the same version number. | ||||||||||
|
``mongodb-crypt`` will be released alongside the driver and will share the same version number. | |
``mongodb-crypt`` are released alongside the driver and share the same version number. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note to reviewer: additional breaking change from the Kotlin what's new page
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- When using the ``MONGODB-OIDC`` authentication mechanism, you must | |
- When using the ``MONGODB-OIDC`` authentication mechanism, you must |
what happens if you do?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only info about the consequences I can find is in the DRIVERS ticket, which says the driver "will parse connection strings ambiguously." I think it just would result in unexpected behavior due to how it's parsed? not sure if that's worth mentioning here, but I added a suggestion to pass the value in the MongoClientSettings instead
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, that works
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- When using the ``MONGODB-OIDC`` authentication mechanism, you must | |
- When using the ``MONGODB-OIDC`` authentication mechanism, you cannot |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note to reviewer: additional breaking change from the Kotlin what's new page
Check failure on line 154 in source/reference/upgrade.txt
GitHub Actions / TDBX Vale rules
[vale] reported by reviewdog 🐶
[MongoDB.Time24h2Digits] Show the hours, minutes, and seconds with two digits each, even if the leading digit is 0 ('1:27').
Raw Output:
{"message": "[MongoDB.Time24h2Digits] Show the hours, minutes, and seconds with two digits each, even if the leading digit is 0 ('1:27').", "location": {"path": "source/reference/upgrade.txt", "range": {"start": {"line": 154, "column": 69}}}, "severity": "ERROR"}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be changed to the link for release notes in the mongo kotlin driver repo instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Kotlin driver folder is in the mongo-java-driver repo, i don't think there are specific Kotlin release notes (unless I'm missing something)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i see, thanks for checking in on that!
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MongoDB deployment running {+mdb-server+} v8.1. Starting in {+mdb-server+} v8.1, | |
MongoDB deployment running {+mdb-server+} v8.1 or later. Starting in {+mdb-server+} v8.1, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.