.NET Foundation August 2019 Update
Here's the August 2019 .NET Foundation update. Every month, we'll give you a quick overview of the .NET Open Source landscape, including top project news, events, community links and more.
This month's update includes:
- .NET Conf 2019, September 23-25 (www.dotnetconf.net)
- .NET Conf Local Events
- 🚀Action Group Updates🚀
- .NET Foundation Presentations Site
- .NET Foundation Project Updates
As always, these are available both on our blog and via e-mail: Sign up to get the .NET Foundation Update via e-mail
.NET Conf 2019, September 23-25 (www.dotnetconf.net)
.NET Conf is our annual, free, online virtual event and this year and it's going to be bigger than ever. .NET Core 3.0 will launch at .NET Conf!
You don't want to miss this one. Watch live sessions and ask questions on a variety of .NET topics from web, mobile, gaming, IoT, desktop, AI, and cloud. Attend the virtual attendee party, answer trivia questions, and win prizes from our partners. Save the date and tune into www.dotnetconf.net.
Save the date!
.NET Conf Local Events
The best way to experience .NET Conf is at a local event. .NET Conf is partnering with organizers around the globe to bring you over 150 local in-person events between September 23 through the end of October! Join your fellow developers in a city near you to learn more about .NET.
Register for a .NET Conf Local Event
🚀 Action Group Updates 🚀
We recently announced our new Action Groups: a way for .NET Foundation members to join teams and get directly involved in helping the .NET Foundation scale to the next level. Our teams include the following:
- Corporate Relations
- Project Support
- Speakers and Meetups
- Technical Review
Last month, we told you how our Marketing team has moved to a new, open process for project news, and our Project Support team has moved to an open process for reviewing new project applications.
This month, we've made some good progress on some additional action groups. Some highlights:
- The Outreach team (led by Sara Chipps) had a really productive kickoff call with volunteers around the world
- The Membership (led by Iris Classon) worked to document our membership process so additional volunteers can get involved in processing applications. We also reviewed all outstanding membership applications, sent out invites, and fixed some technical issues people ran into while signing up. Finally, we improved our membership website to explain membership a bit better, clean up the site design, and make it so anyone can clone and run the site locally to allow for content updates and improvements.
- The Project team has some pretty exciting things in the works; we're hoping to announce at .NET Conf.
If you're a .NET Foundation Member, sign up to join an action group:
.NET Foundation Presentations Site
In case you missed it, we've got a lot of great content you can use in your presentations, workshops, Meetups, training courses, etc. over at dotnetfoundation.org/community/resources. We keep these up to date, so as .NET Core 3.0 rolls out, this is one of your top resources for training material.
By request, we set up a short url that may be a little easier for you to remember: https://aka.ms/dotnet-presentations.
Blazing Pizza is one of our most popular workshops - it shows you how to build an online pizza ordering site with Blazor, complete with drone pizza delivery!
.NET Foundation Project Updates
IdentityModel v4 is released
IdentityModel has been growing organically over the last years, and we felt it is necessary to do some fundamental cleanup. At the same time it is used by a lot of people and companies (currently around 20 million downloads on nuget) – which is a bit scary when doing breaking changes.
But since we are at a point where a new .NET Core runtime is released, and thus many other libraries will release new major version, we thought that this might be a good opportunity to make the changes.
This version is a breaking release!!!
Stay on v3.x if you are using:
- IdentityServer4 v2.x
- IdentityServer4.AccessTokenValidation v2.x
- IdentityModel.AspNetCore.OAuth2Introspection v3.x
- IdentityModel.OidcClient v2.x
All subsequent major versions of the above mentioned packages have switched to IdentityModel v4 and will be released along with IdentityServer4 v3 on the 23rd September.
In the coming days I will push IdentityModel v4 to nuget – here's a high level list of the changes.
Target frameworks I dropped the net452 target – v4 is targeting net461 and netstandard2.0 only.
*Client classes I removed the protocol client classes like
TokenClient in favour of the newer style extension methods for HttpMessageInvoker (the base class of HttpClient). This allows you to manage the setup and lifetime of the HTTP client yourself. I added a new
IntrospectionClient based on the new design which is now DI and
HttpClientFactory friendly. I did that mainly because I needed them in some other project. Give them a try, and see if they work for you as well.
Removed access token related delegating handlers for
HttpClient I never was happy with their design, and they also did not work for some common scenarios. Part of the work has been moved to OidcClient (for native apps) and part of it has been moved to the ASP.NET Core specific IdentityModel.
Updated extension methods The protocol extensions methods have been re-written from the ground up. The public API surface stayed mostly the same, but certain classes have been renamed for clarity. The request objects now derive from
HttpRequestMessage which gives you more control over the HTTP details (e.g. headers).
Updated Epoch Extensions Year 2038 is coming! All extensions have been updated to use long instead of int. Alternatively – .NET has built-in support now as well. So feel free to switch to that if you like.
Misc I probably changed some parameter, classes and namespace names..
nuget / repo / release notes
Chemistry Add-In for Word (Chem4Word)
It seems like it's all gone quiet on Chem4Word recently, but we've been working extremely hard on addressing some licensing concerns. Chem4Word is currently released under the Apache 2.0 license, but its structure 'sketcher' is a 3rd-party product which uses GPL. We've muddled through up to now because the editor is dyamically linked. But we'd also really like to get our entire code base under the .NET Foundation umbrella.
So we've been writing a new sketcher - the Advanced CML-based Molecule Editor (or ACME for short). It's written in C# and uses Windows Presentation Foundation for its graphics. It can be used as a drop-in structure editor for any Windows Forms or WPF application.
Having our own editor also means we have complete control over what we can and can't edit in CML. This means we can add new features much more easily. And keep our users happy!
We should soon have ACME ready for beta-testing. The team members who have worked incredibly hard on this are:
- Joe Townsend
- Mike Williams
- Andy Wright
If anyone fancies beta-testing ACME then you can drop me a line (email@example.com). All offers of help gratefully received!
NUnit 3 Test Adapter 3.15
Versions 3.14 and 3.15 were both released this month. Changes include:
- A performance boost when running a fraction of the tests by using a test discovery prefilter (thanks Matthew Beardmore!)
- The working directory is changed to the temp folder when VSTest starts with the current directory inside
C:\Windowsor Program Files.
TestContext.Progressonly goes to the console now and not the test output.
- Engine extensions are now loaded by the adapter, enabling scenarios such as mixing NUnit and xUnit tests in the same run (thanks Nikolay Borisenko!)
ℹ NUnit Test Adapter 3.15 has uncovered some less-common bugs in NUnit Framework that must be fixed in a new NUnit Framework release. To preserve compatibility with older versions of NUnit Framework, NUnit Test Adapter 3.15.1 (releasing soon) will make the prefilter opt-in via runsettings.
NUnit 2 Test Adapter 2.2 was available last month with bugfixes and with a VSIX that supports Visual Studio 2019.
The NUnit dotnet CLI template 1.6.3 features dependency updates and an F# template improvement (thanks zanaptak!)
- Major improvements
- Replaced networking stack with the Bedrock layer of ASP.NET Core
- Support for future wire protocol versioning
- A series of improvements in cluster recovery from node failures
- Pluggable data adapters for EventHub stream provider
- Compatibility with .NET Core 3.0
This release is backward compatible, over the wire messaging wise, with 2.* releases, which allows for in-place upgrade of a running cluster. However, there are several breaking changes in the APIs that might require minor adjustments for application code to compile.
We measured significant performance gains with this release over 2.* versions, ranging from 8% to 93% depending on the test, mostly due to the network stack rewrite.
Orleans 2.4.0 and 2.4.1
- Major improvements
- Reduced reliance on cluster membership table and speed up clustering convergence by sending versioned snapshots of the table as part of gossip messages
- Configurable transactional state roles to support cases when a transactional state cannot be transaction manager
This release is backward compatible with 2.0.* releases, which allows for in-place upgrade of a running cluster.
Our .NET Foundation sponsored .NET Meetup Pro groups are continuing to grow worldwide. We recently passed 300 groups, and we're now in 62 countries! Here are some quick stats:
- 314 Groups
- 62 Countries
- 234K Members
Our .NET Meetup Pro group helps developers find your group, as well as get involved with local events like .NET Conf Local. If your meetup hasn't joined yet, you can right here.
Connect with the .NET Foundation online
The .NET Foundation is on Facebook now. Please like our page! We'll post regular updates and interesting things happening with .NET to share.
The .NET Foundation is also on YouTube. Watch community standups and design reviews as well as code-focused shows and interviews across our multiple playlists.
Remember to Subscribe!
Please sign up to get the .NET Foundation Update via e-mail. Don't worry, we want to keep these short, interesting, and low-noise, so we won't overload your e-mail.