Overview
En esta sección, puedes identificar los cambios que debes hacer en tu aplicación para actualizar tu controlador a una nueva versión.
Antes de actualizar, realiza las siguientes acciones:
Asegúrate de que la nueva versión del controlador sea compatible con las versiones de MongoDB Server a las que se conecta tu aplicación y con las versiones de Rust en las que se ejecuta tu aplicación. Para ver la información de compatibilidad, consulta el Página de Compatibilidad.
Aborde cualquier cambio disruptivo entre la versión actual del driver que utiliza su aplicación y la versión de actualización planificada en la sección Cambios disruptivos.
Control de versiones
Cada versión de driver de Rust tiene un número de versión en el formato
MAJOR.MINOR.PATCH. El controlador Rust usa Versionado semántico (SemVer)Lo que generalmente significa:
Los cambios disruptivos y la eliminación de funciones obsoletas se realizarán únicamente en las versiones principales.
Se puede agregar nueva funcionalidad utilizando banderas de características, las cuales deben habilitarse mediante un cambio de configuración de aceptación voluntaria. Estas funcionalidades pueden agregarse tanto en lanzamientos importantes como menores.
La funcionalidad puede ser marcada como obsoleta tanto en las versiones mayores como en las menores, pero no será eliminada hasta la próxima versión mayor, como muy pronto.
Las versiones de parches solo contendrán correcciones que no sean de ruptura y actualizaciones de seguridad.
cambio disruptivo
Un cambio disruptivo es una modificación en una convención o comportamiento en una versión específica del driver que podría impedir que tu aplicación funcione correctamente si no lo solucionas antes de actualizar.
Los cambios disruptivos en esta sección se categorizan según la versión del driver que los ha introducido. Al actualizar las versiones del driver, debes abordar todos los cambios disruptivos entre la versión actual y la versión de actualización.
Versión 3.5 Obsolescencias
La versión del controlador Rust v3.5 incluye las siguientes obsolescencias:
Descontinúa la especificación de la autenticación de AWS en el nombre de usuario y la contraseña de tu cadena de conexión y la propiedad
AWS_SESSION_TOKEN. Esta funcionalidad se eliminará en la siguiente versión principal del driver. Actualiza tu aplicación para utilizar métodos alternativos de autenticación de AWS. Para aprender más sobre autenticación de AWS, consulta el Sección Mecanismo MONGODB-AWS de la guía de Autenticación.Se deja obsoleta la opción '
socketTimeoutMS'. Utiliza la opciónwTimeoutMSen su lugar. Para obtener más información sobre las opciones de conexión disponibles, consulte la guía Opciones de conexión.
Versión 3.3 cambio disruptivo
La versión del driver de Rust v3.3 incluye los siguientes cambios disruptivos:
Se suspende el soporte para la versión MongoDB Server 4.0 y se eleva la versión mínima compatible a 4.2. Asegúrate de que tu implementación de MongoDB esté ejecutando la versión 4.2 o posterior antes de actualizar.
Presenta soporte para la versión 3.0 de la caja BSON. Mientras que el driver utiliza la versión 2.15 por defecto para la compatibilidad hacia atrás, BSON 3.0 incluye varios cambios incompatibles con versiones anteriores en la API:
Introduce un tipo unificado de
bson::error::Errorque consolida el manejo de errores.Agrega los tipos
&CStryCStringpara las claves BSON y las expresiones regulares.Hace que
serdesea una funcionalidad opcional que está desactivada por defecto. Las funciones de serialización y deserialización ahora tienen los prefijosserialize_toodeserialize_from.
Versión 3.2 cambio disruptivo
La versión del driver de Rust v3.2 incluye los siguientes cambios disruptivos:
Aumenta la versión mínima compatible de Rust a 1.71.1. Asegúrate de que tu entorno de desarrollo use Rust versión 1.71.1 o posterior.
Versión 3.1 cambio disruptivo
La versión del driver de Rust v3.1 incluye los siguientes cambios disruptivos:
Se suspende el soporte para la versión MongoDB Server 3.6 y se eleva la versión mínima compatible a 4.0. Asegúrate de que tu implementación de MongoDB esté ejecutando la versión 4.0 o posterior antes de actualizar.
Versión 3.0 cambio disruptivo
La versión del driver de Rust v3.0 incluye los siguientes cambios disruptivos:
Implementa una API fluida que cambia cómo pasas opciones e inicias sesiones:
Encadena métodos del constructor de opciones directamente a las llamadas de método en lugar de pasar parámetros struct de opciones
Encadena el método
session()a las llamadas del método en lugar de usar métodos con sufijos_with_sessionUtiliza el método
run()para operaciones sincrónicas
Remueve el soporte para el entorno de ejecución asíncrono
async-std. Actualiza tu aplicación para utilizar un entorno de ejecución alternativo, como Tokio.Requiere el uso de una
compatfuncionalidad si se compila con el indicadorno-default-features. Lasrustlsydns-resolutionfuncionalidades ahora son opcionales.Elimina la compatibilidad con las funcionalidades del controlador
bson-*. Seleccione estas funcionalidades incluyendobsoncomo una dependencia directa en su aplicación.Remueve el soporte para las constantes de lectura y nivel de confirmación de escritura (write concern). Utiliza métodos asistentes para establecer los valores de
ReadConcernyWriteConcernen su lugar.Agrega
Send + Syncrestricciones al tipoCollection<T>.Cambia el tipo de campos de
ReadPreferenceOptionsaOption<ReadPreferenceOptions>.Elimina la opción
CollectionOptions::human_readable_serialization. En lugar de la opciónCollectionOptions::human_readable_serialization, utilice el tipo de contenedorbson::HumanReadablepara serializar los datos del usuario en una forma legible para humanos.Renombra el campo
comment_bsonacommentpara las estructurasAggregateOptions,FindOptionsyFindOneOptions.