Para mejorar la gestión de dependencias, Deno 2.0 introduce un subcomando deno add para manejar especificadores con una subruta. Además, si un proyecto contiene un archivo package.json, Deno preferirá agregar npm: dependencies a package.json en lugar de a deno.json. Los desarrolladores pueden agregar “dependencias dev” a package.json usando el indicador –dev. Además, con Deno 2.0, deno install ahora admite el indicador –entrypoint, que permite instalar todas las dependencias de un módulo determinado. Y se agregó un nuevo subcomando deno remove para eliminar rápidamente algunas dependencias. Deno 2.0 también se entrega con un formato de archivo de bloqueo más conciso (v4) para minimizar las diferencias al actualizar dependencias y garantizar compilaciones reproducibles. Además, Deno ha mejorado la mensajería de errores, brindando sugerencias para problemas comunes, como rutas de importación relativas con formato incorrecto o dependencias faltantes al usar “especificadores simples”. DenoLand dijo que las actualizaciones agilizan colectivamente el proceso de gestión de dependencias en proyectos Deno, haciéndolo más intuitivo y alineado con los flujos de trabajo de desarrollo modernos. El sistema de permisos de Deno también recibe atención en Deno 2.0. Con la versión 2.0, la falta de permisos de Deno ahora genera el error Deno.errors.Notcapable en lugar de Deno.errors.PermissionDenied, lo que hace que sea más fácil discriminar entre errores a nivel de SO y errores de Deno. Además, la verificación de permisos para la API Deno.mainModule, que proporciona una ruta de extracción al módulo principal, se ha relajado y ya no requiere el permiso –allow-read completo. Esto también se aplica a la API process.argv. Ahora también es posible otorgar permisos para leer y escribir archivos que contienen comas en el nombre del archivo. Otras características nuevas y cambios en Deno 2.0: