Docs Menu
Docs Home
/ / /
C++ 드라이버

드라이버 버전 업그레이드

이 페이지의 내용

  • 개요
  • 호환성이 손상되는 변경

이 페이지에서는 새 버전의 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 버전에 대해 나열된 모든 호환성이 손상되는 변경(있는 경우)을 주소 합니다.

  • 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 호환성이 손상되는 호환성이 손상되는 변경 입니다.

이 드라이버 버전에는 다음과 같은 호환성이 손상되는 변경이 도입되었습니다.

  • 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)를 제거합니다.

이 드라이버 버전에는 다음과 같은 호환성이 손상되는 변경이 도입되었습니다.

  • CMake 프로젝트 빌드 트리에서 내보낸 대상에 대한 지원 을 제거합니다.

  • macOS 10.14, macOS 10.15 및 Ubuntu 14.04에 대한 지원

  • MongoDB C 드라이버 v1.25.0 이상이 필요합니다.

  • CMake v3.15 이상이 필요합니다.

운전자 버전 이하의 경우 3.8 에서 출시하다 노트 및 각 출시하다 에 대한 관련 JIRA 티켓을 Github 참조하세요.

돌아가기

새로운 기능