Skip to content
Jon Wagner edited this page Mar 30, 2015 · 15 revisions

Change Log

v3.0.5

  • Implemented Issue #25 - easy way to add multiple context data parameters

v3.0.4

  • Fixed Issue #33 - parameter converters fail when type changes
  • Implemented Issue #35 - allow event sources to be renamed at runtime
  • Implemented Issue #36 - allow TraceAs attribute to have a format specifier
  • Implemented Issue #37 - verify message format strings when constructing interface
  • Added option to throw on WriteErrors

v3.0.3

  • Fixed Issue #23 - parameterless methods are not logged to PerfView in x64 mode.

v3.0.2

  • Fixed Issue #22 - added Newtonsoft.Json as a nuget dependency.

v3.0.1

  • Fixed Issue #19 - allow multiple levels of inheritance
  • Fixed Issue #20 - fixed behavior with PerfView when no keywords are specified
  • Updated dependent packages

v3.0.0

  • IMPORTANT - ESP now has autokeywords OFF by default. This is a breaking change to the behavior of ESP. Now ESP behaves just like a default EventSource would. If you want autokeywords, you can turn it on by setting EventSourceImplementer.ForceAutoKeywords to true, or by adding [EventSourceImplementation(AutoKeywords=true)] to an interface or class definition.

v2.1.1

  • Parameter provider can now map subclass properties.

v2.1.0

  • Support for NuGet version of EventSource

v2.0.2

  • Fixed Issue #13 - parameters with rules are added in the order they are specified on the method, with the context parameter being last.
  • ImplementComplementMethods is no longer nullable, as it couldn't be used as a named attribute property.

v2.0.1

  • Fixed Issue #11 - don't generate _Completed/_Faulted methods on a log when the type is derived from EventSource. This behavior can be overridden with the EventSourceImplementationAttribute.ImplementComplementMethods property.
  • Fixed Issue #12 - Added LocalizationResource to EventSourceImplementationAttribute.

v2.0

  • Made EventSourceImplementer.RegisterProvider(Type, Type, object) private. It was intended that you use one of the two parameter methods.
  • Added many ways for Controlling Logged Data. You can now use TraceAs attributes, or set up way cool TraceParameterProvider rules. Big, big thanks to Ian Bebbington (ibebbs) for help on this one.

v1.1.3

  • Fixed error with interfaces that have more than 44 methods/keywords on Windows 8.1.

v1.1.2

  • Removed dependency on FxCop for code analysis. Now using Visual Studio Code analysis.
  • Added more reliability around exception handling and object disposal.
  • Added strong name to the assembly so it can be used by strong named projects. (stefanjokull@hotmail.com)

v1.1.1

  • NOTE: v1.1.0 is not compatible with v1.0.0. You should be able to recompile your code and/or make minor changes. (Don't worry, we don't plan on breaking things again in the near future.)
  • EventAttributeProvider now lets you programmatically generate EventAttributes in addition to attributing your class.
  • Context Provider - See Adding Additional Logging Context.
    • TraceContextProvider Attribute lets you define the context provider for an interface or method.
    • TraceContext Attribute gives you granular control of when to log context information.
  • Serialization Provider - see Controlling Object Serialization.
    • TraceSerializationProvider Attribute lets you define the serialization provider for an interface or class.
    • TraceSerialization Atttribute lets you define the serialization level for an interface, class, method, parameter, or type of parameter
  • Exception Handling
    • Added _Faulted method for TracingProxy. See Creating a TracingProxy for an Interface.
    • Faulted Tasks now also call the _Faulted method upon completion.
    • The EventException Attribute lets you change the EventLevel of exceptions on methods.
  • Optimizations
    • Converted providers and InvocationContexts to static values to reduce object allocations and increase performance.

v1.0.0

  • Initial release.