Apache Chemistry DotCMIS 0.5
============================

Apache Chemistry DotCMIS is a Content Management Interoperability Services (CMIS)
client library for the .NET framework 3.5 or higher.

See http://chemistry.apache.org/dotnet/dotcmis.html for more information.

See http://chemistry.apache.org/dotnet/getting-started-with-dotcmis.html for code samples
and DotCMISDoc.chm for the API documentation.

This release is a bug fix release.
If you find a problem, please let us know: https://issues.apache.org/jira/browse/CMIS


Change log 
----------

DotCMIS 0.5:

- Interoptability improvements.
- Added NTLM authentication.


DotCMIS 0.4:

- Several bug and interoptability fixes.


DotCMIS 0.3:

- DotCMIS only requires the .NET Client Profile.
- Several bug and interoptability fixes.


DotCMIS 0.2:

- Web Services compatibility has been improved. 
- AtomPub content encoding and link cache have been improved.
- Content-Disposition header has been added to the AtomPub setContentStream operation.
- Compression option has been added to the AtomPub binding.
- Timeout settings have been added to both bindings.
- Another GetObject() convenience method has been added to ISession.
- Several bug fixes.


Known stumbling blocks
----------------------

- The Web Services binding only works with HTTPS. 
  The .NET framework does not allow calls with UsernameTokens over plain HTTP.

- Not all CMIS Web Services endpoints are compatible with the .NET framework for 
  a number of reasons.
  
- Content is buffered in main memory when the Web Services binding is used. 
  That can cause problems with huge documents. 
  The maxium document size can be controlled with the SessionParameter.MessageSize 
  parameter. The default is 4 MB. The absolute maximum is 2 GB.

=> Use the AtomPub binding whenever possible! 
   It causes less trouble, is faster, streams and can deal with documents of any size.
  
  
Strong-Name signing
-------------------

The DLL included in this release is signed with a public/private key pair that is also 
included in this package. This allows you to deploy it to the global assembly cache (GAC) 
and to make changes to the DotCMIS source code without recompiling your application.
However, since the private key is publicly available, this strong name cannot be trusted.
If a trust relationship between your application and the DotCMIS DLL is important to you, 
you have to rebuild the DLL from the source code and sign it yourself.
