Docs Menu
Docs Home
/ /

Notas de versión

Conozca las novedades en:

  • Versión 4.16

  • Versión 4.15

  • Versión 4.14

  • Versión 4.13

  • Versión 4.12

  • Versión 4.11

  • Versión 4.10

  • Versión 4.9

  • Versión 4.8

  • Versión 4.7

La versión v4.16 de PyMongo incluye las siguientes características nuevas:

  • Reduce el riesgo de fugas de datos confidenciales al eliminar documentos no válidos. bson.errors.InvalidDocument mensajes de error.

  • Actualiza el requisito dnspython del controlador a v2.6.1 o posterior.

  • Elimina la compatibilidad con Eventlet. Si su aplicación utiliza Eventlet, migre a un modelo de concurrencia compatible, como gevent o asyncio.

  • Actualiza el soporte de Zstandard de las siguientes maneras:

    • Si usa Python v3.14 o posterior, PyMongo usa la biblioteca estándar.

    • Si utiliza versiones anteriores de Python, PyMongo utiliza el paquete backports.zstd.

  • Actualiza el tipo de retorno de los siguientes métodos para incluir None. Puede llamar a estos métodos en una instancia Collection o AsyncCollection.

    • find_one_and_update()

    • find_one_and_replace()

    • find_one_and_delete()

  • Agrega soporte para convertir matrices NumPy de dimensión 1al tipo BinaryVector.

  • Impide que la clase ClientEncryption cargue automáticamente la biblioteca crypt_shared si ya hay otra instancia cargada. Esto soluciona el siguiente error:

    MongoCryptError: An existing crypt_shared library is loaded by the application

La versión v4.15 de PyMongo incluye las siguientes características nuevas:

  • Añade compatibilidad experimental con consultas de prefijo, sufijo y subcadena de cifrado consultable. Estas funciones requieren pymongocrypt 1.16 o posterior. Para obtener más información sobre QE, consulte Cifrado en uso.

    Nota

    Característica experimental

    Las consultas de prefijo, sufijo y subcadena de cifrado consultable son inestables y su seguridad no está garantizada hasta que estén disponibles para el público general (GA). Úselas solo en cargas de trabajo experimentales.

  • Añade compatibilidad para codificar y decodificar valores BSON Decimal128 en valores Python decimal.Decimal mediante la clase bson.codec_options.TypeRegistry. El siguiente ejemplo muestra cómo codificar un valor Decimal128 en un valor decimal.Decimal mediante la clase bson.decimal128.DecimalEncoder:

    opts = CodecOptions(type_registry=TypeRegistry([DecimalEncoder()]))
    bson.encode({"d": decimal.Decimal('1.0')}, codec_options=opts)
  • Agrega soporte para ruedas Windows ARM64.

Advertencia

Cambios radicales

La versión de PyMongo contiene cambios importantes. Para4.14 4.14 más información, consulte Cambios importantes de la versión.

La versión v4.14 de PyMongo incluye las siguientes características nuevas:

  • Añade compatibilidad preliminar con Python 3.14, incluyendo funciones de subprocesos libres. El controlador aún no es compatible con las siguientes funciones de Python 3.14:

    • Subintérpretes (concurrent.interpreters)

    • Subprocesos libres con cifrado

    • mod_wsgi

  • Elimina el soporte experimental para subprocesos libres con Python 3.13.

  • Agrega las siguientes propiedades a la clase bson.codec_options.TypeRegistry:

    • .codecs: Proporciona acceso a códecs específicos para el tipo de un objeto TypeRegistry

    • .fallback_encoder: proporcionar acceso al codificador de respaldo de un objeto TypeRegistry

  • Añade el método append_metadata() a las clases MongoClient y AsyncMongoClient. Puede usar este método para enviar metadatos del cliente al servidor cuando lo necesite.

  • Mejora el rendimiento de selección de servidor cuando se utiliza la referencia de lectura principal.

