개요
이 페이지에서는 새 버전의 C++ 운전자 로 업그레이드 할 때 애플리케이션 을 변경해야 하는 경우에 대해 설명합니다.
업그레이드하기 전에 다음 작업을 수행하세요:
Ensure the new C++ driver version is compatible with the MongoDB Server versions your application connects to and the C++ standard version your application compiles with. For version compatibility information, see Compatibility.
Address any breaking changes between the driver version your application is using and your planned upgrade version in the Breaking Changes section.
팁
운전자 버전을 업그레이드할 때 MongoDB Server 버전 간의 호환성을 보장하려면 Stable API 를 사용하세요.
호환성이 손상되는 변경
참고
C++ 운전자 시맨틱 버전 관리 를 따릅니다. 운전자 모든 출시하다 에서 빌드 시스템 또는 패키지 호환성을 손상시킬 수 있습니다. 패치 릴리스는 우발적인 API 호환성이 손상되는 변경을 되돌릴 수 있습니다.
자세한 내용은 API 및 ABI 버전 관리를 참조하세요.
호환성이 손상되는 변경은 드라이버의 특정 버전에서 시작되는 규칙 또는 동작의 변경입니다. 이러한 유형의 변경으로 인해 드라이버를 업그레이드하기 전에 해결하지 않으면 애플리케이션이 제대로 작동하지 않을 수 있습니다.
이 섹션의 호환성이 손상되는 변경은 이를 도입한 드라이버 버전별로 분류됩니다. 드라이버 버전을 업그레이드할 때 현재 버전과 업그레이드 버전 간의 호환성이 손상되는 변경을 모두 해소합니다.
예시
버전 3.0에서 업그레이드
C++ 운전자 를 버전 3.0 에서 3.10 버전으로 업그레이드하는 경우, 3.1 ~ 3.10 버전에 대해 나열된 모든 호환성이 손상되는 변경(있는 경우)을 주소 합니다.
버전 3.11 호환성이 손상되는 변경
MongoDB Server v3.6 에 대한 지원 을 중단합니다.
MongoDB C 드라이버 v1.28.0 이상이 필요합니다.
ENABLE_TESTS구성 옵션이ON로 설정하다 경우 C++14 이상이 필요합니다. CMake 구성 중에ENABLE_TESTS=OFF로 테스트를 비활성화하여 C++14 요구 사항을 옵트아웃할 수 있습니다.bsoncxx ABI에서 다음 비공개 멤버 함수의 내보내기를 제거합니다.
bsoncxx::v_noabi::types::bson_value::value::value(const uint8_t*, uint32_t, uint32_t, uint32_t) bsoncxx::v_noabi::types::bson_value::view::_init(void*) bsoncxx::v_noabi::types::bson_value::view::view(const uint8_t*, uint32_t, uint32_t, uint32_t) bsoncxx::v_noabi::types::bson_value::view::view(void*) mongocxx ABI에서 다음 비공개 멤버 함수의 내보내기를 제거합니다.
mongocxx::v_noabi::options::change_stream::as_bson() mongocxx::v_noabi::options::aggregate::append(bsoncxx::v_noabi::builder::basic::document&) mongocxx::v_noabi::options::index::storage_options() MSVC로 컴파일할 때 내보낸 모든 함수 기호를
__cdecl으)로 선언합니다. 프로젝트를 빌드할 때 대체 기본값 호출 규칙을 사용하는 경우 이는 ABI 호환성이 손상되는 호환성이 손상되는 변경 입니다.
버전 3.10 호환성이 손상되는 변경
이 드라이버 버전에는 다음과 같은 호환성이 손상되는 변경이 도입되었습니다.
find_package(libbsoncxx)및find_package(libmongocxx)에 대한 지원 을 중단합니다. 대신find_package(bsoncxx)및find_package(mongocxx)를 사용합니다.레거시 CMake 패키지 구성 파일에서 제공하는
LIBBSONCXX_*및LIBMONGOCXX_*CMake 변수에 대한 지원 을 중단합니다. 대신mongo::bsoncxx_*및mongo::mongocxx_*CMake 타겟을 사용합니다.폴리필 옵션으로 실험적 C++ 표준 라이브러리(
BSONCXX_POLY_USE_STD_EXPERIMENTAL)를 제거합니다.
버전 3.9 호환성이 손상되는 변경
이 드라이버 버전에는 다음과 같은 호환성이 손상되는 변경이 도입되었습니다.
CMake 프로젝트 빌드 트리에서 내보낸 대상에 대한 지원 을 제거합니다.
macOS 10.14, macOS 10.15 및 Ubuntu 14.04에 대한 지원
MongoDB C 드라이버 v1.25.0 이상이 필요합니다.
CMake v3.15 이상이 필요합니다.
버전 3.8 및 이전 버전
운전자 버전 이하의 경우 3.8 Github 에서출시하다 노트 및 각 출시하다 에 대한 관련 JIRA 티켓을 참조하세요.