Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions BreakingChanges.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,37 @@ Changes (3.1 to 4.0)
4.0." The matching examples (Calculator, EmsQuickStart, WcfQuickStart and
Web.Extensions.Example) were removed too.

5. Dependency floors were raised: Microsoft.Extensions.Logging.Abstractions 8.0.3,
Microsoft.Bcl.HashCode 6.0.0, Microsoft.Win32.Registry 5.0.0, System.CodeDom 8.0.0,
NHibernate 5.7.1, Quartz 3.22.9, and Microsoft.AspNet.Mvc and Microsoft.AspNet.WebApi.WebHost
5.3.0 (Mvc/WebApi 5.3.0 brings Newtonsoft.Json 13 in place of the vulnerable 6.0.4).
Several assembly versions moved with these floors:

| Assembly | 3.1 | 4.0 |
|-------------------------------------------|----------|----------|
| Microsoft.Bcl.HashCode | 1.0.0.0 | 6.0.0.0 |
| Microsoft.Extensions.Logging.Abstractions | 8.0.0.0 | 8.0.0.3 |
| Quartz | 3.12.0.0 | 3.22.9.0 |
| NHibernate | 5.6.0.0 | 5.7.0.0 |
| System.Web.Mvc, System.Web.Http(.WebHost) | 5.2.7.0 | 5.3.0.0 |
| System.Net.Http.Formatting | 5.2.7.0 | 6.0.0.0 |
| Newtonsoft.Json (via WebApi) | 6.0.0.0 | 13.0.0.0 |

On .NET Framework, an application or library compiled against an older version needs
binding redirects to these. SDK-style projects with AutoGenerateBindingRedirects get them
generated. Classic web.config applications must add them, and the Mvc/WebApi NuGet packages
add their own. Microsoft.AspNet.WebApi.OData 5.x (OData v3) caps WebApi.Core below 5.3.0, so
restoring it next to Spring.Web.Mvc5 reports NU1608. It still runs on 5.3 through the
System.Web.Http redirect.

6. On .NET Framework, Spring.Core no longer depends on the System.Configuration.ConfigurationManager,
System.CodeDom and Microsoft.Win32.Registry packages, because the framework provides those
APIs. Spring.Messaging's .NET Framework build drops the unused Experimental.System.Messaging.Signed
package; it always compiled against the framework's System.Messaging. The packages are still
referenced for the netstandard2.0 target.

7. Spring.Aop no longer depends on Antlr3.Runtime.

Changes (3.0.x to 3.1)
========================

Expand Down
37 changes: 20 additions & 17 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,42 @@
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Antlr3.Runtime" Version="3.5.1" />
<PackageVersion Include="Apache.NMS" Version="2.2.0" />
<PackageVersion Include="Apache.NMS.ActiveMQ" Version="2.1.1" />
<PackageVersion Include="BenchmarkDotNet" Version="0.15.2" />
<PackageVersion Include="Apache.NMS.ActiveMQ" Version="2.3.0" />
<PackageVersion Include="BenchmarkDotNet" Version="0.15.8" />
<PackageVersion Include="ConfigureAwaitChecker.Analyzer" Version="5.0.0.1" />
<PackageVersion Include="Experimental.System.Messaging.Signed" Version="1.0.0" />
<PackageVersion Include="Fallout.Common" Version="10.4.0" />
<PackageVersion Include="FakeItEasy" Version="8.3.0" />
<PackageVersion Include="FakeItEasy" Version="9.0.1" />
<PackageVersion Include="FakeItEasy.Analyzer.CSharp" Version="6.1.1" />
<PackageVersion Include="MSTest.TestAdapter" Version="3.4.3" />
<PackageVersion Include="MSTest.TestFramework" Version="3.4.3" />
<PackageVersion Include="Microsoft.AspNet.Mvc" Version="5.2.7" />
<PackageVersion Include="Microsoft.AspNet.WebApi.WebHost" Version="5.2.7" />
<PackageVersion Include="Microsoft.Bcl.HashCode" Version="1.1.1" />
<PackageVersion Include="Microsoft.AspNet.Mvc" Version="5.3.0" />
<PackageVersion Include="Microsoft.AspNet.WebApi.WebHost" Version="5.3.0" />
<PackageVersion Include="Microsoft.Bcl.HashCode" Version="6.0.0" />
<PackageVersion Include="Microsoft.CSharp" Version="4.7.0" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0" />
<!-- Examples only. Kept on the 8.0 line that matches Spring.Core's Logging.Abstractions floor: the net472 web
examples have no binding redirects, so a 10.x closure would fail to load at run time. -->
<PackageVersion Include="Microsoft.Extensions.Logging" Version="8.0.1" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.3" />
<PackageVersion Include="Microsoft.Extensions.Logging.Log4Net.AspNetCore" Version="8.0.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageVersion Include="Microsoft.Win32.Registry" Version="4.7.0" />
<PackageVersion Include="NHibernate" Version="5.6.0" />
<PackageVersion Include="Microsoft.Win32.Registry" Version="5.0.0" />
<PackageVersion Include="NHibernate" Version="5.7.1" />
<PackageVersion Include="NUnit" Version="3.14.0" />
<PackageVersion Include="NUnit3TestAdapter" Version="5.0.0" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
<PackageVersion Include="Quartz" Version="3.12.0" />
<PackageVersion Include="System.CodeDom" Version="5.0.0" />
<PackageVersion Include="Quartz" Version="3.22.9" />
<PackageVersion Include="System.CodeDom" Version="8.0.0" />
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="8.0.1" />
<PackageVersion Include="System.Data.SQLite.Core" Version="1.0.119" />
<PackageVersion Include="System.Data.SqlClient" Version="4.8.6" />
<PackageVersion Include="System.Data.SqlClient" Version="4.9.1" />
<PackageVersion Include="System.Reflection.Emit" Version="4.7.0" />
<PackageVersion Include="System.Reflection.Emit.Lightweight" Version="4.7.0" />
<PackageVersion Include="System.Resources.Extensions" Version="8.0.0" />
<PackageVersion Include="System.Runtime.Serialization.Formatters" Version="10.0.0" />
<PackageVersion Include="log4net" Version="3.3.2" />
<PackageVersion Include="System.Resources.Extensions" Version="10.0.14" />
<PackageVersion Include="System.Runtime.Serialization.Formatters" Version="10.0.14" />
<PackageVersion Include="System.Security.Cryptography.Pkcs" Version="10.0.14" />
<PackageVersion Include="System.Security.Cryptography.Xml" Version="10.0.14" />
<PackageVersion Include="log4net" Version="3.5.0" />
</ItemGroup>
</Project>
2 changes: 2 additions & 0 deletions build-support/build/_build.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@

