summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rw-r--r--cpp/CHANGES37
1 files changed, 37 insertions, 0 deletions
diff --git a/cpp/CHANGES b/cpp/CHANGES
index fa700f24b5b..d8f4cbf1ec6 100644
--- a/cpp/CHANGES
+++ b/cpp/CHANGES
@@ -1,6 +1,43 @@
Changes since version 1.3.0
---------------------------
+- Facets have been redesigned.
+
+ * Facets are now not hierarchical anymore. As a result, FacetPath
+ (which was a sequence of strings) is now simply a string. This is
+ reflected in all APIs that used FacetPath.
+
+ * There is no active facet map (AFM) in Ice::Object anymore. As a
+ result, the follwing operations have been removed:
+
+ + On proxies: ice_facets, ice_appendFacet.
+
+ + On Object: ice_facets, ice_addFacet, ice_removeFacet,
+ ice_updateFacet, ice_removeAllFacets, ice_findFacet,
+ ice_findFacetPath.
+
+ * The object adapter now registeres facets (instead of the active
+ facet map). The following operations have been added to
+ Ice::ObjectAdapter: addFacet, addFacetWithUUID, removeFacet,
+ and findFacet.
+
+ Please see the reference manual fore more information. For naming
+ consistency, the following object adapter operations have been
+ renamed:
+
+ + identityToFacet has been renamed to find.
+ + proxyToFacet has been renamed to findByProxy.
+
+ * This object model design change means that if you transfer an
+ object by value, then no facets are transferred along with the
+ object, because plain objects don't have facets anymore.
+
+ * If your application receives an objects with facets from an older
+ version of Ice, MarshalException is raised. Unfortunately, there
+ is no way around this, not even with protocol or encoding
+ versioning. That's because the object model has changed, not just
+ the way objects are transferred or encoded.
+
- Ice does now not retry operation calls on RequestFailedException
anymore. (ObjectNotExistException, OperationNotExistException, and
FacetNotExistException are derived from RequestFailedException.)