All Versions
5
Latest Version
Avg Release Cycle
83 days
Latest Release
1737 days ago

Changelog History

  • v1.10.20606.1

    June 06, 2016

    Summary

    ๐Ÿš€ Second community-driven release of the DotNet CodeContracts that is mostly focused on minor bug fixes.

    ๐Ÿ“ฆ Nuget Package

    ๐Ÿ“ฆ DotNet.CodeContracts at nuget.org

    ๐Ÿ› Bug fixes

    • #221 - [VS2015] ccrewrite fails with CC1004: Malformed contract. Found Requires after assignment in method
    • #339 - string.IsNullOrWhiteSpace() not considered Pure by Requires() or Invariant() when running on .NET 4.6.1
    • #340 - ccrewrite fails to read assembly that has non-escaped comma in nested type names
    • #346 - Invalid contract for System.Xml.Schema.XmlSchemaSet
    • #349 - Possible invalid contract in System.Linq.Expression.NewExpression
    • #351 - Invalid contract for System.Dynamic.BindingRestrictions
    • #352 - Add contracts for System.Drawing.Imaging.EncoderParameters
    • #365 - Access to instance members in async postconditions lead to invalid IL
    • #410 - For 64-bit assemblies, preserve the imagebase value when rewriting.
    • #414 - BCL: System.Type.GetMethods() is missing on ensures
    • #424 - Static checker cannot prove compiler-generated Expressions are created safely.
    • #423 - cccheck: Cached analysis gets horrendously slow over time

    Acknowledgements

    ๐Ÿš€ Thank you goes to all of the following users, who contributed feedback, bug reports, code submissions, testing, and reviews which helped in this release. In alphabetical order by username.

  • v1.10.10126.2

    January 26, 2016

    Summary

    ๐Ÿš€ This is the first major community-driven release of the DotNet CodeContracts. This release addresses a lot of pending issues with installer, new IL patterns introduced by Roslyn Csc compiler, and more reasonable implementation of the postconditions in async methods, a lot of changes in the BCL contracts and more.

    ๐Ÿ“ฆ Nuget Package

    ๐Ÿ“ฆ DotNet.CodeContracts at nuget.org

    ๐Ÿ‘Œ Improvements and new features

    • Proper implementation of async methods postconditions. Now async postconditions are implemented via call to ContinueWith method that checks a postcondition only when task finishes successfully (more details at #278).
    • ๐Ÿ”€ Postcondition for async method now runs synchronously to reduce additional overhead (#275).

    โšก๏ธ Updated contracts for BCL types

    • โž• Added missing contracts in System.Linq.Expressions.Expression (#171)
    • Contracts for System.Reflection.CustomAttributeExtensions (#180)
    • String.IndexOfAny contract incorrect (#200)
    • False contract assumption encountered on System.Decimal.op_Explicit (#203)
    • โž• Added missing contracts in Directory class (#251)
    • โž• Add missing contracts in System.Windows.Input.InputManager (#285)
    • โž• Add missing contracts in System.Windows.Data.MultiMinding (#286)
    • Extend postcondition on Path.GetTempFileName (#305)
    • Contracts for System.Version (#318)
    • Contract reference assemblies for .NET Framework (#291)
    • โšก๏ธ Update System.Threading.Tasks.Task for NET4.5/4.6 (#296)
    • โž• Add contracts for System.OperatingSystem (#306)

    ๐Ÿ› Bug fixes

    Installation + VS Integration issues

    • โšก๏ธ Update/uninstall leaves VS2013 extension behind (#7)
    • Installer creates a C:\VS11Root folder (#8)
    • โš  Static checker warnings showing in the wrong pane is VS2015 (#166)

    Async + Iterators + VS2015 issues

    • Async/iterator issue in async without await (#172)
    • Static checker: recognizing cached anonymous delegate fields produced by Roslyn (#182)
    • ccrewrite produces an incorrect type name in
    • Static checker can't prove ForAll on Roslyn-compiled inline arrays (#204)
    • BadImageFormatException when using Contract.Ensures in async method, that returns task without any await (#235)
    • NullReferenceException in ccrewrite-generated code (#191)
    • ๐Ÿ“š Contract.Require(x != null) gets translated in!(x <= null)` in the documentation rewritten by CC (#307)
    • Using capturing precondition in async method in struct lead to invalid IL (#168)

    ๐Ÿ›  Other bug fixes

    • Sql exceptions: String or binary data would be truncated (#165)
    • Malformed Contract. Found Requires after assignment (#29)
    • Bad application of visibility rules on method parameter attribute (#273)

    Misc

    • ๐Ÿ’… Code was reformatted to follow well-known .NET coding conventions using StyleCopAnalyzers
    • โœ… All unit tests were migrated from MS Test to Xunit
    • ๐Ÿ“ฆ CodeContracts as NugetPackage (#13)

    Acknowledgements

    ๐Ÿš€ Thank you goes to all of the following users, who contributed feedback, bug reports, code submissions, testing, and reviews which helped in this release. In alphabetical order by username.

  • v1.9.10714.2

    July 14, 2015

    ๐Ÿ”‹ Features

    • ๐Ÿ‘ Code Contracts support for VS2010-2015
      Long-expected version of the Code Contracts tools that works with VS2015.
    • ๐Ÿ‘ Code Contracts Editor Extensions support for VS2010-2015
      ๐Ÿ‘ Long-expected version of the Editor Extensions with support for VS2013 and VS2015.

    ๐Ÿ›  Bugfixes

    • #112 - "Malformed contract section" when rewriting async methods.
    • #133 - [VS2015] ccrewrite fails when Expression is used in a precondition
    • ๐Ÿ“‡ #33 - "Unknown custom metadata item kind: 7"
    • #38 - CCRewriter produces invalid IL on async method or iterator blocks.
    • #55 - Fix for generic type parameters used as constraints for another type parameter.
    • ๐Ÿ›  #84, #85 - Fixes for a lot's of system contracts.

    ๐Ÿ›  Many other fixes were made to support new Roslyn-based compiler that introduced new IL-patterns for non-capturing lambda expressions.

    ๐Ÿ‘ท P.S. Thanks a lot for all community members who did astonishing job by fixing bugs and implementing very useful features!

  • v1.9.10710.1

    July 11, 2015

    ๐Ÿ”‹ Features

    • ๐Ÿ‘ Code Contracts support for VS2010-2015
      Long-expected version of the Code Contracts tools that works with VS2015.
    • ๐Ÿ‘ Code Contracts Editor Extensions support for VS2010-2015
      ๐Ÿ‘ Long-expected version of the Editor Extensions with support for VS2013 and VS2015.

    ๐Ÿ›  Bugfixes

    • #112 - "Malformed contract section" when rewriting async methods.
    • ๐Ÿ“‡ #33 - "Unknown custom metadata item kind: 7"
    • #38 - CCRewriter produces invalid IL on async method or iterator blocks.
    • #55 - Fix for generic type parameters used as constraints for another type parameter.
    • ๐Ÿ›  #84, #85 - Fixes for a lot's of system contracts.

    ๐Ÿ›  Many other fixes were made to support new Roslyn-based compiler that introduced new IL-patterns for non-capturing lambda expressions.

    ๐Ÿ‘ท P.S. Thanks a lot for all community members who did astonishing job by fixing bugs and implementing very useful features!

  • v1.9.10709.0

    July 10, 2015

    ๐Ÿš€ This release is obsolete! Please use updated one at https://github.com/Microsoft/CodeContracts/releases/tag/v1.9.10710.1.

    ๐Ÿ”‹ Features

    • ๐Ÿ‘ Code Contracts support for VS2010-2015
      Long-expected version of the Code Contracts tools that works with VS2015.
    • ๐Ÿ‘ Code Contracts Editor Extensions support for VS2010-2015
      ๐Ÿ‘ Long-expected version of the Editor Extensions with support for VS2013 and VS2015.

    ๐Ÿ›  Bugfixes

    • #38 - CCRewriter produces invalid IL on async method or iterator blocks.
    • #55 - Fix for generic type parameters used as constraints for another type parameter.
    • ๐Ÿ›  #84, #85 - Fixes for a lot's of system contracts.

    ๐Ÿ›  Many other fixes were made to support new Roslyn-based compiler that introduced new IL-patterns for non-capturing lambda expressions.

    ๐Ÿ‘ท P.S. Thanks a lot for all community members who did astonishing job by fixing bugs and implementing very useful features!