Software··2 min de lectura

Janet 1.42.0 llega con correcciones, mejoras de documentación y soporte para completado en shells

La nueva versión del lenguaje Janet incluye numerosos arreglos de bugs, una revisión a fondo de la documentación y completados para bash, zsh y fish.

Janet, el lenguaje de programación ligero que se usa tanto como lenguaje embebido como para scripting, ha publicado su versión 1.42.0. No trae funciones rimbombantes, pero sí una buena tanda de correcciones y un trabajo considerable de documentación, que era una asignatura pendiente.

La lista de cambios es larga y variada. Hay arreglos importantes en el recolector de basura, como el que evita que recoja un fiber activo durante llamadas anidadas a janet_continue, o el que corrige punteros obsoletos en la pila de fibers tras un realloc. También se ha solucionado un doble free en el event loop y se ha corregido la comprobación del valor de retorno de mmap.

En el apartado de funciones, se añaden getters para int8_t, uint8_t y float, y se corrige janet_channel_make_threaded para que devuelva un canal threaded. La función disasm ahora incluye la clave :symbolmap que faltaba.

Uno de los cambios más visibles para el usuario es la mejora en la impresión bonita (%m y %p): los elementos multilínea quedan alineados y la densidad de líneas es mayor. También se han añadido completados para bash, zsh y fish, algo que se agradece si trabajas con Janet en la terminal.

Documentación: el gran protagonista

La mayor parte del trabajo en esta versión ha ido a parar a la documentación. Se ha revisado la guía de contribución para incluir una sección sobre el uso de LLM, IA y herramientas. Además, se ha mejorado la consistencia y claridad de un montón de docstrings, desde filter hasta loop, pasando por reduce, map y compañía. También se han añadido pruebas para funciones como distinct, update, partition-by, find, find-index, interpose, filter, partition y otras.

La comunidad ha respondido: hay diez contribuyentes nuevos en esta versión, y se agradece especialmente el trabajo de @sogaiu, que ha llevado el grueso de la revisión de documentación.

Seguridad y mantenimiento

Se han añadido nuevos objetivos de fuzzing para OSS-Fuzz, centrados en unmarshal, dobytes y el proceso de compilación. También se ha hecho mantenimiento del puerto a Plan 9 y se ha corregido un problema de multicast en Illumos.

Esta versión es, sobre todo, una puesta a punto. No hay que esperar cambios radicales, pero sí una base más sólida y una documentación mucho más fiable. Queda por ver si el equipo mantiene este ritmo de pulido o si la próxima versión trae novedades más llamativas.

##Relacionado