<ItemGroup>
<PackageReference Include="Fallout.Common" />
<PackageReference Include="System.Security.Cryptography.Pkcs" />
<PackageReference Include="System.Security.Cryptography.Xml" />
</ItemGroup>

</Project>
6 changes: 6 additions & 0 deletions examples/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

<PropertyGroup>

<!-- The examples reference the built Spring assemblies by HintPath, so NuGet cannot see their dependency floors
(Spring.Core is compiled against Microsoft.Extensions.Logging.Abstractions 8.0.3, while the examples' own
Microsoft.Extensions.Logging 8.0.1 only asks for 8.0.2, which fails with CS1705). Pinning transitive packages to
the central versions keeps the examples on the same versions as the libraries. -->
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>

<CleanedProjectName>$(MSBuildProjectName.Replace('.2010', ''))</CleanedProjectName>

<AssemblyName>$(CleanedProjectName)</AssemblyName>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<!-- Microsoft.AspNet.WebApi.OData 5.7.0, the last OData v3 release, caps WebApi.Core below 5.3.0; the direct
WebApi.Core 5.3.0 reference below wins, and OData runs on 5.3 through the System.Web.Http binding redirect in
Web.config. -->
<NoWarn>$(NoWarn);NU1608</NoWarn>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>
Expand Down Expand Up @@ -48,8 +52,10 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Antlr" Version="3.5.0.2" />
<PackageReference Include="Microsoft.AspNet.Mvc" Version="5.2.7" />
<PackageReference Include="Microsoft.AspNet.WebApi" Version="5.2.7" />
<PackageReference Include="Microsoft.AspNet.Mvc" Version="5.3.0" />
<PackageReference Include="Microsoft.AspNet.WebApi" Version="5.3.0" />
<!-- Direct reference so that 5.3.0 wins over OData 5.7.0's "< 5.3.0" bound (otherwise NU1107); see NoWarn above. -->
<PackageReference Include="Microsoft.AspNet.WebApi.Core" Version="5.3.0" />
<PackageReference Include="Microsoft.AspNet.Web.Optimization" Version="1.1.3" />
<PackageReference Include="Microsoft.AspNet.WebApi.OData" Version="5.7.0" />
<PackageReference Include="Microsoft.Web.Infrastructure" Version="1.0.0" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,27 +86,27 @@
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0"/>
<bindingRedirect oldVersion="0.0.0.0-5.3.0.0" newVersion="5.3.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0"/>
<bindingRedirect oldVersion="0.0.0.0-5.3.0.0" newVersion="5.3.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0"/>
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-5.2.6.0" newVersion="5.2.6.0"/>
<bindingRedirect oldVersion="1.0.0.0-5.3.0.0" newVersion="5.3.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
Expand Down
4 changes: 0 additions & 4 deletions src/Spring/Spring.Aop/Spring.Aop.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@
<Description>Interfaces and classes that provide AOP support in Spring.Net</Description>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Antlr3.Runtime" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Spring.Core\Spring.Core.csproj" />
</ItemGroup>
Expand Down
11 changes: 7 additions & 4 deletions src/Spring/Spring.Core/Spring.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<NoWarn>219, 162, 618, 1591</NoWarn>
</PropertyGroup>

