bbv.Common Release Notes (svn log)
[Revision 165]
workaround for a reflection issue of the .net framework (contributed by Stephen Tunney)
[Revision 164]
added Report functionality to passive and active state machine
[Revision 161]
added bbv.Common.IO.DriveUtilities (get drive information and conversion method KB, MB, ...)
added bbv.Common.Security.FileHasher for easier SHA1 hash file creation
added bbv.Common.Security.Sha1Algorithm to create SHA1 hashes
added bbv.Common.Async.AsyncWorker for executing background operations (simplified interface to BackgroundWorker for usage from code and better exception handling)
added bbv.Common.DateTimeProvider for better support of unit testing when manipulating with date and time
added bbv.Common.TestUtilities.TemporaryFileHolder for easier file handling in unit tests
added bbv.Common.TestUtilities.UnitTestHelper for better support of unit testing (chaining of unit tests)
added bbv.Common.Threading.UserInterfaceThreadSynchronizer for support for synchronous and asynchronous operations on the user interface thread from worker threads
added bbv.Common.IO.StreamHelper for basic stream manipulations
added bbv.Common.Resources.IResourceLoader, EmbeddedResourceLoader and FileResourceLoader for simplified access to resources (embedded or from files)
[Revision 159]
changed rule engine that all rule provider methods have to be public.
[Revision 157]
all active projects now target the .net 3.5 framework
stabilized some fragile unit tests (multi threading problems)
[Revision 156]
Added hierarchical state machine (bbv.Common.StateMachine)
[Revision 140]
changed rule engine in a way that clients do not brake FxCop rules when using it
[Revision 123]
updated NUnit version
changed tests of StreamDecoratorStreamTest to only be ignored when Com port is missing on machine running the test
[Revision 117]
EventBroker now supports registration of events and handler methods of existing classes without modification.
EventBroker: changed thread locking mechanism (work in progress)
[Revision 116]
EventBroker now supports registration of publications and subscriptions in code (prototype)
[Revision 114]
EventBroker: introduced generalized matchers (scope matchers are now built upon these generalized matchers -> namespace changed)
[Revision 112]
EventBroker: introduced extensions, refactoring of unit test structure
[Revision 111]
IO: corrected spelling in FolderWatcher and made some changes to meet StyleCop guidelines
[Revision 108]
Scripts: added change log in .txt format to publish script
[Revision 107]
EventBroker: publications and subscriptions made in interface declarations are now recognized, too.
EventBroker: duplicate subscriptions (resulting in multiple calls to same handler) are now detected.
EventBroker: fixed wrong matching validation on event handler types. Subscribers can now use a base class of the event handler the publisher defines.
[Revision 106]
RuleEngine: it is now possible to extend the rule engine with rules with custom return types and custom aggregators
[Revision 104]
ignored unit tests that did not run on certain computers
[Revision 103]
EventBroker: added subscription handler restriction for publications
eliminated some warnings
[Revision 100]
switched to VS2008
made some components StyleCop compatible
[Revision 98]
added AsyncResult and GenericAsyncResult
added StreamDecoratorStram and StreamLoggerStream
[Revision 97]
added FolderWatcher
added generic EventArgs
added EventFilter
[Revision 95]
Data.CsvWriter: changed default list separator to CultureInfo.CurrentCulture.TextInfo.ListSeparator
[Revision 94]
GenericStateMachine: changed way how type that holds action delegate is resolved. Resolved problem with static action method in static class.
[Revision 93]
AsyncModules can now be initialized to use foreground- or background worker threads.
[Revision 92]
TextFileReader does not require write permission to open file anymore.
[Revision 89]
- AsyncModule now supports multiple worker threads
- clean up of AsyncModule project
- changed version to 4.2.2 (interface/behavior changes)
[Revision 88]
Added StopMessage to AsyncModules in order to stop async modules with a message.
[Revision 87]
EventBroker.Fire does not crash anymore if an event topic is fired that has no subscriber.
[Revision 86]
Added ClearMessages to AsyncModules.ModuleController.
[Revision 85]
- fixed defect that error log message was not written correctly in generic state machine when an unhandeld exception is thrown by an action.
- test class in IO is not built anymore (wrong place)
[Revision 84]
Major change due to interface changes in EventBroker
[Revision 83]
refactored EventBroker: events can be fired directly on event broker (useful for for temporary objects), scopes are now defined per publication/subscription, ThreadOption is replaced with extensible IHandler
[Revision 80]
added automatic release notes from svn log generation
[Revision 79]
removed ScheduledTask from bbv.Common (use Quartz.NET instead)
[Revision 78]
EventBroker throws EventTopicException with inner exception if only one subscription thrown an error (stack trace not lost --> inner exception)
[Revision 76]
Event broker checks on registration of publishers/subscribers whether publication and subscription event args match.
[Revision 75]
- message consumation can now be canceled by the BeforeConsumeMessage event.
- added SkipIfDuplicateInQueueModuleExtension that cancels messages that have a duplicate in the queue (useful if data is out of date if duplicate in queue - you have to override Equals on message for that)
[Revision 74]
changed handling of exceptions in action in state machine. state machine makes a clean transition even if both action and "unhandled event in action handler" throw an exception.
[Revision 73]
improved logging in state machine on actions invoking events (stack trace included)
[Revision 72]
added logging of number of messages in queue to async module controller.
[Revision 71]
- improved logging of async modules (consumed message) and event broker (relayed event).
- if only one exceptionis thrown by a event subscriber than it is rethrown (instead of an event subscription exception)
[Revision 70]
added log to GenericStateMachine when Transition was performed.
[Revision 68]
added IEventBroker.DescribeTo to report all current publications and subscriptions of an event broker.
[Revision 66]
- added simple file writer/reader (TDD aware)
- added hash generation (bbv.Common.Security)
[Revision 65]
extended validation violations by an property data of type object in order to pass detailed information about violations to caller.
[Revision 64]
fixed that AsyncModules did not consume messages after stopping and starting it again.
[Revision 63]
AsyncModules: when Stop is called on a module that is is not started then nothing happens.
[Revision 62]
- improved logging of AsyncModules: start/stop of worker thread, message consumation
- improved logging of GenericStateMachine: state machine has a name now that is shown in log messages
[Revision 61]
assemblies are signed now (expect test and sample assemblies)
[Revision 59]
- added some cheat sheets
- moved templates in sub folder of documentation
[Revision 58]
added cheat sheet for bbv.Common.Formatters
added cheat sheet for bbv.Common.IO
[Revision 56]
fixed namespace of bbv.Common.Diagnostics/ApplicationHelper
[Revision 54]
improved logging of EventBroker while firing events
[Revision 53]
- added documentation for AsyncModules
- added documentation for Data.CsvParser
- changed unit test data of Data.CsvParser
- minimal changes in code documentation in GenericStateMachine
[Revision 51]
- removed all classes from AsyncModules that conflict with the new dynamic AsyncModule concept.
- added entry and exit actions in the GenericStateMachine.
- added IAction interface to GenericStateMachine to define actions with classes.
[Revision 50]
- upgraded nunit framework to V 2.0.4.6
- removed unit test that crashes nunit
[Revision 49]
- changed naming of INamedItem.EventBrokerItemName
- updated documentation of event broker
[Revision 47]
fixed bug in rule engine (rules provider not providing rules for a specific rule set descriptor)
[Revision 46]
added documentation for ObjectFactory.
added RuleEngine and StateMachine to overview documentation.
[Revision 44]
added BreakOnFirstViolation flag to IRuleSetDescriptor - allows to stop rules validation on first violation.
[Revision 42]
fixed bug in NAnt script (did not delete files in Binaries correctly)
[Revision 35]
- added bbv.Common.RuleEngine
- added bbv.Common.Windows.GraphicHelper
- ignored a test an bbv.Common.AsyncModule.Test that failed
[Revision 27]
- updated overview documentation
- added pdf documentation
[Revision 26]
ignored tests that can not be run on machines without sql server or MS message queue.
[Revision 21]
modifed SecureFormat to support null message and args
[Revision 20]
modifed SecureFormat to support null message and args
[Revision 19]
- added EventBroker.Sample
- added unit test for testing return values through event arguments
[Revision 18]
- extended Web sample up with Caching example
- added documentation for CacheManager
[Revision 14]
added class diagram giving an overview of the event broker component
[Revision 13]
removed project bbv.Common.Web.ObjectFactory. This project is already included in bbv.Common.Web.
[Revision 12]
- modified template for component documentation
- worked on documentation
[Revision 11]
- removed project specific headers in files
- minor refactorings (code beautification)
[Revision 7]
- added license hint to EventBroker files pointing to Smart Client - Composite UI Application Block license.
- added DatasetHelper unit tests.
[Revision 5]
added ignoreUserInterfaceThreadException to EventBroker to allow unit test to register subscription on user interface thread.