OpenSymphony 2.11.0 resuelve un fallo de actualización que encontraron algunas personas al migrar desde 2.10.0.

El updater anterior ejecutaba:

cargo install opensymphony

Con Rust 1.93.0, Cargo podía seleccionar kstring 2.0.4, que requiere Rust 1.96.0 o una versión posterior. La instalación se detenía antes de poder reemplazar el propio updater.

Una única versión base de Rust

OpenSymphony ahora requiere Rust 1.97.1 tanto para el CLI como para la aplicación desktop. El workspace usa Cargo Resolver 3 y su grafo de dependencias bloqueado incluye kstring 2.0.4.

El desarrollo local, CI, Clippy, los metadatos de paquetes de Cargo y los metadatos de releases desktop comparten ahora esa base. La alternativa era conservar Rust 1.93 fijando kstring 2.0.2. Eso habría mantenido un toolchain obsoleto y creado deuda innecesaria de dependencias.

Elevar el MSRV es la opción más simple a largo plazo. La contrapartida explícita es que las personas que ya usan OpenSymphony quizá deban actualizar Rust una vez.

Por qué el updater de 2.10.0 todavía puede funcionar

Durante el release, una instalación de 2.10.0 pudo instalar 2.11.0 correctamente después de actualizar Rust. Cuando opensymphony update se inicia dentro de un checkout del código fuente de OpenSymphony, Rustup encuentra el archivo rust-toolchain.toml del repositorio y selecciona automáticamente Rust 1.97.1 para el proceso hijo de Cargo.

Rustup puede advertir que se está reemplazando el toolchain predeterminado. Esa advertencia es informativa.

Este comportamiento depende del entorno desde el que se invoca el comando. Quien ejecute el updater fuera del checkout con un toolchain predeterminado anterior quizá aún necesite el comando de recuperación manual.

Actualización

Primero usa la ruta normal:

rustup update stable
opensymphony update

Si falla al migrar desde una versión anterior a 2.11:

rustup update stable
cargo +stable install opensymphony --locked

Después de instalar 2.11.0, las futuras ejecuciones de opensymphony update usan:

cargo install opensymphony --locked

El bloqueo evita que el updater resuelva silenciosamente un grafo de dependencias distinto del que se probó y publicó con el release.

OpenSymphony 2.11.0 establece una única versión base de Rust soportada y una ruta de actualización más reproducible, sin mantener un compilador anterior mediante versiones fijadas de dependencias.

Consulta el tag del release v2.11.0 , instala el crate 2.11.0 o revisa los prerrequisitos y la guía de operaciones .