diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 2a82c46b..172283b6 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,3 +1,6 @@ +### 4.8.1 - 2019-06-12 +* Packaging fix - signed edition was not properly strong named. + ### 4.8.0 - 2019-06-02 * Optimization: Levenberg-Marquardt, Trust-Region Dogleg *~Jong Hyun Kim* * Optimization: Nelder-Mead-Simplex: Improve convergence for symmetrical functions *~Erik Ovegard* diff --git a/build.fsx b/build.fsx index 05f3c920..434ec532 100644 --- a/build.fsx +++ b/build.fsx @@ -177,7 +177,7 @@ Target "ApplyVersion" (fun _ -> patchVersionInResource "src/NativeProviders/CUDA/resource.rc" cudaRelease patchVersionInResource "src/NativeProviders/OpenBLAS/resource.rc" openBlasRelease) -Target "Restore" (fun _ -> allSolutions |> List.iter restore) +Target "Restore" (fun _ -> allSolutions |> List.iter restoreWeak) "Start" =?> ("Clean", not (hasBuildParam "incremental")) ==> "Restore" @@ -201,24 +201,24 @@ Target "Build" (fun _ -> // Strong Name Build (with strong name, without certificate signature) if hasBuildParam "strongname" then CleanDirs (!! "src/**/obj/" ++ "src/**/bin/" ) - restoreSN numericsSolution - buildSN numericsSolution + restoreStrong numericsSolution + buildStrong numericsSolution if isWindows && hasBuildParam "sign" then sign fingerprint timeserver numericsSolution collectBinariesSN numericsSolution zip numericsStrongNameZipPackage numericsSolution.OutputZipDir numericsSolution.OutputLibStrongNameDir (fun f -> f.Contains("MathNet.Numerics.") || f.Contains("System.Threading.") || f.Contains("FSharp.Core.")) if isWindows then - packSN numericsSolution + packStrong numericsSolution collectNuGetPackages numericsSolution // Normal Build (without strong name, with certificate signature) CleanDirs (!! "src/**/obj/" ++ "src/**/bin/" ) - restore numericsSolution - build numericsSolution + restoreWeak numericsSolution + buildWeak numericsSolution if isWindows && hasBuildParam "sign" then sign fingerprint timeserver numericsSolution collectBinaries numericsSolution zip numericsZipPackage numericsSolution.OutputZipDir numericsSolution.OutputLibDir (fun f -> f.Contains("MathNet.Numerics.") || f.Contains("System.Threading.") || f.Contains("FSharp.Core.")) if isWindows then - pack numericsSolution + packWeak numericsSolution collectNuGetPackages numericsSolution // NuGet Sign (all or nothing) @@ -232,26 +232,26 @@ Target "DataBuild" (fun _ -> // Strong Name Build (with strong name, without certificate signature) if hasBuildParam "strongname" then CleanDirs (!! "src/**/obj/" ++ "src/**/bin/" ) - restoreSN dataSolution - buildSN dataSolution + restoreStrong dataSolution + buildStrong dataSolution if isWindows && hasBuildParam "sign" then sign fingerprint timeserver dataSolution collectBinariesSN dataSolution zip dataStrongNameZipPackage dataSolution.OutputZipDir dataSolution.OutputLibStrongNameDir (fun f -> f.Contains("MathNet.Numerics.Data.")) if isWindows then - packProjectSN dataTextProject - packProjectSN dataMatlabProject + packProjectStrong dataTextProject + packProjectStrong dataMatlabProject collectNuGetPackages dataSolution // Normal Build (without strong name, with certificate signature) CleanDirs (!! "src/**/obj/" ++ "src/**/bin/" ) - restore dataSolution - build dataSolution + restoreWeak dataSolution + buildWeak dataSolution if isWindows && hasBuildParam "sign" then sign fingerprint timeserver dataSolution collectBinaries dataSolution zip dataZipPackage dataSolution.OutputZipDir dataSolution.OutputLibDir (fun f -> f.Contains("MathNet.Numerics.Data.")) if isWindows then - packProject dataTextProject - packProject dataMatlabProject + packProjectWeak dataTextProject + packProjectWeak dataMatlabProject collectNuGetPackages dataSolution // NuGet Sign (all or nothing) @@ -262,7 +262,7 @@ Target "DataBuild" (fun _ -> Target "MklWinBuild" (fun _ -> - restore mklSolution + restoreWeak mklSolution buildConfig32 "Release-MKL" !! "MathNet.Numerics.MKL.sln" buildConfig64 "Release-MKL" !! "MathNet.Numerics.MKL.sln" CreateDir mklSolution.OutputZipDir @@ -278,7 +278,7 @@ Target "MklWinBuild" (fun _ -> Target "CudaWinBuild" (fun _ -> - restore cudaSolution + restoreWeak cudaSolution buildConfig64 "Release-CUDA" !! "MathNet.Numerics.CUDA.sln" CreateDir cudaSolution.OutputZipDir zip cudaWinZipPackage cudaSolution.OutputZipDir "out/CUDA/Windows" (fun f -> f.Contains("MathNet.Numerics.CUDA.") || f.Contains("cublas") || f.Contains("cudart") || f.Contains("cusolver")) @@ -293,7 +293,7 @@ Target "CudaWinBuild" (fun _ -> Target "OpenBlasWinBuild" (fun _ -> - restore openBlasSolution + restoreWeak openBlasSolution buildConfig32 "Release-OpenBLAS" !! "MathNet.Numerics.OpenBLAS.sln" buildConfig64 "Release-OpenBLAS" !! "MathNet.Numerics.OpenBLAS.sln" CreateDir openBlasSolution.OutputZipDir diff --git a/build/build-framework.fsx b/build/build-framework.fsx index 4da94545..344aef39 100644 --- a/build/build-framework.fsx +++ b/build/build-framework.fsx @@ -32,6 +32,21 @@ trace rootDir // -------------------------------------------------------------------------------------- let msbuild targets configuration project = + let properties = + [ + yield "Configuration", configuration + ] + MSBuildHelper.build (fun p -> + { p with + NoLogo = true + NodeReuse = false + Targets = targets + Properties = properties + RestorePackagesFlag = false + Verbosity = Some MSBuildVerbosity.Minimal + }) project + +let msbuildWeak targets configuration project = let properties = [ yield "Configuration", configuration @@ -47,7 +62,7 @@ let msbuild targets configuration project = Verbosity = Some MSBuildVerbosity.Minimal }) project -let msbuildSN targets configuration project = +let msbuildStrong targets configuration project = let properties = [ yield "Configuration", configuration @@ -72,7 +87,17 @@ let dotnet workingDir command = (fun c -> { c with WorkingDir = workingDir}) (command + suffix) -let dotnetSN workingDir command = +let dotnetWeak workingDir command = + let properties = + [ + yield "StrongName", "False" + ] + let suffix = properties |> List.map (fun (name, value) -> sprintf """ /p:%s="%s" """ name value) |> String.concat "" + DotNetCli.RunCommand + (fun c -> { c with WorkingDir = workingDir}) + (command + suffix) + +let dotnetStrong workingDir command = let properties = [ yield "StrongName", "True" @@ -283,20 +308,20 @@ let patchVersionInProjectFile (project:Project) = let clean (solution:Solution) = msbuild [ "Clean" ] "Release" solution.SolutionFile -let restore (solution:Solution) = msbuild [ "Restore" ] "Release" solution.SolutionFile -let restoreSN (solution:Solution) = msbuildSN [ "Restore" ] "Release" solution.SolutionFile +let restoreWeak (solution:Solution) = msbuildWeak [ "Restore" ] "Release" solution.SolutionFile +let restoreStrong (solution:Solution) = msbuildStrong [ "Restore" ] "Release" solution.SolutionFile -let build (solution:Solution) = msbuild [ (if hasBuildParam "incremental" then "Build" else "Rebuild") ] "Release" solution.SolutionFile -let buildSN (solution:Solution) = msbuildSN [ (if hasBuildParam "incremental" then "Build" else "Rebuild") ] "Release" solution.SolutionFile +let buildWeak (solution:Solution) = msbuildWeak [ (if hasBuildParam "incremental" then "Build" else "Rebuild") ] "Release" solution.SolutionFile +let buildStrong (solution:Solution) = msbuildStrong [ (if hasBuildParam "incremental" then "Build" else "Rebuild") ] "Release" solution.SolutionFile -let pack (solution:Solution) = dotnet rootDir (sprintf "pack %s --configuration Release --no-restore --no-build" solution.SolutionFile) -let packSN (solution:Solution) = dotnetSN rootDir (sprintf "pack %s --configuration Release --no-restore --no-build" solution.SolutionFile) +let packWeak (solution:Solution) = dotnetWeak rootDir (sprintf "pack %s --configuration Release --no-restore --no-build" solution.SolutionFile) +let packStrong (solution:Solution) = dotnetStrong rootDir (sprintf "pack %s --configuration Release --no-restore --no-build" solution.SolutionFile) -let packProject = function - | VisualStudio p -> dotnet rootDir (sprintf "pack %s --configuration Release --no-restore --no-build" p.ProjectFile) +let packProjectWeak = function + | VisualStudio p -> dotnetWeak rootDir (sprintf "pack %s --configuration Release --no-restore --no-build" p.ProjectFile) | _ -> failwith "Project type not supported" -let packProjectSN = function - | VisualStudio p -> dotnetSN rootDir (sprintf "pack %s --configuration Release --no-restore --no-build" p.ProjectFile) +let packProjectStrong = function + | VisualStudio p -> dotnetStrong rootDir (sprintf "pack %s --configuration Release --no-restore --no-build" p.ProjectFile) | _ -> failwith "Project type not supported" //let buildConfig config subject = MSBuild "" (if hasBuildParam "incremental" then "Build" else "Rebuild") [ "Configuration", config ] subject |> ignore diff --git a/src/FSharp.Tests/AssemblyInfo.fs b/src/FSharp.Tests/AssemblyInfo.fs index e86aa7f8..0fb0a28e 100644 --- a/src/FSharp.Tests/AssemblyInfo.fs +++ b/src/FSharp.Tests/AssemblyInfo.fs @@ -10,9 +10,9 @@ open System.Runtime.InteropServices [] [] -[] -[] -[] +[] +[] +[] [] [] diff --git a/src/FSharp/AssemblyInfo.fs b/src/FSharp/AssemblyInfo.fs index 3a26a4cd..8c5f4dd9 100644 --- a/src/FSharp/AssemblyInfo.fs +++ b/src/FSharp/AssemblyInfo.fs @@ -44,9 +44,9 @@ open System.Runtime.InteropServices [] [] -[] -[] -[] +[] +[] +[] [] [] diff --git a/src/FSharp/FSharp.fsproj b/src/FSharp/FSharp.fsproj index 5e240d17..0a95b242 100644 --- a/src/FSharp/FSharp.fsproj +++ b/src/FSharp/FSharp.fsproj @@ -7,15 +7,11 @@ MathNet.Numerics true MathNet.Numerics.FSharp$(PackageIdSuffix) - 4.8.0 + 4.8.1 Math.NET Numerics for F#$(TitleSuffix) F# Modules for Math.NET Numerics, the numerical foundation of the Math.NET project, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Supports .Net Framework 4.5 or higher and .Net Standard 1.6 or higher, on Windows, Linux and Mac.$(DescriptionSuffix) - Optimization: Levenberg-Marquardt, Trust-Region Dogleg ~Jong Hyun Kim -Optimization: Nelder-Mead-Simplex: Improve convergence for symmetrical functions ~Erik Ovegard -BUG: Optimization: Nelder-Mead-Simplex did not return the best evaluated point in some cases ~Eric Scott Salem -Factorial: first 170 values now constant (data segment) instead of precomputed on first use ~Portalez Regis -Window Functions: Tukey window ~Marco Ross + Packaging fix - signed edition was not properly strong named. fsharp F# math numeric statistics probability integration interpolation regression solve fit linear algebra matrix fft false en diff --git a/src/Numerics.Tests/Properties/AssemblyInfo.cs b/src/Numerics.Tests/Properties/AssemblyInfo.cs index c29a57fe..8dec37be 100644 --- a/src/Numerics.Tests/Properties/AssemblyInfo.cs +++ b/src/Numerics.Tests/Properties/AssemblyInfo.cs @@ -9,8 +9,8 @@ using MathNet.Numerics.UnitTests; [assembly: ComVisible(false)] [assembly: Guid("04157581-63f3-447b-a277-83c6e69126a4")] -[assembly: AssemblyVersion("4.8.0.0")] -[assembly: AssemblyFileVersion("4.8.0.0")] -[assembly: AssemblyInformationalVersion("4.8.0")] +[assembly: AssemblyVersion("4.8.1.0")] +[assembly: AssemblyFileVersion("4.8.1.0")] +[assembly: AssemblyInformationalVersion("4.8.1")] [assembly: UseLinearAlgebraProvider] diff --git a/src/Numerics/Numerics.csproj b/src/Numerics/Numerics.csproj index 78407b24..4a22939f 100644 --- a/src/Numerics/Numerics.csproj +++ b/src/Numerics/Numerics.csproj @@ -7,15 +7,11 @@ MathNet.Numerics true MathNet.Numerics$(PackageIdSuffix) - 4.8.0 + 4.8.1 Math.NET Numerics$(TitleSuffix) Math.NET Numerics is the numerical foundation of the Math.NET project, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Supports .Net Framework 4.0 or higher and .Net Standard 1.3 or higher, on Windows, Linux and Mac.$(DescriptionSuffix) - Optimization: Levenberg-Marquardt, Trust-Region Dogleg ~Jong Hyun Kim -Optimization: Nelder-Mead-Simplex: Improve convergence for symmetrical functions ~Erik Ovegard -BUG: Optimization: Nelder-Mead-Simplex did not return the best evaluated point in some cases ~Eric Scott Salem -Factorial: first 170 values now constant (data segment) instead of precomputed on first use ~Portalez Regis -Window Functions: Tukey window ~Marco Ross + Packaging fix - signed edition was not properly strong named. math numeric statistics probability integration interpolation regression solve fit linear algebra matrix fft false en diff --git a/src/TestData/Properties/AssemblyInfo.cs b/src/TestData/Properties/AssemblyInfo.cs index af05e90b..bb3877fb 100644 --- a/src/TestData/Properties/AssemblyInfo.cs +++ b/src/TestData/Properties/AssemblyInfo.cs @@ -14,5 +14,5 @@ using System.Runtime.InteropServices; [assembly: Guid("a4a6a08e-5265-4608-a43d-e4f2e210ba2d")] -[assembly: AssemblyVersion("4.8.0.0")] -[assembly: AssemblyFileVersion("4.8.0.0")] +[assembly: AssemblyVersion("4.8.1.0")] +[assembly: AssemblyFileVersion("4.8.1.0")]