NServiceBus Home

Versions

1.0Jun 2006
1.1Apr 2007
1.2Sep 2007
1.3Oct 2007
1.4Nov 2007
1.5Dec 2007
1.6Jan 2008
1.7Feb 2008
1.8Jul 2008
1.9Feb 2009
2.0Mar 2010
2.5Dec 2010
2.6Sep 2011

Downloads

The current stable release of NServiceBus is version 2.6. This version includes multiple enhancements on the previous version 2.5 and, more importantly, several important bug fixes. Click here to see the list of changes. It is recommended that you use version 2.6 for any system in production.

Download version 2.6 now Download Visual Studio integrated modeling tools
Watch Video (opens in new window)

Usage of NServiceBus source code and tools is governed by this license

You can get the source for this release here.
BY DOWNLOADING THIS SOURCE, YOU ARE ACCEPTING ALL OF THE TERMS AND CONDITIONS OF THE LICENSE.

The NServiceBus team is delighted to announce that the public beta release of NServiceBus v3.0.0 is now available. The beta release is available to allow the community to test and evaluate the next major version of NServiceBus.
For production environments it is recommended to continue using the v2.6 release.


The new NServiceBus 3.0.0 release candidate can be downloaded from here.


Problems with merged assemblies?

In order to decrease the number of assemblies developers need to reference in their Visual Studio projects, NServiceBus merges several third-party assemblies into its own assemblies. This may cause conflicts if developers are using those third-party assemblies in their own code - specifically when using a different version than that which came with NServiceBus.

In order to resolve this problem, developers should use the "core-only" assemblies of NServiceBus. For companies that have purchased a commercial NServiceBus license and support package, these assemblies can be found in the "core-only" directory.

If you're using the express edition, you'll need to pull down the source (above) and compile it yourself using the "UnsupportedBuildCoreOnly.bat" file.


Current Development

The next version of NServiceBus currently under development is 3.0. To see the list of features slated to be delivered in that release, see the roadmap. If you'd like to collaborate with us on the development of the next version, we welcome you to do so. Join us on GitHub.


Previous Versions

If you need access to previous versions of NServiceBus we're happy to provide it. You'll be able to get access to the 3 last version of NServiceBus below, however no support will be provided for these downloads.

Your use of these download is governed by the NServiceBus Express End User License Agreement

Version 2.6 [.NET 3.5 + .NET 4.0] Community.NServiceBus.2.5.0.1446 [21,180,033 Bytes]


Your use of these downloads is governed by the Apache V2 license

If you do not accept this license, do not download the following versions

Version 2.0 [.NET 3.5] NServiceBus.2.0.0.1145.zip [14,754,299 Bytes]

Version 2.0 [.NET 4.0] NServiceBus.2.0.0.1219.zip [16,349,365 Bytes]

NServiceBus_version_1.9_RTM_full_source.zip [8,688,053 Bytes]

Download the version that suits you

