Apache Chemistry DotCMIS 0.7
============================

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.7:

- Bug fixes.
- Minor improvements.


DotCMIS 0.6:

- Bug fixes.
- Minor improvements.


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.