<ItemGroup Condition=" '$(TargetFramework)' == '$(TargetFullFrameworkVersion)' ">
<ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' ">
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.VisualBasic" />
<Reference Include="System.Configuration" />
Expand All @@ -22,17 +22,20 @@

<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
<PackageReference Include="Microsoft.CSharp" />
<PackageReference Include="Microsoft.Win32.Registry" />
<PackageReference Include="System.Reflection.Emit" />
<PackageReference Include="System.Reflection.Emit.Lightweight" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
<PackageReference Include="Microsoft.Win32.Registry" />
<ItemGroup Condition=" '$(TargetFrameworkIdentifier)' != '.NETFramework' ">
<PackageReference Include="System.CodeDom" />
<PackageReference Include="System.Configuration.ConfigurationManager" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
</ItemGroup>

<ItemGroup>
<Using Remove="System.Net.Http" />
<Using Remove="System.Threading" />
Expand Down
4 changes: 2 additions & 2 deletions src/Spring/Spring.Messaging/Spring.Messaging.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
<TargetFrameworks>netstandard2.0;$(TargetFullFrameworkVersion)</TargetFrameworks>
<Description>Interfaces and classes that provide MSMQ 3.0 support in Spring.Net</Description>
</PropertyGroup>
<ItemGroup>
<ItemGroup Condition=" '$(TargetFrameworkIdentifier)' != '.NETFramework' ">
<PackageReference Include="Experimental.System.Messaging.Signed" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Spring.Core\Spring.Core.csproj" />
<ProjectReference Include="..\Spring.Data\Spring.Data.csproj" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == '$(TargetFullFrameworkVersion)' ">
<ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' ">
<Reference Include="System.Messaging" />
<Reference Include="System.Transactions" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public virtual IDictionary JobDataAsMap
{
foreach (DictionaryEntry entry in value)
{
JobDataMap.Put((string) entry.Key, entry.Value);
JobDataMap[(string) entry.Key] = entry.Value;
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public virtual IDictionary JobDataAsMap

foreach (DictionaryEntry entry in value)
{
JobDataMap.Put((string) entry.Key, entry.Value);
JobDataMap[(string) entry.Key] = entry.Value;
}
}
}
Expand Down Expand Up @@ -216,7 +216,7 @@ public virtual void AfterPropertiesSet()
"to be able to handle an 'applicationContextJobDataKey'");
}

JobDataMap.Put(applicationContextJobDataKey, applicationContext);
JobDataMap[applicationContextJobDataKey] = applicationContext;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ public virtual void AfterPropertiesSet()

// Build JobDetail instance.
jobDetail = new JobDetailImpl(jobDetailName, group, jobType);
jobDetail.JobDataMap.Put("methodInvoker", this);
jobDetail.JobDataMap["methodInvoker"] = this;
jobDetail.Durable = true;

// job listeners through configuration are no longer supported
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -730,9 +730,10 @@ private void PopulateSchedulerContext()
// Put specified objects into Scheduler context.
if (schedulerContextMap != null)
{
var dictionary = schedulerContextMap.Cast<DictionaryEntry>()
.ToDictionary(entry => entry.Key.ToString(), entry => entry.Value);
scheduler.Context.PutAll(dictionary);
foreach (DictionaryEntry entry in schedulerContextMap)
{
scheduler.Context[entry.Key.ToString()] = entry.Value;
}
}

// Register IApplicationContext in Scheduler context.
Expand All @@ -744,7 +745,7 @@ private void PopulateSchedulerContext()
"to be able to handle an 'applicationContextSchedulerContextKey'");
}

scheduler.Context.Put(applicationContextSchedulerContextKey, applicationContext);
scheduler.Context[applicationContextSchedulerContextKey] = applicationContext;
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public virtual IDictionary JobDataAsMap
{
foreach (DictionaryEntry entry in value)
{
JobDataMap.Put((string) entry.Key, entry.Value);
JobDataMap[(string) entry.Key] = entry.Value;
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,15 @@
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-6.0.3.0" newVersion="6.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,15 @@
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-6.0.3.0" newVersion="6.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,15 @@
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-6.0.3.0" newVersion="6.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Expand Down
Loading
Loading