Major changes from version 2.5 to 2.6

  • Added Distributor Process, Proxy Process and Gateway process
  • Automated the creation of the audit queue as well as a more specific log entry when it could not be found.
  • Removed extraneous log entry when a message handler encounters an exception
  • When handler throws an exception, now logs as a WARN rather than ERROR
  • Made ReturnToSourceQueue support the ID that is logged when a message fails the maximum number of times rather than its ID in the error queue.
  • Fixed logging when message fails maximum number of times to use the proper ID (in case message was returned from error queue).
  • The Storage Queue for Timeout manger is customizable through App Settings
  • The db subscription storage will no longer return duplicates when subscribing messages with a inheritance chain
  • Fixed issue where attributes without a default constructor would cause the message mapper to blow up
  • Fixed Issue by avoiding CustomAttributeBuilder when attribute has no parameterless constructor
  • Expanded TransportMessage to include ProcessingFailedAddress for creating monitoring endpoints off of error queues.
  • Fixed bug that affected name of the endpoint used for performance counters on distributor.
  • Fixed Timeout management to use UTC for 'Now' API while retaining backward compatible behaviour for old API.
  • Fixed WindsorObjectBuilder so that it would explicitly release all transient instances that were explicitly resolved.
  • Improved auditing capability to allow auditing off of the error queue while not interfering with return to source queue
  • Added a section for net4 so that users with PowerShell running in net4.0 mode can build
  • Added x86 NServiceBus.Host
  • Xml serializer now supports IEnumerable properties on messages.
  • Fixed bug that made Bus.Publish<IFoo>() not work.
  • Automating addition of Timeout process to community build
  • Fixed Timeout management of multiple Timeouts per saga
  • Fixed de-serialization issue when all object properties are null
  • Fixed bug that cause Bus.Publish<IFoo>(); to fail.
  • Fixed exception on de-serializing of empty list
  • Fixed a bug in the in memory SagaPersister where multiple properties with the same name in different saga data would cause a invlaid cast exception
  • Always use an NH transaction even if ambient transaction exists in order to avoid potential connection leaks.
  • Fixed bug where Timeout persister tried to remove a message ID the doesn’t exist from the queue.
  • Fixed the issue of Exception getting thrown when de-serializing an array with white space between the child nodes.
  • Timeout message now uses UtcNow when checking if it has expired
  • Added the path to NServiceBus.Host.exe in the project files for the encryption 4.0 sample
  • The validation that a app.config is present is now done in our default configuration source. This allows users to use their own config source without having to add a config file.
  • Added samples for net-4.0
  • Fixed some broken tests in the NHibernate sub storage
  • Custom attributes now added to derived types
  • Fixed bug where we would throw if the input queue wasn't transactional even if the user had configured NServiceBus to be non-transactional
  • Allows configuration of dead letter queue and journaling
  • Interfaces with methods are now ignored by the message mapper
  • Enable user defined overrides of generated tablenames for auto mapped sagas
  • Exception got thrown when de-serializing an array with white space between the child nodes.
  • Suppress the transaction scope instead of creating a new one.
  • Fixed connection leak in NHibernate subscription storage
  • White space between XML nodes is ignored, while white space as part of an attributes value is considered.
  • Preventing XmlSerializer from removing white space that is a part of a serialized property or value
  • Added log output when Configure.With() fails to load an assembly.
  • Included info log for profiles that have been activated.
  • Changed ID of endpoint used by performance counters to default to installed service name.
  • Fixed config of encryption sample so that it would work OOTB.
  • Changed XML serializer to use XmlConvert more so that the culture of the source or target machine would not affect serialization.
  • Brought Timeout persister forward to handle multiple Timeouts per saga.
  • Made Timeout manager support multiple Timeouts per saga.
  • Improved Timeout manager to be more robust - rather than it using the input queue for persistence, now uses different queue and separate thread.
  • Removed name of Udi's laptop from gateway app.config.
  • Improved extensibility of gateway to allow for dropping in an assembly which will be notified of messages processed by the gateway.
  • Fixed references to log4net in GenericHost sample.
  • Improved robustness of threading in MsmqTransport.
  • Fixed missing reference to Common.Logging in unit test for Testing project.
  • Added ability to serialize messages containing Uri-s to XML.
  • Improved exception message in case user forgets to include an MsmqTransportConfig section with an InputQueue.
  • Fixed reference to log4net in unit tests of manufacturing sample.
  • Upgraded WebServiceBridge sample to .net 4.0.
  • Fixed broken references in Client project of WcfIntegration sample.
  • Fixed minor issues with encryption sample.
  • Fixed bug where a worker node would not tell its distributor it was ready for more work when it had failed processing a message.
  • Fixed bug when sending an empty list of messages to a null destination.
  • Ignored some tests that were failing except when being run under debug.
  • Improved logging by switching to ColoredConsoleAppender as well as allowing override of logging threshold in config.
  • Fixed bug with auditing so that it now provides the address of the endpoint that did the audit rather than the endpoint which sent the message.
  • Improved type generation for nested interfaces containing the same property so that the property isnt emitted multiple times
  • MsmqUtils does not try to start service when not stopped, Better exception handling for change status
  • Removed explicit (and unnecessary) transaction around select; using LINQ instead of copying arrays.
  • Updated to use current Autofac 2.3.2.632
  • TableName Attribute now also accepts schema
  • XML serializer now serializes byte areas as base64 encoded strings (like on the trunk).
  • Improved logging for type scanning in XML serializer to make it clearer which message type and/or which of its properties caused a problem.
  • Fixed bug with performance counters where they didn't return to zero when no messages were being processed.
  • Added license information about 3rd party libraries included with NServiceBus.
  • Improved handling of empty/null sets of messages.
  • When peeking from the queue, if the queue was disposed, logs the error, and kills the process.
  • Included information in the XML docs in the samples about the effect the community edition has on the number of worker threads.
  • Added encryption specific sample.
  • Simplified Full Duplex sample.
  • Fixed bug where testing library would throw an exception if a handler implemented another generic interface ISomething where T wasn't an IMessage.

Legal

“NServiceBus” is among the trademarks of NServiceBus Ltd. All other product and company names and marks mentioned are the property of their respective owners and are mentioned for identification purposes only.

© 2010 NServiceBus Ltd. All rights reserved.