Descubra as novidades de cada versão:
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 Versão 4.9 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:
Adicionadas as
Hello.connection_id
propriedades, CommandStartedEvent.server_connection_id, CommandSucceededEvent.server_connection_id e CommandFailedEvent.server_connection_id .Adicionado suporte para sufixos de nome para provedores de serviço de gerenciamento de chaves (KMS) para criptografia de nível de campo do lado do cliente (CSFLE). Este recurso requer
pymongocrypt
v1.9+ elibmongocrypt
v1.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_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({