<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Topics tagged with release]]></title><description><![CDATA[A list of topics that have been tagged with release]]></description><link>https://forum.androidiani.net/tags/release</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 00:38:19 GMT</lastBuildDate><atom:link href="https://forum.androidiani.net/tags/release.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 28 Apr 2026 16:40:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Visual Studio Code 1.118: Agents app, Copilot CLI avanzato e TypeScript 7.0 in anteprima]]></title><description><![CDATA[La build Insiders di Visual Studio Code è arrivata alla versione 1.118, con un pacchetto di aggiornamenti concentrati soprattutto sullo sviluppo agente, sull’integrazione con Copilot CLI e sul supporto anticipato a TypeScript 7.0. Queste note coprono le modifiche introdotte tra il 21 e il 26 aprile 2026.Agents app: SSO condiviso con VS CodeDa questa build, l’Agents app di VS Code supporta la condivisione del Single Sign-On (SSO) con Visual Studio Code su Windows. L’autenticazione è bidirezionale: se esegui il logout da una delle due applicazioni, l’operazione si propaga automaticamente all’altra. Questo elimina la necessità di autenticarsi separatamente nei due ambienti, rendendo più fluido il lavoro che alterna editor e agenti.Sempre nell’Agents app, da questa versione viene rispettato lo stato di workspace trust già impostato in Visual Studio Code. Non è quindi più necessario ridefinire le autorizzazioni di fiducia del workspace quando si passa da un contesto all’altro.Supporto per sessioni Claude Code nell’Agents appUna novità rilevante per chi usa agenti IA nel proprio flusso di sviluppo: l’Agents app integra ora il supporto per le sessioni di Claude Code. Questo significa che puoi avviare e gestire sessioni di Claude Code direttamente dall’interno di VS Code, senza passare al terminale o a un’applicazione separata.Per navigare rapidamente tra le sessioni aperte nell’Agents app sono stati aggiunti nuovi keybinding: Ctrl+1 e Ctrl+2 permettono di passare tra le sessioni senza dover usare il mouse.Skill tool per le personalizzazioni agente e context: forkIl sistema di personalizzazione degli agenti si arricchisce di un nuovo skill tool per le agent customizations. Insieme a questa funzione, è stato introdotto il supporto per context: fork, che permette di isolare il contesto di una skill in un ramo separato. Questo offre maggiore controllo su quali informazioni vengono condivise tra skill diverse durante una sessione agente.Il menu di creazione delle personalizzazioni chat mostra ora anche descrizioni esplicative per ciascuna posizione di skill, aiutando gli sviluppatori a scegliere il tipo corretto di personalizzazione senza dover consultare la documentazione.Copilot CLI: selezione automatica del modello e badgeCopilot CLI ha ricevuto il supporto per la selezione automatica del modello (auto model). Questa funzione analizza il contesto della richiesta e sceglie automaticamente il modello più adatto, senza che l’utente debba specificarlo manualmente.Nelle risposte Copilot CLI visualizzate nel pannello chat è ora presente un badge con il nome del modello che ha gestito la richiesta. Questa piccola aggiunta è utile per chi vuole tenere traccia di quale modello viene effettivamente usato nelle diverse situazioni, soprattutto con l’auto-selezione attiva.Sul fronte dell’infrastruttura, il Copilot CLI SDK risolve ora node-pty direttamente da VS Code tramite hostRequire, eliminando la necessità di copiare i binari di node-pty nella cartella prebuilds dell’SDK durante la build o al runtime. Questo semplifica il packaging e riduce i potenziali problemi di compatibilità tra versioni.Le sessioni nel Copilot CLI SDK usano ora le API session-title del CLI come sorgente di verità per i nomi delle sessioni, garantendo nomi coerenti tra l’interfaccia della chat e il log delle sessioni.TypeScript 7.0: opt-in alle nightlyPer chi vuole vivere sul filo del rasoio: VS Code 1.118 introduce la possibilità di opt-in alle nightly di TypeScript 7.0. Per abilitarlo è sufficiente modificare l’impostazione typescript.experimental.useTsgo nelle preferenze utente o workspace. Si ricorda che TypeScript 7.0 è basato sul nuovo compilatore riscritto in Go (annunciato con TS 7.0 Beta), che promette velocità circa 10 volte superiori rispetto al compilatore attuale — ma è ancora in fase sperimentale.Supporto encoding CP857Aggiunto il supporto per la codifica CP857 (Code Page 857, usata per il turco nella vecchia codifica DOS). Un’aggiunta di nicchia, ma apprezzabile per chi lavora con legacy codebase o file di testo in quel formato.Accessibility nel terminaleSono stati introdotti miglioramenti all’accessibilità per il question carousel delle azioni del terminale, garantendo una navigazione più fluida per gli utenti che usano screen reader o altri strumenti assistivi.Come aggiornare alla build InsidersSe vuoi testare queste funzionalità prima del rilascio stabile, puoi scaricare la VS Code Insiders build dal sito ufficiale. La versione Insiders si affianca a quella stabile e può essere usata in parallelo.# Su Linux, tramite snap: sudo snap install --classic code-insiders  # Su Windows/macOS: scarica l'installer dalla pagina ufficiale Tieni presente che le funzionalità descritte in queste note riguardano la build Insiders e potrebbero cambiare prima del rilascio stabile del ciclo 1.118.Fonte: Visual Studio Code 1.118 Release Notes — Visual Studio Code Team, aggiornato al 27 aprile 2026.]]></description><link>https://forum.androidiani.net/topic/48e1848e-4797-4e22-8756-200d9145715c/visual-studio-code-1.118-agents-app-copilot-cli-avanzato-e-typescript-7.0-in-anteprima</link><guid isPermaLink="true">https://forum.androidiani.net/topic/48e1848e-4797-4e22-8756-200d9145715c/visual-studio-code-1.118-agents-app-copilot-cli-avanzato-e-typescript-7.0-in-anteprima</guid><dc:creator><![CDATA[blog@spcnet.it]]></dc:creator><pubDate>Tue, 28 Apr 2026 16:40:16 GMT</pubDate></item><item><title><![CDATA[TypeScript 7.0 Beta: il nuovo compilatore in Go è circa 10 volte più veloce]]></title><description><![CDATA[Il team di TypeScript ha rilasciato la beta ufficiale di TypeScript 7.0, e non si tratta di un aggiornamento incrementale: il compilatore è stato riscritto in Go, con miglioramenti di performance che in molti scenari superano un fattore 10x. Dopo quasi un anno di anteprime tecniche sotto il nome TypeScript Native Preview, Microsoft porta la versione nativa del compilatore a un pubblico molto più ampio e la raccomanda per uso quotidiano, pur restando formalmente in beta.Perché riscrivere il compilatore in GoIl compilatore di TypeScript era storicamente scritto nello stesso linguaggio che compilava. Questa scelta, elegante dal punto di vista del bootstrapping, ha sempre comportato un costo: su codebase di grandi dimensioni il tsc può impiegare decine di secondi (o minuti) per il type-checking e il watch mode si appesantisce rapidamente all’aumentare dei file.La riscrittura in Go non è un rewrite da zero: il team parla esplicitamente di un port metodico, mantenendo parità strutturale con la logica di type-checking di TypeScript 6.0. Questo approccio riduce il rischio di regressioni semantiche: la stessa base di casi di test, le stesse regole, ma con le velocità permesse da codice nativo e dal parallelismo reale a memoria condivisa.Il risultato, secondo Microsoft, è che TypeScript 7.0 è circa 10 volte più veloce di TypeScript 6.0. Team come Bloomberg, Figma, Google, Slack e Vercel hanno riportato numeri comparabili durante la beta privata, con riduzioni drastiche dei tempi di build in CI.Come provarlo oggiL’installazione avviene come package separato per non rompere le pipeline esistenti. Basta un singolo comando:npm install -D @typescript/native-preview@beta
npx tsgo --version
# Version 7.0.0-betaDurante la fase beta, l’eseguibile si chiama tsgo al posto di tsc. Per Visual Studio Code è disponibile l’estensione “TypeScript Native Preview”, che affianca il language service classico permettendo di confrontare i tempi di risposta in tempo reale.Parallelismo configurabileUna delle novità più sottili, ma con maggiore impatto pratico, è il parallelismo integrato nel compilatore:--checkers N: numero di worker dedicati al type-checking (default 4). I worker mantengono viste indipendenti per evitare ricalcoli ridondanti, ma i risultati restano deterministici.--builders N: abilita la compilazione parallela di più progetti referenziati (project references). Ha un effetto moltiplicativo quando combinato con --checkers, ed è particolarmente efficace nei monorepo.--singleThreaded: forza l’esecuzione sequenziale per debugging o ambienti con memoria limitata (container CI con poca RAM, ad esempio).Alzare --checkers aumenta la velocità ma anche il consumo di memoria: su agenti CI piccoli conviene fare qualche prova empirica prima di spingerlo oltre 8.Breaking changes: la pulizia annunciataTypeScript 7.0 è anche l’occasione per rimuovere anni di retrocompatibilità. Chi mantiene progetti legacy dovrà prestare attenzione, perché molte opzioni di configurazione sono semplicemente scomparse:target: es5 non è più supportato.downlevelIteration, moduleResolution: node/node10/classic, e i moduli amd, umd, systemjs, none sono stati rimossi.baseUrl è stato eliminato: usare paths relativo alla root del progetto.esModuleInterop, allowSyntheticDefaultImports e alwaysStrict non possono più essere disattivati.Cambiano anche diversi default: strict: true, module: esnext, target pari all’ultima versione ECMAScript stabile prima di esnext, noUncheckedSideEffectImports: true, e soprattutto types: []. Quest’ultimo è il cambiamento che più spesso romperà le build: prima @types/* venivano inclusi automaticamente, ora vanno dichiarati esplicitamente:{
  "compilerOptions": {
    "types": ["node", "jest"]
  }
}Sul fronte del supporto a JavaScript con JSDoc, la pulizia è ancora più netta: i valori non possono più sostituire i tipi (usare typeof valore), la sintassi Closure-style function(string): void è rimossa, così come @enum e l’operatore postfisso !.Convivenza con TypeScript 6.0Per chi non può migrare subito tutte le pipeline, è possibile installare entrambe le versioni affiancate:npm install -D typescript@npm:@typescript/typescript6Così typescript continua a puntare a 6.0, mentre tsgo (o tsc7 dopo il rilascio finale) resta disponibile come entry point separato. È lo scenario consigliato per confrontare gradualmente i due compilatori su progetti reali prima di fare il cutover.Roadmap e cosa aspettarsiLa beta è datata 21 aprile 2026; il rilascio stabile è previsto entro due mesi, con una release candidate alcune settimane prima. Nel frattempo arriveranno un --watch più efficiente, la parità di declaration file emit per JavaScript, miglioramenti all’editor (ricerca dei riferimenti ai file, comandi import/export più granulari) e una API programmatica stabile, attesa per TypeScript 7.1 o successiva.Vale la pena migrare subito?Per team che lavorano su codebase grandi e soffrono di type-check lenti, la risposta è “quasi sicuramente sì, almeno in parallelo”. Microsoft stessa dichiara il compilatore “altamente stabile e altamente compatibile” sulla base di test su codebase da milioni di righe. La strategia più prudente è: installare @typescript/native-preview come dev dependency aggiuntiva, introdurlo come job di CI opzionale accanto al tsc esistente, misurare i tempi reali e segnalare eventuali incompatibilità sul repository microsoft/typescript-go.Le incompatibilità che emergeranno non saranno di natura logica ma di configurazione: soprattutto il nuovo default types: [] e la rimozione di baseUrl. Chi si è tenuto aggiornato con le versioni recenti dovrebbe cavarsela con poche modifiche al tsconfig.json.Fonte: Announcing TypeScript 7.0 Beta di Daniel Rosenwasser sul blog ufficiale TypeScript (Microsoft DevBlogs).]]></description><link>https://forum.androidiani.net/topic/092e94ec-9f51-4970-971e-16884f220e56/typescript-7.0-beta-il-nuovo-compilatore-in-go-è-circa-10-volte-più-veloce</link><guid isPermaLink="true">https://forum.androidiani.net/topic/092e94ec-9f51-4970-971e-16884f220e56/typescript-7.0-beta-il-nuovo-compilatore-in-go-è-circa-10-volte-più-veloce</guid><dc:creator><![CDATA[blog@spcnet.it]]></dc:creator><pubDate>Thu, 23 Apr 2026 07:54:20 GMT</pubDate></item><item><title><![CDATA[Rust 1.95.0: cfg_select!, if-let guard nei match e nuove API per Vec e atomici]]></title><description><![CDATA[Il 16 aprile 2026 è uscita Rust 1.95.0, una release che porta novità significative al linguaggio e alla sua libreria standard. Questa versione si segnala in particolare per l’introduzione della macro cfg_select!, il supporto agli if-let guard nei blocchi match, e una serie di nuove API per la gestione della memoria e degli atomici.Vediamo nel dettaglio cosa cambia e come queste novità influenzano il codice quotidiano dei Rustaceans.cfg_select!: condizionali di compilazione senza dipendenze esterneLa macro cfg_select! introduce un modo più espressivo per scrivere codice condizionale basato sulla configurazione di compilazione. Si comporta come un match valutato a compile-time sulle condizioni cfg, rimpiazzando di fatto il crate esterno cfg-if che molti progetti Rust usano da anni.Prima di Rust 1.95, per scrivere codice dipendente dalla piattaforma si usava tipicamente:// Prima: con cfg-if (dipendenza esterna nel Cargo.toml) cfg_if::cfg_if! {     if #[cfg(target_os = "linux")] {         fn get_system_info() -&gt; String {             linux_system_info()         }     } else if #[cfg(target_os = "macos")] {         fn get_system_info() -&gt; String {             macos_system_info()         }     } else {         fn get_system_info() -&gt; String {             String::from("unknown")         }     } }Con cfg_select!, la stessa logica si esprime ora senza aggiungere dipendenze al progetto:// Ora: built-in nella libreria standard fn get_system_info() -&gt; String {     cfg_select! {         target_os = "linux" =&gt; { linux_system_info() }         target_os = "macos" =&gt; { macos_system_info() }         _ =&gt; { String::from("unknown") }     } }La sintassi è più pulita e il fatto di essere nella libreria standard elimina la necessità di dichiarare cfg-if nel Cargo.toml. Particolarmente utile per chi sviluppa librerie cross-platform o crate che devono supportare più sistemi operativi e architetture CPU.if-let guard nei match: pattern matching più espressivoRust 1.95 stabilizza gli if-let guard all’interno delle espressioni match, costruendo sulle let chain introdotte in Rust 1.88. Un guard in un match è la condizione if che può seguire un pattern. Finora, questa condizione doveva essere un’espressione booleana semplice. Ora si può usare if let per abbinare pattern aggiuntivi direttamente nella guardia:fn process(value: Option&lt;Result&lt;i32, String&gt;&gt;) {     match value {         Some(x) if let Ok(y) = x =&gt; {             println!("Valore ottenuto: {}", y);         }         Some(Err(ref e)) =&gt; {             println!("Errore: {}", e);         }         None =&gt; {             println!("Nessun valore");         }     } }Questo permette di scrivere logica di pattern matching più complessa senza ricorrere a blocchi match annidati. Un caso d’uso pratico è la validazione combinata di metodo HTTP e corpo della richiesta:fn handle_request(req: &amp;Request) -&gt; Response {     match req.method() {         Method::POST if let Ok(body) = serde_json::from_str::&lt;Payload&gt;(req.body()) =&gt; {             process_payload(body)         }         Method::POST =&gt; {             Response::bad_request("Payload JSON non valido")         }         _ =&gt; {             Response::method_not_allowed()         }     } }Nota importante sull’esaustività: il compilatore non tiene conto dei pattern negli if-let guard per il controllo di esaustività (exhaustiveness checking). Questo significa che il compilatore non avvertirà se un pattern nell’if-let guard è irraggiungibile. Occorre quindi prestare attenzione quando si usano questi costrutti in match che devono essere esaustivi per correttezza.Nuove API per Vec, VecDeque e atomicipush_mut e push_back_mut: riferimenti mutabili post-inserimentoUna delle aggiunte più pratiche riguarda i metodi push_mut e varianti per Vec e VecDeque. Questi metodi inseriscono un elemento e restituiscono immediatamente un riferimento mutabile all’elemento appena inserito, eliminando il doppio accesso che prima era necessario:// Prima: due operazioni separate let mut v: Vec&lt;String&gt; = Vec::new(); v.push(String::new()); let last = v.last_mut().unwrap(); // secondo accesso necessario last.push_str("hello");  // Ora con push_mut: un unico accesso, più efficiente let mut v: Vec&lt;String&gt; = Vec::new(); let elem = v.push_mut(String::new()); elem.push_str("hello"); // riferimento diretto all'elemento appena inseritoMetodi analoghi (push_back_mut, push_front_mut) sono disponibili anche su VecDeque, utile per code e buffer circolari.update e try_update sugli atomiciI tipi atomici (AtomicUsize, AtomicBool, AtomicI32, ecc.) guadagnano i metodi update e try_update per semplificare i pattern read-modify-write senza dover scrivere manualmente il loop CAS (Compare-And-Swap):use std::sync::atomic::{AtomicUsize, Ordering};  let counter = AtomicUsize::new(0);  // Incrementa atomicamente, restituisce il vecchio valore let old = counter.update(Ordering::SeqCst, |x| x + 1); println!("Valore precedente: {}", old);  // try_update: permette di fallire condizionalmente // (ritorna Err se la chiusura restituisce None) let result = counter.try_update(Ordering::SeqCst, |x| {     if x &lt; 100 { Some(x + 1) } else { None } });  match result {     Ok(old_val) =&gt; println!("Aggiornato da {}", old_val),     Err(_) =&gt; println!("Limite raggiunto, nessun aggiornamento"), }Questi metodi gestiscono internamente il retry loop in caso di contesa tra thread, rendendo il codice più leggibile e meno soggetto a errori.Stabilizzazioni in const contextRust 1.95 estende il supporto ai const context per alcune API già stabili, consentendo un uso più ampio della valutazione a compile-time:fmt::from_fn ora utilizzabile in contesti constMetodi di ControlFlow ora const-stabiliNuovi metodi unsafe per puntatori: as_ref_unchecked e as_mut_uncheckedLayout::dangling_ptr per manipolazione avanzata della memoria in allocatori customBreaking change: JSON target spec non più supportata su stableRust 1.95 rimuove il supporto alle specifiche di target in formato JSON sul canale stable. Questa funzionalità era già effettivamente limitata al canale nightly (costruire core richiedeva già nightly), quindi l’impatto pratico è minimo per la maggior parte dei progetti. Chi usa target custom non standard dovrà assicurarsi di usare il canale nightly o di migrare a definizioni di target ufficialmente supportate.Come aggiornarePer aggiornare Rust all’ultima versione stabile, basta eseguire:rustup update stablePer verificare la versione installata:rustc --version # rustc 1.95.0 (xxxxxxxx 2026-04-16)ConclusioniRust 1.95.0 è una release solida che porta miglioramenti trasversali all’ergonomia del linguaggio. cfg_select! riduce la dipendenza da crate esterni per il codice condizionale, gli if-let guard aumentano l’espressività del pattern matching, e le nuove API per Vec e atomici semplificano pattern comuni nella gestione dello stato condiviso in contesti concorrenti.Nel complesso, questa release conferma la direzione del progetto Rust: migliorare l’ergonomia senza compromettere la sicurezza, incorporando nella libreria standard soluzioni che prima richiedevano crate esterni.Fonte: Announcing Rust 1.95.0 — The Rust Programming Language Blog]]></description><link>https://forum.androidiani.net/topic/0053a857-f38f-471f-bb65-f87de462fc3b/rust-1.95.0-cfg_select-if-let-guard-nei-match-e-nuove-api-per-vec-e-atomici</link><guid isPermaLink="true">https://forum.androidiani.net/topic/0053a857-f38f-471f-bb65-f87de462fc3b/rust-1.95.0-cfg_select-if-let-guard-nei-match-e-nuove-api-per-vec-e-atomici</guid><dc:creator><![CDATA[blog@spcnet.it]]></dc:creator><pubDate>Mon, 20 Apr 2026 11:58:16 GMT</pubDate></item><item><title><![CDATA[.NET 11 Preview 3: tutte le novità del terzo rilascio anticipato]]></title><description><![CDATA[.NET 11 è ancora in fase di sviluppo, ma il terzo Preview rilasciato il 14 aprile 2026 porta con sé una serie di novità concrete e già sperimentabili. Dalle librerie di sistema al runtime JIT, dall’SDK alla toolchain, questo rilascio intermedio offre uno sguardo chiaro su dove sta andando l’ecosistema .NET. Vediamo nel dettaglio cosa c’è di nuovo e cosa vale la pena testare subito nei propri progetti.Novità nel Runtime e JITIl team del runtime ha rimosso il requisito del flag di opt-in per le API async previewed nelle versioni precedenti: alcune funzionalità asincrone del runtime sono ora accessibili senza annotazioni speciali. Sul fronte delle prestazioni, il JIT compiler è stato ottimizzato in tre aree chiave:Switch statement: migliorata la generazione di codice macchina per costrutti switch complessiBounds check: eliminati controlli ridondanti sugli array in scenari comuniType cast: ridotta la latenza nelle operazioni di cast tra tipi gerarchicamente correlatiSul fronte WebAssembly, .NET 11 introduce il formato WebCIL, un nuovo formato di packaging per i moduli .wasm, insieme a miglioramenti al debugging in ambiente browser. Chi sviluppa applicazioni Blazor WebAssembly beneficerà di esperienze di debug più fluide.Librerie di Sistema: JSON, Compressione e RegexSystem.Text.Json riceve controllo più granulare sulla naming strategy e sulla gestione dei valori di default. Sarà possibile configurare i serializzatori per ignorare specifiche proprietà con valori predefiniti in modo più preciso rispetto a quanto offriva il parametro DefaultIgnoreCondition.La novità più interessante lato compressione è l’aggiunta di Zstandard (zstd) in System.IO.Compression. Zstandard è l’algoritmo di compressione sviluppato da Meta, noto per offrire un ottimo trade-off tra velocità e rapporto di compressione — spesso superiore a gzip e deflate. Esempio di utilizzo:using System.IO.Compression;

