Versione 12.2.0
Babel 12.2.0 introduce l’SDK nativo di Licensing per C++, Rust, Go e Python, aggiorna Babel Desktop con il rendering Mote e i temi ASCII e migliora le procedure di licensing e offuscamento. Le licenze 12.1 esistenti restano compatibili quando le condizioni relative a edizione, attivazione e manutenzione coprono questa release.
Babel Licensing
Miglioramenti
- SDK per applicazioni native: integra la verifica delle licenze firmate da C++, Rust, Go e Python tramite un’ABI C, senza richiedere il runtime .NET nell’applicazione client. Le prime piattaforme previste sono Windows x64, Linux x64 e macOS arm64.
- Una sola libreria SDK a runtime: la crittografia Botan è incorporata nella libreria della piattaforma. Non occorre installare o distribuire un runtime Botan separato; su Windows è inclusa una libreria di importazione per il linking.
- Attivazione e sessioni floating: attiva, convalida e disattiva le licenze associate a una macchina; acquisisci una licenza floating, rinnova l’assegnazione con heartbeat espliciti e rilasciala all’uscita. Le firme dell’editore e le restrizioni supportate vengono verificate prima di concedere l’accesso. Un heartbeat non riuscito o un’assegnazione scaduta interrompe l’uso delle funzionalità protette dal client nativo; questa API non prevede un periodo di tolleranza offline automatico.
- Licenze offline e manutenzione: verifica licenze XML e compatte firmate usando una chiave dell’editore preconfigurata nell’applicazione, controlla scadenza e funzionalità abilitate e valuta il diritto a usare una release in base alla sua identità autenticata. La copertura di manutenzione include l’intero giorno di rilascio e non dipende dall’orologio del client.
- Esempi di integrazione eseguibili: gli esempi Rust, Go, C++ e Python comprendono i flussi offline, di attivazione e floating, la configurazione di compilatore e linker e le istruzioni di build per Windows, Linux e macOS. Guide Native SDK.
Modifiche
- Limiti del client nativo espliciti: le restrizioni non supportate comportano il rifiuto della licenza. L’ABI C nativa non implica il supporto delle restrizioni avanzate del client gestito, dei report, della persistenza dell’attivazione o della riconnessione floating di .NET.
- Documentazione di integrazione ampliata: le guide native per ciascun linguaggio e la pagina prodotto Licensing illustrano il supporto nativo e tutte le funzionalità. Una sezione AI dedicata descrive le interfacce già esistenti: Licensing MCP ospitato (Data Center), Desktop MCP, CLI con output strutturato e API TOON. Queste interfacce AI non sono novità introdotte dalla 12.2.0.
Correzioni di bug
- Verifica e parsing nel client nativo: rafforzati la canonicalizzazione XML, l’importazione delle chiavi attendibili, la gestione degli input malformati e dei codici di errore al confine dell’ABI C. Il solo caricamento di una licenza non ne autorizza l’uso; una verifica fallita annulla l’autenticazione precedente.
- Gestione delle date nel client nativo: la conversione delle date UTC rifiuta le date non valide o non rappresentabili prima di convertirle nel formato dell’orologio della piattaforma, evitando overflow. Le date esplicite di scadenza e manutenzione coincidenti con l’epoca Unix mantengono il proprio significato. L’intervallo attuale dell’orologio Linux è circa 1677–2262; consulta le note di compatibilità Native SDK per i requisiti sulle date delle licenze emesse.
- Ripristino delle sessioni floating nel client gestito: il client .NET ritenta un rinnovo non riuscito con attese progressive e può riacquisire l’assegnazione persa durante la finestra di riconnessione. Questo comportamento del client gestito è distinto dall’API di heartbeat nativa descritta sopra.
Babel Obfuscator
Miglioramenti
- Controlli di soppressione della reflection:
--reflectione MSBuild accettano sia il livello numerico già disponibile sia le singole impostazionimodule,tables,heaps,enclogemetanoise. L’aggiunta di rumore ai metadati è facoltativa; le impostazioni non valide vengono rifiutate. Le protezioni riservate a .NET Framework vengono ignorate su .NET e .NET Core.
Correzioni di bug
- Firma Android: l’opzione per la password del keystore è denominata correttamente
--store-password;--storepassrimane disponibile. - Diagnostica a runtime: gli errori di cifratura del codice conservano i dettagli dell’eccezione originale senza testo fisso che identifichi Babel.
Babel Desktop


Miglioramenti
- Dettagli della licenza: visualizzati l’identificativo della licenza corrente e la data di fine trial, comprese le date fornite per le trial emesse dal sito.
- Impostazioni di reflection e MCP: gli stessi controlli granulari della reflection sono configurabili dalle Impostazioni o tramite MCP. I nomi di protezione e i conteggi del rumore nei metadati non validi vengono rifiutati; le configurazioni predefinite lasciano disabilitato il rumore nei metadati.
- Rendering con Mote: il globo Desktop e la schermata di benvenuto ASCII utilizzano Mote Engine. Sono preservate le coste ad alta definizione e le immagini diurne e notturne del globo in 8K.
- Schermata di benvenuto ASCII: figure 3D più grandi includono sculture legate al calendario, plasma solare animato e una zucca di Halloween intagliata. Gli effetti di sfondo coinvolgono anche le figure, i clic generano onde e uno sfondo semitrasparente migliora la leggibilità del testo in entrambi i temi ASCII.
Correzioni di bug
- Log di grandi dimensioni: le esecuzioni con un alto livello di dettaglio su assembly di grandi dimensioni trasmettono messaggi di log più piccoli, evitando errori di risposta dell’host non valida.
- Progetti MSBuild: i riferimenti ai task installati usano il percorso del file di installazione, anche per le installazioni EXE di Windows senza registrazione nella Global Assembly Cache.
- Impostazioni e temi: la categoria selezionata corrisponde alla pagina Impostazioni aperta; i controlli con sola icona mantengono le icone centrate e senza cornici indesiderate nei diversi temi.
- Animazioni ASCII: Mote viene minificato senza applicare l’offuscamento del flusso di controllo JavaScript al ciclo di rendering, eliminando i rallentamenti riprodotti e mantenendo i dettagli degli oggetti e gli effetti.
- Avvio del globo: l’inizializzazione asincrona delle pipeline GPU riduce l’attesa iniziale, preservando il dettaglio geografico.
- Chiusura dell’applicazione: il rendering viene arrestato prima della distruzione della finestra e la chiusura del motore locale non scrive più su uno stream già chiuso, evitando gli errori del canale GPU e la finestra di errore JavaScript riprodotti nei test.

