Courier 2 is a commercial add-on, for handling deployment of
content, media, files and anything else in you umbraco
installation. It detects and handles dependencies for you, to
ensure you always deploy working components.
Time sure flies, Its been just 12 months since
the first release of Courier 2 was introduced to the Umbraco
community. Since then, there has been a steady stream of
updates to make things more stable, handle edge-cases such as very
old DB schemas, and of course make things easier and faster.
Courier 2.6 represents a big leap forward compared to the
previous releases, which has mostly been about tweaking the
existing architecture. 2.6 has some pretty big architectural
changes which you won't notice today (besides the performance), but
will appreciate in the long run.
Many many thanks to dedicated users like James Drever, Nic
Wise,Peter Bersani (and many many others), as we have received
fantastic feedback and issue reports. It has helped shape Courier
and ensure that it has been taken in the right direction.
As always, my Inbox is open for comments, suggestions and so on,
so don't hesitate to get in touch: per (at)
umbraco.dk
So what's new?
New Compare UI, which enables you to either
compare and deploy against the local installation or against any
other site you are connected to through courier.

The improved UI will give you a much better overview of what
courier intend to do, and you can toggle items on an off

Splitting the dependency resolver into 2, in
past versions Courier ran a file depency check against all items,
this could take a lot of time, especcially if you had a lot of
inbound links, relations and big collections of dictionary items.
With this change I've split the resolver into 2 parts. One that
handles content items (such a content data, document types, macros)
and one that specificly handles resources (images, xslt files,
template files, pdfs and so on) Deviding it into 2 makes it much
easier to determine if the dependency resolution of each type is
even needed, and it makes it much easier for 3rd party developers
to write specificly targetted resolvers as well.
Simpler Nhibernate mappings, this is all about
performance, ensuring that Nhibernate doesn't try to query for too
much data, and is really caused by Umbraco 4s schema. So alot of
the mappings have been replaced with hand-written nhibernate
quriers to ensure we only get the data we need.
Cached hashings, when you package a revision,
Courier now automaticly create a file containing hashes of all the
items, this doesn't take any extra time to do, as we have all items
in memory at some point so it's quick to dump the hash to a file.
What matters is that when we later want install these items, we
have a quick way to determine if anything has changed, or if we can
simply skip the item.
Better packaging and extraction engines. This
is really the biggest change, which is what enabled us to do the
remote compare and deploy UI. It basicly enables the engines to
say, give me a source, give me a target and some settings, and I'll
run the packaging/extraction, and you can do this in any
environment, so on a computer in russia, you can run a cmd-line
app, that packages content from a site in sweden, and extracts it
to a 3rd site in Mozambique (given that you have a internet
connection ofcourse..)
What's next?
2.7 has one feature on its todo-list, which is
"ongoing-compare", which basicly merges the
packaging and extraction process into one. So as you pick items to
deploy, you tell courier where you intend to deploy these items,
and while Courier packages the items, it compares against the
remote site to determine if changes have been made. What is
important to notice, is that it does a compare based on the unique
finger-print of the item and its dependencies, so if a item is
determined unchanged, Courier can also skip the dependencies as
well, meaning that alot of checks can be avoided.
Where to get it?
You can get 2.6 from
our.umbraco.org now. And for those who havn't given it a try
already, you can run it on any local machine with no limitations
(or remote desktop on a remote server), so you can test if this
works with your specific site.