Saltar al contenido

Anunciando Tauri 1.1.0

Imagen Principal del Lanzamiento de Tauri 1.1

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@latest

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.

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.

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");
});

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:

tauri.conf.json
{
"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:

Tauri.toml
[build]
dev-path = "http://localhost:8000"
dist-dir = "../dist"

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:

  • windows actualizado a 0.39.0
  • webview2-com actualizado a 0.19.1
  • raw-window-handle actualizado a 0.5.0

Asegúrate de actualizar también los plugins como window-vibrancy y window-shadows a la última versión.

El equipo de Tauri agradece a los siguientes colaboradores por la versión 1.1.0:

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.

  • Comando tauri icon
  • API exists en el módulo fs
  • Opción para desactivar el watcher de desarrollo con tauri dev --no-watch
  • Usar automáticamente cualquier archivo .taurignore como 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
  • beforeDevCommand y beforeBuildCommand ahora tienen la opción de configurar el directorio de trabajo actual
  • Método api::Command::encoding para establecer la codificación de stdout/stderr
  • Se agregaron las características de Cargo native-tls-vendored y reqwest-native-tls-vendored para compilar y vincular estáticamente una copia vendored de OpenSSL en Linux
  • Implementación de raw_window_handle::HasRawDisplayHandle para App y AppHandle
  • 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.
  • Corregida la opción recursiva de fs.readDir que leía directorios con enlaces simbólicos que no están permitidos por el scope
  • 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 beforeDevCommand y beforeBuildCommand en tauri init.
  • Usar cargo metadata para detectar la raíz del workspace y el directorio target.
  • Permitir configurar el before_dev_command para 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