|  |  |  |  | 
Libgda values were stored in GdaValue structures, this is no longer the case
      as the standard GValue container is now used. As a consequence data types are now
      identified by their GType identifier, there is thus no more any 
      GdaType definition.
The GdaDataModel has been transformed into an interface (as defined by the Glib 
      object system), and the old GdaDataModel has been replaced by the 
      GdaDataModelRow class. No code using the GdaDataModel should
      assume that data is internally stored as rows (vectors) of values as it was the case in the previous
      stable release.
    
In the new version, many objects implement the 
      GdaDataModel interface for various usages which did not exist in the previous version
      such as data import and filtering. GdaDataModel objects should now be considered
      as non writable, and if they need to be modified, the modifications permissions should be checked
      using the gda_data_model_get_attributes_at() function. See the
      section about the various data models for more information. 
    
 The following UML schema shows the various implementations of the GdaDataModel 
      interface and what they are for. Note that the
      GdaDataModelRow should not be instantiated directly but either
      used as a base class, or used through its children classes.
    
