{"id":2897,"date":"2026-06-14T04:58:04","date_gmt":"2026-06-14T04:58:04","guid":{"rendered":"https:\/\/tucumandevelopers.com\/index.php\/2026\/06\/14\/dotinsights-june-2026\/"},"modified":"2026-06-14T04:58:04","modified_gmt":"2026-06-14T04:58:04","slug":"dotinsights-june-2026","status":"publish","type":"post","link":"https:\/\/tucumandevelopers.com\/index.php\/2026\/06\/14\/dotinsights-june-2026\/","title":{"rendered":"dotInsights | June 2026"},"content":{"rendered":"<div>\n<div>\n<section data-clarity-region=\"article\">\n<div>\n<p><a href=\"\/dotnet\/category\/net-tools\/\">.NET Tools<\/a><\/p>\n<h2 id=\"major-updates\">dotInsights | June 2026<\/h2>\n<p><strong>Did you know? <\/strong>The <code>var<\/code> keyword isn\u2019t a keyword! It\u2019s one of <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/csharp\/language-reference\/keywords\/#contextual-keywords\" target=\"_blank\" rel=\"noopener\">several \u201ccontextual\u201d keywords<\/a> in C#, and it only has special meaning when used to declare a variable. Try defining a class called <code>var<\/code> and see what happens to the rest of your codebase\u2026<\/p>\n<figure><\/figure>\n<p><strong>Welcome to dotInsights by JetBrains!<\/strong> This newsletter is the home for recent .NET and software development related information.<\/p>\n<h2>\ud83d\udd17 Links<\/h2>\n<p>Here\u2019s the latest from the developer community.<\/p>\n<ul>\n<li><a href=\"https:\/\/www.planetgeek.ch\/2026\/06\/08\/read-profiles-without-chasing-every-red-bar\/\" target=\"_blank\" rel=\"noopener\">Read [performance] profiles without chasing every red bar<\/a> \u2013 Daniel Marbach<\/li>\n<li><a href=\"https:\/\/www.voitanos.io\/blog\/claude-code-cli-statusline\/\" target=\"_blank\" rel=\"noopener\">Claude Code Status Line: Track Token &amp; Quota Usage<\/a> \u2013 Andrew Connell<\/li>\n<li><a href=\"https:\/\/endjin.com\/blog\/introducing-corvus-text-json-v5-source-generated-types\" target=\"_blank\" rel=\"noopener\">Introducing Corvus.Text.Json V5: Source-Generated Types<\/a> \u2013 Matthew Adams<\/li>\n<li><a href=\"https:\/\/duendesoftware.com\/blog\/20260609-setting-up-saml-single-sign-on-with-duende-identityserver\" target=\"_blank\" rel=\"noopener\">Setting Up SAML Single Sign-On in ASP.NET with Duende IdentityServer<\/a> \u2013 Maarten Balliauw<\/li>\n<li><a href=\"https:\/\/gomakethings.com\/articles\/how-to-detect-when-an-elements-visibility-changes-with-javascript\/\" target=\"_blank\" rel=\"noopener\">How to detect when an element\u2019s visibility changes with JavaScript<\/a> \u2013 Chris Ferdinandi<\/li>\n<li><a href=\"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/\" target=\"_blank\" rel=\"noopener\">GitHub for Beginners: Answers to some common questions<\/a> \u2013 Kedasha Kerr<\/li>\n<li><a href=\"https:\/\/newrelic.com\/blog\/observability\/kubernetes-observability\" target=\"_blank\" rel=\"noopener\">Open Source Observability: Tools, Setup, and Trade-offs | New Relic<\/a> \u2013 Spence Taylor<\/li>\n<li><a href=\"https:\/\/steven-giesel.com\/blogPost\/d4401fd0-805a-4703-9d9e-5fe3b57c25ea\" target=\"_blank\" rel=\"noopener\">EF Core 11 makes your split queries faster<\/a> \u2013 Steven Giesel<\/li>\n<li><a href=\"https:\/\/www.telerik.com\/blogs\/getting-contact-information-net-maui\" target=\"_blank\" rel=\"noopener\">Getting Contact Information with .NET MAUI<\/a> \u2013 Leomaris Reyes<\/li>\n<li><a href=\"https:\/\/inthehand.com\/2026\/06\/06\/net-maui-matter-and-swift\/\" target=\"_blank\" rel=\"noopener\">.NET MAUI, Matter and Swift<\/a> \u2013 Peter Foot<\/li>\n<li><a href=\"https:\/\/www.milanjovanovic.tech\/blog\/dry-is-the-most-misunderstood-rule-in-programming\" target=\"_blank\" rel=\"noopener\">DRY Is the Most Misunderstood Rule in Programming<\/a> \u2013 Milan Jovanovi\u0107<\/li>\n<li><a href=\"https:\/\/www.linkedin.com\/pulse\/abstraction-budget-why-every-interface-generic-pattern-woodruff-worlf\/\" target=\"_blank\" rel=\"noopener\">The Abstraction Budget: Why Every Interface, Generic, and Pattern in Your Codebase Has a Price You Have Not Paid Yet<\/a> \u2013 Chris Woodruff<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=7qW92AwlrjM\" target=\"_blank\" rel=\"noopener\">Union types in C#<\/a> \u2013 Mads Torgersen and Dustin Campbell<\/li>\n<li><a href=\"https:\/\/blog.j2i.net\/2026\/06\/02\/keeping-the-computer-awake\/\" target=\"_blank\" rel=\"noopener\">Keeping the Computer Awake<\/a> \u2013 j2i.net<\/li>\n<li><a href=\"https:\/\/blog.ndepend.com\/pointers-in-c-and-memory-safety-span-vs-c-16-unsafe\/\" target=\"_blank\" rel=\"noopener\">Pointers in C# and Memory Safety: Span vs. C# 16 unsafe<\/a> \u2013 NDepend<\/li>\n<li><a href=\"https:\/\/adrianbailador.github.io\/blog\/59-trip-state-machine-dotnet\/\" target=\"_blank\" rel=\"noopener\">State Machines in .NET: Modelling Uber\u2019s Trip Lifecycle with EF Core<\/a> \u2013 Adrian Bailador<\/li>\n<li><a href=\"https:\/\/darkounity.com\/blog\/most-unity-devs-still-dont-understand-events\" target=\"_blank\" rel=\"noopener\">Unity Events: Why Most Devs Still Get Them Wrong<\/a> \u2013 Darko Tomic<\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/what-is-a-token-in-ai\/\" target=\"_blank\" rel=\"noopener\">What Is a Token in AI? An Explainer<\/a> \u2013 Hannah Laurel<\/li>\n<li><a href=\"https:\/\/neugierig.org\/software\/blog\/2026\/05\/theseus-wasm.html\" target=\"_blank\" rel=\"noopener\">Tech Notes: Theseus: translating win32 to wasm<\/a> \u2013 Evan Martin<\/li>\n<li><a href=\"https:\/\/css-tricks.com\/the-state-of-css-centering-in-2026\/\" target=\"_blank\" rel=\"noopener\">The State of CSS Centering in 2026<\/a> \u2013 Temani Afif<\/li>\n<li><a href=\"https:\/\/www.thomasclaudiushuber.com\/2026\/05\/22\/the-support-length-for-net-lts-and-sts-versions\/\" target=\"_blank\" rel=\"noopener\">The Support Length for .NET LTS and STS versions<\/a> \u2013 Thomas Claudius Huber<\/li>\n<li><a href=\"https:\/\/www.devleader.ca\/2026\/05\/21\/reflection-performance-in-net-10-benchmarks-caching-and-delegates\" target=\"_blank\" rel=\"noopener\">Reflection Performance in .NET 10: Benchmarks, Caching, and Delegates<\/a> \u2013 Nick Cosentino<\/li>\n<li><a href=\"https:\/\/www.readwriterachel.com\/things-i-learned\/2026\/05\/20\/coreutils-du.html\" target=\"_blank\" rel=\"noopener\">Gurgling out of the Congo was a deliberate lie. He was back in the white.<\/a> \u2013 Rachel Kaufman<\/li>\n<li><a href=\"https:\/\/stackoverflow.blog\/2026\/05\/18\/interviews-aren-t-about-you-sorry\/\" target=\"_blank\" rel=\"noopener\">Interviews Aren\u2019t About You (Sorry) \u2013 Stack Overflow<\/a> \u2013 Greg Hatchuk<\/li>\n<li><a href=\"https:\/\/scotthelme.co.uk\/passkeys-101-an-introduction-to-passkeys-and-how-they-work\/\" target=\"_blank\" rel=\"noopener\">Passkeys 101: An Introduction to Passkeys and How They Work<\/a> \u2013 Scott Helme<\/li>\n<li><a href=\"https:\/\/steven-giesel.com\/blogPost\/6066abb6-640a-4225-ac33-3f4d5a1a1d16\" target=\"_blank\" rel=\"noopener\">Zstandard compression in .NET 11<\/a> \u2013 Steven Giesel<\/li>\n<li><a href=\"https:\/\/blog.elmah.io\/pattern-matching-in-c-advanced-scenarios-you-didnt-know\/\" target=\"_blank\" rel=\"noopener\">Pattern matching in C#: Advanced scenarios you didn\u2019t know<\/a> \u2013 Ali Hamza Ansari<\/li>\n<li><a href=\"https:\/\/www.meziantou.net\/propagating-opentelemetry-context-in-dotnet.htm\" target=\"_blank\" rel=\"noopener\">Propagating OpenTelemetry context in .NET \u2013 Meziantou\u2019s blog<\/a> \u2013 G\u00e9rald Barr\u00e9<\/li>\n<li><a href=\"https:\/\/duendesoftware.com\/blog\/20260514-post-quantum-cryptography-in-dotnet-10\" target=\"_blank\" rel=\"noopener\">Post-Quantum Cryptography in .NET 10: A Practical Guide | Duende<\/a> \u2013 Khalid Abuhakmeh<\/li>\n<li><a href=\"https:\/\/www.microsoft.com\/en-us\/research\/blog\/mimalloc-a-high-performance-scalable-memory-allocator-for-the-modern-era\/\" target=\"_blank\" rel=\"noopener\">mimalloc: A new, high-performance, scalable memory allocator for the modern era \u2013 Microsoft Research<\/a> \u2013 Daan Leijen<\/li>\n<\/ul>\n<h2>\u2615 Coffee Break<\/h2>\n<p>Take a break with something a little more fun.<\/p>\n<figure>\n<\/figure>\n<figure>\n<\/figure>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/oldnewthing\/20260518-00\/?p=112334\" target=\"_blank\" rel=\"noopener\">Just shows that nobody cares about debugging the parity flag any more<\/a> \u2013 Raymond Chen<\/p>\n<h2>\ud83d\uddde\ufe0f JetBrains News<\/h2>\n<p>What\u2019s going on at JetBrains? Check it out here:<\/p>\n<ul>\n<li>The 2026.2 Early Access Preview is in full swing, and over the last month, we\u2019ve seen some exciting features for AI agentic development, with <strong>Rider 2026.2 EAP 3<\/strong> introducing a <a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2026\/05\/22\/claude-codex-ai-agent-skill-for-writing-tests\/\">new AI agent skill to reduce token use for test generation<\/a> and EAP 5 adding <a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2026\/06\/08\/rider-2026-2-code-quality-check-hooks-for-ai-agents\/\">quality-check hooks to ensure generated code is correct<\/a>, doesn\u2019t introduce new warnings or suggestions and follows your existing coding standards.<\/li>\n<li>Non-AI features are going strong too! <strong>EAP 3 <\/strong>also previewed a redesigned NuGet tool window, previews of Context Actions and Quick Fixes in the Alt+Enter menu and new project templates for game development. Read more <a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2026\/05\/22\/rider-2026-2-eap-3-cost-effective-agentic-test-coverage-code-change-previews-gamedev-templates-and-nuget-improvements\/\">in this blog post<\/a>.<\/li>\n<li>And <strong>EAP 2<\/strong> introduced the (ahem) <em>hotly<\/em> anticipated <a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2026\/06\/03\/wpf-hot-reload-in-jetbrains-rider\/\">WPF Hot Reload<\/a>! A huge amount of work went into making this happen \u2013 there\u2019s a lot more going on under the hood than you might think\u2026<\/li>\n<li>Take a look at <a href=\"https:\/\/blog.jetbrains.com\/platform\/2026\/05\/improving-accessibility-in-jetbrains-ides-what-s-new-and-what-s-next-in-2026\/\">what\u2019s new and what\u2019s next in accessibility in JetBrains IDEs<\/a>, from Ekaterina Valeeva and Ekaterina Ryabukha<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/ai\/2026\/06\/mellum2-goes-open-source-a-fast-model-for-ai-workflows\/\">Introducing Mellum2, JetBrains\u2019 own open source, 12B model<\/a> engineered for latency, throughput and cost.&nbsp;<\/li>\n<\/ul>\n<p>We\u2019ve got lots more feature, bug fix and performance work ongoing, so <a href=\"https:\/\/www.jetbrains.com\/rider\/nextversion\/\" target=\"_blank\" rel=\"noopener\">download the EAP<\/a> today and let us know how it\u2019s working out for you!<\/p>\n<p>\u2709\ufe0f Comments? Questions? Send us an <a href=\"mailto:dotnet-advocates@jetbrains.com\">email<\/a>.&nbsp;<\/p>\n<p><a href=\"https:\/\/www.jetbrains.com\/lp\/dotinsights-monthly\/\" target=\"_blank\" rel=\"noopener\">Subscribe to dotInsights<\/a><\/p>\n<\/p><\/div>\n<p> <a href=\"#\"><\/a> <\/section>\n<div>\n<p><h2>Discover more<\/h2>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>Fuente: <a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2026\/06\/12\/dotinsights-june-2026\/\">Art\u00edculo original<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>.NET Tools dotInsights | June 2026 Did you know? The var keyword isn\u2019t a keyword! It\u2019s one of several \u201ccontextual\u201d keywords in C#, and it only has special meaning when used to declare a variable. Try defining a class called var and see what happens to the rest of your codebase\u2026 Welcome to dotInsights by [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2648,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[46],"tags":[],"class_list":["post-2897","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jetbrain"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/2897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/comments?post=2897"}],"version-history":[{"count":0,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/2897\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media\/2648"}],"wp:attachment":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media?parent=2897"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/categories?post=2897"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/tags?post=2897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}