Descubra as novidades de cada versão:
Próximas alteração interruptiva
De acordo com os agendamentos do ciclo de vida do software MongoDB, uma próxima versão secundária do PyMongo aumentará a versão mínima do MongoDB Server 4.0 de 4.2 para. O PyMongo não suportará mais o MongoDB Server 4.0. Para saber como atualizar sua versão do driver, consulte o guia Atualizar versões do PyMongo.
Novidades no 4.11
Aviso
Mudanças de última hora
PyMongo v4.11 contém alterações significativas. Para obter mais informações, consulte a versão 4.11 das Alterações significativas.
A versão PyMongo v4.11 inclui as seguintes novas funcionalidades:
Adiciona suporte para CPython de thread livre ao executar Python v3.13+. Para obter mais informações sobre threading gratuito, consulte a documentação do Python.
A criptografia em uso requer
pymongocryptv1.12 ou posterior.Os métodos
MongoClient.address()eAsyncMongoClient.address()bloqueiam corretamente quando chamados em clientes não conectados.Adiciona suporte
__repr__para as classesIndexModeleSearchIndexModel.Adiciona um parâmetro
sortaos seguintes métodos:Collection.update_one()Collection.replace_one()operations.UpdateOne()operations.UpdateMany()
Os métodos
MongoClient.bulkWrite()eAsyncMongoClient.bulk_write()lançam um erro de erro se você usá-los com gravações não reconhecidas quando as opçõesorderedouverboseResultsestiverem definidas comoTrue.Corrige um bug que fazia com que
DatetimeMSfosse codificado incorretamente como'{"$date": "X"}'em vez de'{"$date": X}'ao usar a representação de data e hora do JSON estendido do MongoDB legado .Corrige um erro que fazia com que o método
bson.json_util.loads()gerasse umIndexErrorem vez de umValueErrorao analisar um valor de$dateinválido.
Novidades no 4.10
A versão PyMongo v4.10 inclui as seguintes novas funcionalidades:
Adiciona suporte provisório para um novo subtipo binário de BSON (9), que pode ser usado para armazenamento e recuperação eficientes de vetores usando os métodos
bson.binary.Binary.from_vector()ebson.binary.Binary.as_vector(). O suporte para o subtipo 9 de BSON está em versão beta e está sujeito a alterações antes da versão geralmente disponível.Adiciona
"c"ao campo de metadados do clientedriver.namequando um aplicação usa a extensão C.Corrige um bug que pode causar impasse
AsyncMongoClient.
Novidades no 4.9
Aviso
Mudanças de última hora
PyMongo v4.9 contém alterações significativas. Para obter mais informações, consulte a versão 4.9 das Alterações significativas.
A versão PyMongo v4.9 inclui as seguintes novas funcionalidades:
Adiciona suporte para MongoDB Server 8.0 e Python 3.13.
Adiciona suporte para queries de intervalo de Queryable Encryption . Para usar esse recurso, seu aplicativo deve se conectar ao MongoDB Server 8.0 ou posterior. Para obter mais informações sobre Queryable Encryption, consulte Queryable Encryption no manual do MongoDB Server .
Adiciona uma nova API assíncrona experimental como substituição para o Motor. Essa API está em versão beta e está sujeita a alterações antes da versão geralmente disponível.
4.8: quais as novidades
Aviso
Mudanças de última hora
PyMongo v4.8 contém alterações significativas. Para obter mais informações, consulte a versão 4.8 das Alterações significativas.
A versão PyMongo v4.8 inclui as seguintes novas funcionalidades:
Implementação da automação segura do ciclo de vida de desenvolvimento de software (SSDLC) no processo de lançamento. As versões do Github incluem uma lista de materiais de software (SBOM) e arquivos de assinatura correspondentes aos arquivos de distribuição lançados no PyPI.
Em objetos do tipo
bson.binary.Binary, o métodorepr()é redigido quando o subtipo binário éSENSITIVE_SUBTYPE(8).Foi corrigido um bug nos change streams em que os campos
startAtOperationTimeeresumeTokenpodiam ser adicionados a uma nova tentativa, o que fazia com que a nova tentativa falhasse.No Windows, os metadados de handshake foram alterados de
os.nameparaWindowspara melhorar o tempo de importação.Desempenho aprimorado de operações
MongoClient, especialmente quando o driver está executando muitas operações simultaneamente.Foi adicionado um fallback ao módulo stdlib
sslse a importação do módulopyopensslfalhar com umAttributeError.
O que há de novo em 4.7
Aviso
Mudanças de última hora
PyMongo v4.7 contém alterações significativas. Para obter mais informações, consulte a versão 4.7 das Alterações significativas.
A versão PyMongo v4.7 inclui as seguintes novas funcionalidades:
Adicionado o
Hello.connection_id, CommandStartedEvent.server_connection_id, CommandSucceededEvent.server_connection_id e CommandFailedEvent.server_connection_id propriedades.Suporte adicionado para sufixos de nome para fornecedores de KMS (KMS) para criptografia no nível do campo do lado do cliente (CSFLE). Este recurso requer
pymongocryptv1.9+ elibmongocryptv1.9+. Para obter mais informações, consulte a documentação da API para a classe AutoEncryptionOpts.Melhorou o desempenho da codificação de documentos BSON para JSON.
Os métodos
ClientEncryption.encrypt()eClientEncryption.encrypt_expression()agora permitem que o argumentokey_idseja passado como um objetoUUID.Aumentar um objeto
RawBSONDocumentcontendo um valorCodenão causa mais um erro.Correção de um bug no Python 3.12 onde a mensagem de erro
RuntimeError: can't create new thread at interpreter shutdownpode ser gravada emstderrquando um threadMongoClientcomeça quando o interpretador Python está sendo desligado.Corrigido um bug em que
Int64as instâncias nem sempre podiam ser codificadas por orjson. Códigos como o exemplo a seguir agora são executados corretamente:
import orjson from bson import json_util orjson.dumps({'a': Int64(1)}, default=json_util.default, option=orjson.OPT_PASSTHROUGH_SUBCLASS)