La versión v4.13 de PyMongo incluye las siguientes características nuevas:

  • La API asíncrona de PyMongo está disponible de forma general. Para saber cómo migrar a la API asíncrona de PyMongo desde el controlador de PyMongo o la biblioteca Motor, consulta la guía "Migrar a PyMongo asíncrona".

  • Se corrige un error en el que WriteConcern() no podía evaluarse al utilizar w="majority".

Para ver una lista completa de problemas resueltos en esta versión, consulte las notas de la versión de Jira.

La versión v4.12 de PyMongo incluye las siguientes características nuevas:

  • Agrega soporte para configurar la duración de la memoria caché de DEK mediante el uso del argumento key_expiration_ms en AutoEncryptionOpts.

  • Agrega soporte para $lookup en CSFLE y QE para MongoDB Server 8.1 y versiones posteriores.

  • Añade los métodos gridfs.asynchronous.grid_file.AsyncGridFSBucket.rename_by_name() y gridfs.grid_file.GridFSBucket.rename_by_name(). Puedes usarlos para renombrar archivos con múltiples revisiones de forma más eficiente.

  • Se agregan los métodos gridfs.asynchronous.grid_file.AsyncGridFSBucket.delete_by_name() y gridfs.grid_file.GridFSBucket.delete_by_name(). Puedes utilizar estos métodos para borrar archivos con múltiples revisiones de manera más eficiente.

  • AsyncMongoClient Los objetos ya no realizan la resolución DNS de las cadenas de conexión mongodb+srv:// al crearse. Para evitar bloquear el bucle asyncio, PyMongo ahora pospone la resolución hasta que el cliente se conecta por primera vez.

  • Agrega soporte de sugerencias de índice a los métodos pymongo.asynchronous.collection.AsyncCollection.distinct() y pymongo.collection.Collection.distinct().

  • Se desaconseja el uso del parámetro hedge para las preferencias de lectura PrimaryPreferred, Secondary, SecondaryPreferred y Nearest. El soporte para hedge se eliminará en PyMongo v5.0.

  • Elimina la compatibilidad con PyOpenSSL del controlador PyMongo Async.

  • Permite nombres de host SRV válidos con menos de 3 partes.

Advertencia

Cambios radicales

La versión de PyMongo contiene cambios importantes. Para4.11 4.11 más información, consulte Cambios importantes de la versión.

La versión v4.11 de PyMongo incluye las siguientes características nuevas:

  • Añade compatibilidad con CPython de subprocesos libres al ejecutar Python v3.13+. Para más información sobre subprocesos libres, consulta la documentación de Python.

  • El cifrado en uso requiere pymongocrypt v1.12 o posterior.

  • Los métodos MongoClient.address() y AsyncMongoClient.address() se bloquean correctamente cuando se invocan en clientes no conectados.

  • Agrega soporte __repr__ para las clases IndexModel y SearchIndexModel.

  • Agrega un parámetro sort a los siguientes métodos:

    • Collection.update_one()

    • Collection.replace_one()

    • operations.UpdateOne()

    • operations.UpdateMany()

  • Los métodos MongoClient.bulkWrite() y AsyncMongoClient.bulk_write() arrojan un error si los usas con guardados no confirmados cuando las opciones ordered o verboseResults están configuradas en True.

  • Corrige un error que causaba que DatetimeMS se codificara incorrectamente como '{"$date": "X"}' en lugar de '{"$date": X}' al usar la representación de fecha y hora JSON extendida de MongoDB heredada.

  • Corrige un error que causaba que el método bson.json_util.loads() generara un IndexError en lugar de un ValueError al analizar un valor $date no válido.

La versión v4.10 de PyMongo incluye las siguientes características nuevas:

  • Añade compatibilidad provisional con un nuevo subtipo binario BSON9 (), que permite el almacenamiento y la recuperación eficientes de vectores mediante los bson.binary.Binary.from_vector() bson.binary.Binary.as_vector() métodos y. La compatibilidad con el subtipo BSON 9 está en fase beta y está sujeta a cambios antes de su lanzamiento general.

  • Agrega "c" al campo de metadatos del cliente driver.name cuando una aplicación usa la extensión C.

  • Corrige un error que podría provocar que AsyncMongoClient se bloquee.

