Docs Menu

새로운 기능

다음 버전의 새로운 기능에 대해 알아보세요:

경고

호환성이 손상되는 변경

C++ 운전자 v4.0 호환성이 손상되는 변경이 포함되어 있습니다. 자세한 내용은 드라이버 버전 업그레이드 가이드 에서버전 을 참조하세요.4.0

v4.0 운전자 출시하다 에는 다음과 같은 새로운 기능이 포함되어 있습니다.

  • mongocxx::options::change_stream 인스턴스 의 start_at_operation_time 필드 에 대한 게터 메서드를 추가합니다.

출시하다 에는 다음 버그가 포함되어 있습니다.

  • CMake 프로젝트 두 번 이상 구성된 경우 CMake가 자동으로 다운로드된 C 운전자 의 API 버전을 0.0.0 로 잘못 설정하다 , 초기 구성 중에 BUILD_VERSION 이 명시적으로 설정하다 경우 C++ 드라이버의 API 버전과 동일한 값으로 잘못 설정할 수 있습니다. CMake는 find_package()를 사용하여 기존 C 운전자 설치를 찾을 수 없는 경우에만 C++ 운전자 로 C 운전자 자동으로 다운로드합니다. 이 버그는 향후 패치 출시하다 에서 수정될 예정입니다.

이 출시하다 에 학습 보려면 Github 에서 v 릴리스 노트4.0 를 Github 참조하세요.

경고

호환성이 손상되는 변경

C++ 운전자 v3.11 호환성이 손상되는 변경이 포함되어 있습니다. 자세한 내용은 드라이버 버전 업그레이드 가이드 에서 버전 을(를) 참조하세요.3.11

v3.11 운전자 출시하다 에는 다음과 같은 새로운 기능이 포함되어 있습니다.

  • MongoDB Server v8.0 에 대한 지원 을 추가합니다.

  • Queryable Encryption 범위 쿼리에 대한 지원 을 추가합니다. 이 기능 을 사용하려면 앱 이 MongoDB Server 8.0 이상에 연결되어야 합니다. Queryable Encryption 에 대한 자세한 내용은 MongoDB Server 매뉴얼의 Queryable Encryption 을 참조하세요.

  • mongocxx::v_noabi::bulk_write 에 대한 empty() 멤버 함수를 추가합니다.

출시하다 에는 다음 버그가 포함되어 있습니다.

  • CMake 프로젝트 두 번 이상 구성된 경우 CMake가 자동으로 다운로드된 C 운전자 의 API 버전을 0.0.0 로 잘못 설정하다 , 초기 구성 중에 BUILD_VERSION 이 명시적으로 설정하다 경우 C++ 드라이버의 API 버전과 동일한 값으로 잘못 설정할 수 있습니다. CMake는 find_package()를 사용하여 기존 C 운전자 설치를 찾을 수 없는 경우에만 C++ 운전자 로 C 운전자 자동으로 다운로드합니다. 이 버그는 향후 패치 출시하다 에서 수정될 예정입니다.

이 출시하다 에 학습 보려면 v 릴리스 노트3.11 를 Github 참조하세요. 에서 .

경고

호환성이 손상되는 변경

C++ 운전자 v3.10 호환성이 손상되는 변경이 포함되어 있습니다. 자세한 내용은 드라이버 버전 업그레이드 가이드 에서 버전 을(를) 참조하세요.3.10

