This is just a status update on 4.0.0. We have been working towards it
and are starting to see the light at the end of the tunnel. Here are
some of the changes that will be included:

1) Projections fixes, including pause due to timeouts
2) dotnetcoreclient (already in alpha and available for download)
3) v8 upgrade, incuding support for ecmascript 6
4) Upgrading mono to 4.6.2 (which includes moving much of the mono
code to reference sources from MS)
5) New engine options such as using unbufferedio/writethrough instead
of a write/fsync pattern (possibly also supporting a mmap option
depending on time constraints)
6) Documentation on projections

We will be providing an alpha build soon for people to begin testing.



Is there new message or communication protocol patterns client maintainers
should be aware of ?

Not as of now. We have discussed one very small change in a return
value but at this point prefer to keep clients fully compatible. In
terms of other "breaking changes" the only ones are in physical
storage, it will automatically upgrade from 3.x->4.0.0 but as of now
you can't go back to 3.x after (there are alignment differences). We
have discussed doing a 3.9.4 release which would allow you to go back
to 3.9.4, this will also allow all changes to happen safely in any
state for a cluster (now they are safe if you are caught up but if you
bring in a brand new node during upgrade it can cause issues on the
new node)