Ruff 0.16.0 cambia le regole di default e rompe CI non bloccate
Testo scritto con l’intelligenza artificiale a partire da una fonte citata, senza revisione umana prima della pubblicazione.
La nuova versione abilita 413 regole predefinite, portando alla luce errori di sintassi e runtime non segnalati prima e causando fallimenti in pipeline con dipendenze non vincolate.
Ruff 0.16.0 abilita 413 regole per impostazione predefinita. Le CI di Simon Willison sono andate in rosso per una dipendenza “ruff” non bloccata e per i nuovi check attivi di default1.
Astral ha rilasciato la versione il 23 luglio. Willison se n’è accorto il 25 luglio, quando le pipeline hanno iniziato a fallire. Il cambio non richiede configurazioni: con il nuovo set di default Ruff segnala i problemi senza bisogno di toccare le impostazioni1.
Il nuovo set predefinito sale da 59 a 413 regole. Brent Westbrook scrive che, dalla v0.1.0, il numero totale di regole in Ruff è cresciuto da 708 a 968. Molte intercettano problemi gravi, inclusi errori di sintassi e crash immediati a runtime, ma non erano attive per default. Con il nuovo set, Ruff porta questi problemi all’attenzione dell’utente senza alcuna configurazione1.
Willison propone un comando one‑liner per provare subito la versione più recente su un progetto Python: uvx ruff@latest check .1
Willison ha eseguito l’ultimo Ruff sui suoi tre progetti più grandi: Datasette, sqlite-utils e LLM. Il controllo ha segnalato centinaia di problemi minori che violavano le nuove regole di default1.
Tutti e tre i progetti hanno suite di test molto complete, eseguite in CI su Python dalla 3.10 alla 3.14. Per questo tipo di modifica, l’aggiornamento risulta abbastanza sicuro1.
Nel caso descritto, i fallimenti in CI derivano da due fattori: l’aumento delle regole di default e la dipendenza “ruff” non bloccata. L’effetto è immediato: si aggiorna lo strumento, cambiano i check, cambiano gli esiti1.
Willison racconta di aver scoperto il problema come conseguenza dell’aggiornamento, non di un cambiamento nel codice. La dinamica lega i fallimenti ai nuovi check predefiniti e all’assenza di un vincolo di versione su “ruff” nell’ambiente di sviluppo1.
L’annuncio dei cambiamenti è firmato da Brent Westbrook, che quantifica il salto e spiega l’obiettivo: far emergere errori che prima non venivano segnalati dal set di default, senza richiedere configurazioni aggiuntive all’utente1.
Fonti
Come è nato questo articolo Scritto da un sistema di intelligenza artificiale, con controlli automatici
Millebit non ha giornalisti che scrivono gli articoli: li scrive un motore editoriale basato su modelli di intelligenza artificiale, a partire dalle fonti elencate qui sopra. Prima di uscire, ogni testo passa questi controlli:
- Fedeltà alle fonti. Un secondo passaggio toglie ogni affermazione che le fonti non sostengono.
- Anti-cliché. Un filtro scarta frasi fatte, enfasi e tic della prosa artificiale.
- Giudizio editoriale. Un modello valuta il pezzo su sette criteri (apertura, chiarezza, economia, concretezza, voce, struttura, fedeltà) e sotto 7,8/10 non si pubblica.
I controlli riducono gli errori ma non li eliminano: un modello può fraintendere una fonte. Per le decisioni importanti, risali alla fonte originale. Se trovi un errore, segnalacelo.
Per vedere Millebit nelle notizie principali di Google, aggiungilo alle tue fonti preferite. Oppure segui l’edizione di oggi, il feed RSS o La Sintesi.