v3.10.0 운전자 출시하다 에는 다음과 같은 새로운 기능이 포함되어 있습니다.

  • bsoncxxmongocxx 클래스 유형의 비정의 선언을 제공하는 정방향 헤더를 추가합니다. 운전자 는 라이브러리 엔터티의 사용자 정의 정방향 선언을 지원 하지 않습니다. 라이브러리 엔터티의 선언 또는 정의를 얻으려면 항상 해당 헤더를 포함하세요.

  • CMake 옵션 ENABLE_BSONCXX_USE_POLY_IMPLS 을 사용하면 폴리필 라이브러리가 요청되지 않은 경우 기본값 으로 C++17 폴리필의 bsoncxx 구현을 선택할 수 있습니다. 이 옵션은 기본값 OFF 입니다.

  • CMake 옵션 BSONCXX_POLY_USE_IMPLS 을 사용하면 외부 라이브러리 또는 C++ 표준 라이브러리 대신 C++17 폴리필의 bsoncxx 구현을 선택할 수 있습니다. 이 옵션은 기본값 OFF 입니다.

  • bsoncxx::v_noabimongocxx::v_noabi 네임스페이스는 더 이상 인라인으로 선언되지 않습니다. 루트 네임스페이스 선언은 계속 지원되며 이전 정의와 동일하게 유지될 것으로 예상됩니다. 예를 예시bsoncxx::document 는 여전히 bsoncxx::v_noabi::document 과 동일하고 mongocxx::client 는 여전히 mongocxx::v_noabi::client 와 동일합니다.

  • 기본값 라이브러리 파일 이름이 MSVC(CMake의 MSVC 변수에 의해 감지됨)로 컴파일되면 ABI 태그를 지정하다 string 과 함께 포함됩니다. 이러한 문자열은 다음과 유사합니다.

    bsoncxx-v_noabi-rhs-x64-v142-md.lib

    이 동작을 비활성화하려면 CMake 구성의 일부로 ENABLE_ABI_TAG_IN_LIBRARY_FILENAMES=OFF 을(를) 설정하다 합니다.

    다음과 같이 ABI 태그를 지정하다 string 을 pkg-config 메타데이터 파일 이름에 포함할 수도 있습니다.

    libbsoncxx-v_noabi-rhs-x64-v142-md.pc

    이 동작을 활성화 하려면 ENABLE_ABI_TAG_IN_LIBRARY_FILENAMES=ONENABLE_ABI_TAG_IN_PKGCONFIG_FILENAMES=ON 를 CMake 구성의 일부로 설정하다 합니다.

이 출시하다 에 학습 보려면 v 릴리스 노트3.10 를 Github 참조하세요. 에서 .

경고

호환성이 손상되는 변경

C++ 운전자 v3.9 호환성이 손상되는 변경이 포함되어 있습니다. 자세한 내용은 드라이버 버전 업그레이드 가이드 에서 버전 을(를) 참조하세요.3.9

v3.9 운전자 출시하다 에는 다음과 같은 새로운 기능이 포함되어 있습니다.

  • 이제 Docker 허브에서 C++ 운전자 컨테이너 이미지를 사용할 수 있습니다.

  • 사용자가 제공하지 않는 경우 운전자 는 MongoDB C 드라이버 종속성을 자동으로 다운로드합니다.

  • 운전자 는 더 이상 all 대상의 일부로 테스트를 빌드하지 않습니다. 테스트를 빌드 하려면 CMake 구성의 일부로 BUILD_TESTING=ON 을(를) 설정하다 합니다.

  • 운전자 는 FetchContent 모듈을 사용하여 MNMLSTC 코어 를 다운로드 하고 빌드 ExternalProject 합니다. 시스템에서 제공하지 않는 경우 모듈 대신 폴리필 라이브러리를 사용합니다. 또한 MNMLSTC 코어 헤더의 include 지시문을 패치하지 않습니다.

  • CMake 옵션 MONGOCXX_OVERRIDE_DEFAULT_INSTALL_PREFIX 을 추가합니다. 이 옵션을 TRUE 로 설정하다 하면 CMAKE_INSTALL_PREFIX 옵션의 기본값은 빌드 디렉토리 입니다. 이 옵션의 기본값 은 TRUE 입니다.

  • Atlas Search 인덱스관리를 위한 API 를 추가합니다.

  • VERSIONINFO 리소스 를 bsoncxx.dllmongocxx.dll 에 추가합니다.

  • APM 콜백 에서 예외를 발생시키는 것이 정의되지 않은 동작임을 명시적으로 문서화합니다.

  • CMake 빌드 단계에서 MNMLSTC 코어 헤더를 조기에 설치하지 않습니다.

  • 설치된 모든 C++ 운전자 패키지 구성에 대해 find_dependency() 를 통해 MongoDB C 드라이버 CMake 패키지 를 찾아야 합니다.

이 출시하다 에 학습 보려면 v 릴리스 노트3.9 를 Github 참조하세요. 에서 .