Descubra as novidades de cada versão:
4.15: quais as novidades
A versão PyMongo v4.15 inclui as seguintes novas funcionalidades:
Adiciona suporte experimental para queries de prefixo, sufixo e substring de Queryable Encryption . Estes recursos exigem
pymongocrypt1.16 ou posterior. Para saber mais sobre QE, consulte criptografia em execução.Observação
Recurso experimental
As queries de prefixo, sufixo e substring do Queryable Encryption são instáveis, e sua segurança não é garantida até que estejam geralmente disponíveis (GA). Use-os apenas em cargas de trabalho experimentais.
Adiciona suporte para codificação e decodificação de valores BSON
Decimal128para valores Pythondecimal.Decimalusando a classebson.codec_options.TypeRegistry. O exemplo a seguir mostra como codificar um valorDecimal128para um valordecimal.Decimalusando a classebson.decimal128.DecimalEncoder:opts = CodecOptions(type_registry=TypeRegistry([DecimalEncoder()])) bson.encode({"d": decimal.Decimal('1.0')}, codec_options=opts) Adiciona suporte para discos Windows ARM64.
O que há de novo em 4.14
Aviso
Mudanças de última hora
PyMongo v4.14 contém alterações significativas. Para obter mais informações, consulte a versão 4.14 das Alterações significativas.
A versão PyMongo v4.14 inclui as seguintes novas funcionalidades:
Adiciona suporte inicial para Python 3.14, incluindo recursos de threading gratuito. O driver ainda não é compatível com as seguintes funcionalidades com o Python 3.14:
Subintérpretes (
concurrent.interpreters)Threading grátis com criptografia
mod_wsgi
Remove o suporte experimental para threading gratuito com o Python 3.13.
Adiciona as seguintes propriedades na classe
bson.codec_options.TypeRegistry:.codecs: fornece acesso aos codecs específicos do tipo de um objetoTypeRegistry.fallback_encoder: fornece acesso a um codificador de fallback de um objetoTypeRegistry
Adiciona o método
append_metadata()às classesMongoClienteAsyncMongoClient. Você pode usar esse método para enviar metadados do cliente para o servidor sob demanda.Melhora o desempenho de seleção do servidor ao usar referência de leitura primária.
4.13: quais as novidades
A versão PyMongo v4.13 inclui as seguintes novas funcionalidades:
A API do PyMongo Async está geralmente disponível. Para saber como migrar para a API PyMongo Async a partir do driver do PyMongo ou da biblioteca Motor, consulte o guia Migrar para o PyMongo Async.
Corrige um erro onde
WriteConcern()não pôde ser avaliado ao utilizarw="majority".
Para ver uma lista completa de problemas resolvidos nesta versão, consulte as notas de versão do Jira.
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_msparaAutoEncryptionOpts.Adiciona suporte para
$lookupem 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.AsyncMongoClientos objetos 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
hedgepara as preferências de leituraPrimaryPreferred,Secondary,SecondaryPreferredeNearest. O suporte parahedgeserá 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
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)