If there was an award for ‘blandest headline describing really bad things’, Microsoft’s comms team would have won it. Let’s see which story I’m talking about, shall we?
🚫🛠 In EF Core 6.0, you can configure a join entity in a many-to-many relationship without any additional conifguration It wouldn’t be .NET without a billion documented ways to do something.
🟡Highlights from Git 2.34. Do you work with large git repos?, or repositories with lots of blobs? In the past I’ve always set a git-clone depth=1 to checkout so it wouldn’t try to pull the whole repository over my 4G phone. For a second, I thought the new ‘sparse index’ was about that. But it turns out, it’s not. To put it something closer to what I would use it for, it’s a way to split out parts of a large repository to the parts you care about vs. the parts you don’t really care about. You know, like a mono-repo that houses microservices. You may not really ever deal with a particular set of services, and thus don’t really want to keep track of their history/updates/etc. This gives you a way to set a sparse-index around the boundaries you care about.
The other ‘big thing’ we’ve talked about on this newsletter previously is the new merge strategy,
ort. It’s ostensibly
recursive‘s twin.. Get it? One day someone will stand in judgment of the names developers give things and that won’t be a pretty day. But anyway,
ort is recursive, but faster and better and without the problems recursive had.
💉New dependency injection features in .NET 6 AsyncDisposable makes its debut with a new
AsyncServiceScope that makes it possible without breaking existing DI container providers. I say this just about every time something changes, but there’s a long tail of outdated information out there on the ‘net, especially in the different versions of .NET Core, and this adds to it. We still haven’t figured out how to deprecate old information, and that doesn’t help new people learn .NET.
💍1.0 stable release of Windows App SDK is now LIVE! The Windows UI story has always been confusing, but apparently this is the App SDK to rule them all, (except where it isn’t).
1️⃣Uno Platform 3.11: Support for .NET 6 RTM, VS 2022 17.1 Preview 1. Uno is what MAUI wants to be. If and When MAUI ships, that is.
📉Monitoring a .NET application using OpenTelemetry If you write distributed applications in .NET, you’re going to want to implement OpenTelmetry; after all you don’t believe in “Not Invented here”. Right? RIGHT?
🍾Announcing TypeScript 4.5 This brings with it a lot of goodies, and TypeScript is what C# would have been if they had said “Fuck it” to backwards compatibility.
🍾Announcing dotnet monitor in .NET 6 .NET Monitor is a tool that exposes a .NET HTTP API to access all those diagnostics from your application no matter if it’s running locally or in a Kubernetes cluster. This has a ‘this is neat’ and also a ‘Oh god what hell have we unleashed on future generations by making Distributed Applications The Way’?
🎁There’s a Dotnet-Boxed template for Orleans I like the name ‘.NET Boxed’ and it makes sense: It provides templates that are opinionated and are optimized to get you up and running as quickly as possible. More of this, please.
🗣If you want WinUI 3 to be Open Source, let the team know I’m torn here. On the one hand, it is ostensibly easier to adopt something if it’s OSS. On the other hand, Microsoft’s recent track record with Open source is more of the “I want a cookie” model, and I’m not sure I can stomach more of that.
🚢Cascade of doom: JIT, and how a Postgres update led to 70% failure on a critical national service This is an in-depth read on a frightening technical scenario, and yes this pushes me closer to the “I’ll just find a deserted island and live there, k thanks” mentality.
🙅♂️Remove MS Contributors from .NET Thanks Website. No. Microsoft contributors are people too.
🙉🙈🙊Corey Quinn reminds us that the Azure security team (there is one, right?) still hasn’t explained how the ChaosDB vulnerability happened. I recommend reading this link in the early morning if you want to sleep at night.
🤦♂️I give TypeScript a lot of crap for breaking changes, but every version adding a new way to do something is not fun. Like adding another way to add a DBContext.
🤷♀️Github’s commitment to npm ecosystem security Yes these bullshit milquetoast headlines are normal at Microsoft, where the chief concern with optics is to not have a headline that sounds bad. It doesn’t matter if the news is bad, as long as the Headline sounds neutral. In this case, Microsoft has no fricking clue whether or not anyone ever exploited and npm vulnerability that would allow an attacker to publish new versions of any npm package using an account without proper authorization. I’ve seen these sort of headlines way too often at Micrsosft for it to be a one-off. They must have a corporate comms team that neuters any attempt to convey actual information in the headline. This does not improve trust, Microsoft.
🏫We need to have a talk about making life easier for newcomers to the .NET ecosystem Yes, Yes we do.
Why is it so hard to write C# in VS Code compared to Visual Studio Because of their org chart, of course.
And that’s it for what happened Last Week in .NET. It’s Thanksgiving week this week, so I expect next week’s issue will be rather light. I’ll probably be rather heavy from Thanksgiving, but that’s how it goes. I’m thankful for you. Yes, you.