Advertencia

Cambios radicales

La versión de PyMongo contiene cambios importantes. Para4.9 4.9 más información, consulte Cambios importantes de la versión.

La versión v4.9 de PyMongo incluye las siguientes características nuevas:

  • Se añade soporte para MongoDB Server 8.0 y Python 3.13.

  • Añade compatibilidad con consultas de rango de cifrado consultable. Para usar esta función, la aplicación debe conectarse a MongoDB Server 8.0 o posterior. Para obtener más información sobre el cifrado consultable,consulte Cifrado consultable en el manual de MongoDB Server.

  • Añade una nueva API asíncrona experimental que reemplaza a Motor. Esta API está en fase beta y está sujeta a cambios antes de su lanzamiento general.

Advertencia

Cambios radicales

La versión de PyMongo contiene cambios importantes. Para4.8 4.8 más información, consulte Cambios importantes de la versión.

La versión v4.8 de PyMongo incluye las siguientes características nuevas:

  • Se implementó la automatización del Ciclo de Vida de Desarrollo de Software Seguro (SSDLC) en el proceso de lanzamiento. Las versiones de GitHub incluyen una lista de materiales de software (SBOM) y archivos de firma correspondientes a los archivos de distribución publicados en PyPI.

  • En objetos de tipo bson.binary.Binary, el método repr() se redacta cuando el subtipo binario es SENSITIVE_SUBTYPE (8).

  • Se corrigió un error en los flujos de cambio donde los campos startAtOperationTime y resumeToken se podían agregar a un intento de reintento, lo que causaba que el reintento fallara.

  • En Windows, se cambiaron los metadatos del protocolo de enlace de os.name a Windows para mejorar el tiempo de importación.

  • Se mejoró el rendimiento de las operaciones MongoClient, especialmente cuando el controlador ejecuta muchas operaciones simultáneamente.

  • Se agregó una alternativa al módulo stdlib ssl si la importación del módulo pyopenssl falla con un AttributeError.

Advertencia

Cambios radicales

La versión de PyMongo contiene cambios importantes. Para4.7 4.7 más información, consulte Cambios importantes de la versión.

La versión v4.7 de PyMongo incluye las siguientes características nuevas:

  • Se agregaron las Hello.connection_id propiedades, CommandStartedEvent.server_connection_id, CommandSucceededEvent.server_connection_id y CommandFailedEvent.server_connection_id.

  • Se agregó compatibilidad con sufijos de nombre para proveedores del Servicio de Administración de Claves (KMS) para el Cifrado a Nivel de Campo del Lado del Cliente (CSFLE). Esta función requiere pymongocrypt v1.9+ y libmongocrypt v1.9+. Para obtener más información, consulte la documentación de la API de la clase AutoEncryptionOpts.

  • Se mejoró el rendimiento de la codificación de documentos BSON a JSON.

  • Los métodos ClientEncryption.encrypt() y ClientEncryption.encrypt_expression() ahora permiten que el argumento key_id se pase como un objeto UUID.

  • Inflar un objeto RawBSONDocument que contiene un valor Code ya no provoca un error.

  • Se corrigió un error en Python 3.12 donde el mensaje de error RuntimeError: can't create new thread at interpreter shutdown podía escribirse en stderr cuando se iniciaba un hilo MongoClient mientras el intérprete de Python se estaba cerrando.

  • Se corrigió un error que impedía que la biblioteca orjson codificara las instancias Int64. Código como el del siguiente ejemplo ahora se ejecuta correctamente:

>>> import orjson
>>> from bson import json_util
>>> orjson.dumps({'a': Int64(1)}, default=json_util.default, option=orjson.OPT_PASSTHROUGH_SUBCLASS)

Volver

Tutorial: Implementar una aplicación Flask en Azure Container Apps

En esta página