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.6:

- Bug fixes.


DotCMIS 0.5:

- Interoperability improvements.
- Added NTLM authentication.


DotCMIS 0.4:

- Several bug and interoperability fixes.


DotCMIS 0.3:

- DotCMIS only requires the .NET Client Profile.
- Several bug and interoperability 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 maximum 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.
