드라이버 버전 업그레이드
이 페이지의 내용
개요
이 페이지에서는 새 버전의 C++ 운전자 로 업그레이드 할 때 애플리케이션 을 변경해야 하는 경우에 대해 설명합니다.
업그레이드하기 전에 다음 작업을 수행하세요:
새 C++ 운전자 버전이 애플리케이션 이 연결되는 MongoDB Server 버전 및 애플리케이션 이 컴파일할 때 사용하는 C++ 표준 버전과 호환되는지 확인하세요. 버전 호환성 정보는 C++ 운전자 호환성 페이지를 참조하세요.
애플리케이션 에서 사용 중인 운전자 버전과 업그레이드 예정 버전 간의 호환성이 손상되는 변경은 호환성이 손상되는 변경 섹션에서 확인하세요.
팁
운전자 버전을 업그레이드할 때 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 이상이 필요합니다.
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 에서 출시하다 노트 및 각 출시하다 에 대한 관련 JIRA 티켓을 Github 참조하세요.