Announcing PostSharp 1.5 SP1

by Gael Fraiteur on 31 Mar 2010

I am pleased to announce the release of PostSharp 1.5 SP1, the latest and last maintenance release of the open-source branch of PostSharp. This service pack solves all bugs and issues reported for this branch so far.

As promised, there is no change in the license (except that the licensor is SharpCrafters s.r.o. instead of Gael Fraiteur). The updated source code is available.

Version 1.5 will not be maintained any more for the public. SharpCrafters will fix bugs and provide support on 1.5 only to customers who have purchased a Support Subscription for PostSharp 2.0 with extension to PostSharp 1.5, in the context of a support ticket. Note that you have to act now if you want to be eligible for support on 1.5, since the possibility to acquire a License Extension to PostSharp 1.5 will not be offered after June 1st, 2010. After this date, only customers who already acquired the license extension will be eligible for support services on PostSharp 1.5.

Also, you’ll notice that, as it was the case on postsharp.org, registration is required to download PostSharp 1.5. Registration is free and easy with your OpenID. Downloads will not be made available to people won’t have registered before the time PostSharp 2.0 RTW is released. This is because we offer PostSharp 1.5 for legacy support for existing users, not as an alternative for new users.

List of bugs solved by this service pack

The following bugs were already fixed in intermediate hot fix releases:

  • Unhandled exception when more than 32 advices are added to the same method.
  • Aspect are not inherited from methods of generic interface to implicit implementations of these methods
  • ModuleDeclaration.FindField(FieldInfo,...) throws a BindingException when the FieldRef does not exist
  • PostSharp generates RunCodeAnalysis build errors in non-Team VS
  • BindingException on references to binary assemblies with the "CopyLocal" flag set to false
  • Types or methods with more that 32 generic parameters (like anonymous types) crash.
  • Debugging problem when putting a breakpoint on the end of the method body
  • System.TypeLoadException in compile time when using ImplementMethodAspect.
  • Crash when using XmlSerializer in external aspect implementation
  • VB.NET Exception Filter Crash
  • Advices which have a method woven by OnTargetInvocationAspect as an Operand ignored.
  • PostSharp.NAntTasks.dll throws an exception while weaving
  • Exception with CustomAttributeInjector when a generic type instance is passed as parameter.
  • PostSharp Help is not merged into Visual Studio Help
  • NotSupportedException thrown when some bad path is passed to PostSharp
  • Crash when using generic constraints to generic methods
  • Lack of Detail in MSBuild Task Exception
  • BadImageFormatException when Gnu.Classpath.Core and Gnu.Classpath.JAXP are referenced

The following bug fixes have never been released before:

  • Method InitializeAspects is invoked multiple times in the chain of constructors
  • Accessing InstanceTag in a generic class results in a BadImageFormatException
  • AssemblyLocator should not look into the GAC when used for Silverlight/CF
  • AssemblyLocator should consider reference files with higher priority than reference directories.
  • OnMethodInvocation: cannot apply on an interface method even if inheritance is enabled
  • IAnnotationProvider requires CustomAttributeDeclaration instead of IAnnotationInstance
  • In InstructionBlockBuilder.ProcessLexicalScope, handle all exceptions when accessing PDBs
  • TypeLoadException with an aspect applied on a method of a generic struct
  • Bug with multicasting aspect that holds generics

Note that all bug fixes (including test cases) from the 1.5 branch have now been merged into the 2.0 branch.

Happy PostSharping!

-gael