개요
이 섹션에서는 운전자 를 새 버전으로 업그레이드 하기 위해 애플리케이션 에 적용해야 하는 변경 사항을 확인할 수 있습니다.
업그레이드하기 전에 다음 작업을 수행하세요:
새 드라이버 버전이 애플리케이션 연결되는 MongoDB Server 버전 및 애플리케이션 실행되는 Rust 버전과 호환되는지 확인하세요. 호환성 정보를 보려면 호환성 페이지를 참조하세요.
애플리케이션에서 사용 중인 드라이버의 현재 버전과 업그레이드 예정 버전 간의 호환성이 손상되는 변경이 있으면 호환성이 손상되는 변경 사항 섹션에서 해결하세요.
버전 관리
각 Rust 드라이버 릴리스에는 MAJOR.MINOR.PATCH 형식의 버전 번호가 있습니다. Rust 드라이버 일반적으로 다음을 의미하는 시맨틱 버전 관리(SemVer) 를 사용합니다.
호환성이 손상되는 변경 사항과 더 이상 사용되지 않는 기능의 제거는 주요 버전 릴리스에서만 수행됩니다.
기능 플래그를 사용하여 새로운 기능을 추가할 수 있으며, 이는 옵트인 구성 변경을 통해 활성화해야 합니다. 이러한 기능 플래그는 메이저 또는 마이너 릴리스에 추가될 수 있습니다.
이 기능은 주요 또는 부 릴리스에서 더 이상 사용되지 않는 것으로 표시될 수 있지만, 늦어도 다음 주요 출시하다 까지는 제거되지 않습니다.
패치 버전 릴리스에는 호환성이 손상되지 않는 수정 사항과 보안 업데이트만 포함됩니다.
호환성이 손상되는 변경
호환성이 손상되는 변경 은 특정 버전의 운전자 에서 규칙이나 동작을 수정하여 업그레이드하기 전에 주소 하지 않으면 애플리케이션 제대로 작동하지 않을 수 있는 것을 말합니다.
이 섹션의 호환성이 손상되는 변경은 이를 도입한 드라이버 버전별로 분류됩니다. 드라이버 버전을 업그레이드할 때 현재 버전과 업그레이드 버전 간의 호환성이 손상되는 변경을 모두 해소합니다.
버전 3.5 지원 중단
Rust 드라이버 v3.5 출시에는 다음과 같은 사용 중단이 포함됩니다.
연결 문자열 의 사용자 이름 과 비밀번호와
AWS_SESSION_TOKEN속성 에 AWS 인증 지정하는 작업이 더 이상 지원되지 않습니다. 이 기능은 드라이버 의 다음 주요 버전에서 제거될 예정입니다. 대체 AWS 인증 방법을 사용하도록 애플리케이션 업데이트합니다. AWS 인증에 대해 자세히 학습하려면 인증 가이드의 MONGODB-AWS 메커니즘 섹션을 참조하세요.socketTimeoutMS옵션을 더 이상 사용하지 않습니다. 대신wTimeoutMS옵션을 사용합니다. 사용 가능한 연결 옵션에 대해 자세히 학습하려면 연결 옵션 가이드 를 참조하세요.
버전 3.3 호환성이 손상되는 변경
Rust 드라이버 v3.3 출시에는 다음과 같은 호환성이 손상되는 변경이 포함됩니다.
MongoDB Server 버전 4.0 에 대한 지원 중단하고 지원되는 최소 버전을 4.2으로 상향합니다. 업그레이드하기 전에 MongoDB 배포서버 버전 4.2 이상을 실행 중인지 확인하세요.
BSON 크레이트의 버전 3.0 에 대한 지원 도입합니다. 드라이버 이전 버전과의 호환성을 위해 기본값 으로 버전 2.15 을 사용하지만, BSON 3.0 에는 이전 버전과 호환되지 않는 몇 가지 API 변경 사항이 포함되어 있습니다.
오류 처리를 통합하는 통합
bson::error::Error유형을 도입합니다.BSON 키 및 정규 표현식에
&CStr및CString유형을 추가합니다.serde을 기본값 으로 비활성화되어 있는 선택적 기능 으로 만듭니다. 이제 직렬화 및 역직렬화 함수에serialize_to또는deserialize_from접두사가 있습니다.
버전 3.2 호환성이 손상되는 변경
Rust 드라이버 v3.2 출시에는 다음과 같은 호환성이 손상되는 변경이 포함됩니다.
최소 지원 Rust 버전을 1.71.1으로 상향합니다. 개발 환경에서 Rust 버전 1.71.1 이상을 사용해야 합니다.
버전 3.1 호환성이 손상되는 변경
Rust 드라이버 v3.1 출시에는 다음과 같은 호환성이 손상되는 변경이 포함됩니다.
MongoDB Server 버전 3.6 에 대한 지원 중단하고 지원되는 최소 버전을 4.0으로 상향합니다. 업그레이드하기 전에 MongoDB 배포서버 버전 4.0 이상을 실행 중인지 확인하세요.
버전 3.0 호환성이 손상되는 변경
Rust 드라이버 v3.0 출시에는 다음과 같은 호환성이 손상되는 변경이 포함됩니다.
옵션을 전달하고 세션을 시작하는 방법을 변경하는 유창한 API 구현합니다.
옵션 구조체 매개변수를 전달하는 대신 옵션 빌더 메서드를 메서드 호출에 직접 연결합니다.
_with_session접미사가 있는 메서드를 사용하는 대신session()메서드를 메서드 호출에 연결합니다.동기 작업에는
run()메서드 사용
async-std비동기 런타임에 대한 지원 제거합니다. Tokio와 같은 대체 런타임을 사용하도록 애플리케이션 업데이트합니다.no-default-features플래그로 컴파일한 경우compat기능 을 사용해야 합니다.rustls및dns-resolution기능은 이제 선택 사항입니다.bson-*드라이버 기능에 대한 지원을 제거합니다. 대신 애플리케이션 에 직접 종속성으로bson을(를) 포함하여 이러한 기능을 선택하세요.읽기 및 쓰기 고려 (write concern) 상수에 대한 지원 제거합니다. 대신 헬퍼 메서드를 사용하여
ReadConcern및WriteConcern값을 설정하다 .Collection<T>유형에Send + Sync제약 조건을 추가합니다.ReadPreferenceOptions필드의 유형을Option<ReadPreferenceOptions>로 변경합니다.CollectionOptions::human_readable_serialization옵션을 제거합니다.CollectionOptions::human_readable_serialization옵션 대신bson::HumanReadable래퍼 유형을 사용하여 사용자 데이터를 사람이 읽을 수 있는 형식으로 직렬화합니다.AggregateOptions,FindOptions및FindOneOptions구조체에 대해comment_bson필드 의 이름을comment로 변경합니다.