Anunciando Tauri 1.1.0

Después de 113 pull requests y casi dos meses de trabajo, el equipo de Tauri se complace en anunciar el lanzamiento de la versión 1.1.0. Los cambios fueron auditados internamente y no se encontraron problemas de seguridad.
Puedes actualizar las dependencias con:
npm install @tauri-apps/cli@latest @tauri-apps/api@latestyarn upgrade @tauri-apps/cli @tauri-apps/api --latestpnpm update @tauri-apps/cli @tauri-apps/api --latestcargo updateNovedades en 1.1.0
Sección titulada “Novedades en 1.1.0”Parche de seguridad
Sección titulada “Parche de seguridad”Esta versión incluye un parche para una vulnerabilidad de seguridad reportada por @martin-ocasek. La función readDir podía devolver entradas fuera del alcance configurado cuando se encontraba un enlace simbólico (symlink). El parche también está disponible en Tauri 1.0.6. Consulta el issue en GitHub para más detalles.
Generación de Íconos
Sección titulada “Generación de Íconos”Hemos estado recomendando usar el proyecto tauricon para generar íconos para tu aplicación Tauri usando una única imagen PNG de origen. Se reportaron varios problemas y decidimos “Reescribirlo en Rust” para mejorar su estabilidad. Esto nos permitió mover esta funcionalidad a la CLI principal de Tauri, por lo que ahora puedes usar el comando tauri icon.
Soporte de cargo-binstall para la CLI de Tauri
Sección titulada “Soporte de cargo-binstall para la CLI de Tauri”La CLI de Tauri ahora se puede instalar utilizando cargo-binstall, un mecanismo para descargar e instalar binarios precompilados de Rust. Los binarios están disponibles para los objetivos principales y se pueden instalar con:
$ cargo install cargo-binstall$ cargo binstall tauri-cli$ cargo tauri dev # run any Tauri command!Crear Bandejas del Sistema en Tiempo de Ejecución
Sección titulada “Crear Bandejas del Sistema en Tiempo de Ejecución”Las APIs de la bandeja del sistema (anteriormente solo disponibles en tauri::Builder::system_tray) ahora se pueden usar en tiempo de ejecución con tauri::SystemTray, lo que te da control sobre su ciclo de vida e incluso te permite crear múltiples bandejas.
Aquí tienes un ejemplo rápido sobre cómo usarlo:
use tauri::{Builder, CustomMenuItem, SystemTray, SystemTrayEvent, SystemTrayMenu};Builder::default() .setup(|app| { let handle = app.handle(); SystemTray::new() .with_id("main") .with_menu( SystemTrayMenu::new().add_item(CustomMenuItem::new("quit", "Quit")) ) .on_event(move |event| { let tray_handle = handle.tray_handle_by_id("main").unwrap(); if let SystemTrayEvent::MenuItemClick { id, .. } = event { if id == "quit" { tray_handle.destroy().unwrap(); } } }) .build(&handle) .expect("unable to create tray"); });Soporte para Configuración TOML
Sección titulada “Soporte para Configuración TOML”En las versiones 1.0, Tauri admite el formato de configuración JSON de forma predeterminada, y JSON5 cuando la característica de Cargo config-json5 está habilitada, lo que significa que las siguientes configuraciones son válidas:
{ "build": { "devPath": "http://localhost:8000", "distDir": "../dist" }}{ build: { // devServer URL (comments are allowed!) devPath: 'http://localhost:8000', distDir: '../dist', },}El lanzamiento 1.1.0 incluye soporte para TOML detrás de la característica de Cargo config-toml. Ahora puedes definir tu configuración de Tauri en un archivo Tauri.toml:
[build]dev-path = "http://localhost:8000"dist-dir = "../dist"Actualizaciones de Dependencias
Sección titulada “Actualizaciones de Dependencias”Esta versión incluye algunas actualizaciones de dependencias que debes manejar en tu aplicación si implementas funcionalidades específicas de la plataforma usando estas crates. Las actualizaciones más importantes son:
windowsactualizado a 0.39.0webview2-comactualizado a 0.19.1raw-window-handleactualizado a 0.5.0
Asegúrate de actualizar también los plugins como window-vibrancy y window-shadows a la última versión.
Colaboradores de 1.1.0
Sección titulada “Colaboradores de 1.1.0”El equipo de Tauri agradece a los siguientes colaboradores por la versión 1.1.0:
- Berrysoft
- keraf
- jsoref
- A-kirami
- olivierlemasle
- mateo-gallardo
- rockerBOO
- Flecart
- brian14708
- koriwi
- paul-soporan
- shniubobo
- horochx
- RubenKelevra
- LIMPIX31
- AxlLind
Otros Cambios
Sección titulada “Otros Cambios”Hay muchos otros cambios menores y correcciones de errores en esta versión. Puedes ver un resumen de las notas de la versión en las siguientes secciones. El registro de cambios completo se puede encontrar en la página de lanzamientos.
Nuevas características
Sección titulada “Nuevas características”- Comando
tauri icon - API
existsen el módulofs - Opción para desactivar el watcher de desarrollo con
tauri dev --no-watch - Usar automáticamente cualquier archivo
.taurignorecomo reglas de ignorado para el watcher de desarrollo y el buscador de rutas de la aplicación - Agregar soporte a cargo-binstall para el CLI de Tauri
- Formato de configuración TOML (Tauri.toml)
- APIs de temas en Linux
- Crear bandejas del sistema en tiempo de ejecución
- Configuración de
beforeBundleCommand beforeDevCommandybeforeBuildCommandahora tienen la opción de configurar el directorio de trabajo actual- Método
api::Command::encodingpara establecer la codificación de stdout/stderr - Se agregaron las características de Cargo
native-tls-vendoredyreqwest-native-tls-vendoredpara compilar y vincular estáticamente una copia vendored de OpenSSL en Linux - Implementación de
raw_window_handle::HasRawDisplayHandleparaAppyAppHandle
Correcciones
Sección titulada “Correcciones”- El parser de CLI ignoraba subcomandos internos.
- El actualizador rompía el ícono de la aplicación en Finder.
- Corregida la raíz de la salida de codegen al usar la API
CodegenContext.
Seguridad
Sección titulada “Seguridad”- Corregida la opción recursiva de
fs.readDirque leía directorios con enlaces simbólicos que no están permitidos por el scope
Mejoras
Sección titulada “Mejoras”- Validar la firma del actualizador contra la clave pública configurada
- Devolver un error si un Sidecar está configurado con el mismo nombre de archivo que la aplicación.
- Mantener las ventanas creadas en un RefCell en lugar de un Mutex, evitando bloqueos mutuos (deadlocks)
- Solicitar confirmación/configuración para
beforeDevCommandybeforeBuildCommandentauri init. - Usar
cargo metadatapara detectar la raíz del workspace y el directorio target. - Permitir configurar el
before_dev_commandpara forzar a la CLI a esperar a que el comando termine antes de continuar. - Evitar volver a descargar las herramientas de compilación de AppImage en cada compilación.
- Conservar los argumentos de la línea de comandos en
api::process::restart - Mejorar el estilo del diálogo en Windows a través de la dependencia de manifiesto
Microsoft.Windows.Common-Controls v6.0.0.0. - Volver a ejecutar codegen si los assets o íconos cambian
- Reescribir archivos de íconos temporales solo cuando el contenido cambie, evitando re-compilaciones innecesarias.
© 2026 Colaboradores de Tauri. CC-BY / MIT