Notas de versão
Nesta página
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.
4.12: quais as novidades
A versão PyMongo v4.12 inclui as seguintes novas funcionalidades:
Adiciona suporte para configurar a vida útil do cache de DEK usando o argumento
key_expiration_ms
paraAutoEncryptionOpts
.Adiciona suporte para
$lookup
em CSFLE e QE para o MongoDB Server 8.1 e posterior.Adiciona os métodos
gridfs.asynchronous.grid_file.AsyncGridFSBucket.rename_by_name()
egridfs.grid_file.GridFSBucket.rename_by_name()
. Você pode usar esses métodos para renomear arquivos com mais desempenho com várias revisões.Adiciona os métodos
gridfs.asynchronous.grid_file.AsyncGridFSBucket.delete_by_name()
egridfs.grid_file.GridFSBucket.delete_by_name()
. Você pode usar esses métodos para obter uma exclusão mais eficiente de arquivos com várias revisões.Os objetos
AsyncMongoClient
não executam mais resolução de DNS para connection stringsmongodb+srv://
na criação. Para evitar o bloqueio do loopasyncio
, o PyMongo agora adia a resolução até que o cliente seja conectado pela primeira vez.Adiciona suporte de sugestão de índice aos métodos
pymongo.asynchronous.collection.AsyncCollection.distinct()
epymongo.collection.Collection.distinct()
.Descontinua o parâmetro
hedge
para as preferências de leituraPrimaryPreferred
,Secondary
,SecondaryPreferred
eNearest
. O suporte parahedge
será removido no PyMongo v5.0.Remove o suporte PyOpenSSL do driver PyMongo Async.
Permite nomes de host SRV válidos com menos de 3 partes.
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
pymongocrypt
v1.12 ou posterior.Os métodos
MongoClient.address()
eAsyncMongoClient.address()
bloqueiam corretamente quando chamados em clientes não conectados.Adiciona suporte
__repr__
para as classesIndexModel
eSearchIndexModel
.Adiciona um parâmetro
sort
aos 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çõesordered
ouverboseResults
estiverem definidas comoTrue
.Corrige um bug que fazia com que
DatetimeMS
fosse 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 umIndexError
em vez de umValueError
ao analisar um valor de$date
invá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.name
quando 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
startAtOperationTime
eresumeToken
podiam 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.name
paraWindows
para 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
ssl
se a importação do módulopyopenssl
falhar 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 de nível de campo do lado do cliente (CSFLE). Esta funcionalidade requer
pymongocrypt
v1.9+ elibmongocrypt
v1.9+. Para obter mais informações, consulte a documentação da API para o AutoEncryptionOpts aula.Melhorou o desempenho da codificação de documentos BSON para JSON.
Os métodos
ClientEncryption.encrypt()
eClientEncryption.encrypt_expression()
agora permitem que o argumentokey_id
seja passado como um objetoUUID
.Aumentar um objeto
RawBSONDocument
contendo um valorCode
nã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 shutdown
pode ser gravada emstderr
quando um threadMongoClient
começa quando o interpretador Python está sendo desligado.Corrigido um bug em que
Int64
as 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 'a': Int64(1)}, default=json_util.default, option=orjson.OPT_PASSTHROUGH_SUBCLASS) orjson.dumps({