릴리스 노트
다음 버전의 새로운 기능에 대해 알아보세요:
예정된 호환성이 손상되는 변경
MongoDB 소프트웨어 수명 주기 일정 에 따라, 예정된 PyMongo 마이너 버전에서는 최소 MongoDB Server 버전이 4.0 에서 으로 상향 4.2 조정됩니다. PyMongo 더 이상 MongoDB Server 4.0을(를) 지원 하지 않습니다. 운전자 버전을 업그레이드 방법을 학습 PyMongo 버전 업그레이드 가이드 참조하세요.
4.13의 새로운 기능
PyMongo v4.13 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.
PyMongo 비동기 API 일반적으로 사용할 수 있습니다. PyMongo 운전자 또는 모터 라이브러리에서 PyMongo 비동기 API 로 마이그레이션 방법을 학습하려면 PyMongo 비동기로 마이그레이션 가이드를 참조하세요.
w="majority"
를 사용할 때WriteConcern()
를 평가할 수 없는 버그를 수정합니다.
이 출시하다 에서 해결된 문제의 전체 목록을 보려면 Jira 출시하다 노트를 참조하세요.
4.12의 새로운 기능
PyMongo v4.12 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.
AutoEncryptionOpts
에key_expiration_ms
인수를 사용하여 DEK 캐시 수명 구성에 대한 지원 추가합니다.MongoDB Server 8.1 이상의 CSFLE 및 QE에서
$lookup
에 대한 지원 추가합니다.gridfs.asynchronous.grid_file.AsyncGridFSBucket.rename_by_name()
및gridfs.grid_file.GridFSBucket.rename_by_name()
메서드를 추가합니다. 이러한 메서드를 사용하면 수정본이 여러 개 있는 파일의 이름을 더 효과적으로 변경할 수 있습니다.gridfs.asynchronous.grid_file.AsyncGridFSBucket.delete_by_name()
및gridfs.grid_file.GridFSBucket.delete_by_name()
메서드를 추가합니다. 이러한 방법을 사용하면 수정본이 여러 개 있는 파일을 더 효과적으로 삭제할 수 있습니다.AsyncMongoClient
객체가 생성 시mongodb+srv://
연결 문자열에 대해 더 이상 DNS 확인을 수행하지 않습니다.asyncio
루프 차단을 방지하기 위해 PyMongo 이제 클라이언트 처음 연결될 때까지 해결을 연기합니다.pymongo.asynchronous.collection.AsyncCollection.distinct()
및pymongo.collection.Collection.distinct()
메서드에 인덱스 힌팅 지원 추가합니다.PrimaryPreferred
,Secondary
,SecondaryPreferred
및Nearest
읽기 설정에 대한hedge
매개변수를 더 이상 사용하지 않습니다.hedge
에 대한 지원은 PyMongo v5.0에서 제거됩니다.PyMongo 비동기 운전자 에서 PyOpenSSL 지원 제거합니다.
3 개 미만의 부분으로 구성된 유효한 SRV 호스트 이름을 허용합니다.
4.11의 새로운 기능
PyMongo v4.11 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.
Python v3.13+를 실행 때 무료 스레드 CPython에 대한 지원 추가합니다. 무료 스레딩에 대한 자세한 내용은 Python 설명서를 참조하세요.
사용 중 암호화 에는
pymongocrypt
v1.12 이상이 필요합니다.MongoClient.address()
및AsyncMongoClient.address()
메서드는 연결되지 않은 클라이언트에서 호출될 때 올바르게 차단 .IndexModel
및SearchIndexModel
클래스에 대한__repr__
지원 추가합니다.다음 메서드에
sort
매개 변수를 추가합니다.Collection.update_one()
Collection.replace_one()
operations.UpdateOne()
operations.UpdateMany()
ordered
또는verboseResults
옵션이True
로 설정하다 상태에서 승인되지 않은 쓰기와 함께MongoClient.bulkWrite()
및AsyncMongoClient.bulk_write()
메서드를 사용하면 오류 오류가 발생합니다.레거시 MongoDB 확장 JSON 날짜/시간 표현을 사용할 때
DatetimeMS
가'{"$date": X}'
대신'{"$date": "X"}'
로 잘못 인코딩되는 버그를 수정합니다.잘못된
$date
값을 구문 분석할 때bson.json_util.loads()
메서드가ValueError
대신IndexError
를 발생시키는 버그를 수정합니다.
4.10 버전의 새로운 기능
PyMongo v4.10 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.
bson.binary.Binary.from_vector()
및bson.binary.Binary.as_vector()
메서드를 사용하여 벡터 의 효율적인 저장 및 검색에 사용할 수 있는 새로운 바이너리 BSON 하위 유형(9)에 대한 잠정 지원 을 추가합니다. BSON 하위 유형 9 에 대한 지원은 beta 이며 일반적으로 사용 가능한 출시하다 전에 변경될 수 있습니다.애플리케이션 이 C 확장을 사용할 때
driver.name
클라이언트 메타데이터 필드 에"c"
를 추가합니다.AsyncMongoClient
의 교착 상태를 유발할 수 있는 버그를 수정합니다.
4.9의 새로운 기능
PyMongo v4.9 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.
MongoDB Server 8.0 및 Python 3.13 에 대한 지원 을 추가합니다.
Queryable Encryption 범위 쿼리에 대한 지원 을 추가합니다. 이 기능 을 사용하려면 앱 이 MongoDB Server 8.0 이상에 연결되어야 합니다. Queryable Encryption 에 대한 자세한 내용은 MongoDB Server 매뉴얼의 Queryable Encryption 을 참조하세요.
를 대체할 새로운 실험적 비동기 API Motor 를 추가합니다. 이 API 는 beta 이며 정식 버전이 출시하다 되기 전에 변경될 수 있습니다.
4.8의 새로운 기능
PyMongo v4.8 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.
출시하다 프로세스 에서 보안 소프트웨어 개발 라이프사이클(SSDLC) 자동화 를 구현했습니다. Github 릴리스에는 PyPI에서 릴리스된 배포 파일에 해당하는 소프트웨어 BOM(Bill of Material)과 서명 파일이 포함됩니다.
bson.binary.Binary
유형의 객체에서 이진 하위 유형이SENSITIVE_SUBTYPE
(8
)인 경우repr()
메서드가 수정됩니다.변경 스트림에서
startAtOperationTime
및resumeToken
필드가 모두 재시도 시도에 추가되어 재시도가 실패하는 버그가 수정되었습니다.Windows 에서 가져오기 시간을 개선하기 위해
os.name
에 대한 핸드셰이크 메타데이터 를Windows
로 변경했습니다.특히 운전자 가 많은 작업을 동시에 실행 때
MongoClient
작업의 성능이 향상되었습니다.pyopenssl
모듈 가져오기가AttributeError
와 함께 실패할 경우 stdlibssl
모듈에 폴백을 추가했습니다.
4.7의 새로운 기능
PyMongo v4.7 릴리스에는 다음과 같은 새로운 기능이 포함되어 있습니다.
, CommandStartedEvent.server_connection_id 를
Hello.connection_id
추가했습니다. , CommandSucceededEvent.server_connection_id 및 CommandFailedEvent.server_connection_id 속성.KMSKMS클라이언트CSFLE 측 필드 레벨 암호화( )에 대한 ( ) 제공자의 이름 접미사에 대한 지원이 추가되었습니다. 이 기능을 사용하려면
pymongocrypt
v1.9+ 및libmongocrypt
v1.9+가 필요합니다. 자세한 내용은 AutoEncryptionOpts 에 대한 API 설명서를 참조하세요. 클래스.BSON 문서를 JSON으로 인코딩하는 성능이 개선되었습니다.
이제
ClientEncryption.encrypt()
및ClientEncryption.encrypt_expression()
메서드에서key_id
인수를UUID
객체로 전달할 수 있습니다.Code
값이 포함된RawBSONDocument
객체를 확장하면 더 이상 오류가 발생하지 않습니다.Python 3.12 의 버그를 수정했습니다. 여기서 Python 인터프리터가 종료될 때
MongoClient
스레드가 시작되면RuntimeError: can't create new thread at interpreter shutdown
오류 메시지가stderr
에 기록될 수 있습니다.Int64
인스턴스가 항상 orjson 으로 인코딩되지 않는 버그가 수정되었습니다. . 이제 다음 예제와 같은 코드가 올바르게 실행됩니다.
import orjson from bson import json_util 'a': Int64(1)}, default=json_util.default, option=orjson.OPT_PASSTHROUGH_SUBCLASS) orjson.dumps({