// Compressione con Zstandard
using var input = File.OpenRead("dati.json");
using var output = File.Create("dati.json.zst");
using var compressor = new ZstandardStream(output, CompressionMode.Compress);
await input.CopyToAsync(compressor);
In aggiunta, la lettura di file ZIP ora valida i checksum CRC32 automaticamente, rendendo più robusta la gestione degli archivi corrotti o manomessi.Per le espressioni regolari, il motore riconosce ora tutte le sequenze Unicode di newline, migliorando la portabilità del parsing testuale cross-platform.SDK: Nuove Funzionalità da CLIL’SDK riceve alcune aggiunte molto pratiche per chi lavora da terminale:Passare variabili d’ambiente con dotnet run -e# Passare una variabile d'ambiente al processo durante lo sviluppo
dotnet run -e ASPNETCORE_ENVIRONMENT=Development -e ConnectionStrings__Default="Server=..."
Finalmente si può sovrascrivere variabili d’ambiente senza toccare launchSettings.json o esportare variabili nello shell corrente.Top-level programs multi-fileI programmi con top-level statements (introdotti in C# 9) potranno ora distribuirsi su più file sorgente. Questo alleggerisce il vincolo di avere tutto in un unico Program.cs per i progetti di tipo file-based, come script o tool CLI leggeri.dotnet watch miglioratoLo strumento dotnet watch ha ricevuto tre miglioramenti rilevanti: supporto ai progetti .NET Aspire, crash recovery automatico e miglioramenti specifici per applicazioni Windows desktop (WPF/WinForms).C# 14: Union Types in AnteprimaPreview 3 include un’anteprima degli union types in C# 14. Questa funzionalità, molto attesa, consente di dichiarare tipi che possono contenere uno tra un insieme definito di tipi, avvicinando C# a pattern già presenti in F#, TypeScript e Rust:// Sintassi ipotetica - ancora in preview, soggetta a variazioni
union Result&lt;T&gt;
{
    T Value,
    Exception Error
}

var result = GetData();
var output = result switch
{
    Result&lt;string&gt;.Value(var v) =&gt; $"Successo: {v}",
    Result&lt;string&gt;.Error(var e) =&gt; $"Errore: {e.Message}"
};
Attenzione: la sintassi è ancora sperimentale e potrebbe cambiare nelle release successive.ASP.NET Core in .NET 11 Preview 3Tre aggiornamenti principali per il framework web:Compressione Zstandard per le risposte HTTPASP.NET Core ora supporta la compressione zstd nelle risposte HTTP e la decompressione delle richieste in arrivo. Da configurare in Program.cs:builder.Services.AddResponseCompression(options =&gt;
{
    options.Providers.Add&lt;ZstandardCompressionProvider&gt;();
    options.EnableForHttps = true;
});
Blazor Virtualize con altezze variabiliIl componente &lt;Virtualize&gt; di Blazor ora si adatta a elementi di altezza variabile a runtime, risolvendo un limite storico che richiedeva di specificare un’altezza fissa per gli elementi della lista virtualizzata.HTTP/3 più reattivoL’avvio dell’elaborazione delle richieste HTTP/3 è anticipato, riducendo la latenza percepita nelle prime connessioni su protocollo QUIC.Entity Framework Core: GetEntriesForState()EF Core in .NET 11 introduce ChangeTracker.GetEntriesForState(), un metodo che consente di interrogare le entry per stato (Added, Modified, Deleted) senza scatenare un cycle di change detection — operazione potenzialmente costosa in grafi di oggetti complessi:// Prima: scatenava change detection su tutto il grafo
var modified = context.ChangeTracker.Entries()
    .Where(e =&gt; e.State == EntityState.Modified)
    .ToList();

// Ora: accesso diretto per stato, senza overhead di detection
var modified = context.ChangeTracker
    .GetEntriesForState(EntityState.Modified)
    .ToList();
Container Images FirmatiLe immagini container ufficiali di .NET sono ora firmate digitalmente, permettendo la verifica della catena di custodia prima del deployment. Questo è un passo importante per le pipeline DevSecOps che richiedono provenance verificabile dei componenti software.Come Provare .NET 11 Preview 3# Scaricare il SDK da https://dotnet.microsoft.com/download/dotnet/11.0
dotnet --version
# Output atteso: 11.0.0-preview.3.xxxxx

# Creare un progetto di test
dotnet new console -n test-dotnet11 --framework net11.0
Conclusione.NET 11 Preview 3 è un rilascio ricco, che tocca trasversalmente runtime, SDK, ASP.NET Core ed EF Core. Le novità più impattanti per la produzione futura sono il supporto a Zstandard, gli union types in C# 14 e le ottimizzazioni JIT. Si consiglia di testare le nuove funzionalità dell’SDK — in particolare dotnet run -e — già ora, poiché entreranno probabilmente stabili con il rilascio di novembre 2026.Fonte: devblogs.microsoft.com — .NET 11 Preview 3 is now available!, 14 aprile 2026]]></description><link>https://forum.androidiani.net/topic/d40d5390-17ee-4516-ad75-1af67d56d8d4/.net-11-preview-3-tutte-le-novità-del-terzo-rilascio-anticipato</link><guid isPermaLink="true">https://forum.androidiani.net/topic/d40d5390-17ee-4516-ad75-1af67d56d8d4/.net-11-preview-3-tutte-le-novità-del-terzo-rilascio-anticipato</guid><dc:creator><![CDATA[blog@spcnet.it]]></dc:creator><pubDate>Thu, 16 Apr 2026 07:47:38 GMT</pubDate></item><item><title><![CDATA[Visual Studio Code 1.116: tutte le novità di aprile 2026]]></title><description><![CDATA[Microsoft ha rilasciato Visual Studio Code 1.116, l’aggiornamento di aprile 2026, che porta con sé una serie di miglioramenti significativi focalizzati sull’Agent Mode, sull’integrazione con Copilot e sulla produttività dello sviluppatore. In questo articolo analizziamo nel dettaglio le novità più rilevanti per chi usa VS Code come ambiente di sviluppo quotidiano.Agent Mode e Copilot: le novità principaliIl grosso degli investimenti di questa release riguarda ancora una volta l’ecosistema degli agenti AI integrati nell’editor. Microsoft continua a spingere forte su questo fronte, e i risultati iniziano a farsi sentire in termini di produttività concreta.Storico sessioni agenti nel Debug PanelUna delle funzionalità più attese arriva finalmente: è ora possibile sfogliare lo storico delle sessioni degli agenti direttamente dall’Agent Debug Panel. Questo significa che non si perde traccia delle conversazioni precedenti con gli agenti, e si può tornare a consultare cosa un agente ha fatto in sessioni passate — utile soprattutto in workflow complessi dove si delega a Copilot l’esecuzione di task multi-step.Generazione automatica dei nomi di branchIl Copilot CLI agent può ora generare automaticamente i nomi dei branch Git a partire dal prompt dell’utente. Invece di dover pensare a un nome descrittivo, è sufficiente descrivere cosa si sta facendo e l’agente proporrà un nome di branch appropriato e consistente con le convenzioni del progetto. Una piccola cosa, ma che in team grandi fa davvero la differenza.Controllo del reasoning effortVS Code 1.116 introduce il controllo della profondità di ragionamento (reasoning effort) per le sessioni Copilot CLI. Questo permette di bilanciare velocità e qualità delle risposte: per task semplici si può usare un effort minore (risposte più rapide), mentre per problemi complessi si può alzare il livello per ottenere analisi più approfondite. Funzionalità particolarmente utile per chi lavora con modelli che supportano ragionamento esteso come o3 o Claude 3.7.Strumenti terminale migliorati per gli agentiGli strumenti terminale degli agenti ricevono un aggiornamento importante: ora funzionano con i terminali in foreground. Questo vuol dire che send_to_terminal e get_terminal_output possono interagire con qualsiasi terminale visibile nell’interfaccia, non solo con quelli creati dall’agente stesso.È stato aggiunto anche un pulsante Focus Terminal nel carosello delle domande dell’agente: quando un agente ha bisogno di input diretto (ad esempio una password o una conferma interattiva), l’utente può focalizzare il terminale con un click senza dover navigare manualmente nell’interfaccia.Viene introdotto anche lo stato NeedsInput nel protocollo Agent Host: un nuovo status che segnala quando una sessione agente è in attesa di input utente. Questo permette alle estensioni e agli strumenti di terze parti di rilevare questa condizione e reagire di conseguenza — ad esempio mostrando notifiche o sbloccando blocchi di automazione.Miglioramenti all’editorBreakpoint widget tramite Alt+clickUna piccola ma benvenuta aggiunta: è ora possibile aprire il widget breakpoint con Alt+click direttamente nella gutter (la barra laterale con i numeri di riga) dell’editor. In precedenza era necessario usare click destro e navigare nel menu contestuale. Questo accelera il workflow di debugging, specialmente quando si devono impostare breakpoint condizionali o con log point.CSS @import con risoluzione node_modulesPer chi lavora con CSS e preprocessori, arriva il supporto per la risoluzione dei path node_modules negli import CSS. Ora è possibile fare Ctrl+Click su un import del tipo @import '~bootstrap/scss/bootstrap' e VS Code risolverà correttamente il percorso al modulo installato in node_modules. Funzionalità attesa da tempo, specialmente da chi usa SCSS in progetti con molte dipendenze npm.Diff editor nei contesti agenticI diff editor usati dagli agenti ora mostrano un pulsante “Open File” che permette di aprire direttamente il file originale dal diff. Una piccola friction in meno nel workflow di review delle modifiche proposte da Copilot.TextMate grammars: nuovo token type “regex”Per chi sviluppa estensioni con grammar TextMate, è stato aggiunto “regex” come token type supportato. Utile per definire regole di colorazione sintattica per espressioni regolari in linguaggi che le supportano natively.AccessibilitàVS Code 1.116 porta diversi miglioramenti per l’accessibilità, in particolare per gli utenti che usano screen reader:Dialog di aiuto per l’input chat degli agenti: accessibile con ⌥F1 (macOS) o Alt+F1 (Windows/Linux), mostra comandi e scorciatoie disponibili nell’input chat degli agenti con istruzioni specifiche per gli screen reader.Navigazione risultati di ricerca: nuove istruzioni per navigare i risultati di ricerca con Ctrl+Down Arrow usando screen reader.Scorciatoie dedicate nell’app Agents: nuovi shortcut da tastiera per navigare tra la visualizzazione Changes, l’albero dei file nella Changes view e la Chat Customizations view — permettendo la navigazione full-keyboard senza toccare il mouse.API per sviluppatori di estensioniChi sviluppa estensioni per VS Code trova in questa release alcune API nuove interessanti:Diff cumulativi per sessioneLe API del protocollo Agent Host espongono ora i diff cumulativi per sessione: dopo ogni turno dell’agente sono disponibili statistiche aggregate sulle modifiche ai file effettuate durante l’intera sessione. Utile per costruire strumenti di monitoring o reporting sull’attività degli agenti.Completamenti contestuali nell’app AgentsI completamenti attivati con il carattere # nell’app Agents ora supportano il context file scoping al workspace selezionato. Questo significa che i suggerimenti di completamento per i file sono limitati al workspace corrente, evitando confusione in setup multi-root.Scorciatoia per il browser integratoÈ stata aggiunta una scorciatoia globale per attivare/disattivare il browser integrato — particolarmente utile per chi fa sviluppo web e alterna frequentemente tra codice e preview.Come aggiornareVS Code si aggiorna automaticamente, ma se vuoi forzare l’aggiornamento puoi usare il menu Help → Check for Updates (Windows/Linux) o Code → Check for Updates (macOS). In alternativa, puoi scaricare l’installer direttamente da code.visualstudio.com.Per consultare le release notes complete direttamente in VS Code, usa il comando Show Release Notes dalla Command Palette (Ctrl+Shift+P / Cmd+Shift+P).ConclusioneVS Code 1.116 consolida ulteriormente l’ecosistema agentic dell’editor, con miglioramenti che rendono gli agenti AI più controllabili, più trasparenti e più integrati nel workflow quotidiano dello sviluppatore. Le novità sull’accessibilità sono benvenute, e le piccole migliorie all’editor (breakpoint widget, CSS imports) dimostrano che Microsoft non trascura nemmeno le funzionalità “classiche” in favore dell’hype sull’AI.Il trend è chiaro: VS Code sta diventando sempre più un ambiente agentic-first, dove gli strumenti AI non sono plugin aggiuntivi ma cittadini di prima classe dell’editor. Per chi lavora già con Copilot in modalità agente, questo aggiornamento è decisamente consigliato.Fonte: Visual Studio Code 1.116 Release Notes]]></description><link>https://forum.androidiani.net/topic/b031dc55-0328-42a3-b29a-5ca1697383da/visual-studio-code-1.116-tutte-le-novità-di-aprile-2026</link><guid isPermaLink="true">https://forum.androidiani.net/topic/b031dc55-0328-42a3-b29a-5ca1697383da/visual-studio-code-1.116-tutte-le-novità-di-aprile-2026</guid><dc:creator><![CDATA[blog@spcnet.it]]></dc:creator><pubDate>Mon, 13 Apr 2026 09:09:55 GMT</pubDate></item><item><title><![CDATA[#Ubuntu #26.04 #LTS &quot;Resolute Raccoon&quot; #Beta : Tutte le novità della prossima #release - #Marco&#x27;sBox]]></title><description><![CDATA[#Ubuntu #26.04 #LTS "Resolute Raccoon" #Beta : Tutte le novità della prossima #release - #Marco'sBox#uno #opensource @sicurezza @diggita https://www.marcosbox.com/2026/03/27/ubuntu-26-04-lts-resolute-raccoon-beta-tutte-le-novita-della-prossima-release/]]></description><link>https://forum.androidiani.net/topic/3c4c8fca-3481-46d7-acfe-cfc495bfce99/ubuntu-26.04-lts-resolute-raccoon-beta-tutte-le-novità-della-prossima-release-marco-sbox</link><guid isPermaLink="true">https://forum.androidiani.net/topic/3c4c8fca-3481-46d7-acfe-cfc495bfce99/ubuntu-26.04-lts-resolute-raccoon-beta-tutte-le-novità-della-prossima-release-marco-sbox</guid><dc:creator><![CDATA[halnovemila@mastodon.uno]]></dc:creator><pubDate>Fri, 27 Mar 2026 17:24:36 GMT</pubDate></item></channel></rss>