jj, el sistema de control de versiones compatible con Git que busca ser a la vez simple y potente, lanzó su versión 0.44.0. El cambio más destacado es la estabilización del soporte para obtener y enviar etiquetas (tags), que ahora se gestionan de forma análoga a los bookmarks: pueden ser rastreadas (tracked) o no, y las tracked se envían por defecto al hacer push.
Esta versión introduce además varios cambios incompatibles. jj git fetch descarga las etiquetas con el formato <name>@<remote> y las asocia automáticamente a las locales del mismo nombre. Al ejecutarlo en un repositorio existente, se re-obtienen todas para inicializar el estado de seguimiento. La opción tagOpt de Git deja de respetarse: para desactivar la descarga se usa remotes.<name>.fetch-tags = '~*' en la configuración. Se elimina jj git clone --fetch-tags=all|none|include en favor de --tag=PATTERN, y jj git push --all ahora envía también todas las etiquetas además de los bookmarks. Otras rupturas afectan a funciones de plantillas (WorkspaceRef.root(), RepoPath.absolute()), al comportamiento de jj file search —que ahora antepone la ruta del archivo a cada coincidencia— y al tratamiento de argumentos repetidos, que ya no provocan error: prevalece la última aparición.
Entre las novedades figuran la función revset merge_point(), nuevos comandos jj tag track/untrack, un modo interactivo para jj absorb, alias builtin_log() reutilizable y diversas mejoras en jj run (orden determinista, --passthrough, --ignore-changes, --ignore-errors). Se corrigen varios errores, incluyendo pánicos, pérdidas de renombrados en merges y limpieza de archivos temporales de Git ante señales como Ctrl-C. La lista de contribuidores reúne a más de 30 personas.
