Trunk-Based Development or Pull Requests - Why Not Both?

Trunk-Based Development movement is often proposed as the alternative to Git Flow. I understand this distinction - managing streams of work through long-lived branches can be trouble. For those new to TBD, it can look like this means throwing away all branches and everyone commits literally to trunk. Typically this comes out as "feature branches are bad". But I've seen the opposite - it's not that feature branches are bad, [Read More]

MediatR 4.0 Released

The last major release of MediatR brought a simplification in design. Instead of having several different IRequest types and IRequestHandler implementations with several flavors, MediatR would try at runtime to determine how a single IRequest should resolve to different IRequestHandler implementations (synchronous, async, async with a cancellation token). In practice, this proved problematic as not all containers support this sort of 'try-resolve' behavior. MediatR relied on try...catch to resolve, [Read More]

AutoMapper 6.2.1 Released

Release notes here. The previous release introduced some inadvertent breaking behavior changes in convention-based map creation and some DI scenarios. This maintenance release fixes these two issues by: Allowing configuration of member lists to validate per-map Allowing resetting of static mapper configuration (for testing scenarios) Find this release on NuGet: [Read More]

AutoMapper extensions for Microsoft DI 3.2.0 released

Today I pushed out a small change to the AutoMapper.Extensions.Microsoft.DependencyInjection package to allow instance-based initialization. Before you initialize with services.AddAutoMapper(), set a configuration flag: ServiceCollectionExtensions.UseStaticRegistration = false; services.AddAutoMapper(); By default the extension will register using Mapper.Initialize, but with this flag off, the extension instead registers an instance. Mapper.Initialize is enforced to only be called once, which can be an issue for unit tests [Read More]

AutoMapper 6.2.0 Released

Today I pushed out AutoMapper 6.2.0. Check out the release notes for the closed issues. A couple of big features in this release include inline maps, where AutoMapper no longer requires you to call CreateMap for new maps. I had resisted this idea (and even took out the Mapper.DynamicMap feature) because I saw these dynamic maps as a bit dangerous. One of the original design guidelines was [Read More]