2009-02-20  David Ayers  <ayers@fsfe.org>

	* Version 0.12.0
	* ANNOUNCE: Update for release.
	* NEWS: Ditto.

2009-02-20  David Ayers  <ayers@fsfe.org>

	* EOControl/gdl2.EOControl.make,
	* EOAccess/gdl2.EOAccess.make,
	* EOInterface/gdl2.EOInterface.make: Remove convenience 
	make file fragements.
	* EOControl/Makefile.postamble,
	* EOAccess/Makefile.postamble,
	* EOInterface/Makefile.postamble: Remove references to
	convenience make file fragements.

	* README: Add documentation on usage of GDL2 components.
	Update versions of dependencies.  Add documentation for some missing
	components.  Remove obsolete documentation.  Refer to TODO file for
	missing features.
	* TODO: Update.

2009-02-19  David Ayers  <ayers@fsfe.org>

	* EOAccess/EOGenericRecord.h/m ([-entity]): New category.
	* EOAccess/GNUmakefile (EOGenericRecord): Build and install new
	category.

	* EOControl/EOPrivate.h/m (GDL2_isLegalDBName): New function.
	* EOQualifier.m (getKey): Validate qualifier bind variable key.
	
2009-02-18  David Ayers  <ayers@fsfe.org>

	* configure.ac (disable-gui-projects): New option to disable builing
	of projects depending -gui/AppKit.  Default to yes.
	(disable-gorm-palette): Default to the setting for enable-gui-projects.
	* configure: Regenerate.
	* GNUmakefile.in: Extract all GUI libs into variable.

	* Documentation/GDL2Intro/Examples: Move to ...
	* Examples: ... here.
	* Examples/GNUmakefile: Adapt to new location.
	* Documentation/GDL2Intro/GNUmakefile: Remove subproject.
	* Documentation/GDL2Intro/GDL2Intro.texi: Update references to new
	location.
	* Trading: Move to ...
	* Examples/Trading: ... here.
	* Examples/Trading/GNUmakefile: Adapte to new location.
	* Examples/GNUmakefile: Add Trading.

	* configure.ac (enable-examples): Allow examples to be built from
	top-level makefile.
	* GNUmakefile.in: Ditto.
	* configure: Regenerate.

	* GDL2.gsdoc: Update relative path to sub project documentation.

2009-02-18  Matt Rice  <ratmice@gmail.com>

	* GNUmakefile.in: Add Trading subproject.
	* EOAccess/EORelationship.m (-_joinsChanged:): Set the destination to
	the first object.
	(-destinationEntity): Call _joinsChanged if the destination is nil.

2009-02-18  David Ayers  <ayers@fsfe.org>

	* EOControl/Makefile.postamble
	* EOAccess/Makefile.postamble
	* EOInterface/Makefile.postamble
	(after-uninstall::) Remove make file fragments.

	* EOAccess/EOEntity.m (-dealloc): Invalidate class description
	cache.
	
2009-02-17  Matt Rice  <ratmice@gmail.com>

	* EOAccess/EOEntityPriv.h: Remove
	GDL2DestinationEntitiesAddRelationship, and
	GDL2DestinationEntitiesRemoveRelationship.
	* EOAccess/EOEntity.m (+initialize, -dealloc): Remove usage and
	implementations of the above functions.
	* EOAccess/EORelationship.m (-initWithPropertyList:owner:):
	(-setDefinition:): Ditto.

2009-02-17  David Ayers  <ayers@fsfe.org>

	* EOControl/gdl2.EOControl.make
	* EOAccess/gdl2.EOAccess.make
	* EOInterface/gdl2.EOInterface.make
	* EOControl/Makefile.postamble
	* EOAccess/Makefile.postamble
	* EOInterface/Makefile.postamble
	Install makefile fragments for each 'core' library which adds
	linker flags.

2009-02-17  Matt Rice  <ratmice@gmail.com>

	* EOControl/EOEditingContext.m: Revert last patch.
	* EOControl/EOEditingContext.m: Add comment.

2009-02-17  Matt Rice  <ratmice@gmail.com>

	* EOControl/EOEditingContext.m (_undoManagerCheckpoint:): call
	_processEndOfEventNotification by performing a selector through the
	runloop.

2009-02-02  Matt Rice  <ratmice@gmail.com>

	* GDL2Palette/GNUmakefile: link to libGorm.
	* DBModeler/main.m: add hack for windows.

2009-01-31  Nicola Pero <nicola.pero@meta-innovation.com>

	* EOAdaptors/SQLiteAdaptor/GNUmakefile.in (ADDITIONAL_NATIVE_LIB_DIRS):
	Fixed typo, it should link ../../EOControl, not ../EOControl.
	
2009-01-31  Nicola Pero <nicola.pero@meta-innovation.com>

	* config/sqlite3.m4: Fixed typo in implementation of
	--with-sqlite3-library=xxx.
	* configure: Regenerated.

2009-01-29  Matt Rice  <ratmice@gmail.com>

	* EOControl/EODefines.h: switch BUILD_libgnustep-db2control_DLL define
	to BUILD_libEOControl_DLL.
	* EOControl/EOGlobalID.m: include limits.h.
	* EOControl/EOPrivate.m: implement -copyWithZone: and
	-mutableCopyWithZone: in GDL2NonRetainingArray.
	* EOAccess/EODefines.h: switch BUILD_libgnustep-db2_DLL define to
	BUILD_libEOAccess_DLL.

2009-01-26  David Ayers  <ayers@fsfe.org>

	* EOAccess/EOJoin.h: Update memory mangement comments.
	* EOAccess/EOJoin.m (dealloc): Implement.
	* EOAccess/EORelationship.m (dealloc,_flushCahce): Fix memory leaks.
	* EOAccess/EOAttribute.h: Update some signatures.
	
2009-01-25  Matt Rice  <ratmice@gmail.com>

	* DBModeler/MainModelEditor.m: Implement
	-draggingSourceOperationMaskForLocal:.

2008-10-27  David Ayers  <ayers@fsfe.org>

	* config.h.in (getRCSID): Mark inline to avoid compiler warnings.
	
2008-07-06  David Wetzel  <dave@turbocat.de>

	* EOControl/EOClassDescription.m (classDescriptionForClass:):  Only
	register null internally if the notification returned nothing.
	Adjust NSLog typespeficier.
	
2008-06-06  Matt Rice  <ratmice@gmail.com>

	* EOControl/EOPrivate.m (GDL2_PrivateInit):
	* EOAccess/EOPrivate.m (GDL2_AccessPrivateInit): Set initialized to YES.

2008-06-06  David Ayers  <ayers@fsfe.org>

	* EOAccess/EOAttribute.m (-setDefinition:): Clear _columnName before
	calling _setIsEdited on the parent.  Document.
	* EOAccess/EORelationship.h/m (-setInverseRelationship:): Rename to...
	(-_setInverseRelationship:): ... and move to local privat method.
	
2008-06-05  Matt Rice  <ratmice@gmail.com>
	
	* EOAccess/EOModel.m (-setName:, -setAdaptorName:, -setDocComment):
	* EOAccess/EORelationship.m (-setName:, -setDocComment:):
	* EOAccess/EOStoredProcedure.m (-setName:, -setExternalName:):
	* EOAccess/EOAttribute.m (-setAdaptorValueConversionMethodName:)
	(-setName, -setColumnName:, -setExternalType:, -setValueType:):
	(-setValueClassName:, -setWriteFormat:, -setReadFormat:):
	(-setDocComment:, -setValueFactoryMethodName:):
	(-setAdaptorValueConversionMethodName:): Use ASSIGNCOPY instead of
	ASSIGN.
	* EOAccess/EOEntity.m 
	(performSelectorOnArrayWithEachObjectOfClass()): Perform the selectors
	on a copy of the array.

2008-06-03  Matt Rice  <ratmice@gmail.com>

	* README: Reflect name change of PostgreSQL adaptor, and addition of
	SQLite adaptor. Bump supported version of Postgres Adaptor.

	* README: Add Trading framework.
	* GNUmakefile: Ditto.
	* Trading/*: Initial import.

2008-05-29  Blake Nicholson  <blaken@umich.edu>

	* DBModeler/Modeler.m: Removed duplicate invocation of [adaptor
	runLoginPanel].

	* EOAdaptors/PostgreSQLAdaptor/LoginPanel/PostgreSQLLoginPanel.m:
	Changed the panel's backing to NSBackingStoreBuffered instead of
	NSBackingStoreRetained.

	* GNUmakefile.in, EOInterface/GNUmakefile, EOAccess/GNUmakefile,
	DBModeler/Inspectors/GNUmakefile, DBModeler/GNUmakefile,
	Tools/GNUmakefile, EOAdaptors/SQLiteAdaptor/LoginPanel/GNUmakefile,
	EOAdaptors/SQLiteAdaptor/GNUmakefile.in, EOAdaptors/GNUmakefile.in,
	EOAdaptors/PostgreSQLAdaptor/LoginPanel/GNUmakefile,
	EOAdaptors/PostgreSQLAdaptor/GNUmakefile.in, EOControl/GNUmakefile,
	GDL2Palette/GNUmakefile, Documentation/GDL2Intro/GNUmakefile,
	Documentation/GDL2Intro/Examples/GNUmakefile,
	Documentation/GNUmakefile, EOModeler/GNUmakefile, common.make: Added
	logic to the local common.make to try to populate GNUSTEP_MAKEFILES by
	calling gnustep-config, if GNUSTEP_MAKEFILES is not already
	populated.

2008-05-27  Matt Rice  <ratmice@gmail.com>

	* EOInterface/EOPopUpAssociation.m (subjectChanged:): Select
	the item with tag, not item with index of the tag.

2008-05-23  Blake Nicholson  <blaken@umich.edu>

	* DBModeler/AdaptorsPanel.m, DBModeler/AttributeCell.m,
	DBModeler/ConsistencyChecker.m, DBModeler/DefaultColumnProvider.m,
	DBModeler/DiagramView.m, DBModeler/EOAdditions.m, DBModeler/EntityView.m,
	DBModeler/GNUmakefile, DBModeler/KVDataSource.m,
	DBModeler/MainModelEditor.h, DBModeler/MainModelEditor.m,
	DBModeler/ModelerAttributeEditor.m, DBModeler/ModelerEntityEditor.h,
	DBModeler/ModelerEntityEditor.m, DBModeler/ModelerTableEmbedibleEditor.h,
	DBModeler/ModelerTableEmbedibleEditor.m, DBModeler/NSView+Additions.m,
	DBModeler/Preferences.m, DBModeler/SQLGenerator.m,
	DBModeler/Inspectors/AdvancedEntityInspector.m,
	DBModeler/Inspectors/AttributeInspector.h,
	DBModeler/Inspectors/AttributeInspector.m,
	DBModeler/Inspectors/RelationshipInspector.h,
	DBModeler/Inspectors/RelationshipInspector.m: Replaced tabs with spaces.

2008-05-22  Blake Nicholson  <blaken@umich.edu>

	* DBModeler/ModelerEntityEditor.m, DBModeler/ModelerAttributeEditor.m,
	DBModeler/MainModelEditor.m: Added preprocessor directives to wrap methods
	deprecated on OS X and to use recently introduced methods that yield a
	better NSTableView display.
	* configure.ac, GNUmakefile.in: Added logic to try to use gnustep-config
	to determine the value of GNUSTEP_MAKEFILES if it is not already set.
	* configure: Regenerated.

2008-05-13  Blake Nicholson  <blaken@umich.edu>

	* DBModeler/SQLGenerator.m: Updated to use new gsmarkup file.
	* DBModeler/Resources/SQLGenerator.gsmarkup: Initial import.
	* DBModeler/Resources/SQLGenerator.gorm: Removed.
	* DBModeler/GNUmakefile: Replaced the SQLGenerator.gorm resource with
	SQLGenerator.gsmarkup.  Removed reference to ConsistencyResults.gorm.

2008-05-13  Matt Rice  <ratmice@gmail.com>

	* DBModeler/Resources/Menu-{Cocoa,GNUstep}.gsmarkup: Remove a TODO
	for an old unused hack.
	* EOModeler/EOModelerDocument.m: Add some comments about the new hack.
	* DBModeler/Resources/ConsistencyResults.gsmarkup: initial import.
	* DBModeler/GNUmakefile: Add ConsistencyResults.gsmarkup.
	* DBModeler/ConsistencyResults.m: Use gsmarkup file.
	* DBModeler/Resources/ConsistencyResults.gorm: Remove file.

2008-05-12  Matt Rice  <ratmice@gmail.com>

	* DBModeler/Resources/Menu-GNUstep.gsmarkup: Use openPrefs: action
	for preferences menu item.

2008-05-12  Blake Nicholson  <blaken@umich.edu>

	* Modeler.m: Use NULL instead of nil for an empty NSMenuItem action.
	Removed the main menu creation code.  This is now handled by Renaissance.

	* DBModeler/GNUmakefile: Added DBModeler.icns to the list of resources,
	and set DBModeler_APPLICATION_ICON so the icon will be set appropriately.
	Added gsmarkup files for the main menu to the list of resources.  Added
	dependency upon the Renaissance framework.

	* DBModeler/Resources/DBModeler.icns: Initial import

	* DBModeler/Resources/MainMenu-{Cocoa,GNUstep}.gsmarkup: Initial import.

	* DBModeler/main.m: Load the gsmarkup for the main menu.

2008-05-11  Blake Nicholson  <blaken@umich.edu>

	* GNUmakefile.in: Add EOInterface, EOModeler, and DBModeler to
	SUBPROJECTS if GUI_LIB is apple.

	* Modeler.m: Changed use of the NSMenuItem protocol to the NSMenuItem class.
	The NSMenuItem protocol is deprecated as of OS X 10.5.

	Modified the menu creation code so that it creates a native-looking menu on
	OS X.  Added a top-level app menu, as well as a services menu.

	Whitespace clean-up.  Changed everything to spaces.

	* AttributeCell.m (drawWithFrame:inView:): Changed access of instance
	variable to use an accessor method instead for showsFirstResponder.

2008-05-09  Blake Nicholson  <blaken@umich.edu>

	* DBModeler/*.[h,m]: Fix includes for OS X.
	* EOModeler/*.[h,m]: Fix includes for OS X.
	* EOModeler/EOModelerDocument.m: Add return statements to suppress
	warnings.
	* EOModeler/EOMInspectorController.m: Use -removeFromSuperview instead
	of -removeSubview.

2008-05-03  Matt Rice  <ratmice@gmail.com>

	* EOAccess/EOEntity.m (-[isValidPrimaryKeyAttribute:],
	-[isValidAttributeUsedForLocking:],
	-[isValidClassProperty:]): Test object equality as well as name.

2008-05-01  David Ayers  <ayers@fsfe.org>

	* EOAccess/EODatabaseContext.m 
	([-initializeObject:row:entity:editingContext:]): Remove debug logs.
	* EOAccess/EOEntity.m ([-_dictionaryForInstanceProperties],
	[-primaryKeyForGlobalID:]): Remove debug logs.
	
2008-05-01  Matt Rice  <ratmice@gmail.com>

	* EOAccess/EOEntityPriv.h: Declare new private method
	_hasAttributeNamed:.
	* EOAccess/EOEntity.m (-_hasAttributeNamed:): New private method.
	(-anyAttributeNamed:): Add a comment.
	* EOAccess/EOAttribute.m (-validateName:): Use -_hasAttributeNamed:
	instead of -anyAttributeNamed:
	* EOAccess/EORelationship.m (-validateName:): Ditto.

2008-04-24  David Ayers  <ayers@fsfe.org>

	* EOControl/EOQualifer.m: Include <stdarg.h> explicitly.
	(getKey): Accept pointer to a va_list instead of the value.
	Remove usage of useVAList
	(_qualifierWithArgs): Ditto.
	(qualifierWithQualifierFormat:arguments:): Pass NULL as va_list
	pointer anddrop obsoleted va_list variable and useVAList parameter.
	(qualifierWithQualifierFormat:varargList:): Copy va_list to local
	variable before passing a reference to it.
	
2008-04-03  Matt Rice  <ratmice@gmail.com>

	* EOAccess/EOSQLExpression.m
	(-[prepareSelectExpressionWithAttributes:lock:fetchSpecification:)]:
	Conjoin the fetch specification qualifier with the restricting
	qualifier.

2008-04-03  Georg Fleischmann  <georg@vhf.de>

	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLExpression.m
	([+formatValue:forAttribute:]): Fix quoting.

2008-04-01  David Ayers  <ayers@fsfe.org>

	* EOControl/EOKeyValueCoding.m
	([NSArray-valueForKey:]):
	Readd special handling of @count.
	This make it WO45 compatible again.
	The intermediate behavoir broke many WO bindings.

2008-03-31  Matt Rice  <ratmice@gmail.com>

	* EOAccess/EOStoredProcedure.m (initWithPropertyList:owner:),
	(encodeIntoPropertyList:): Change key from attributes to arguments.
	* EOAccess/EOAttribute.m (initWithPropertyList:owner:):
	Handle parameter direction being a string containing a number.
	Use boolValue instead of comparing against Y.
	* EOAccess/Entity.m (encodeIntoPropetyList:): Encode flags as
	strings.

2008-03-30  David Ayers  <ayers@fsfe.org>

	* EOControl/EOQualifier.m (getKey): Fix parsing of '%%'
	as literal '%'.
	
2008-03-30  Matt Rice  <ratmice@gmail.com>

	* EOControl/EOQualifier.m (_qualifierWithArgs),
	(+qualifierWithQualifierFormat:varargList:),
	(+qualifierWithQualifierFormat:arguments:)
	(getKey): Don't use a pointer to a va_list. See 
	http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14557
	Also move variable argument parameters to the end
	(_isLike): Fix a crash when matching the first character.
	Fix handling of '*?' glob, comment. 
	(operatorSelectorForString:): Add contains.
	(stringForOperatorSelector:): Change string for not equals..

2008-03-29  David Ayers  <ayers@fsfe.org>

	* EOControl/EOQualifier.m ([-dealloc]): Remove empty implementation.
	([+qualifierWithQualifierFormat:varargList:]): Move implementation to...
	(_qualifierWithArgs): ... new static function.  Update getKey usage.
	([+qualifierWithQualifierFormat:arguments:]): Implement via
	_qualifierWithArgs.
	(getKey): Add useVAList flag and optional enumerator to use instead.

	* EOAccess/EOEntity.m (initWithPropertyList:owner:): Call
	[EOQualifier+qualifierWithQualifierFormat:arguments:] to avoid invalid
	stack access.
	
2008-03-28  Matt Rice  <ratmice@gmail.com>

	* EOAccess/EOEntity.m (initWithPropertyList:owner:): Pass format along
	as is.
	* EOControl/EOQualifier.m (getKey): Add some exceptions for invalid
	qualifier formats, and parse binding variables.
	(bindingKeys): Return the binding variable keys, not the qualifier keys
	with binding variable values.
	(EOQualifierVariable -description): Implement.

2008-03-17  David Ayers  <ayers@fsfe.org>

	* EOControl/EOClassDescription.m ([NSObject-classDescriptionForClass:]):
	Post notification only the first time the description is needed.

	* EOControl/EOKeyValueCoding.m ([NSArray-computeCountForKey:):
	Handle extended aggregate keys.
	
2008-03-16  Matt Rice  <ratmice@gmail.com>

	* EOAdaptors/SQLiteAdaptor/LoginPanel/SQLite3LoginPanel.m,
	* EOAdaptors/PostgreSQLAdaptor/LoginPanel/PostgreSQLLoginPanel.h,
	* EOAdaptors/PostgreSQLAdaptor/LoginPanel/PostgreSQLLoginPanel.m:
	Add missing includes.
	* EOAdaptors/SQLiteAdaptor/LoginPanel/GNUmakefile,
	* EOAdaptors/PostgreSQLAdaptor/LoginPanel/GNUmakefile:
	Link to Foundation and AppKit frameworks on apple.

2008-03-16  Blake Nicholson  <blaken@umich.edu>

	* EOAdaptors/SQLiteAdaptor/SQLite3Context.m, 
	* EOAdaptors/SQLiteAdaptor/SQLite3Channel.m,
	* EOAdaptors/SQLiteAdaptor/SQLite3Adaptor.m,
	* EOControl/EOPrivate.m,
	* EOControl/EOAggregateEvent.m,
	* EOAccess/EOPrivate.m: Add missing include.
	* EOAccess/EOAdaptor.m: Only use NSProprietaryStringEncoding where
	available.
	* Tools/gsdoc-model.m: Remove unused variables.
	* Tools/Makefile.preamble: Fix NATIVE_LIB_DIRS path.

2008-03-16  Matt Rice  <ratmice@gmail.com

	* EOAccess/EOUtilities.m: Remove NSObjectNotAvailableException.
	Moved to base.
	* EOAccess/EODatabaseDataSource.m: Remove selector caching.

2008-03-16  Blake Nicholson  <blaken@umich.edu>

	* EOInterface/EOAssociation.m ([+objectDeallocated:]):
	Use makeObjectsPerformSelector: instead of makeObjectsPerform:.

	* EOInterface/EORadioMatrixAssociation.m
	([NSMatrix-_selectCellWithTitle:]): Do not access instance variables
	directly.  Use accessor methods instead.
	
	* EOInterface/EOActionAssociation.m,
	* EOInterface/EOActionInsertionAssociation.m,
	* EOInterface/EOAspectConnector.m,
	* EOInterface/EOAssociation.m,
	* EOInterface/EOColumnAssociation.m,
	* EOInterface/EOComboBoxAssociation.m,
	* EOInterface/EODetailSelectionAssociation.m,
	* EOInterface/EODisplayGroup.m,
	* EOInterface/EOGenericControlAssociation.m,
	* EOInterface/EOMasterCopyAssociation.m,
	* EOInterface/EOMasterDetailAssociation.m,
	* EOInterface/EOMatrixAssociation.m,
	* EOInterface/EOPickTextAssociation.m,
	* EOInterface/EOPopUpAssociation.m,
	* EOInterface/EORadioMatrixAssociation.m,
	* EOInterface/EORecursiveBrowserAssociation.m,
	* EOInterface/EOTableViewAssociation.m,
	* EOInterface/EOTableViewAssociation.m,
	* EOInterface/EOTextAssociation.m,
	* EOInterface/NSImage+Additions.m:
	Add include for <GNUstepBase/GNUstep.h>.

2008-03-16  Matt Rice  <ratmice@gmail.com>

	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLExpression.m
	(-formatValue:forAttribute:): Use unichars, and getCharacter:.
	in case insertString: modifies the string buffer.
	* EOAdaptors/SQLiteAdaptor/SQLiteExpression.m (escapeString): Ditto.
	Rename to escapeValue, since it works on values other than strings. 

2008-03-16  Tim McIntosh  <tmcintos@avalon.net>

	* EOControl/EOKeyValueCoding.m
	([NSArray-valueForKey:],[NSArray-valueForKeyPath:]):
	Remove special handling of @count.
	This is not WO45 compatible but is more consistent with KVC
	in general and with current Cocoa implementations. Also any
	sane key path using count with WO45 semantics will continue
	to work as expected.  This change could be reverted if a
	valid use case of WO45 behavior arises.
	([NSArray-computeSumForKey:],[NSArray-computeAvgForKey:],
	[NSArray-computeMaxForKey:],[NSArray-computeMinForKey:]):
	Call valueForKeyPath: on components with the rest of the
	key path to allow for extended key paths.

2008-03-12  Matt Rice  <ratmice@gmail.com>

	* EOInterface/Makefile.preamble,
	* EOInterface/GNUmakefile,
	* EOAccess/Makefile.preamble,
	* EOAdaptors/PostgreSQLAdaptor/Makefile.preamble,
	* EOControl/Makefile.preamble,
	* common.make,
	* EOModeler/Makefile.preamble: Add gcov flags.


2008-03-11  Matt Rice  <ratmice@gmail.com>

	* EOAccess/EOModel.m (-addEntity:): Reword assertion message.
	(-_setEntity:forEntityName:className:): Add assertion.
	* EOAccess/EOAttribute.m (-initWithPropertyList:owner:): Validate the
	name.
	* EOAccess/EORelationship.m (-initWithPropertyList:owner:): Ditto.
	* EOAccess/EOEntity.m (-initWithPropertyList:owner:): Ditto. 
	(-attributes): Remove checks for duplicate names.
	(-relationships): Remove checks for duplicate names.

2008-03-06  David Ayers  <ayers@fsfe.org>
	
	* DBModeler/GNUmakefile,
	* DBModeler/Inspectors/GNUmakefile,
	* Documentation/GDL2Intro/Examples/GNUmakefile.connection,
	* Documentation/GDL2Intro/Examples/GNUmakefile.eoexample,
	* Documentation/GDL2Intro/Examples/GNUmakefile.eoexample2,
	* EOAccess/GNUmakefile,
	* EOAdaptors/PostgreSQLAdaptor/GNUmakefile.in,
	* EOAdaptors/PostgreSQLAdaptor/LoginPanel/GNUmakefile,
	* EOAdaptors/SQLiteAdaptor/GNUmakefile.in,
	* EOAdaptors/SQLiteAdaptor/LoginPanel/GNUmakefile,
	* EOControl/GNUmakefile,
	* EOInterface/GNUmakefile,
	* EOModeler/GNUmakefile,
	* GDL2Palette/GNUmakefile,
	* Tools/GNUmakefile (XXX_NEEDS_GUI): Use lowercase value.

2008-03-10  Matt Rice  <ratmice@gmail.com>
	
	* EOAccess/EOAttribute.m (-setname:): Remove call to
	-_attributeNameChangedFrom:to:.
	* EOAccess/EOEntityPriv.h: Remove -_attributeNameChangedFrom:to:.
	* EOAccess/EOEntity.m (-attributes:): Don't handle both arrays of
	plists and arrays of EOAttributes in lazy loading code.  Remove some
	logging, and assertions.
	(-attributes:): Don't handle both arrays of
	plists and arrays of EORelationships in lazy loading code, and
	don't clear the cache. Remove some logging and assertions.
	(-classProperties:): Fix warning.
	(-addAttribute:): Don't create _attributesByName as _setIsEdited:
	will set it to nil.
	(-removeAttribute:): Remove uneccessary call to -removeObjectForKey:.
	(-_setIsEdited:): Don't set _relationshipsIsLazy flag, and clean
	_attributesByName cache.
	(-_attributesNameChangedFrom:to:): Remove.
	(-attributesByName): Don't call -attributes unless _attributesIsLazy.
	recreate _attributesByName.
	(-relationshipsByName): Ditto for _relationshipsByName.
	* EOAccess/EORelationship.m (-setIsToMany): Test if the flag actually
	changes.  Call -_setIsEdited.

	* TODO: Add an item.
	* DBModeler/Inspectors/RelationshipInspector.m: Fix row index check.
	* DBModeler/Inspectors/GNUmakefile: Use lower case in
	HAS_RESOURCE_BUNDLES.

2008-03-07  Matt Rice  <ratmice@gmail.com>

	* EOAccess/EORelationship.m (_makeInverseRelationship):  Call
	-setEntity: last to avoid unwanted calls to entity -_setIsEdited.

2008-03-07  Tim McIntosh  <tmcintos@avalon.net>

	* EOControl/EOFault.m ([+initialize]): Handle runtimes
	that do not implement forward:: on NSObject.
	([-forward]): Update comment.
	
2008-03-07  Matt Rice  <ratmice@gmail.com>

	* Documentation/GDL2Intro/Examples/GNUmakefile: Link in EOAccess and
	EOControl to reflect changes to gdl2.make.

2008-03-06  Matt Rice  <ratmice@gmail.com>

	* DBModeler/Modeler.m,
	* EOAccess/EOEntityPriv.h,
	* EOAccess/EOModel.h/m,
	* EOAccess/EOEntity.h/m,
	* EOAccess/EORelationship.h/m: Remove setCreateMutableObjects: and
	createsMutableObjects.

	* EOAdaptors/SQLiteAdaptor/SQLiteChannel.m: Handle a null number
	value as the string "0".

2008-03-06  David Ayers  <ayers@fsfe.org>

	* DBModeler/GNUmakefile,
	* DBModeler/Inspectors/GNUmakefile,
	* Documentation/GDL2Intro/Examples/GNUmakefile.connection,
	* Documentation/GDL2Intro/Examples/GNUmakefile.eoexample,
	* Documentation/GDL2Intro/Examples/GNUmakefile.eoexample2,
	* EOAccess/GNUmakefile,
	* EOAdaptors/PostgreSQLAdaptor/GNUmakefile.in,
	* EOAdaptors/PostgreSQLAdaptor/LoginPanel/GNUmakefile,
	* EOAdaptors/SQLiteAdaptor/GNUmakefile.in,
	* EOAdaptors/SQLiteAdaptor/LoginPanel/GNUmakefile,
	* EOControl/GNUmakefile,
	* EOInterface/GNUmakefile,
	* EOModeler/GNUmakefile,
	* GDL2Palette/GNUmakefile,
	* Tools/GNUmakefile (XXX_NEEDS_GUI): Set appropriately.
	
	* EOControl/EOFault.m ([-forward::]): Make dummy implementation.
	([+initialize]): Adjust runtime to use NSObjects implementation
	of -forward:: to invoke fowardInvocation.  Useful for OS X,
	reported my Tim McIntosh.
	
	* EOAccess/EORelationship.m ([-setEntity:]): Modify remove
	relatioship from previous entity and add recursion detection.
	Add documention.
	* EOAccess/EOEntity.m ([-removeRelationship:]): Move call
	to [EORelationship-setEntity:] to allow recursion detection.
	
2008-03-05  David Ayers  <ayers@fsfe.org>

	* EOControl/EOKeyGlobalID.m ([+assignGloballyUniqueBytes:]):
	Handle IPv6 addresses gracefully.
	[BUG:22486 reported by Blake Nicholson].
	
2008-02-06  David Ayers  <ayers@fsfe.org>

	* EOControl/EODefines.h (GDL2CONTROL_EXPORT/DECLARE),
	* EOAccess/EODefines.h (GDL2ACCESS_EXPORT/DECLARE),
	* EOModeler/EODefines.h (GDL2MODELER_EXPORT/DECLARE): Synchronize
	dllimport/export handling for MinGW with -base.
	(Attempt to fix bug reported by Tim Kack)
	
2008-01-22  David Ayers  <ayers@fsfe.org>

	* EOControl/EOClassDescription.h: Avoid unnecessary include.

	* EOControl/EOAndQualifier.m,
	* EOControl/EOFault.m,
	* EOControl/EOFaultHandler.m,
	* EOControl/EOKeyComparisonQualifier.m,
	* EOControl/EOKeyValueArchiver.m,
	* EOControl/EOKeyValueCoding.m,
	* EOControl/EOKeyValueCodingBase.m,
	* EOControl/EOMutableKnownKeyDictionary.h,
	* EOControl/EONotQualifier.m,
	* EOControl/EOOrQualifier.m,
	* EOControl/EOQualifier.m,
	* EOAccess/EOAdaptor.m,
	* EOAccess/EOAdaptorContext.m,
	* EOAccess/EOAttribute.m,
	* EOAccess/EODatabase.m,
	* EOAccess/EODatabaseContext.m,
	* EOAccess/EOExpressionArray.m,
	* EOAccess/EOJoin.m,
	* EOAccess/EOModel.m,
	* EOAccess/EOModelGroup.m,
	* EOAccess/EORelationship.m,
	* EOAccess/EOSQLExpression.m,
	* EOAccess/EOSQLQualifier.m,
	* EOAccess/EOSchemaGeneration.m,
	* EOAccess/EOStoredProcedure.m,
	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLAdaptor.m,
	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m,
	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLExpression.m,
	* EOAdaptors/SQLiteAdaptor/SQLite3Adaptor.m,
	* EOAdaptors/SQLiteAdaptor/SQLite3Channel.m,
	* EOInterface/EOTableViewAssociation.m,
	* EOModeler/EOModelExtensions.m,
	* EOModeler/EOModelerApp.m,
	* DBModeler/ModelerAttributeEditor.m,
	* DBModeler/ModelerEntityEditor.m: Remove references to NSUtilities.h.
	Add includes for missing header references.

	* DBModeler/Modeler.m (-[showEditor:]): Add cast to avoid compiler
	warning.
	
2008-01-22  Peter Cooper  <comrade@obverse.com.au>

	* Tools/NSArray+GSDoc.m: Include NSString.h ...
	* EOControl/EOClassDescription.h: Include NSDictionary.h to compile
	with new versions of -base/Foundation.
	
2007-11-27  David Ayers  <ayers@fsfe.org>

	* EOControl/EOClassDescription.h/m
	([NSObject-validateTakeValue:forKeyPath:]): Implement.
	
2007-11-21  David Ayers  <ayers@fsfe.org>

	* EOAdaptors/PostgreSQLAdaptor/Makefile.preamble
	(ADDITIONAL_NATIVE_LIB_DIRS): Correct include path.
	(ADDITIONAL_LIB_DIRS): Remove redundant directives.
	
2007-11-21  David Ayers  <ayers@fsfe.org>

	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m:
	([EOAttribute-_valueTypeCharacter]): Correct references from
	_valueTypeChar.
	([PostgreSQLChannel+initialize]): Ditto.
	(newValueForNumberTypeLengthAttribute): Ditto.  Handle nil
	return value of valueType.
	Bug reported by: Eric Johns <ericjohns@verizon.net>.
	
2007-10-31  David Ayers  <ayers@fsfe.org>

	* Makefile.postamble (after-distclean::): Remove generated
	GNUmakefile.
	* gdl2.make.in (ADDITIONAL_NATIVE_LIBS): Don't force
	linking of any GDL2 libraries just to get the version.
	[API Change].
	* variable-processing.make: Remove file (functionality
	is now supplied by -make).
	
	* EOInterface/GNUmakefile, EOAccess/EOModelGroup.m,
	EOAccess/GNUmakefile, EOControl/GNUmakefile,
	DBModeler/GNUmakefile, Tools/GNUmakefile,
	GDL2Palette/GNUmakefile, EOModeler/GNUmakefile,
	EOAdaptors/SQLiteAdaptor/LoginPanel/GNUmakefile,
	EOAdaptors/PostgreSQLAdaptor/LoginPanel/GNUmakefile:
	Remove reference to variable-processing.make.

	* EOControl/EOGenericRecord.m
	([-_infoForInstanceVariableNamed:stringName:retType:retSize:retOffset:]):
	Use marker that matches underlying type signedness.
	([-_getValueForKey:selector:type:size:offset:],
	[-_setValueForKey:selector:type:size:offset:]):
	Match 'offset' with underlying type signedness and update
	marker.
	([-storedValueForKey:],[-takeStoredValue:forKey:],
	[-takeValue:forKey:]): Update signedness of offset to avoid
	compiler warnings.
	* EOControl/EOClassDescription.m
	([NSObject-validateValue:forKey:]): Correct signedness of 'buf'.
	* EOControl/EOPrivate.m (GDL2_PrivateInit): Fix assignemnt of
	GDL2_EOEditingContext_recordObjectGlobalIDIMP.
	
	* EOAccess/EOModelGroup.m
	([EOObjectStoreCoordinator-modelGroup]): Correct method
	signature to avoid compiler warnings.

	* DBModeler/EntityView.m ([-mouseDown:]): Match class
	with return type of initializer method to avoid
	compiler warnings and unnecessary cast.

	* EOAdaptors/SQLiteAdaptor/SQLite3Channel.m (newNumberValue):
	Change type of 'data' to match usage.
	([-fetchRowWithZone:]): Cast return type of sqlite3_column_text
	to match expected usage to avoid compiler warnings.

2007-08-17  David Ayers  <ayers@fsfe.org>

	* COPYING.LIB: Update to LGPL 3.
	* DB2Modeler/COPYING:  Update to GPL 3.
	* *.*: Update copyright notices.

2007-07-11  David Ayers  <ayers@fsfe.org>

	* Version 0.11.0
	* README: Update prerequisites and project names.
	* TODO: Update.
	* INSTALL: Remove reference to GNUSTEP_SYSTEM_ROOT.
	* ANNOUNCE: Update for release.
	* NEWS: Ditto.

2007-07-11  David Ayers  <ayers@fsfe.org>

	* EOControl/EOAggregateEvent.h/m: New files with stub
	implementations.
	* EOControl/GNUmakefile: Add EOAggregateEvent.h/m.

	* EOAccess/EOSchemaSynchronization.h/m: New files with stub
	implementations.
	* EOAccess/GNUmakefile: Add EOSchemaSynchronization.h/m.

2007-05-05  Matt Rice  <ratmice@gmail.com>

	* EOInterface/EODisplayGroup.m (-deleteObjectAtIndex:):
	* EOModeler/EOModelerDocument.m (-adaptor, -saveToPath:):
	Return with NS_VALUERETURN from within exception handling block.
	
2007-05-02  David Ayers  <ayers@fsfe.org>

	* EOAdaptors/PostgreSQLAdaptor/LoginPanel/GNUmakefile,
	* EOAdaptors/SQLiteAdaptor/LoginPanel/GNUmakefile:
	Include variable-processing.make.
	
2007-05-01  David Ayers  <ayers@fsfe.org>

	* Documentation/GDL2Intro/GDL2Intro.texi: Cleanup node
	structure to avoid build failure during documentation build.
	* Documentation/GDL2Intro/Examples/connection.m,
	* Documentation/GDL2Intro/Examples/eoexample.m,
	* Documentation/GDL2Intro/Examples/eoexample2.m: Minor
	formatting tweaks for documentation build.
	
	* EOAccess/EORelationship.m,
	* EOAccess/EOAttribute.h,
	* Tools/EOEntity+GSDoc.m,
	* Tools/EOAttribute+GSDoc.m: Remove references to GC-classes
	in comments.

2007-04-16  David Ayers  <ayers@fsfe.org>

	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m
	(newValueForDateTypeLengthAttribute): Correct determination
	of seconds and milliseconds.  Make optimization explicit.
	[BUG:19503 reported by Manuel Guesdon].
	
2007-03-10  David Ayers  <ayers@fsfe.org>

	* EOAdaptors/SQLiteAdaptor/LoginPanel/Makefile.postamble:
	Replace spaces with tab.

	* Makefile.postamble: Replace INSTALL_ROOT_DIR with DESTDIR.

	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m
	(_evaluateExpression:withAttributes:):  Use the channel's
	encoding.
	
2007-02-22  Manuel Guesdon  <mguesdon@orange-concept.com>

	* EOAccess/EODatabaseContext.h (recordChangesInEditingContext):
	Collect propagations in collections and then execute
	recordToManySnapshot:dbOpes:,
	nullifyAttributesInRelationship:relationships:
	and relayAttributesInRelationship:relationships: at the end.
	
2007-02-18   Nicola Pero <nicola.pero@meta-innovation.com>

	* configure.ac: Check for GNUSTEP_MAKEFILES, not
	GNUSTEP_SYSTEM_ROOT.
	* configure: Regenerated.
	
2007-01-25  Matt Rice  <ratmice@gmail.com>
	
	* EOAccess/EOModel.h: Forward declare NSMutableArray class.
	* GDL2Palette/README: Document some pitfalls due to lack
	of project management app support.

2007-01-11  Matt Rice  <ratmice@gmail.com>

	* GDL2Palette/README: New file.
	* EOInterface/TODO: New file.
	* GDL2Palette/ResourceManager.m: Uncomment some code.  
	
	* GDL2Palette/ResourceManager.m: Add .eomodel files in the document
	path.

2007-01-10  Matt Rice  <ratmice@gmail.com>
	
	* DBModeler/AdaptorsPanel.m: Add responder chain, key equivalents,
	autosize controls, and don't release the window when closed.
	* DBModeler/Resources/ConsistencyResults.gorm: Add responder chain.
	* DBModeler/Resources/Preferences.gorm: Add responder chain.
	* DBModeler/Resources/SQLGenerator.gorm: Add responder chain.
	* DBModeler/Preferences.m (-switchButtonChanged:): Handle -1 as
	no row selected.
	* DBModeler/EntityView.m: Call supers dealloc not release.
	* DBModeler/EntityView.h: Fix method declaration.
	* DBModeler/DiagramView.h: Ditto.
	* EOAdaptors/PostgreSQLAdaptor/LoginPanel/PostgreSQLLoginPanel.m: Fix
	typo.

2007-01-08  Matt Rice  <ratmice@gmail.com>

	* Documentation/GDL2Intro.texi: Add a chapter on EOInterface.

2007-01-06  Matt Rice  <ratmice@gmail.com>

	* EOAdaptors/SQLite3/SQLite3Channel.m (-evaluateExpression:):
	Continue evaluating the expression until all statements are evaluated
	or rows are returned.
	* Documentation/GDL2Intro.texi: Add another section on relationships.
	* Documentation/Examples/library.eomodel: Add relationships as class
	properties.
	* Documentation/Examples/GNUmakefile: Add GNUmakefile.eoexample2.
	* Documentation/Examples/GNUmakefile.eoexample2: New file.
	* Documentation/Examples/eoexample2.m: New example for relationships.

	* EOAdaptors/SQLite3Expression.m: Implement
	+dropDatabaseStatementsForConnectionDictionary:
		    administrativeConnectionDictionary:
	and +foreignKeyConstraintStatementsForRelationship: to return empty
	arrays.

007-01-05  Matt Rice  <ratmice@gmail.com>

	* Documentation/GDL2Intro/GDL2Intro.texi: Add more docs.
	* Documentation/GDL2Intro/Examples/eoexample.m: Use an
	EODatabaseDatasource. 
	* Documentation/GDL2Intro/Examples/connection.m: Load the model file
	manually if it cannot be found.

	* Update Email address for Matt Rice.

2007-01-04  David Ayers  <ayers@fsfe.org>

	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLAdaptor.m
	(assignExternalInfoForEntity:): Remove method replicated from
	superclass.

	* EOControl/EOKeyValueCoding.m (computeAvgForKey:): Return zero
	for empty arrays.
	
2007-01-03  Matt Rice  <ratmice@gmail.com>

	* EOAdaptors/SQLiteAdaptor/LoginPanel/SQLite3LoginPanel.m: Remove
	NSLog.
	* Documentation/GDL2Intro/GDL2Intro.texi: Add more documentation.
	* Documentation/GDL2Intro/library.eomodel: Add a connection
	dictionary. 

2007-01-02  Matt Rice  <ratmice@gmail.com>

	* EOAdaptors/SQLiteAdaptor/GNUmakefile.in: Add login panel.
	* EOAdaptors/SQLiteAdaptor/LoginPanel: New directory.
	* EOAdaptors/SQLiteAdaptor/LoginPanel/GNUmakefile: New file.
	* EOAdaptors/SQLiteAdaptor/LoginPanel/Makefile.postamble: Ditto
	* EOAdaptors/SQLiteAdaptor/LoginPanel/SQLite3LoginPanel.m: Ditto.
	* EOAdaptors/SQLiteAdaptor/LoginPanel/SQLite3LoginPanel.h: Ditto.
	* variable-processing.make: Add comments.

	* GNUmakefile.in: Add Documentation subproject.
	* Documentation: New Directory.
	* Documentation/GDL2Intro: Ditto.
	* Documentation/GDL2Intro/Examples: Ditto.
	* Documentation/GDL2Intro/GDL2Intro.texi: New file.
	* Documentation/GDL2Intro/GNUmakefile: Ditto.
	* Documentation/GDL2Intro/Examples/GNUmakefile: Ditto.
	* Documentation/GDL2Intro/Examples/example.GNUmakefile: Ditto.
	* Documentation/GDL2Intro/Examples/GNUMakefile.connection: Ditto.
	* Documentation/GDL2Intro/Examples/GNUmakefile.eoexample: Ditto.
	* Documentation/GDL2Intro/Examples/eoexample.m: Ditto
	* Documentation/GDL2Intro/Examples/connection.m: Ditto.
	* Documentation/GDL2Intro/Examples/library.eomodel: Ditto.

	* EOControl/EOMutableKnownKeyDictionary.h/m: Remove usage of GCObject.
	* EOControl/EOFault.h/m: Ditto.
	* EOControl/EOFaultHandler.m: Ditto.

2007-01-01  David Ayers  <ayers@fsfe.org>

	* EOAccess/EOAccessFault.h/m: Minor cleanups for autogsdoc.
	* EOAccess/EOAdaptor.m: Ditto.
	* EOAccess/EOAdaptorChannel.h/m: Ditto.
	* EOAccess/EOAdaptorContext.h: Ditto.
	* EOAccess/EODatabase.h/m: Ditto.
	* EOAccess/EODatabaseChannel.m: Ditto.
	* EOAccess/EODatabaseContext.h/m: Ditto.
	* EOAccess/EODatabaseDataSource.h: Ditto.
	* EOAccess/EODatabaseOperation.h: Ditto.
	* EOAccess/EOEntity.h/m: Ditto.
	* EOAccess/EOModel.h/m: Ditto.
	* EOAccess/EORelationship.h: Ditto.
	* EOAccess/EOSchemaGeneration.h: Ditto.
	* EOAccess/EOUtilities.h/m: Ditto.

	* EOAccess/EOSQLExpression.h/m: Minor cleanups for autogsdoc.
	(EOSchemaGeneration): Move implementation from here to ...
	* EOAccess/EOSchemaGeneration.m: ... new file for autogsdoc.
	* EOAccess/GNUmakefile: Add EOSchemaGeneration.m.

	* EOAccess/EOUtilities.m (EOObjectStoreCoordinator EOModelGroup):
	Move implementation from here to ...
	* EOAccess/EOModelGroup.m: ... to here for autogsdoc.

	* common.make: (GDL2_AGSDOC_FLAGS): Add extern declarations.
	
2006-12-31  David Ayers  <ayers@fsfe.org>

	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLValues.h/m:
	Remove files.
	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLPrivate.h/m
	Remove references to PostgreSQLValues.
	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLExpression.m:
	Ditto.
	* EOAdaptors/PostgreSQLAdaptor/GNUmakefile.in: Ditto.
	
	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m
	(attrRespondsToValueClass, attrRespondsToValueTypeChar)
	(newValueForNumberTypeLengthAttribute)
	(newValueForCharactersTypeLengthAttribute)
	(newValueForBytesTypeLengthAttribute)
	(newValueForDateTypeLengthAttribute)
	(newValueForBytesLengthAttribute)
	... to static inline functions here.
	(getDigits): New support function.
	(__dummy_function_used_for_linking) Remove link hack.
	(initialize): Initialize new static variables.
	Use new static inline functions instead of PostgreSQLValues.

	(NSS_SWF): Remove macro in favor of real method name.
	
	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.h
	(encoding): New instance variable.

	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLAdaptor.h
	(PostgreSQLException): Move declation for documentation.
	
2006-12-30  David Ayers  <ayers@fsfe.org>

	* EOControl/GNUmakefile: Simplify documentation declarations.
	* EOAccess/GNUmakefile: Ditto.
	* EOInterface/GNUmakefile: Ditto.
	* Tools/GNUmakefile: Ditto.

	* common.make (ADDITIONAL_LIB_DIRS): Move handling from here...
	* variable-processing.make: ... to new file.
	* EOControl/GNUmakefile: Use variable-processing.make.
	Include common.make early.
	* EOAccess/GNUmakefile: Ditto.
	* EOInterface/GNUmakefile: Ditto.
	* Tools/GNUmakefile: Ditto. 
	* DBModeler/GNUmakefile: Ditto.
	* EOModeler/GNUmakefile: Ditto.
	* GDL2Palette/GNUmakefile: Ditto.
	
	* EOControl/EOFetchSpecification.h/m: Cleanup for documentation
	generation.
	* EOControl/EOGenericRecord.m: Ditto.
	* EOControl/EOClassDescription.h/m: Ditto.	
	* EOControl/EONSAddOns.m: Ditto.
	* EOControl/EOObjectStore.h: Ditto.
	* EOControl/EOEditingContext.h: Ditto.
	* EOControl/EODataSource.m: Ditto.
	* EOControl/EOKeyValueArchiver.h/m: Ditto.
	* EOControl/EOFault.h/m: Ditto.
	* EOControl/EOObserver.h: Ditto.
	* EOControl/EOEventCenter.m: Ditto.
	* EOControl/EOMultiReaderLock.m: Ditto.
	* EOControl/EOKeyGlobalID.h/m: Ditto.
	* EOControl/EOObserver.m: Ditto.
	* EOControl/EOEvent.m: Ditto.
	* EOControl/EOObjectStoreCoordinator.h: Ditto.
	* EOControl/EODeprecated.h: Ditto.
	* EOControl/EOUndoManager.m: Ditto.
	* EOControl/EOKeyValueCoding.h/m: Ditto.
	* EOControl/EOQualifier.h: Ditto.
	
	* EOControl/EOClassDescription.h/m (editingContext): Remove
	duplicate declartion and definition (see EOEditingContext.h/m)
	* EOControl/EOFetchSpecification.h (EOPrefetchingRelationshipHintKey)
	(EOFetchLimitHintKey, EOPromptsAfterFetchLimitHintKey): Remove
	deprecated declarations.
	
	* EOAccess/EOAttribute.m: Cleanup for documentation.
	* EOAccess/EOAttribute.m (newValueForBytes:length:encoding:):
	Avoid creating intermediate NSData object.

	* EOControl/EOControl.gsdoc: Added Documentation.

	* EOControl/EOUndoManager.h: Remove content of deprecated header
	and add warning.
	
	* common.make (GDL2_AGSDOC_FLAGS): Add global GDL2 documenation
	flags.
	* config.h.in (RCSID): Avoid reserved names by relying
	in static declarations and avoid recursive call.

	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLAdaptor.m
	(assignExternalInfoForAttribute:) Move implementation to...
	(assignExternalTypeForAttribute:) ...here.

	* Version: Update variable names.
	
2006-12-28  Matt Rice  <ratmice@gmail.com>

	* EOAdaptors/PostgreSQL/LoginPanel/GNUmakefile: Fix path to
	NATIVE_LIB_DIRS.
	* GDL2Palette/DisplayGroupInspector.m: Call super dealloc.
	* GDL2Palette/ResourceManager.m: Add comment.
	* DBModeler/DefaultColumnProvider: Set switch buttons to ineditable.
	* ChangeLog: Add missing entries...

2006-12-26  Matt Rice  <ratmice@gmail.com>

	* EOModeler/EOModelerDocument.m (-saveToPath:): Handle saving with a
	.eomodel extension.
	* EOAccess/EOEntity.m (-dealloc): Only set parents to nil
	properties which have been fully loaded.
	* EOAdaptors/PostgreSQL/LoginPanel/GNUmakefile: Remove references to
	libgnustep-db2control/access
	* DBModeler/MainModelEditor.m: Set the windows title.

2006-11-16  Matt Rice  <ratmice@gmail.com>

	* EOControl/EOObserver.m: Use an NSHashTable to store observers.
	Check that objects and observers are not nil.

2006-11-15  Matt Rice  <ratmice@gmail.com>

	* EOControl/EOObserver.m: Fix leak when removing observers.

2006-10-23  Matt Rice  <ratmice@yahoo.com>
	
	* EOAccess: Revert previous changes.
	
	* EOAccess/EOModel.m (-dealloc): Set entities model to nil.
	* EOAccess/EOEntityPriv.h: Add functions for maintining list of 
	relationships and their destination entities.
	* EOAccess/EOEntity.m: Implement new functions.
	(-dealloc:): Set attributes entities, and relationships source and
	destinations entities to nil.
	(+initialize:): Initialize static map table.
	* EOAccess/EORelationship.m: Call functions to maintain destination
	entities.

	* EOAccess/EOEntity.m (-dealloc): Add missing calls to release,
	reorganize.

	* EOAccess/EOEntity.m: Break retain cycle for parent/sub entities.

2006-10-22  Matt Rice  <ratmice@yahoo.com>

	* EOAccess/EOPrivate.h: Add notification constants. 
	* EOAccess/EOAttribute.m: Observe EOEntity's notification.
	* EOAccess/EORelationship.m: Observe EOEntity's notification.
	* EOAccess/EOModel.m: Post notification when deallocating.
	* EOAccess/EOEntity.m: Post notification when deallocating, and
	observe EOModels notification.

2006-10-14  Matt Rice  <ratmice@yahoo.com>

        * EOAccess/EOAttribute.m: Remove usage of GCObject, and its subclasses.
        * EOAccess/EOModelGroup.h: Ditto.
        * EOAccess/EOStoredProcedure.m: Ditto.
        * EOAccess/EOModelGroup.m: Ditto.
        * EOAccess/EOExpressionArray.h: Ditto.
        * EOAccess/EORelationship.h: Ditto.
        * EOAccess/EOExpressionArray.m: Ditto.
        * EOAccess/EOEntity.h: Ditto.
        * EOAccess/EOEntity.m: Ditto.
        * EOAccess/EOJoin.h: Ditto.
        * EOAccess/EOModel.h: Ditto.
        * EOAccess/EOAttribute.h: Ditto.
        * EOAccess/EOAttributePriv.h: Ditto.
        * EOAccess/EOJoin.m: Ditto.
        * EOAccess/EORelationship.m: Ditto, and don't retain source and
        * EOAccess/EOStoredProcedure.h: Ditto, and don't retain model.
        * EOAccess/EOModel.m: Ditto.
	(-addStoredProcedure:): Fix error when using non-mutable objects.
        (-dealloc): Add missing ivars.
	destination entities.
	* EOAccess/GNUmakefile: Remove slash on last header file. 
        * EOControl/EOPrivate.m: Update comment.

2006-10-14  David Ayers  <ayers@fsfe.org>

	* EOAccess/EOAdaptor.m (databaseEncoding): Use NSStringEncoding
	enum symbols instead of literal values.
	
2006-10-13  Matt Rice  <ratmice@yahoo.com>

	* EOModeler/EOModelerDocument.m (-windowWillClose:): If document
	owns the current editor, reset the seletion path, and unset the
	current editor.
	* EOModeler/EOModelerInspectorController.m (-selectionChanged:):
	handle an empty selection path.
	* EOModeler/EOModelerApp.m: Remove usage of 
	EOModel -setCreatesMutableObjects:.
	* EOModeler/EOModelerEditor.m
	(EOModelerCompoundEditor -setSelectionPath:): Fix if statement which
	always returned yes.
	* DBModeler/MainModelEditor.m: Add more information to comment.
	* EOModeler/EOModelerApp.h: Whitespace changes. 

2006-10-13  David Ayers  <ayers@fsfe.org>

	* EOAccess/EOAdaptor.m (databaseEncoding): Reimplement to not
	rely in GSEncodingName.

2006-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>

	* EOInterface/GNUmakefile: Do not set GNUSTEP_INSTALLATION_DIR.
	* EOAccess/GNUmakefile: Same change.
	* DBModeler/Inspectors/GNUmakefile: Same change.
	* DBModeler/GNUmakefile: Same change.
	* Tools/GNUmakefile: Same change.
	* EOAdaptors/PostgreSQLAdaptor/GNUmakefile.in: Same change.
	* EOAdaptors/SQLiteAdaptor/GNUmakefile.in: Same change.
	* EOAdaptors/PostgreSQLAdaptor/LoginPanel/GNUmakefile: Same change.
	* EOControl/GNUmakefile: Same change.
	* GDL2Palette/GNUmakefile: Same change.
	* EOModeler/GNUmakefile: Same change.

2006-10-09  Matt Rice  <ratmice@yahoo.com>

	* DBModeler/Modeler.m: Add ability to change the editor.
	* DBModeler/MainModelerEditor.m (-activateEmbeddedEditor:): Don't
	modify editors view subview resizing behaviour.
	Dont call supers implementation until we have resized the subview.
	* DBModeler/GNUmakefile: Add new files.
	* DBModeler/Resources/Key_Diagram.tiff
	* DBModeler/Resources/Locking_Diagram.tiff
	* DBModeler/Resources/ClassProperty_Diagram.tiff
	* DBModeler/AttributesCell.{h,m}
	* DBModeler/DiagramView.{h,m} 
	* DBModeler/DiagramEditor.{h,m}
	* DBModeler/EntityView.{h,m}
	* DBModeler/NSView+Additions.{h,m}: New files, initial implementation
	of diagram editor.

2006-10-03  Matt Rice  <ratmice@yahoo.com>

	* EOAccess/EOEntity.m (-awakeWithPropertyList:): Setup the connection
	to the parent entity.
	(-encodeIntoPropertyList:): Encode the parent entity name.
	(-init): Initialize the _subEntities ivar.
	(-addSubEntity:): Pass correct argument.
	* EOAccess/EOModel.m (-encodeTableOfContentsIntoPropertyList:):
	encode the parent entity name.
	(-_addEntityWithPropertyList): Call -awakeWithPropertyList:

2006-10-02  Matt Rice  <ratmice@yahoo.com>

	* EOAccess/EOEntityPriv.h: Rename setParentEntity: to
	_setParentEntity:.
	* EOAccess/EOEntity.m (-addSubEntity:): Ditto.
	(-removeSubEntity:): Ditto, and check that self is the parent before
	setting to nil.

2006-10-01  Matt Rice  <ratmice@yahoo.com>

	* EOAdaptors/SQLiteAdaptor/: Initial import of SQLite3 adaptor.
	* configure: Regenerate.
	* config/sqlite3.m4: New file.
	* configure.ac: Add detection for sqlite3.

	* EOAdaptors/SQLiteAdaptor/SQLite3SQLExpression.m: Override
	createDatabase method.
	* configure: Regenerate.
 	* configure.ac: Change SUBPROJECTS to GUI_SUBPROJECTS to reflect what
	its for.
	* GNUmakefile.in: Ditto, and move so its compiled after EOInterface
	* EOModeler/EOMInspector.h: Add IBOutlets.
	* DBModeler/Inspectors/AttributeInspector.m: Remove unused ivar.
	* DBModeler/Inspectors/GNUmakefile: Add AdvancedEntityInspector.
	* DBModeler/Inspectors/AdvancedEntityInspector.[h,m,gorm]: New files.
	* DBModeler/GNUmakefile: Remove subprojects hack.
	* GDL2Palette/GNUmakefile: Ditto.
	* GDL2Palette/ResourceManager.m: enable the creation of parent
	assocation when creating a EOMasterDetailDisplayGroup.

	* DBModeler/DefaultColumnProvider.h/m: declare default columns as
	extern.

	* EOAccess/EOEntity.m (-addSubEntity:): Remove the child as a
	sub-entity of its previous parent.
	* DBModeler/Inspectors/AdvancedEntityInspector.[h,m,gorm]:
	add ability to set parent entity.
	* GDL2Palette/KeyWrapper.h: Add QueryType.
	* GDL2Palette/ConnectionInspector.m: add/remove comments.

2006-09-28  Matt Rice  <ratmice@yahoo.com>

	* EOAccess/EOSQLExpression.m
	(+createTableStatementsForEntityGroup:)
	(+dropTableStatementsForEntityGroup:)
	(+primaryKeySupportStatementsForEntityGroup:)
	(+createTableStatementsForEntityGroup:): Return an empty array for
	abstract entities.
	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLExpression.m
	(+dropTableStatementsForEntityGroup:): Ditto.

	* EOAccess/EODatabase.m (-snapshots): Return an autoreleased copy. 

2006-09-27  Matt Rice  <ratmice@yahoo.com>

	* EOInterface/EODisplayGroup.m
	(-selectNext): Implement.
	(-selectPrevious): Ditto.
	(-enabledToSetSelectedObjectValueForKey:): Handle query mode.

2006-09-22  Matt Rice  <ratmice@yahoo.com>

	* EOInterface/EODisplayGroup.m
	(-enabledToSetSelectedObjectValueForKey:) 
	(-qualifierFromQueryValues:)
	(-equalToQueryValues:),(-setEqualToQueryValues:)
	(-greaterThanQueryValues:),(-setGreaterThanQueryValues:)
	(-lessThanQueryValues:),(-setLessThanQueryValues:)
	(-qualifyDisplayGroup),
	(-qualifyDataSource): Implement.
	(-_queryDictForOperator:): New private method.
	(-_qualifierForKey:value:defaultOperator:): Ditto.
	(-setValue:forObject:key:): Handle @query keys.

2006-09-20  Matt Rice  <ratmice@yahoo.com>

	* EOInterface/EOGenericControlAssociation.m (-endEditing):
	Fix copy/paste error.
	* GDL2Palette/Palette.[hm]: Load bundles from GDL2PaletteBundles key.
	* GDL2Palette/ConnectInspector.m: Replace static map table with
	walking the list of connectors.

	* EOInterface/EODeprecated.h: Fix typo.
	* DBModeler/*.[hm]
	* GDL2Palette/*.[hm]: Update copyright.

2006-09-19  Matt Rice  <ratmice@yahoo.com>
	
	* GDL2Palette/KeyWrapper.h: Add LocalType.
	* GDL2Palette/ConnectInspector.m (_localKeysFromDisplayGroup): New
	method.
	(updateValues:): Add local keys.
	(_oaBrowserAction:): Enable ok button for LocalType.
	Handle relationships explicitly
	(browser:willDisplayCell:atRow:column:): Enable and set leaf for
	LocalType keys.
	* GDL2Palette/DisplayGroupInspector.[hm]: Add editor for local keys.
	* GDL2Palette/GDL2DisplayGroupInspector.gorm: Ditto.

	* GDL2Palette/DisplayGroupInspector.m: -revert: update local keys.

2006-09-18  Matt Rice  <ratmice@yahoo.com>
	
	* DBModeler/SQLGenerator.m (-executeSQL:): Fix memory leak,
	Remove a hack, add a FIXME.
	* EOInterface/EODisplayGroup.m (-initWithCoder:): Move fetching on
	load to -awakeFromNib
	* GDL2Palette/DisplayGroupInspector.[hm] 
	* GDL2Palette/GDL2DisplayGroupInspector.gorm: New files.
	* GDL2Palette/IB+Categories.m: Add display group Inspector.

2006-09-17  Matt Rice  <ratmice@yahoo.com>

	* DBModeler/SQLGenerator.m
	* Tools/eoutil.m: change Postgres to PostgreSQL.

2006-09-16  Matt Rice  <ratmice@yahoo.com>

	* EOAccess/EOModel.m (writeToFile:): Use the default permissions
	on .eomodeld files.

2006-09-16  Matt Rice  <ratmice@yahoo.com>
	
	* DBModeler/Resources/AllowsNull_On.tiff: New file.
	* DBModeler/GNUmakefile: Add new file.
	* DBModeler/DefaultColumnProvider.m: Reorder table columns.
	Use new file, for allows null column.  Remove out of date comments.

	* DBModeler/Resources/AllowsNull_Header.tiff: New file.
	* DBModeler/GNUmakefile: Add new file.
	* DBModeler/DefaultColumnProvider.m: Set column header image.

	* DBModeler/Inspectors/AttributeInspector.[hm]: Implement valueType
	pop-up button, and add macro to clean up some code.
	* DBModeler/Inspectors/AttributeInspector.gorm: Ditto.

	* DBModeler/Inspectors/AttributeInspector.[hm]: Merge private
	dictionarys without conflicting keys.  Replace Integer/Double
	types with a generic Number type.
	* DBModeler/Inspectors/AttributeInspector.gorm: Update interface
	for 'Number'.

2006-09-16  David Ayers  <ayers@fsfe.org>

	* EOAccess/EOAttribute.[hm]: Add documentation.
	(_valueTypeChar): Replace char type with ...
	(_valueTypeCharacter): ... unichar type.
	([_valueTypeCharacter): Add comment about caching issue.
	
2006-09-15  Matt Rice  <ratmice@yahoo.com>

	* EOInterface/EODisplayGroup.m: Correct selector name.
	* EOInterface/EOTableViewAssociation.m: Remove observer notification
	suppression.
	* DBModeler/Modeler.m: Add some debug code.
	* DBModeler/Inspectors/AttributeInspector.h/m: Implement.
	* DBModeler/Inspectors/AttributeInspector.gorm: Update interface.
	* DBModeler/ModelerTableEmbedibleEditor.m: Send notification on
	displayGroup:didSetValue:forObject:key.

2006-09-15  Matt Rice  <ratmice@yahoo.com>
2006-09-15  David Ayers  <ayers@fsfe.org>
	
	* EOAdaptors/Postgres95/{*,*/*}: Rename from Postgres95 to PostgreSQL.
	* Tools/eoutil.m: Ditto.
	* DBModeler/SQLGenerator.m: Ditto.

	* EOAdaptors/Postgres95/*.h/m: Rename files from Postgres95 to
	PostgreSQL.

	* EOAdaptors/PostgreSQLAdaptor/LoginPanel/Makefile.postamble: Remove
	symlink creation/removal.

	* DBModeler/Resources/ModelDrag.tiff: Update Image.
	* DBModeler/Resources/DBModeler.tiff: Correct image format.

2006-09-14  Matt Rice  <ratmice@yahoo.com>
	
	* GNUmakefile.in: Remove reference to config.make

2006-09-14  Matt Rice  <ratmice@yahoo.com>

	* configure: Regenerate.	
	* common.make: New file.
	* config.make.in: Remove.
	* GNUmakefile: Ditto.
	* GNUmakefile.in: New file, merges config.make.in and GNUmakefile.
	* configure.ac: Remove config.make.in, add GNUmakefile.in.
	* EOInterface/Makefile.preamble 
	* EOInterface/GNUmakefile
	* EOAccess/Makefile.preamble
	* EOAccess/GNUmakefile
	* EOControl/GNUmakefile
	* EOControl/Makefile.preamble
	* DBModeler/GNUmakefile
	* Tools/Makefile.preamble
	* EOAdaptors/Postgres95/Makefile.preamble
	* GDL2Palette/GNUmakefile 
	* gdl2.make.in
	* EOModeler/GNUmakefile
	* EOModeler/Makefile.preamble: Change to compile as native libraries.
	* DBModeler/Inspectors/AttributeInspector.gorm/data.info:
	* DBModeler/Inspectors/AttributeInspector.gorm/data.classes:
	* DBModeler/Inspectors/AttributeInspector.gorm/objects.gorm: Implement
	interface.

2006-09-14  David Ayers  <ayers@fsfe.org>

	* EOAdaptors/Postgres95/GNUmakefile.in:
	Install into GNUSTEP_SYSTEM_ROOT by default.

	* Update email addresses for Mirko Viviani and David Ayers.
	
2006-09-14  David Ayers  <ayers@fsfe.org>

	* Version 0.10.1
	* README: Correct modeler application name.
	* ANNOUNCE: Update to followup release.
	* NEWS: Ditto.
	
2006-09-14  David Ayers  <ayers@fsfe.org>

	* EOInterface/GNUmakefile
	* DBModeler/Inspectors/GNUmakefile
	* DBModeler/GNUmakefile
	* EOAdaptors/Postgres95/LoginPanel/GNUmakefile
	* GDL2Palette/GNUmakefile: Add missing copyright notices.
	Install into GNUSTEP_SYSTEM_ROOT by default.
	
2006-09-14  David Ayers  <ayers@fsfe.org>

	* Version 0.10.0
	* ANNOUNCE: New file.
	
2006-09-13  Matt Rice  <ratmice@yahoo.com>

	* EOControl/EOObserver.m (EOObserverCenter +_forgetObject:): New
	private method.
	(+notifyObserversObjectWillChange:): Change omniscient observer
	arguments.
	* EOControl/EOEditingContext.m (NSObject -dealloc): Call
	_forgetObject:.
	* EOControl/EOPrivate.h: Add category for EOObserverCenter private
	methods.
  		
2006-09-12  David Ayers  <ayers@fsfe.org>

	* Version: Update to 0.10.0
	* GNUmakefile: Set package name for release targets.

	* EOAccess/EOSQLExpression.h (deleteStatementWithQualifier:entity:)
	* EOAccess/EOSQLExpressionPriv.h (_aliasForRelationshipPath:)
	(_flattenRelPath:entity:, _aliasForRelatedAttribute:relationshipPath:)
	* EOAccess/EOSQLExpression.m (insertStatementForRow:entity:)
	(updateStatementForRow:qualifier:entity:)
	(deleteStatementWithQualifier:entity:)
	(selectStatementForAttributes:lock:fetchSpecification:entity:)
	(_aliasForRelationshipPath:)
	* EOAccess/EORelationship.h (intermediateEntity)
	(_foreignKeyForSourceRow:)
	* EOAccess/EORelationship.m (_foreignKeyForSourceRow:, _leftSideKeyMap)
	* EOAccess/EODatabaseContext.h (databaseOperationForObject:)
	(databaseOperationForGlobalID:, recordDatabaseOperation:)
	(_openChannelWithLoginPanel:)
	* EOAccess/EODatabaseContextPriv.h (primaryKeyForObject:)
	(_currentCommittedSnapshotForObject:)
	* EOAccess/EOEntityPriv.h (_keyMapForRelationshipPath:)
	(_keyMapForIdenticalKeyRelationshipPath:, _mapAttribute:)
	(_relationshipPathIsToMany: valueForSQLExpression:)
	(_parsePropertyName:, classPropertyAttributeNames)
	(classPropertyToManyRelationshipNames)
	(classPropertyToOneRelationshipNames, dbSnapshotKeys)
	* EOAccess/EOUtilities.m (rawRowsForEntityNamed:qualifierFormat:)
	(rawRowsMatchingValue:forKey:entityNamed:)
	(rawRowsMatchingValues:entityNamed:, rawRowsWithSQL:modelNamed:)
	(rawRowsWithStoredProcedureNamed:arguments:)
	(executeStoredProcedureNamed:arguments:, databaseContextForModelNamed:)
	(primaryKeyForObject:)
	(destinationKeyForSourceObject:relationshipNamed:)
	* EOAccess/EOEntity.m
	(_mapAttribute:toDestinationAttributeInLastComponentOfRelationshipPath:)
	* EOAccess/EOAdaptor.h (adaptorWithModel:,adaptorWithName:)
	* EOAccess/EOModel.h (_classDescriptionNeeded:,_entityForClass:)
	(_addEntityWithPropertyList:)
	* EOAdaptors/Postgres95/Postgres95Channel.h
	(_evaluateExpression:withAttributes:)
	* EOControl/EOMutableKnownKeyDictionary.h/m (arrayMappingForKeys:)
	(subsetMappingForSourceDictionaryInitializer:sourceKeys:destinationKeys:)
	(subsetMappingForSourceDictionaryInitializer:)
	(setObject:forKey:, removeObjectForKey:, indexForKey:, objectForKey:)
	* EOControl/EOEditingContext.m (handleErrors:,setSharedEditingContext:)
	(faultForRawRow:entityNamed:)
	* GDL2Palette/KeyWrapper.h (setKey:, _key):
	* EOModeler/EOModelerEditor.h (selectionWithinViewedObject)
	* EOModeler/EOModelerEditor.m (initWithDocument:)
	(initWithParentEditor:)
	Correct method signatures.  Add necessary forward @class declations.

	* EOInterface/EOMasterDetailAssociation.m (establishConnection):
	* DBModeler/ModelerTableEmbedibleEditor.m
	(addDefaultTableColumnsForTableView:displayGroup:)
	* DBModeler/DefaultColumnProvider.m (setupTitleForColumn:named:)
	Cast types to avoid compiler warnings.

	* EOControl/EOCheapArray.m (dealloc): Supress compiler warning.
	* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.m (dealloc)
	* EOModeler/EOModelerEditor.m (dealloc):
	* DBModeler/ModelerAttributeEditor.m (dealloc): Add missing call
	to super.
	* DBModeler/Preferences.m (sharedPreferences): Fix implementation for
	new compiler semantics.
	* EOControl/EOMultiReaderLock.m (init): Correct NSConditionLock
	initialization.

	* EOInterface/EOInterface.gsdoc: New file.
	* EOInterface/GNUmakefile: Update variables to build documentation.
	* EOAccess/EOAccess.gsdoc: Specify title.
	* EOControl/EOControl.gsdoc: Ditto.
	* GDL2.gsdoc: Use sections allowed by DTD.  Remove reference to
	MulleEOInterface.

	* README: Update dependencies.  Remove reference to external
	EOInterface implementation.  Update comments about DBModeler.
	* NEWS: Mention major features of current release.
	
2006-09-07  Matt Rice  <ratmice@yahoo.com>

	* DBModeler/Resources/DBModeler.tiff: New file.
	* DBModeler/Resources/Locking_Header.tiff: Ditto.
	* DBModeler/Resources/Key_On.tiff: Add check box background.
	* DBModeler/Resources/Info-GNUstep.plist: Update info panel copyright.
	* DBModeler/ModelerEntityEditor.m (-dealloc): Don't set the datasource
	to nil, its handled in EODisplayGroup -dealloc.

2006-05-09  Matt Rice  <ratmice@yahoo.com>

	* EOInterface/EOAssociation.m (-establishConnection):  Simplify to
	allow posing.
	(-canBindAspect:displayGroup:key:): Return YES by default.
	* EOInterface/EOTextAssociation.m: Minor formatting issue.  Include
	privat header:
	(-subjectChanged): Set empty string when nil/null value is set.
	* EODisplayGroup.m (-initWithCoder:): Fetch when auto fetch is enabled.
	(-setObjectArray:): Select new selected objects.
	(-redisplay): Don't call notifyObserversObjectWillChange: explicitly.
	(-setSelectionIndexes:): Implement displayGroup:didChangeSelection:
	handling.
	(-selectObjectsIdenticalTo:): Reimplement.
	(-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto.
	(-deleteSelection): Ditto.
	(-insertObject:atIndex:): Fix redisplay timing with respect to
	delegate.
	(-deleteObjectAtIndex:): Implement.
	(-association:failedToValidateValue:forKey:object:errorDescription:)
	Ditto.
	(-editorHasChangesForEditingContext:): Ditto.
	(-editingContextWillSaveChanges:): Ditto.
	(-setValue:forObjectAtIndex:key:): Validate index range.
	(-objectsChangedInEditingContext:): Add workaround until issues
	can be investigated.
	* EOInterface/EOMasterDetailAssociation.m (subjectChanged): Qualify
	datasource's relationship independent of selected object.
	* EOInterface/EOTableViewAssociation.m (associationClassesSuperseded):
	Implement.
	(subjectChanged): Reimplement.
	(tableViewSelectionDidChange:): Ditto.

	* EOModeler/EOMInspector.h
	* EOModeler/EOMInspector.m: Cleanups.
	(selectedObjects): Reimplement.
	(selectedObject): Return last viewed path if no selection was made.
	* EOModeler/EOModelerDocument.m: Reimplement.
	* EOModeler/EOMInspectorController.m (init): Ditto.
	(-_selectionChanged:): Ditto.
	(-_selectInspector:): Implement and renamed from selectInspector:.
	* EOModeler/EOModelerEditor.h
	* EOModeler/EOModelerEditor.m: Add documentation.
	(-initWithDocument:): Initialize instance variable.
	(-debugSelectionPath): Implement.
	(-[EOModelerCompoundEditor initWithDocument:]): Remove
	initializtation.
	(-[EOModelerCompoundEditor selectionDidChange]): Implement.
	(-[EOModelerCompoundEditor setSelectionPath:]): Call
	selectionDidChange instead of sending notifcation directly.
	(-[EOModelerCompoundEditor viewSelectedObject]): Implement.
	(-[EOModelerEmbedibleEditor dealloc]): Implement.
	(-[EOModelerEmbedibleEditor initWithParentEditor:]): Observe
	EOMSelectionChangedNotification.

	DBModeler/ConsistencyChecker.m (+modelConsistencyCheck:): Honor
	validation preferences.
	DBModeler/Modeler.m (-new:): Reimplement.
	(-setAdaptor:): Bail out it adaptor cannot be located.
	(-application:openFile:): Fine tune path checking and correct return
	values.
	(-openPrefs:): Implement.
	* DBModeler/Inspectors/RelationshipInspector.m
	(-displayName): Implement.
	(-selectedEntity): Validate selected row before commencing.
	(-selectedDestinationAttribute): Reimplement.
	(-updateConnectButton): Update enabled state of connect button.
	(-refresh): Correct handling of src/destAttrib_tableView.
	(-tableViewSelectionDidChange:): Allways call updateConnectButton.
	* DBModeler/SQLGenerator.m (-openSQLGenerator:): Reimplement.
	(-executeSQL:): Handle invalid adpator or connection information.
	(-saveAs:): Handle abort correctly.
	(-generate): Handle missing expression class.
	* DBModeler/ModelerTableEmbedibleEditor.h
	* DBModeler/ModelerEntityEditor.m (initWithParentEditor:): Correct
	autoresize behavior.
	(-activate): Update selection.
	(-needToFetch:): Do not reloadData in _topTable.
	(-displayGroupDidChangeSelection:): Update selection on parent.
	* DBModeler/ModelerTableEmbedibleEditor.m
	(-addDefaultTableColumnsForTableView:displayGroup:): Call tile instead
	of sizeToFit.
	* DBModeler/EOAdditions.m: Fix leaks.
	(setIsClassProperty): Reimplement.
	(-[setIsPrimaryKey:]): Ditto.
	(-[setIsClassProperty:]): Correct call to function.
	(-[isUsedForLocking]): Implement.
	(-[setIsUsedForLocking:]): Ditto.
	* DBModeler/MainModelEditor.h
	* DBModeler/MainModelEditor.m: Update view handling.
	* DBModeler/DefaultColumnProvider.m: Update handling of properties.
	* DBModeler/ModelerAttributeEditor.m: Update general GUI interaction.
	* DBModeler/Preferences.h: New file.
	* DBModeler/Preferences.m: Ditto.
	* DBModeler/Inspectors/RelationshipInspector.tiff: New file.
	* DBModeler/Inspectors/GNUmakefile: Add new file.
	* DBModeler/Resources/Preferences.gorm: New files.
	* DBModeler/Resources/Key_Header.tiff: Ditto.
	* DBModeler/Resources/ClassProperty_Header.tiff: Ditto.
	* DBModeler/Resources/Locking_On.tiff: Ditto.
	* DBModeler/Resources/Key_On.tiff: Ditto.
	* DBModeler/GNUmakefile: Add new files.

	* GDL2Palette/KeyWrapper.h: New file.
	* GDL2Palette/KeyWrapper.m: Ditto.
	* GDL2Palette/ConnectionInspector.h
	* GDL2Palette/ConnectionInspector.m (init): Initialize _values.
	(-awakeFromNib): Update handling of horizontal scroller.
	(-_associationClassesUsableWithObject:): Implement.
	(-setObject:): Fix assignment issues.
	(-_keysFromClassDescription:): Implement.
	(-_keysFromArray:): Ditto.
	(-updateValues): Reimplement.
	(-_oaBrowserAction:): Ditto.
	(-browser:numberOfRowsInColumn:): Refine implementation.
	(-browser:willDisplayCell:atRow:column:): Reimplement.
	(-ok:): Update associations in active document.
	* GDL2Palette/ResourceManager.m (defaultEditingContext): Try to find
	defaultEditingContext in document objects.
	(addResourcesFromPasteboard:): Reimplement.
	* GDL2Palette/Foundation+Categories.m:
	(arrayWithObjectsRespondingYesToSelector:): Fix leak.
	(arrayWithObjectsRespondingYesToSelector:withObject:): Ditto.
	* GDL2Palette/GNUmakefile: Use PALETTE_LIBS instead of
	ADDITIONAL_LDFLAGS to link libraries.  Add new files.
	* GDL2Palette/GDL2Palette.tiff: New file.
	* GDL2Palette/GDL2ConnectionInspector.gorm: New files.
	
2006-05-09  Matt Rice  <ratmice@yahoo.com>
            David Ayers  <ayers@fsfe.org>

	* configure.ac (gorm-palette): Add configure option to exclude
	building of palette until auto detection works reliably.
	* config.make.in: New file.
	* configure: Regenerate.
	* GNUmakefile: Include new file.
	* Makefile.postamble: Remove generated config.make on distclean.
	
2006-04-24  David Ayers  <d.ayers@inode.at>

	* EOControl/EOGenericRecord.m
	([_getValueForKey:selector:type:size:offset:]): Replace deprecated use
	of GSObjCGetValue with GSObjCGetVal.
	([_setValueForKey:selector:type:size:offset:]): Replace deprecated use
	of GSObjCSetValue with GSObjCSetVal.
	* EOControl/EOKeyValueCoding.m
	([NSObject takeValue:forKey:]):  Replace deprecated use	of
	GSObjCSetValue with GSObjCSetVal.

	[Report #16429]
	* EOAdaptors/Postgres95/Postgres95Private.m
	(PSQLA_postgresCalendarFormat): Change format from to include
	milliseconds suggested by: Sergey Golovin, svgol at mail dot ru.

2006-03-19  Matt Rice  <ratmice@yahoo.com>

	* EOControl/EODetailDataSource.m (-editingContext): Return the master
	data sources editing context.
	* EOControl/EOGlobalID.m (-description): Correct conversion
	specification.
	* EOAccess/EOModel.m (-referencesToProperty:): Implement.
	* EOAccess/EORelationship.m (-referencesProperty:): Fix bug in or when 
	sending messages to nil.
	(-validateName:): Return nil if the name is the properties current name.
	* EOAccess/EOModel.m (-validateName:): Ditto.
	* EOAccess/EOEntity.m (-validateName:): Ditto.
	(-relationships): Handle partially converted relationships array.
	(-addAttribute:): Remove unnecessary cast.
	(-addRelationship:): Ditto.
	(-removeAttribute): Remove property from the class properties and
	primary key attributes arrays.
	(-removeRelationship:): Remove property from the class properties
	array. 
	(-_setIsEdited:): Rebuild _relationshipsByName.
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m: Fix warning.
	* EOAdaptors/Postgres95/Postgres95Values.m: Remove c99 usage.
	
	* EOAccess/EOEntity.m (-relationships): Fix whitespace from previous
	commit.
	
2005-12-18  Matt Rice  <ratmice@yahoo.com>

	* EOAdaptors/Postgres95/LoginPanel/postgreslogo.tif: New file.
	* EOAdaptors/Postgres95/LoginPanel/GNUmakefile: Add postgreslogo.tif
	* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.[h/m]: Show
	logo, and make the login panel more visually appealing. Switch
	databases table view to a NSComboBox. 
	* DBModeler/KVDataSource.m: Return nil in unimplemented methods with
	return values.

	* EOAdaptors/Postgres95/Postgres95Adaptor.m: Add braces to typeNames
	to avoid warnings

2005-12-18  David Ayers  <d.ayers@inode.at>

	* AUTHORS: Add Matt Rice.
	* GDL2.gsdoc: Ditto.

	* EOControl/EOMultiReaderLock.[h/m]: New files.
	* EOControl/EOControl.h: Add EOMultiReaderLock.h.
	* EOControl/GNUmakefile: Add EOMultiReaderLock.h/m.

	* EOAccess/EOAttribute.m: Translate comment to avoid
	non-ASCII encoding.

	* EOControl/EOEvent.[hm]: New files.
	* EOControl/EOEventCenter.[hm]: New files.
	* EOControl/EOControl.h: Add EOEvent.h and EOEventCenter.h.
	* EOControl/GNUmakefile: Add EOEvent.h/m and EOEventCenter.h/m.

	* EOControl/EOGlobalID.m (-[EOGlobalID copyWithZone:]): Optimize
	to return self as GIDs are immutable and they are used as dictionary
	keys which are generally copied.
	(-[EOTemporaryGlobalID copyWithZone:]): Remove.
	(-[EOTemporaryGlobalID description]): Implement.
	* EOControl/EOKeyGlobalID.m (-[EOKeyGlobalID copyWithZone:]): Remove.

	* EOControl/EOEditingContext.m (-[forgetObject:]: Clear registered
	snapshots.
	
2005-12-05  David Ayers  <d.ayers@inode.at>

	* EOControl/EOQualifier.m (getKey): Fix parsing of 'nil'
	EOKeyValueQualifiers.
	
2005-11-30  David Ayers  <d.ayers@inode.at>

	* EOControl/EOQualifier.m (cimSEL, spaceSet, alnumSet, digitSet)
	(spaceCIM, alnumCIM, digitCIM): New static globals for unichar
	handling.
	([+initialize]): Initialize new variables.
	(getOperator, getKey, isNotQualifier, whichQualifier): Use
	unichar instead of char.
	([+qualifierWithQualifierFormat:varargList:]): Ditto.
	(_isLike): Handle unichar characters.
	
2005-11-28  David Ayers  <d.ayers@inode.at>

	* EOControl/EOSharedEditingContext.[hm]: New files.
	* EOControl/EOEditingContext.[hm]: Use EOSharedEditingContext.
	(sharedEditingContext, setSharedEditingContext:): New methods.
	(-initWithParentObjectStore:): Handle EOSharedEditingContext.
	(-dealloc, -faultForGlobalID:editingContext:): Ditto.
	(-objectForGlobalID:, -globalIDForObject:): Ditto.
	(-initializeObject:withGlobalID:editingContext:): Ditto.
	(-refaultObject:withGlobalID:editingContext:): Ditto.
	(-_processInitializedObjectsInSharedContext:): New method.
	(-_defaultEditingContextNowInitialized:): Ditto.
	(-_objectsInitializedInSharedContext:) Ditto.
	(-_defaultSharedEditingContextWasInitialized:) Ditto.
	* EOControl/EOControl.h: Added EOSharedEditingContext.h.
	* EOControl/GNUmakefile: Added EOSharedEditingContext.[hm].
	
2005-11-02  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/Postgres95Adaptor.m (typeNames): Add
	serial and serial8 from patch 1777 from Simon Stapleton.
	
2005-10-02  David Ayers  <d.ayers@inode.at>

	* EOControl/EOAndQualifier.m,
	* EOControl/EOKeyComparisonQualifier.m,
	* EOControl/EOKeyValueQualifier.m,
	* EOControl/EOOrQualifier.m: ([-description]) Make qualifiers
	user presentable like in WO.
	(-[debugDescription]): New deprecated method for old description.

	* EOControl/EOKeyValueCoding.h/m
	(unableToSetNullForKey:): Remove deprecated -base/Foundation hook.
	(setNilValueForKey:) Override new hook to call unableToSetNilForKey:.
	(unableToSetNilForKey:): Raise exception as documented.
	(takeValue:forKey:): Implement here to avoid deprecation warning.
	(takeValue:forKeyPath:): Ditto.
	(takeValuesFromDictionary:): Ditto.
	
2005-08-25  Manuel Guesdon  <mguesdon@orange-concept.com>

	* EOAccess/EOSQLQualifier.m: change in EOAndQualifier and 
	EOOrQualifier -schemaBasedQualifierWithRootEntity to allow 
	nil schemaBasedQualifier.
	fix in EOKeyValueQualifier -schemaBasedQualifierWithRootEntity: 
	to handle key like rel1.rel2.rel3 (see Testsuite 
	EOKeyValueQualifier01.m)
	* EOAccess/EOSQLExpression.m: added NSAssert in 
	-sqlStringForKeyValueQualifier:
	* EOAccess/EORelationship.m: added NSAssert in setDefinition:

2005-08-24  Manuel Guesdon  <mguesdon@orange-concept.com>
	
	* EOControl/EOEditingContext.m: fix _processRecentChanges
	for insert+delete before saving changes (see EOEditingContext03 
	in Testsuite)

2005-08-23  Manuel Guesdon  <mguesdon@orange-concept.com>
	
	* EOAdaptors/Postgres95/Postgres95Private.m: added 
	PSQLA_NSDateClass initialization in PSQLA_PrivInit()
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m: 
	fix initialized in +initialize

2005-08-23  Manuel Guesdon  <mguesdon@orange-concept.com>
	
	* EOControl/EOGenericRecord.m: fix -willChange call (don't call 
	it for takeStoredValue:forKey and for -setXX method).
	* EOControl/EOClassDescription.m: check if value is not 
	already set before adding/setting it in 
	_setObject:forBothSidesOfRelationshipWithKey: and 
	addObject:toBothSidesOfRelationshipWithKey:
	* EOAccess/EOAttribute.m: log in -validateValue:
	
2005-08-17  David Ayers  <d.ayers@inode.at>

	* COPYING.LIB: Update to LGPL 2.1.
	* configure: Regenerate.
	* Update FSF Address and Copyright years.

	* EOControl/EOEditingContext.m ([-_processRecentChanges]):
	Invert logic for propagating deletes.
	([-saveChanges]): Propagate deletes if they were not
	propagated yet.
	* EOControl/EOPrivate.h (EOHashAddTable): New compatibility 
	function.

	* EOAccess/EODatabaseContext.m ([-dealloc], [-rollbackChanges])
	([-_cleanUpAfterSave]): Guard against missing hash table.
	([-registerLockedObjectWithGlobalID:]): Reformat.
	
2005-07-10 Matt Rice <ratmice@yahoo.com>
	
	* DBModeler/Modeler.m (_newDocumentWithModel:): Don't release the
	model.
	(-new:): Release the model here.
	(-newFromDatabase:): Ditto, and add error handling.
	(-open:): Ditto.
	(-application:openFile:): New method.
	* EOModeler/EOModelerDocument.m (-saveAs:): Add error handling, and
	remove check for an existing name.

2005-07-10 Peter Cooper  <comrade@obverse.com.au>
	    
	* DBModeler/GNUmakefile: Add Info-gnustep.plist to project.

2005-07-10  Peter Cooper  <comrade@obverse.com.au>

	* DBModeler/Resources/Info-gnustep.plist: New file.
	* DBModeler/Modeler.m (-applicationWillFinishLaunching:): Rearrange
	menu layout.

2005-07-09  Matt Rice <ratmice@yahoo.com>

	* DBModeler/ConsistencyChecker.m: New variable doc.
	(+endConsistencyCheck:): Use the notification object. Use unsigned for
	array iterators.
	(pass): Use the new doc variable.
	(+attributeDetailsCheck:): Use unsigned for array iterators.
	(+inheritanceCheckForModel:, +relationshipCheckForModel:): Ditto.
	(+primaryKeyCheckForModel:, +externalNameCheckForModel): Ditto.
	(+modelConsistencyCheck:): Assign doc to the notification object.
	
2005-07-09  Matt Rice  <ratmice@yahoo.com>

	* EOModeler/EOMInspectorController.m (-init): Don't release the window
	on close.
	(_selectionChanged:): Fix view swapping.  Set view as needing display.
	* EOModeler/EOModelExtensions.m:
	(+mutableAttributedStringWithBoldSubstitutionsWithFormat:): Implement.
	* EOModeler/EOModelerApp.h: Add -removeDocument:, -documentAtPath:,
	and -loadDocumentAtPath: methods.
	* EOModeler/EOModelerApp.m (-init:): Add parentheses around
	assignment.
	(-allPasteboardTypes): Initial implementation.
	(-removeDocument:): If removing the active document, set the active
	document to nil.
	(-documentWithPath:): Change array iterators to unsigned.
	(-registerColumNames:forClass:provider:): Ditto.
	(-modelContainingFetchSpecification:): Temporarily return nil.
	(-nameForFetchSpecification:): Ditto.
	* EOModeler/EOModelerDocument.h: Declare consistency check
	notification constants. Add -adaptor, -appendConsistencyCheckErrorText:,
	-appendConsistencyCheckSuccessText:, -addEntity:, -addRelationship, 
	-addAttribute and -delete.
	* EOModeler/EOModelerDocument.m: Add consistency check notification
	constants.  Add private category interface.
	(-firstSelectionOfClass:): Change array iterators to unsigned.
	Remove debugging logs.
	(-validateMenuItem:): Initial implementation.
	(-initWithModel:): Add parentheses around assignment.  Add the model
	to the default model group.
	(-dealloc, -delete:): Initial implementation.
	(-isDirty, -prepareToSave,-checkCloseDocument): Return no temporarily
	until implemented.
	(-saveToPath:): Break long messages into separate lines.
	(-addDefaultEditor:, -addEntity:, -addAttribute:): Ditto. 
	(-addRelationship:, ):
	(-activate): Remove commented out code.
	(-closeEditor:, -checkCloseEditor:): Add comments.
	(-canFlattenSelectedAttribute): Add temporary return value.
	(-windowWillClose:): Remove self from the open documents.
	(-checkConsistency:): Implement.
	(-appendConsistencyCheckErrorText:): Ditto.
	(-appendConsistencyCheckSuccessText:): Ditto.
	* EOModeler/EOModelerEditor.m (-initWithDocument:): Add parentheses
	around assignment.  Don't retain our document.
	(-selectionPath:, -viewedObjectPath): Return nil.
	(-[EOModelerCompoundEditor dealloc]): Implement.
	(-[EOModelerCompoundEditor initWithParentObject:): Add parentheses
	around assignment.
	(-[EOModelerEmbedibleEditor pathViewPreferenceHint:): Return nil.
	* EOModeler/GNUmakefile: Remove extra whitespace.
	
2005-07-08  Matt Rice  <ratmice@yahoo.com>

	* EOInterface/EOAssociation.m: New variable _objectToAssociations.
	(+objectDeallocated:): New private method.
	(+initialize): initialize _objectToAssociations.
	(-dealloc): Discard any pending notifications.
	(-establishConnection): Retain display groups we're bound to.
	Retain our self and register our object for dealloc notification.
	(-breakConnection): Release display groups we're bound to. Release
	our self and discard any pending notifications.
	(-subjectChanged): Add comment
	* EOInterface/EOColumnAssociation.m (-establishConnection): Assign our
	dg ivar after establishing connection.  Use the dg ivar and move 2 if
	statements into one.
	* EOInterface/EODisplayGroup.m: Remove debugging class/category for
	emptyArray and emptyDictionary.
	(-indexesForObjectsIndeticalTo:): Fix typo by renaming to
	-indexesForObjectsIdenticalTo:.
	(-dealloc): Remove our self as an observer for any notifications,
	as an editor or message handler for our editing context, our observer
	proxies as observers from the observer center. Don't release 
	array/dictionary ivars that are emptyArray or emptyDictionary.
	(-setSelectionIndexes:): Update to reflect change in method name.
	(-deleteSelection): Remove unused local var.
	(-fetch:): Call -redisplay.
	(-updatedObjectIndex:): Return -1 instead of 0 until this is
	implemented.
	(-setValue:forObject:key:): fix comment in exception handlers.
	* EOInterface/EOGenericControlAssociation.m:
	(-subjectChanged:): Remove unused local variable.
	* EOMasterDetailAssociation.m:
	(-establishConnection, -breakConnection, -subjectChanged): Implement.
	* EOInterface/EOPopUpAssociation.m: Remove unused local variables.
	* EOInterface/EOTableViewAssociation.m:
	(-breakConnection:): Remove our NSTableView object from the map table.
	(-subjectChanged:): Remove unused local variables. Release temporary
	retain on selection indexes.
	(+bindToTableView:displayGroup:): Don't retain the table views in the
	map table.  Release the newly created association.
	(-dealloc): Remove self from the tvAssociationMap.
	* EOInterface/SubclassFlags.h: Fix bitmask on MatchKey1AspectMask.
	
2005-07-08  Matt Rice  <ratmice@yahoo.com>

	* DBModeler/AdaptorsPanel.m (-init): Add parenthesis around assignment.
	Replace label with window title.
	(-runAdaptorsPanel:): Remove unused variable.
	* DBModeler/DefaultColumnProvider.m: Add missing braces, remove unused
	ivars.
	(-cellForColumnNamed:): Autorelease cells.
	* DBModeler/EOAdditions.m: New EOAttribute KVC methods -allowNull and
	-setAllowNull:.
	* DBModeler/GNUmakefile: Add new to project.
	* DBModeler/KVDataSource.m (-createObject:): Return nil after throwing
	exception.
	* DBModeler/MainModelEditor.m
	(-dragImageForRows:event:dragImageOffset:):: Enable drag and drop for
	relationships.
	(-initWithDocument:): Add parenthesis around assignment. Don't release
	the document window on close.
	(-ecStuff:): temporarily reload everything in the outline view when
	something changes.
	(-viewSelectedObject:): Remove NSLog.  Rewrite editor activation.
	Fix leaks.
	* DBModeler/Modeler.m (-applicationWillFinishLaunching:): Add new menu
	items. Don't order our menu in.
	(-new:,-open:): Move document initializition to _newDocumentWithModel:.
	(-_newDocumentWithModel:,-newFromDatabase:): New methods.
	(-validateMenuItem:,-generateSQL:): Ditto.
	* DBModeler/ModelerAttributeEditor.m (-initWithParentEditor:): Remove
	unused variables.
	(-displayGroupDidChangeSelection:): return early if there is no longer
	a selection.
	* DBModeler/ModelerEntityEditor.m:
	(-canSupportCurrentSelection): Remove NSLog.
	(-displayGroupDidChangeSelection:): Ditto.
	(-dealloc:): New method.
	(-initWithParentEditor:): Remove unused variables.  Add parens around
	assignment.  Release local variables.
	* DBModeler/ModelerTableEmbedibleEditor:
	(-addDefaultTableColumnsForTableView:displayGroup:): Release table
	columns.
	(-addTableColumnForItem:tableView:): Ditto.
	* DBModeler/Inspectors/RelationshipInspector.m: 
	(-selectedEntity, -selectedDestinationAttribute): New methods.
	(-selectedSourceAttribute, -indexOfSourceAttribute:): Ditto.
	(-indexOfDestinationAttribute:,joinWithSource:destination:): Ditto.
	(-selectedJoin:,updateConnectButton,): Ditto.
	(-refresh): Rewrite using new methods.
	(-numberOfRowsInTableView:): Add fallback return value.
	(-tableView:objectValueForTableColumn:row:): Ditto.
	(-tableView:selectionDidChange:): If a source or destination attribute
	is now selected, select its counterpart.
	(-tableView:shouldSelectRow:): New method to disallow entity selection 
	if there is a destination entity.
	(-tableView:willDisplayCell:forTableColumn:row:): New method, set the
	cell text color to disabled text color, if we would disallow
	selection.
	(-connectionChanged:): Implement disconnection.	
	* DBModeler/SQLGenerator.h/m: New files initial implementation.
	* DBModeler/Resources/SQLGenerator.gorm: Ditto.
	* DBModeler/ConsistencyChecker.h/m: Ditto.
	* DBModeler/ConsistencyResults.h/m: Ditto.
	* DBModeler/ConsistencyResults.gorm: Ditto.

2005-07-03  Matt Rice  <ratmice@yahoo.com>

	* EOAccess/EOAdaptorContext.h/m (-channels:): New method.
	* EOAccess/EOSQLExpression.m
	(-_administrativeDatabaseStatementsForSelector:forEntityGroup:):
	Comment out login panel.
	* EOAccess/EOUtilities.m: Dont declare EOMoreThanOneException and
	NSObjectNotAvailableException as static.
	* EOControl/EOPrivate.h: Declare new class GDL2NonRetainingMutableArray
	and -registerAssociationForDeallocHack method.
	* EOControl/EOPrivate.m: New class GDL2NonRetainingMutableArray.
	* EOControl/EOEditingContext.m:
	(EOEditingContext -initWithParentObjectStore:): initialize _editors
	ivar with a non retaining array.
	(-dealloc): Remove the editing context as an observer for registered
	objects.
	(-[NSObject(DeallocHack) dealloc]): for associations, remove the
	association and object from the private hash table.
	(-[NSObject(DeallocHack) registerAssociationForDeallocHack]): New
	method.
	* EOControl/EOObserver.m (EOObserverCenter): Replace GSIArray usage
	with GDL2NonRetainingMutableArray.
	(+addObserver:forObject:, +removeObserver:forObject:): Ditto.
	(+initialize, +notifyObserversObjectWillChange:): Ditto.
	(+observersForObject:, +observerForObject:): Ditto.
	(+addOmniscientObserver:, +removeOmniscientObserver:): Ditto.
	(EOObserverProxy -initWithTarget:action:priority:): Don't retain
	target.
	(EOObserverProxy -dealloc:): Discard pending notifications.
	
2005-06-26  David Ayers  <d.ayers@inode.at>

	* EOControl/EODetailDataSource.m (masterClassDescription):
	Only resort to EOClassDescription if _masterClassDescriptionName
	is set.  Otherwise ask the _masterDataSource for its
	classDescriptionForObjects.
	
2005-06-17  Matt Rice  <ratmice@yahoo.com>

	* EOAccess/EOEntity.m (-_setModel:): Accept nil argument, comment.
	* EOAccess/EOModel.m (-removeEntity:): Comment.

2005-05-18  Matt Rice  <ratmice@yahoo.com>

	* EOControl/EOObserver.m (EOObserverCenter): Don't retain observers.
	Use a GSIArray instaed of NSMutableArray.
	(+addObserver:forObject:, +removeObserver:forObject:): Ditto.
	(+initialize, +notifyObserversObjectWillChange:): Ditto.
	(+observersForObject:, addOmniscientObserver:): Ditto.
	(+removeOmniscientObserver:): Ditto.

2005-05-17  Matt Rice <ratmice@yahoo.com>

	* GNUmakefile: remove GDL2Palette from top level compilation.
	* GDL2Palette/GNUmakefile: Fix compilation flags, include gdl2.make
	relative not the installed version.
	* DBModeler/GNUmakefile: Ditto.

2005-05-11  Matt Rice  <ratmice@yahoo.com>


	* GNUmakefile: Compile EOInterface, EOModeler, DBModeler, GDL2Palette
	if gui is installed.
	* EOModeler/EOModelExtensions.h: Update copyright header.
	* EOModeler/EOModelExtensions.m: Ditto.
	* EOModeler/GNUmakefile: Make EOModeler a native-library, add new files.
	* EOModeler/Makefile.preamble: Change link flag to use FND_LIBS. 
	* EOModeler/EODefines.h: New file, initial implementation.
	* EOModeler/EOMInspector.h/m: Ditto.
	* EOModeler/EOMInspectorController.h/m: Ditto.
	* EOModeler/EOModelerApp.h/m: Ditto.
	* EOModeler/EOModelerDocument.h/m: Ditto.
	* EOModeler/EOModelerEditor.h/m: Ditto.
	* DBModeler: New directory.
	* DBModeler/COPYING: New file...
	* DBModeler/AdaptorsPanel.h/m: New files.
	* DBModeler/DefaultColumnProvider.h/m: Ditto.
	* DBModeler/EOAdditions.h/m: Ditto.
	* DBModeler/KVDataSource.h/m: Ditto.
	* DBModeler/MainModelEdtior.h/m: Ditto.
	* DBModeler/Modeler.m: Ditto.
	* DBModeler/ModelerAttributeEditor.h/m: Ditto.
	* DBModeler/ModelerTableEmbedibleEditor.h/m: Ditto.
	* DBModeler/main.m: Ditto.
	* DBModeler/GNUmakefile: Ditto.
	* DBModeler/Resources: New directory.
	* DBModeler/Resources/ModelDrag.tiff: New file.
	* DBModeler/Resources/ClassProperty_On.tiff: Ditto.
	* DBModeler/Resources/Key_On.tiff: Ditto.
	* DBModeler/Inspectors: New directory.
	* DBModeler/Inspectors/RelationshipInspector.h/m: New files.
	* DBModeler/Inspectors/AttributeInspector.h/m: Ditto. 
	* DBModeler/Inspectors/RelationshipInspector.gorm: New gorm directory.
	* DBModeler/Inspectors/AttributeInspector.gorm: Ditto.
	* GDL2Palette: New directory.
	* GDL2Palette/GNUmakefile: New file.
	* GDL2Palette/ConnectionInspector.h/m: Ditto.
	* GDL2Palette/Foundation+Categories.h/m: Ditto.
	* GDL2Palette/IB+Categories.m: Ditto.
	* GDL2Palette/Palette.h/m: Ditto.
	* GDL2Palette/ResourceManager.h/m: Ditto.
	* GDL2Palette/GDL2ConnectionInspector.gorm: Ditto.
	* GDL2Palette/GDL2Palette.tiff: Ditto
	* GDL2Palette/palette.table

2005-05-12  Matt Rice  <ratmice@yahoo.com>

	* ChangeLog: Fix previous ChangeLog entry.
	* EOInterface/EOActionAssociation.m: Implemented aspects enabled and
	action.
	(-establishConnection): Implement
	(-breakConnection, -subjectChanged, -action): Ditto.
	* EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed
	argument passed to -isUsableWithObject:. Assign count 
	(-init): Assign self.
	(-establishConnection:): Add unused local variable to pass to
	NSNextMapEnumeratorPair instead of 0.
	(-breakConnection:): Ditto.
	(-initWithCoder:, -encodeWithCoder:): Initial implementation of
	methods.
	(-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto.
	(-setValueForAspect:atIndex:): Ditto. 
	* EOInterface/SubclassFlags.h: New file.
	* EOInterface/EOAspectConnector.h/m: New file and implementation.
	* EOInterface/EOColumnAssociation.m: Implemented aspects value and
	enabled
	(-objectKeysTaken): Take identifier key.
	(-establishConnection, -breakConnection, -endEditing): Implement
	methods.
	(-tableView:setObjectValueForTableColumn:row:): Ditto.
	(-tableView:objectValueForTableColumn:row:): Ditto. 
	(-tableView:willDisplayCell:forTableColumn:row:): Ditto. 
	(-control:didFailToFormatString:errorDescription:): Ditto.
	(-control:textShouldBeginEditing:): Ditto.
	* EOInterface/EOControlAssociation.m: (-control): Ditto
	(-editingAssociation, -establishConnection, -breakConnection): Ditto.
	* EOInterface/EOGenericControlAssociation.m: Implemented aspects value
	and enabled.
	(+objectKeysTaken): add target key.
	(-establishConnection: -breakConnection:, -subjectChanged:): Ditto.
	(-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto.
	* EOInterface/EOMatrixAssociation.m: Implemented aspects image, title,
	and enabled.
	(-establishConnection, -breakConnection, -subjectChanged): Ditto.
	* EOInterface/EOPopUpAssociation.m: Implemented aspects titles,
	selectedTitle, selectedTag, selectedObject, enabled.
	(-initWithObject:, -_action:): Implemented method.
	(-establishConnection:, -breakConnection, -subjectChanged): Ditto.
	* EOInterface/EORadioMatrixAssociation.m: Implemented aspects
	selectedTag, selectedTitle, enabled.
	(NSCell -_selectCellWithTitle:): Private category.
	(-initWithObject:, -_action:): Implemented method.
	(-establishConnection:, -breakConnection, -subjectChanged): Ditto.
	* EOInterface/EOTableViewAssociation.m: Implemented aspects enabled,
	tableView.
	(-establishConnection, -breakConnection, subjectChanged): Implement
	method. 
	(-bindToTableView:displayGroup:, -editingAssociation): Ditto.
	(-numberOfRowsInTableView:):
	(-tableView:setObjectValue:forTableColumn:row:): Ditto.
	(-tableView:objectValueForTableColumn:row:): Ditto.
	(-tableView:shouldEditTableColumn:row:): Ditto.
	(-tableView:willDisplayCell:forTableColumn:row:): Ditto.
	(-tableView:selectionDidChange:): Ditto.
	(-control:didFailToFormatString:errorDescription:): Ditto.
	(-control:isValidObject:, -control:textShouldBeginEditing:): Ditto.
	(-dealloc): Ditto.
	* EOInterface/EOTextAssociation.m: Implemented aspect value, enabled. 
	(-establishConnection): Implemented method.
	(-breakConnection, -subjectChanged, -endEditing): Ditto.
	(-control:isValidObject:,textShouldBeginEditing:): Ditto.
	(-textShouldEndEditing:): Ditto.
	* EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace
	changes.
	* EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS
	and GUI_LIBS variables.
	* EOInterface/EODisplayGroup.h: Comment on whether ivars are retained.
	* EOInterface/EODisplayGroup.m:
	(DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros.
	(DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto.
	(DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto.
	(DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto.
	(DG_DID_CHANGE_SELECTION): Ditto.
	(NSArray -indexesForObjectsIdenticalTo:): Implement category method.
	(_presentAlertWithTitle:message:): New private methods.
	(-_endObserverNotification:): Implement notification observer methods.
	(-_beginObserverNotification:): Ditto.  
	(-objectsInvalidatedInEditingContext:): Ditto.
	(-objectsChangedInEditingContext:): Ditto.
	(+initialize, -init, -initWithCoder:,): Implement methods.
	(-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto.
	(-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto.
	(-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto.
	(-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto.
	(-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto.
	(-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto.
	(-insertObjectAtIndex:, -insertObject:atIndex:): Ditto.
	(-setInsertedObjectDefaultValues:, -deleteSelection): Ditto.
	(-observingAssociations, -endEditing, -fetch:, -insert:): Ditto.
	(-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto.
	(-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto.
	(-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto.
	(-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto.
	(-associationDidEndEditing:): Ditto.

2005-05-11  Matt Rice  <ratmice@yahoo.com>

	* EOAccess/Makefile.preamble: Change link flag to use FND_LIBS variable
	defined in base.make
	* EOControl/Makefile.preamble: Ditto.
	* EOAccess/EODatabaseDataSource.m (-entity): Look for entity with the
	fetch specifications entity name in a model group.
	(-databaseContext): Return a registered database context.
	* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.m: Cast before 
	calling -initWithIdentifier to remove warning with gcc 3.4
	* EOControl/EOEditingContext.m (-encodeWithCoder:,-initWithCoder:):
	initial implementation of methods.
	* EOControl/EOClassDescription.m (-snapshot): cast 'value' to get
	thwart  warnings.
	* EOControl/EOFault.m (-superClass): Implement as returning a class.
	* Tools/gsdoc-model.m: Include headers alphabetically, include 
	NSCalendarDate.h to thwart warning.


2005-05-03  David Ayers  <d.ayers@inode.at>

	* EOControl/EOEditingContext.m (_mutableSetFromToManyArray:):
	Add internal documentation.  Filter managed objects instead
	of attempting to convert gids to objects.  Reported by Manuel
	Guesdon.
	
2005-05-03  Manuel Guesdon  <mguesdon@orange-concept.com>

	* EOControl/EOEditingContext.m:
		o fixes in _mergeObject:withChanges:
		(IMP initialization, variables (re-)initialization)
		o added NSAssert in -_mutableSetFromToManyArray:

2005-04-24  Manuel Guesdon  <mguesdon@orange-concept.com>

	* EOAccess/EOAttribute.m:
		o fixed test error in -newValueForBytes:length:

2005-04-24  Manuel Guesdon  <mguesdon@orange-concept.com>

	* EOControl/EOPriv.h: added GDL2_allocWithZone()
	* EOAccess/EOAttribute.m:
		o fixed -validateValue: rewritten following 
		David Ayers's advices to handle EONull values 
		validation and fix width validation
		o fixed -newValueForBytes:length: retain problems and 
		wrong invocation target 
		o fixed -newValueForBytes:length:encoding: retain 
		problems and wrong invocation target 
		o added comments and doc
		o added allowsNull in EOAttribute -description
	* EOControl/EOKeyValueArchiver.m: fixed int and bool 
		archiving following David Ayers's comments (produce 
		NSNumber instead of NSString)
	
2005-04-24  Matt Rice  <ratmice@yahoo.com>

	* EOAdaptors/Postgres95/Postgres95Adaptor.m: Removed externalTypeNames
	and internalTypeNames variables, replaced both with typeNames.
	(isValidQualifierType:model:): Use new variable.
	(externalToInternalTypeMap:): Ditto.
	
2005-04-19  David Ayers  <d.ayers@inode.at>

	Fix bug reported by: jim _at_ uchicago dot edu.
	* EOAccess/EOEntity.m (-primaryKeyRootName): Recurse to through
	primaryKeyRootName of parent entity.
	* EOAdaptors/Postgres95/Postgres95Channel.m
	(primaryKeyForNewRowWithEntity:): Use primaryKeyRootName to
	construct sequence name.
	
2005-04-19  Manuel Guesdon  <mguesdon@orange-concept.com>

	* EOControl/EOKeyValueArchiver.m: implemented EOKeyValueArchiver
	* EOControl/EOKeyValueArchiver.h: removed private methods
	* EOControl/EOSortOrdering.h: added EOKeyValueArchiving protocol
	to EOSortOrdering
	* EOAccess/EOAttribute.m: put back David changes in
	-adaptorValueByConvertingAttributeValue 
		added some docs
			
2005-04-07  Stephane Corthesy  <stephane@sente.ch>

	* Tools/eoutil.m: Added -excludedEntities option when dumping;
	added use of local autorelease pools; splitted SQL execution in
	different phases, to allow dropping then re-creating tables, in
	one shot; now fetches flattened or derived attributes; now can
	dump NSCalendarDate, NSData, NSNumber correctly; no longer tries
	to write (in db) flattened or derived or non class-property
	attributes; now ignores and log exceptions when -force option is
	used.
	
2005-03-17  Manuel Guesdon  <mguesdon@orange-concept.com>

	* EOControl/EOFault.m: added instanceMethodForSelector:
		to temporary fix defaulting problem with 
		NSAutoreleasePool optimizations

2005-03-10  David Ayers  <d.ayers@inode.at>

	* EOControl/EOKeyValueCoding: (-unableToSetNullForKey:): Deprecate
	and call unableToSetNilForKey.
	(-setNilValueForKey:): Call unableToSetNilForKey.
	(-unableToSetNilForKey:): Use default implementation.
	
2005-03-03  David Ayers  <d.ayers@inode.at>

	* EOAccess/EODatabaseContext.m (-forgetSnapshotForGlobalID:):
	Handle deleted globalIDs correctly.
	(-forgetSnapshotsForGlobalIDs:): Ditto.
	(-_commitTransaction, -_beginTransaction): Ditto.
	(-_rollbackTransaction): Implement.

	* EOAccess/EORelationship.m (validateValue:): Document.  Remove
	unnecessary comments and code.  Handle EONulls.
	(+initialize): Implement.
	(+relationshipWithPropertyList:owner:): Move to top.
	
2005-03-03  Matt Rice  <ratmice@yahoo.com>
            David Ayers  <d.ayers@inode.at>

	* EOAccess/EOEntity.m (initWithPropertyList:owner:): Reformatting
	for GNU coding standards.
	(-attributes): Fix memory leak.  Use global class cache.
	Handle partially converted attributes array.
	(-_attributeNameChangedFrom:to:): New privat method.
	* EOAccess/EOEntityPriv.h (-_attributeNameChangedFrom:to:):
	Declare new private method.
	* EOAccess/EOAttribute.m (setName:): Call
	-[EOEntity _attributeNameChangedFrom:to:] if attribute is in
	an EOEntity.

2005-03-02  David Ayers  <d.ayers@inode.at>

	* EOControl/EOKeyValueCoding.h/m: (-setNilValueForKey:):
	Override NSObject's category to invoke -unableToSetNullForKey:.

	* EOControl/EOSortOrdering.m: Include EONull.h instead of
	NSNull.h.

	* EOAccess/EODatabaseChannel.m: Update formatting.

	* EOAccess/EOModel.m (setName:): Remove from group before
	changing name and readd afterwards.
	
2005-02-22  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAdaptor.m (-hasOpenChannels): Make safe for
	unsigned.

	* EOAccess/EOAttribute.m, EOAccess/EODatabaseContext.m,
	* EOAccess/EOEntity.m, EOAccess/EOSQLExpression.m
	* EOAccess/EOPrivate.h, EOAccess/EOPrivate.m,
	* EOAccess/EOSQLQualifier.m, EOAccess/EOUtilities.m
	* EOControl/EOClassDescription.m, EOControl/EOEditingContext.m
	* EOControl/EOGenericRecord.m, EOControl/EOKeyGlobalID.m
	* EOControl/EOKeyValueCoding.m, EOControl/EOKeyValueQualifier.m
	* EOControl/EOMutableKnownKeyDictionary.m,
	* EOControl/EOPrivate.h, EOControl/EOPrivate.m
	Unify GDL2 identifiers with GDL2_ prefix.  Replace
	GDL2NSClass_alloc with GDL2_alloc(NSClass).  Replace
	GDL2NSClassWith* calls with
	AUTORELEASE([GDL2_alloc(NSCLass) initWith* calls]).
	Rename GDL2PrivInit to GDL2_PrivateInit.
	(GDL2_NSArray, GDL2_NSMutableArray_allocWithZoneIMP)
	(GDL2_NSMutableDictionary_allocWithZoneIMP): New globals.
	(GDL2_alloc): New macro.
	(GDL2NSString_alloc, GDL2NSDecimalNumber_alloc)
	(GDL2NSNumber_alloc, GDL2NSCalendarDate_alloc, GDL2NSData_alloc)
	(GDL2DataWithBytesAndLength, GDL2MutableArrayWithCapacity)
	(GDL2MutableArrayWithArray, GDL2MutableArray, GDL2Array)
	(GDL2MutableDictionaryWithCapacity): Remove.
	
2005-02-20  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAccessFault.m: Include NSThread.h.

	* EOControl/EOPriv.h/m: Split into...
	* EOControl/EOPrivat.h/m: ... and ...
	* EOAccess/EOPrivat.h/m: ... files.
	* EOAccess/EOAdaptorChannel.m: Include new privat header.
	* EOAccess/EOAttribute.m, EOAccess/EODatabase.m,
	* EOAccess/EODatabaseChannel.m, EOAccess/EOEntity.m,
	* EOAccess/EORelationship.m, EOAccess/EOSQLExpression.m,
	* EOAccess/EOSQLQualifier.m, EOAccess/EOUtilities.m: Ditto.
	(+initialize): Call new private function.
	* EOAccess/EODatabaseContext.m: Ditto.
	(EODatabaseContext_snapshotForGlobalIDWithImpPtr)
	(EODatabaseContext_globalIDForObjectWithImpPtr): Move to
	EOPrivate.m.
	* EOAccess/EODatabaseContextPriv.h:
	(EODatabaseContext_snapshotForGlobalIDWithImpPtr)
	(EODatabaseContext_globalIDForObjectWithImpPtr): Move to
	EOPrivate.h.
	* EOAccess/GNUmakefile: Compile EOPrivate.m.

	* EOControl/EOClassDescription.m, EOControl/EOGenericRecord.m
	* EOControl/EOKeyGlobalID.m, EOControl/EOKeyValueCoding.m
	* EOControl/EOKeyValueQualifier.m, EOControl/EONSAddOns.m
	* EOControl/EOSortOrdering.m: Include new private header.
	* EOControl/EOEditingContext.h/m: Ditto.
	(EOEditingContext_objectForGlobalIDWithImpPtr)
	(EOEditingContext_recordObjectGlobalIDWithImpPtr): Move to
	EOPrivate.h/m.
	* EOControl/EOMutableKnownKeyDictionary.h/m: Include new private
	header.
	(EOMKKD_objectForKeyWithImpPtr, EOMKKD_setObjectForKeyWithImpPtr)
	(EOMKKD_removeObjectForKeyWithImpPtr, EOMKKD_hasKeyWithImpPtr)
	(EOMKKD_indexForKeyWithImpPtr)
	(EOMKKDInitializer_indexForKeyWithImpPtr): Move to EOPrivate.m
	* EOControl/EOFault.m: (+isFault:): Update comment.
	* EOControl/GNUmakefile: Build EOPrivate.m instead of EOPriv.m.
	Do not install private header.

	* EOAccess/EOPrivate.h, EOAccess/EOPrivate.m,
	* EOAccess/EODatabaseContext.m, EOAccess/EOSQLExpression.m,
	* EOControl/EOEditingContext.m, EOControl/EOKeyValueCoding.m,
	* EOControl/EOMutableKnownKeyDictionary.m,
	* EOControl/EOPrivate.h, EOControl/EOPrivate.m: Remove global
	selector cache.
	
2005-02-19  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/Postgres95Private.m/h: New files
	based on EOControl/EOPriv.m/h.
	* EOAdaptors/Postgres95/GNUmakefile.in: Build Postgres95Private.m.
	* EOAdaptors/Postgres95/Postgres95Adaptor.m: Do not depend on
	EOControl/EOPriv.m/h but on own private files.
	(+assignExternalInfoForEntity): Use objectAtIndex: instead of
	enumerator for speed.
	* EOAdaptors/Postgres95/Postgres95Channel.m: (+initialize)
	(-lowLevelResultFieldNames:, -fetchRowWithZone:)
	(-insertRow:forEntity:, -_describeResults, -describeTableNames)
	(-updateValues:inRowsDescribedByQualifier:entity:)
	(-_describeBasicEntityWithName:forModel:)
	(-_describeForeignKeysForEntity:forModel:)
	(-primaryKeyForNewRowWithEntity:): Do not depend on
	EOControl/EOPriv.m/h but on own private files.  Improve
	optimizations.
	(pgResultDictionary): Simplify unused static local be reverting
	optimizations.
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m:
	(+initialize, +formatValue:forAttribute:)
	(+sqlPatternFromShellPattern:)
	(+sqlPatternFromShellPattern:withEscapeCharacter:): Do not depend
	on EOControl/EOPriv.m/h but on own private files.  Improve
	optimizations.
	* EOAdaptors/Postgres95/Postgres95Values.h/m
	(Postgres95CalendarFormat, Postgres95ValuesClass)
	(Postgres95Values_newValueForBytesLengthAttributeSEL)
	(Postgres95Values_newValueForBytesLengthAttributeIMP)
	(Postgres95Values_newValueForBytesLengthAttribute): Remove.
	([NSCalendarDate+setPostgres95Format:]): Remove.
	([NSCalendarDate+postgres95Format]): Deprecate.
	(LPSQLA_StringDefaultCStringEncoding): New local static.
	(+initialize, +newValueForNumberType:length:attribute:)
	(+newValueForCharactersType:length:attribute:)
	(+newValueForDateType:length:attribute:):  Do not depend on
	EOControl/EOPriv.m/h but on own private files.  Improve
	optimizations.

	* EOAdaptors/Postgres95/Postgres95Values.m: Remove dependency
	on EOAccess/EOAttributePriv.h and EOControl/EONSAddOns.h.
	(attrRespondsToValueClass, attrRespondsToValueTypeChar): New
	static locals.
	(+initialize, +newValueForNumberType:length:attribute:): Remove
	dependency and used static locals instead.

	* EOAccess/EOAdaptor.m: Consistently use unsigned for array
	index variables.
	
2005-02-18  Matt Rice  <ratmice@yahoo.com>

	* EOAccess/EOModel.m (-addEntity:, -setName:): Call -willChange:
	when modifying the receiver.
	(-setConnectionDictionary:, -addEntity:, -removeEntity:): Ditto.
	(-addStoredProcedure:, -removeStoredProcedure:, -setAdaptorName): Ditto.
	* EOAccess/EOAttribute.m (-setName:, -setProtoType:,): Ditto.
	(-setDefinition:, -setReadOnly:, -setWidth:, -setPrecision:): Ditto.
	(-setScale:, -setWriteFormat:, -setReadFormat:): Ditto.
	(-setParameterDirection:, -setServerTimeZone:): Ditto.
	(-setValueFactoryMethodName:): Ditto.
	(-setAdaptorValueConversionMethodName:): Ditto.
	(-setFactoryMethodArgumentType:): Ditto.
	* EOAccess/EOEntity.m (-setRestrictingQualifier:): Ditto.
	(-setCachesObjects:, -setReadOnly:, -addAttribute:): Ditto.
	(-removeAttribute:, -addRelationship:, -removeRelationship:): Ditto.
	(-addFetchSpecification:withName:): Ditto.
	(-removeFetchSpecificationNamed:): Ditto.
	(-setClassProperties:, -setPrimaryKeyAttributes:): Ditto.
	(-setAttributesUsedForLocking:, -addSubEntity:): Ditto.
	(-removeSubEntity:, -setIsAbstractEntity:): Ditto.
	(-setMaxNumberOfInstancesToBatch:): Ditto.
	(-setStoredProcedure:forOperation:): Ditto.
	(-setParentEntity:): Ditto, And add comments
	* EOAccess/EORelationship.m (setToMany:): Call -willChange when 
	modifying the receiver
	(-setNumberOfToManyFaultsToBatch:, -setDeleteRule:): Ditto.
	(-setInverseRelationship:): Ditto and comment.
	(-removeJoin:): Move -willChange call after error handling.
	* EOAccess/EOStoredProcedure: Include EOObserving headers.
	(-setName:, -setExternalName:, -setArguments:): Call -willChange:
	when modifying the receiver.
	(-setUserInfo:): Ditto.

2005-02-17  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOEntity.m: Remove unnecessary include.
	(-setClassProperties:, -setPrimaryKeyAttributes:)
	(-setAttributesUsedForLocking:): Remove unnecessary casts.

	* EOAccess/EODatabaseContext.m:
	(-_currentCommittedSnapshotForObject:): Fix crash in logging.
	(recordChangesInEditingContext): Remove shadowing of local
	variable.
	
2005-02-16  David Ayers  <d.ayers@inode.at>

	* EOControl/EOClassDescription.m ([NSObject-snapshot]):
	Return valid dictionary for EONull.

	* EOControl/EONSAddOns.h/m ([NSString-hasShellPatternCharacter]):
	Remove.
	* EOControl/EOPriv.h/m (GDL2_shellPatternCharacterSet): Remove.
	(GDL2PrivInit): Remove usage of GDL2_shellPatternCharacterSet.

	* EOControl/EOMutableKnownKeyDictionary.m
	([EOMKKDInitializer-arrayMappingForKeys:]): Correct call to
	GDL2ObjectAtIndexWithImp.
	([EOMKKDInitializer-subsetMappingForSourceDictionaryInitializer:
	sourceKeys:destinationKeys:]): Ditto.

	* EOControl/EOGenericRecord.m (-storedValueForKey:)
	(-takeStoredValue:forKey:, -takeValue:forKey:, valueForKey):
	Use GSSelectorFromName instead of sel_get_any_uid.  Omit test
	to islower.  Format according to coding standards.
	* EOControl/EOKeyValueCoding.m (-takeValue:forKeyPath:isSmart:)
	Use unsigned for index bookkeeping.

	* EOAccess/EOAccessFault.m ([EOAccessFaultHandler-init])
	([EOAccessFaultHandler-dealloc])
	([EOAccessArrayFaultHandler-dealloc]): Use GSCurrentThread instead
	of objc_thread_id.
	(-completeInitializationOfObject): Correct comment.
	
2005-02-15  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAttribute.h/m (EOAdaptorUnknownType): Remove.
	(protoOverride): Increase range.
	(isAttributeValueInitialized): New flag.
	(extraRefCount): Make standalone instance variable.
	(setValueClassName:): Use isAttributeValueInitialized flag
	instead of EOAdaptorUnknownType.
	(adaptorValueType): Use isAttributeValueInitialized flag
	instead of EOAdaptorUnknownType.
	* EOAdaptors/Postgres95/Postgres95Values.m
	(newValueForBytes:length:attribute:): Remove reference to
	EOAdaptorUnknownType.

	* EOAdaptors/Postgres95/Postgres95SQLExpression.m
	(externalNameQuoteCharacter): Remove.
	
2005-02-14  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOModel.m (-writeToFile:): Clairfy documentation about
	setting receivers name and path.
	* EOControl/EOCheapArray.h/m (-initWithArray:): Correct signature
	and only initialize instance variable if call to super init was
	successfull.
	(-shallowCopy): Correct signature.
	* EOControl/EOClassDescription.m
	(-dictionaryForInstanceProperties): Remove casts.
	([NSObject-shallowCopy], [NSObject-snapshot])
	([NSObject-updateFromSnapshot:]): Ditto.
	([NSObject-validateValue:forKey:]): Correct key determination and
	use GSSelectorFromName instead of sel_get_any_uid.
	([NSObject-addObject:toPropertyWithKey:]): Use GSSelectorFromName
	instead of sel_get_any_uid.  Minor optimization.
	([NSObject-removeObject:fromPropertyWithKey:]): Ditto.
	* EOControl/EOEditingContext.h/m (_objectBasedChangeInfoForGIDInfo:)
	Only generate an entry for objects that the reciever actually
	maps.
	(-recordForGID:, -recordForObject:) Remove unused undocumented
	methods.
	(-updatedObjects, -insertedObjects, -deletedObjects): Reimplement.
	(-unprocessedObjects, -unprocessedInfo, -pendingInfo)
	(-hasUnprocessedChanges): Remove.
	* EOControl/EONull.h/m ([NSObject isEONull], [NSObject isNotEONull])
	(isNilOrEONull): Remove.
	* EOControl/EOPriv.h (_isNilOrEONull): Make static inline function.
	
2005-02-13  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOControl/EOClassDescription.m:
		o use IMPs
		o avoid NSString build in -addObject:toPropertyWithKey: 
		o avoid NSString build in -removeObject:fromPropertyWithKey:
	* EOAccess/EODatabaseContext.m:
		o added and use EODatabaseContext_globalIDForObjectWithImpPtr
		o use IMPs
	* EOAccess/EOEntity.m:
		o use IMPs
	* EOAccess/EOAttribute.m:
		o use IMPs
		o optimized -validateValue
	* EOAccess/EODatabaseContextPriv.h:
		o added EODatabaseContext_globalIDForObjectWithImpPtr
	* EOControl/EOPriv.[hm]:
		o added more helpers	
	* EOControl/EOEditingContext.m:
		o use IMPs
	* EOControl/EOGenericRecord.m:
		o use IMPs in descriptions
	* EOAdaptors/Postgres95Values.m:
		o use GDL2StringDefaultCStringEncoding() in 
		+newValueForCharactersType:length:attribute:
	* EOAdaptors/Postgres95Channel.m:
		o IMP optimizations
	* EOAdaptors/Postgres95Adaptor.m:
		o IMP optimizations
	
2005-02-11  Manuel Guesdon  <mguesdon@orange-concept.com>

	* EOAccess/EOAdaptor.m:
		o optimization in 'for' loops
	* EOAccess/EODatabase.m:
		o include <EOCOntrol/EOPriv.h>
		o replaced isNilOrEONull() by _isNilOrEONull()
	* EOAccess/EODatabaseContext.h:
		o added _snapshotForGlobalIDIMP
	* EOAccess/EODatabaseContext.m:
		o commented  NSEmitTODO in -objectsForSourceGlobalID:relationshipName:editingContext:
		o added beter exception format in qualifierForLockingAttributes:primaryKeyAttributes:entity:snapshot:
		o fix compiler warning in -relayPrimaryKey:object:entity:
		o logs
		o optimizations in -objectsWithFetchSpecification:editingContext:
		o replaced isNilOrEONull() by _isNilOrEONull()
		o replace [EOFault isFault:] by _isFault()
		o use _snapshotForGlobalIDIMP
		o IMP usage optimization
	* EOAccess/EOAttribute.[hm]:
		o added EOAdaptorUnknownType
		o added _adaptorValueType and avoid recomputing it each time
		o added _valueTypeChar to avoid string comparaisons
		o use EOPriv classes declarations
		o Temporary reverted David changes in -adaptorValueByConvertingAttributeValue
	* EOAccess/EOAttributePriv.h:
		o added _valueTypeChar to avoid string comparaisons
	* EOAccess/EOEntityPriv.h:
		o moved -attributeForPath: and -relationshipForPath: to EOEntityGDL2Additions category
	* EOAccess/EOEntity.h:
		o moved private -attributeForPath: and -relationshipForPath: to EOEntityGDL2Additions category
	* EOAccess/EOEntity.m:
		o better exception in classProperties
		o fix compiler warning in -setClassProperties:, -setPrimaryKeyAttributes:,
			-setAttributesUsedForLocking:
		o moved -attributeForPath: and -relationshipForPath: to EOEntityGDL2Additions category
		o include <EOCOntrol/EOPriv.h>
		o replaced [EONull null] by GDL2EONull
	* EOAccess/EOSQLExpression.m:
		o optimization in -tableListWithRootEntity:
		o optimization in -formatSQLString:format:
		o optimization in +sqlPatternFromShellPattern:
		o optimization in +sqlPatternFromShellPattern:withEscapeCharacter:
		o fix in -sqlStringForKeyValueQualifier:
		o added log in -sqlStringForKeyValueQualifier: for not handled readFormat
		o added log -addInsertListAttribute:value: for not handled writeFormat
		o added log -addUpdateListAttribute:value: for not handled writeFormat
		o changed  EOFLOGObjectFnStart to EOFLOGObjectFnStartCond
		o changed  EOFLOGObjectFnStop to EOFLOGObjectFnStopCond
		o include <EOCOntrol/EOPriv.h>
		o replaced [EONull null] by GDL2EONull
	* EOAccess/EOSQLQualifier.m:
		o implemented EOKeyComparisonQualifier -schemaBasedQualifierWithRootEntity
	* EOAccess/EOUtilities.m:
		o include <EOCOntrol/EOPriv.h>
		o replaced [EONull null] by GDL2EONull
	* EOControl/EOPriv.[hm]:
		o added. Contains various classes/selectors/IMPs
	* EOControl/EOClassDescription.m:
		o handle EONull case in -propagateDeleteForObject:editingContext:, 
			-addObject:toPropertyWithKey:, -snapshot, -removeObject:fromPropertyWithKey:,
			_setObject:forBothSidesOfRelationshipWithKey:, addObject:toBothSidesOfRelationshipWithKey:,
			-removeObject:fromBothSidesOfRelationshipWithKey:
		o fix compiler warning in -dictionaryForInstanceProperties, -shallowCopy, -updateFromSnapshot:, -snapshot
		o include <EOCOntrol/EOPriv.h>
		o replaced [EONull null] by GDL2EONull
		o replaced isNilOrEONull() by _isNilOrEONull()
		o fix in -validateForSave
		o rewritten -validateValue:forKey: selector build
	* EOControl/EOEditingContext.h:
		o added -hasUnprocessedChanges
	* EOControl/EOEditingContext.m:
		o added -hasUnprocessedChanges
		o added NS_DURING,... to catch exceptions
		o replace [EOFault isFault:] by _isFault()
		o IMP usage optimization
	* EOControl/EOKeyGlobalID.m:
		o replaced isNilOrEONull() by _isNilOrEONull()
		o include <EOCOntrol/EOPriv.h>
	* EOControl/EOGenericRecord.m:
		o partially rewritten -description
		o include <EOCOntrol/EOPriv.h>
		o replaced isNilOrEONull() by _isNilOrEONull()
		o replace [EOFault isFault:] by _isFault()
		o changed variable name type of _infoForInstanceVariableNamed:retType:retSize:retOffset:
		o rewritten valueForKey:,... to use cString NSKeyValueCoding
	* EOControl/EOKeyValueCoding.m:
		o changed NSAssert in NSArray -valueForKey:
		o optimization in NSDictionary -takeValue:forKeyPath:isSmart:
		o optimization in NSDictionary -takeStoredValue:forKeyPath:
		o include <EOCOntrol/EOPriv.h>
		o replaced [EONull null] by GDL2EONull
		o include <EOCOntrol/EOPriv.h>
	* EOControl/EOKeyValueQualifier.m:
		o fixes for EONull/nil in -evaluateWithObject:
		o replaced [EONull null] by GDL2EONull
		o include <EOCOntrol/EOPriv.h>
	* EOControl/EOSortOrdering.m:
		o include <EOCOntrol/EOPriv.h>
		o replaced [EONull null] by GDL2EONull
	* EOAdaptors/Postgres95SQLExpression.m:
		o float formatting in +formatValue:forAttribute:
		o added -externalNameQuoteCharacter
		o added +sqlPatternFromShellPattern:
		o added +sqlPatternFromShellPattern:withEscapeCharacter:
		o replaced isNilOrEONull() by _isNilOrEONull()
	* EOAdaptors/Postgres95Channel.m:
		o logs
	* EOAdaptors/Postgres95Values.m:
		o logs
		o fix in +setPostgres95Format:
		o fix calendard format to handle timezone (%z)
		o optimizations
	* EOControl/EOMutableKnownKeyDictionary.m
		o removed EOMKKDArrayMapping +dictionaryFromDictionary:subsetMapping:
		o include <EOCOntrol/EOPriv.h>
		o replaced isNilOrEONull() by _isNilOrEONull()
	* EOControl/EONSAddOns.[hm]:
		o added NSString(ShellPattern)

2005-02-10  David Ayers  <d.ayers@inode.at>

	* EOControl/EOEditingContext.m (_globalIDChanged:): Make assert
	more accurate.
	(-_invalidatedAllObjectsInStore:): Implement.
	(+setUsesContextRelativeEncoding:): Implement.
	(+usesContextRelativeEncoding): Implement.
	(+initialize): Set default value of usesContextRelativeEncoding
	depending on whether we are a gsweb application.

	* EOControl/EOObjectStoreCoordinator.m 
	(_invalidatedAllObjectsInSubStore:): Implement.
	
2005-02-08  Matt Rice  <ratmice@yahoo.com>

	* EOControl/EOEditingContext.m (-_globalIDChanged:): Add key
	to the snapshot dict before removing the temporary gid. Assert
	that the temporary gid and the new gid are not equal.

2005-02-08  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOModel.m (-init): Initialize _storedProcedures.
	(-storedProcedureNames): Simplify.
	(-storedProcedureNamed:): Reimplement.
	(-storedProcedures): Simplify.
	(-writeToFile:): Call _setPath: after preliminary testing.  Write
	stored procedures.
	(-initWithTableOfContentsPropertyList:path:): Reimplement stored
	procedure handling.
	(-encodeTableOfContentsIntoPropertyList:): Handle stored
	procedures.
	(-encodeIntoPropertyList:): Fix encoding title for stored
	procedures.
	(-addStoredProcedure:, -removeStoredProcedure:) Make more thread
	safe.
	(-loadAllModelObjects): Implement.
	* EOAccess/EOStoredProcedure.m (-initWithPropertyList:): Call
	awakeWithPropertyList: to finish initialization.
	(-encodeIntoPropertyList:): Implement.
	(-description): Implement.
	(-_setIsEdited): Implement.

	* EOControl/EOEditingContext.m
	(-_objectBasedChangeInfoForGIDInfo:): Make a little more gdb
	friendly.
	
2005-02-07  Matt Rice  <ratmice@yahoo.com>

	* EOControl/EOObjectStore.m: Assign correct key names for EOUpdatedKey,
	EOInsertedKey, EODeletedKey, EOInvalidatedKey.
	* EOAccess/EODatabaseContext.m (-_objectsChanged:, -commitChanges): Use
	EOUpdatedKey, EOInsertedKey, EODeletedKey, EOInvalidatedKey, instead
	of hard coded keys.
	* EOControl/EOEditingContext.m (-didSaveChanges, pendingInfo): Ditto.
		
2005-02-03  David Ayers  <d.ayers@inode.at>
	
	* EOAccess/EODatabaseContext.h/m:(_numLocked): Removed.
	(_lockedObjects): Use hash table instead of plain memory.
	(-_registerDatabaseContext:) Only attempt to retrieve entities
	with valid names.
	(-dealloc): Update _lockedObjects usage.
	(-lockObjectWithGlobalID:editingContext:): Inialize local variable.
	Fire fault if necessary to obtain snapshot and raise upon
	failure.
	(-registerLockedObjectWithGlobalID:): Use new hash table.
	(-isObjectLockedWithGlobalID:): Ditto.
	(-_cleanUpAfterSave): Ditto.
	(-invalidateAllObjects): Call -invalidateResultCache and make more
	gdb friendly.
	(-invalidateObjectsWithGlobalIDs:): Call
	forgetSnapshotsForGlobalIDs: on self instead of the _database.
	(-commitChanges): Execute the commit if a transaction is open
	to insure held locks are freed server side.
	(-snapshotForGlobalID): Move implementation to ...
	(-snapshotForGlobalID:after:): ... here and call this version
	in the _database.
	(-forgetSnapshotsForGlobalIDs:): Implement.
	(-forgetAllLocks): Ditto.
	(-forgetLocksForObjectsWithGlobalIDs:) Ditto.
	* EOAccess/EODatabaseDataSource.m (-insertObject): Do not
	insert object into the editing context.
	
	* EOAdaptors/Postgres95/Postgres95Adaptor.m (externalTypeNames):
	Add new types.
	
	* EOControl/EOEditingContext.h
	(_objectsById): Rename to _globalIDsByObject.
	(ignoreSharedContextNotifications, isSharedContextLocked): Added.
	(_sharedContext, fetchTimestamp): Ditto.
	(-_insertObject:withGlobalID:, -_observeUndoManagerNotifications)
	(-_processDeletedObjects)
	(-_processOwnedObjectsUsingChangeTable:deleteTable:)
	(-_registerClearStateWithUndoManager): Remove public declarations
	of private methods.
	(-didMergeChangedObjectsInEditingContext:) Rename to
	-editingContextDidMergeChanges:.
	* EOControl/EOEditingContext.m: Update header dependencies.
	Declare private methods locally.
	(EOThreadSafeQueue): New local class.
	(null, EOEditingContextClass, EOAssociationClass)
	(ecDeallocHT, assocDeallocHT): New static local variables.
	(EOConstObject, EOConstChanges, EOConstKey, EOConstValue)
	(EOConstAdd, EOConstDel): Added experimental variables.
	(_mergeValueForKey): New function.
	(-_mergeObject:withChanges:): Implement.
	(-_objectBasedChangeInfoForGIDInfo:): Ditto.
	(-_processObjectStoreChanges:): Implement.
	(-_objectsChangedInStore:): Reimplement.
	(-_changesFromInvalidatingObjectsWithGlobalIDs:): Implement.
	(-_uncommittedChangesForObject:fromSnapshot:): Implement.
	(-_mutableSetFromToManyArray:): Implement.
	(-_globalIDChanged:): Reimplement.
	(-_processNotificationQueue): Implement.
	(-_sendOrEnqueueNotification:selector:): Implement.
	(-invalidateAllObjects): Reimplement.
	(-_forgetObjectWithGlobalID:): Implement.
	(-_invalidateObject:withGlobalID:) Implement.
	(-_invalidateObjectWithGlobalID:) Implement.
	(-_invalidateObjectsWithGlobalIDs:) Implement.
	(-invalidateObjectsWithGlobalIDs:) Reimplement.
	(-_resetAllChanges:): Implement.
	(-_resetAllChanges): Implement.
	(-_enqueueEndOfEventNotification): Reimplement.
	(-_processEndOfEventNotification): Reimplement.
	(-noop:): Implement.
	(-_undoManagerCheckpoint:): Remove TODO.
	(-processRecentChanges): Ditto.
	(-_processRecentChanges:): Reimplement.
	(-_clearChangedThisTransaction:): Implement.
	(+initialize): Initialize some static variables.
	(+objectDeallocated:): Implemented.
	(_objectsById): Update usages with _globalIDsByObject.
	Do not retain objects but rely on new objectDeallocated:
	mechanism.
	(-initWithParentObjectStore:): Initialize undo manager.
	(-init): Make more gdb friendly.
	(-insertObject:): Use standard autorelease macro.
	(-_insertObject:withGlobalID:) Always insert the a new object
	into the inserted objects independent of previous GID mappings.
	(-hasChanges): Also check unprocessed changes.
	(-revert): Enable undo manager handling.
	(-objectWillChange:): Register for revert.
	(-recordObject:globalID:): Initialize ecDeallocHT and insert
	objects that are registered.
	(-forgetObject:): Remove objects from ecDeallocHT.

	([NSObject-dealloc]): Added hack to automagically deregister
	objects fromm the editing context and association mappings.

	* EOControl/EOFetchSpecification.h/m 
	(allVariablesRequiredFromBindings): Rename to
	requiresAllQualifierBindingVariables.
	(-setRequiresAllQualifierBindingVariables:)
	(-requiresAllQualifierBindingVariables): Implement.
	(-setAllVariablesRequiredFromBindings:)
	(-allVariablesRequiredFromBindings): Deprecate.
	Update various setter methods to make them promotion safe.

	* EOControl/EOObjectStoreCoordinator.m
	(requestStoreForGlobalID:fetchSpecification:object):
	Add all information to the notfication.
	(-invalidateObjectsWithGlobalIDs:): Reimplement via map table.
	(-lockObjectWithGlobalID:editingContext:): Implement.
	(-isObjectLockedWithGlobalID:editingContext:): Implement.

	* EOControl/EOObserver.m (+addObserver:forObject:): Cairify
	documentation.
	
2005-02-02  Matt Rice  <ratmice@yahoo.com>

	* EOAccess/EOEntity.m (-setName:): Validate the new name and remove
	the checks from here.
	(-validateName): Don't check if an attribute or a relationship with
	the name exist.  Check if an entity of the same name exists.
	Return an exception with a valid reason in all cases.
	* EOAccess/EOAttribute.m (validateName): Return an exception with a 
	valid reason in all cases.  Don't check if a relationship with the
	name exists.
	* EOAccess/EOAttribute.m (validateName): Return an exception with a 
	valid reason in all cases.  Don't check if a attribute with the
	name exists.

2005-01-27  David Ayers  <d.ayers@inode.at>

	* EOAccess/EODatabase.h/m:(EODistantPastTimeInterval): Added
	global variable.
	(snapshotForGlobalID:after:): Implemented.
	
2005-01-27  David Ayers  <d.ayers@inode.at>

	* EOControl/EOEditingContext.h/m
	(setDefaultFetchTimestampLag:, defaultFetchTimestampLag):
	Implemented.
	
2005-01-26  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOUtilities.m (NSObjectNotAvailableException): 
	Reactivate correct exception name.  Correct a few whitespace
	issues.
	
2005-01-26  Juergen Lorenz Simon  <juergen_simon@mac.com>
	    David Ayers  <d.ayers@inode.at>

	* EOAccess/EOEntity.m (-initWithPropertyList:owner:): Correct
	test for file existance and reformat.
	* EOControl/EOFetchSpecification.h/m 
	(-fetchSpecificationByApplyingBindings:) Remove obsolete method.
	(-fetchSpecificationWithQualifierBindings:) Implement.
	* EOControl/EOQualifier.m (initWithKeyValueUnarchiver:):
	Implement.
	(-encodeWithKeyValueArchiver:): Ditto.
	
2005-01-22  David Ayers  <d.ayers@inode.at>

	* EOControl/EOQualifer.m (getKey): Allow literal numbers without
	class declarations.  Reported by Dirk Lattermann.
	
2005-01-18  Peter Cooper  <comrade@obverse.com>

	* EOAdaptors/Postgres95/Postgres95Channel.m
	([-_describeBasicEntityWithName:forModel:]): Ignore droped
	columns.

2004-11-23  Matt Rice  <ratmice@yahoo.com>
	
	* EOControl/EOQualifier.m ([-filteredArrayUsingQualifier]): Handle
	nil qualifier argument.
	
2004-11-04  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOModelGroup.m ([+globalModelGroup]): Search for
	.eomodel files as well and call -addModelWithFile: with full
	path.
	* EOAccess/EOModel.m ([-initWithContentsOfFile:]): Add assert
	if file could not be read.

	* EOControl/EOKeyGlobalID.m ([-hash]): Improve quality of hash
	values.

2004-11-03  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAdaptorContext.h: Only use ASCII characters.
	* EOAccess/EOSQLQualifier.m: Ditto.
	
2004-11-02  David Ayers  <d.ayers@inode.at>

	* GDL2.gsdoc: New file for documentation project.
	* GNUmakefile: Build documentation project.
	* EOAccess/gdl2.gsdoc: Rename to ...
	* EOAccess/EOAccess.gsdoc: ... new name.
	* EOControl/gdl2control.gsdoc: Rename to ...
	* EOControl/EOControl.gsdoc: ... new name.
	* EOAccess/GNUmakefile: Update documentation project name.
	* EOControl/GNUmakefile: Ditto.
	* README: Remove reference to potentially obsolete name.

	* Tools/eomodeltemplate.gsdoc: Update encoding, DTD reference and
	minor reformatting.
	* Tools/gdl2gsdoc.gsdoc: Update DTD reference and add myself as
	coauthor.
	
	* EOAccess/EODatabaseContext.h/m: 
	(EOStoredProcedureNameHintKey, EOCustomQueryExpressionHintKey):
	Define missing keys.
	* EOControl/EODeprecated.h: (EOPrefetchingRelationshipHintKey)
	(EOFetchLimitHintKey, EOPromptAfterFetchLimitHintKey): Ditto.
	* EOControl/EOFetchSpecification.m:
	(EOPrefetchingRelationshipHintKey, EOFetchLimitHintKey)
	(EOPromptAfterFetchLimitHintKey): Ditto.  Use globally defined
	keys instead of local strings.
	* EOAccess/EODatabaseChannel.m
	(_selectWithFetchSpecification:editingContext:) Use globally 
	defined keys instead of local strings.

	* EOControl/EOQualifier.m (+[stringForOperatorSelector:]):
	Return selector name instead of nil if not given a standard
	EOQualifierOperator selector.
	
2004-10-20  David Ayers  <d.ayers@inode.at>

	* EOInterface/EODetailSelectionAssociation.h/m: New files.
	* EOInterface/EOMasterCopyAssociation.h/m: Ditto.
	* EOInterface/EOMasterDetailAssociation.h/m: Ditto.
	* EOInterface/EOMasterPeerAssociation.m: Ditto.
	* EOInterface/EOMatrixAssociation.h/m: Ditto.
	* EOInterface/EOPickTextAssociation.h/m: Ditto.
	* EOInterface/EOPopUpAssociation.h/m: Ditto.
	* EOInterface/EORadioMatrixAssociation.h/m: Ditto.
	* EOInterface/EORecursiveBrowserAssociation.h/m: Ditto.
	* EOInterface/EOTextAssociation.h/m: Ditto.
	* EOInterface/EODeprecated.h: Ditto.
	* EOInterface/EOInterface.h: Added new header files.
	* EOInterface/GNUmakefile: Added new files.
	
	* EOInterface/EODisplayGroup.m: Update includes.
	(setSortOrdering:, sortOrdering): Add deprecated methods.
	* EOInterface/EOAssociation.h: Remove redundant include.
	
2004-10-17  David Ayers  <d.ayers@inode.at>

	* EOInterface/EOComboBoxAssociation.h/m: New files.
	* EOInterface/EOControlAssociation.h/m: Ditto.
	* EOInterface/EOGenericControlAssociation.m: Ditto.
	* EOInterface/EOActionCellAssociation.m: Ditto.
	* EOInterface/NSImage+Additions.m: Ditto.
	* EOInterface/EOInterface.h: Added new headers.
	* EOInterface/GNUmakefile: Use new files.  Remove superfluous
	header files directory variable.
	
2004-10-16  David Ayers  <d.ayers@inode.at>

	* EOInterface/EOActionAssociation.h/m: New files.
	* EOInterface/EOActionInsertionAssociation.h/m: Ditto.
	* EOInterface/EOColumnAssociation.h/m: Ditto.
	* EOInterface/EOTableViewAssociation.m: Ditto.
	* EOInterface/EOInterface.h: Added new headers.
	* EOInterface/GNUmakefile: Use new files.
	* EOInterface/EOAssociation.m: (-[debugDescription]): Remove debug
	method.
	
2004-10-15  David Ayers  <d.ayers@inode.at>

	* EOInterface/EOAssociation.h/m: New files.
	* EOInterface/EOInterface.h: Add EOAssocitaion.
	* EOInterface/GNUmakefile: Ditto.
	* EOInterface/EODisplayGroup.h: Add missing forward declaration.
	* EOInterface/EODisplayGroup.m: ([-insertObjectAtIndex]):
	avoid warning.
	
2004-10-14  David Ayers  <d.ayers@inode.at>

	* EOInterface: New directory.
	* EOInterface/GNUmakefile: New file.
	* EOInterface/Makefile.preamble: Ditto.
	* EOInterface/EOInterface.h: Ditto.
	* EOInterface/EODisplayGroup.h: Ditto.
	* EOInterface/EODisplayGroup.m: Ditto.
	
2004-10-07  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAttribute.m (encodeIntoPropertyList:): Encode numeric
	values as stings for WO45 EOModel format compatibility.

2004-09-28  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOEntity.m ([EOEntityClassDescription
	awakeObject:fromInsertionInEditingContext:]): Only process class
	properties.  Remove inactive code.  Document.

	* EOControl/EOObserver.m ([EOObserverCenter observersForObject:]):
	Document as final.  Return immutable copy if observers.
	([EOObserverCenter observerForObject:ofClass:]): Revert to using
	internal map.  Avoid allocating spurious enumerator.  Update
	documentation.

	* EOControl/EODebug.m (TypeToNSString): Use #ifdef to test for
	_C_LNG_LNG handling.
	* EOControl/EOFault.m: Include limits.h for UINT_MAX.
	* EOControl/EOGenericRecord.m: Ditto.
	* EOControl/EONSAddOns.m: Ditto.
	
2004-09-26  David Ayers  <d.ayers@inode.at>

	* EOControl/EOObserver.m: Update includes.  Document classes and
	methods.
	(+[EOObserverCenter addObserver:forObject:]): Do not retain
	object.  Add logging.
	(+[EOObserverCenter removeObserver:forObject:]): Do not release
	object.
	(+[EOObserverCenter observerForObject:]): Use +observersForObject:
	to obtain the observers for overriding subclasses.
	(+[EOObserverCenter enableObserverNotification]): Raise
	NSInternalInconsistencyException when called to often.
	(-[EODelayedObserver objectWillChange:]): Use the receivers
	observerQueue for overriding subclasses.
	(-[EODelayedObserver discardPendingNotification]): Ditto.
	(-[EODelayedObserverQueue enqueueObserver:]): Relocate assertion
	to safer place.
	(-[EOObserverProxy initWithTarget:action:priority:]): Implement.
	(-[EOObserverProxy dealloc],-[EOObserverProxy priority])
	(-[EOObserverProxy subjectChanged]): Ditto.

	* EOAccess/EOEntity.m (-[setName:]): Skip the uniqueing if the
	name is the same.
	
2004-09-25  David Ayers  <d.ayers@inode.at>

	* EOControl/EOObserver.m
	(-[EODelayedObserverQueue _notifyObservers:]): Fix prototype set
	queue flag.
	(-[EODelayedObserverQueue enqueueObserver:]): Fix setting of queue
	flag and registering observers.
	(-[EODelayedObserverQueue dequeueObserver:]): Break linked list.
	Correct highestNonEmptyQueue setting.  Fix setting of queue flag.
	(-[EODelayedObserverQueue notifyObserversUpToPriority]):  Dequeue
	observers during processing.
	
2004-09-24  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOEntity.m (-[setName:],-[setExternalName:])
	(-[setExternalQuery:],-[setClassName:],-[setDocComment]): Use
	ASSIGNCOPY instead of ASSIGN to deal with mutable strings.
	
2004-09-09  Simon Stapleton  <simon@tufty.co.uk>
	    David Ayers  <d.ayers@inode.at>

	* config.h.in (HAVE_DECL_PQFREEMEM, HAVE_DECL_PQUNESCAPEBYTEA):
	Added new test markers.
	* config/postgres.m4; Add tests for new markers.
	* configure: Regenerated.
	* EOAdaptors/Postgres95/Postgres95Compatibility.h: New file.
	
	* EOAdaptors/Postgres95/Postgres95Adaptor.m: Change default data
	type for NSData to bytea.
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m
	([Postgres95SQLExpression formatValue:forAttribute:])
	Format bytea data.
	* EOAdaptors/Postgres95/Postgres95Values.m
	([Postgres95Values newValueForBytesType:length:attribute:]):
	Decode bytea data.
	
2004-09-08  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAttribute.m (-[copyWithZone:]): Override
	implementation of GCObject as it isn't safe to copy EOAttributes.
	* EOAccess/EOEntity.m (-[addAttribute:]); Use NSAsserts to check
	integrity of parameters.  Insure that attribute is not used by
	other entity or stored procedure.
	(-[_setModel:]): Rename from -setModel:.  Assert that entity is
	not used by another model.
	* EOAccess/EOEntityPriv.h (-[_setModel:]): Rename from
	-setModel:.
	* EOAccess/EOModel.m (-[_addEntity:]): Use -_setModel: instead of
	-setModel:.
	(-[removeEntity:]): Ditto.
	(-[addEntity:)): Use NSAssert to insure that entity name is unique
	and that the entity is not being used by other mode.  Use
	-_setModel: instead of -setModel:.
	
2004-09-07  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAttribute.h
	* EOAccess/EOAttribute.m (_parent, -[setParent:]): Do not retain
	backward reference.
	(-[setName:]): Mark as editited if parent is an entity.

	* EOAccess/EOModel.m (-[_updateCache]): New method.
	(-[_addEntity:]): Set model via public API.
	* EOAccess/EOEntity.m
	* EOAccess/EOEntityPriv.h
	(-[EOModel _updateCache]): Declare private EOModel method.
	(-[setName:]): Insure model updates its cache.
	(-[setModel:]): Set instance variable directly without 
	retaining it.
	(-[_setModel:]): Remove.
	(-[gcDecrementRefCountOfContainedObjects]): Do not decrement
	backward reference to owning model.

	* EOAccess/EORelationship.m
	(-[setDefinition:]): Allow definition to unset.
	(-[setEntity:]): Mark both old and new entity as edited.

	* EOAccess/EOStoredProcedure.m
	(-[initWithPropertyList:]): Make return type explicit.

	* EOControl/EOGenericRecord.m
	(-[_infoForInstanceVariableNamed:retType:retSize:retOffset:]):
	Replace usage of deprecated GSFindInstanceVariable with
	GSObjCFindVariable.
	(-[_getValueForKey:selector:type:size:offset:]): Replace
	usage of deprecated GSGetValue with GSObjCGetValue.
	(-[_setValueForKey:object:selector:type:size:offset:]): Replace
	usage of deprecated GSSetValue with GSObjCSetValue.

	* EOControl/EOFault.m (+/-[respondsToSelector:]): Replace usage
	of deprecated GSGetInstanceMethod with GSGetMethod.
		
2004-06-23  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAccessFault.m: Include privat headers locally.
	* EOAccess/EOAdaptor.m: Ditto.
	* EOAccess/EOAdaptorChannel.m: Ditto.
	* EOAccess/EOAdaptorContext.m: Ditto.
	* EOAccess/EOAttribute.m: Ditto.
	* EOAccess/EODatabaseChannel.m: Ditto.
	* EOAccess/EODatabaseContext.m: Ditto.
	* EOAccess/EODatabaseOperation.m: Ditto.
	* EOAccess/EOModel.m: Ditto.
	* EOAccess/EORelationship.m: Ditto.
	* EOAccess/EOSQLExpression.m: Ditto.
	* EOAccess/EOSQLQualifier.m: Ditto.

	* EOAccess/EOEntity.h: Remove declarations of privat methods.
	Reorder declaraions.
	(+[entity], +[entityWithPropertyList:owner:]): Deprecate.
	(-[sharedObjectFetchSpecificationNames]): New method.
	(-[setSharedObjectFetchSpecificationsByName:]: Ditto.
	(-[addSharedObjectFetchSpecificationByName:]: Ditto.
	(-[removeSharedObjectFetchSpecificationByName:]: Ditto.
	* EOAccess/EOEntityPriv.h: Add declarations of privat methods.
	Reorder declarations.
	* EOAccess/EOEntity.m: Reorder implementations according to
	headers.  Include privat headers locally.
	(+[entity], +[entityWithPropertyList:owner:]): Deprecate.
	(-[sharedObjectFetchSpecificationNames]): New method.
	(-[setSharedObjectFetchSpecificationsByName:]: Ditto.
	(-[addSharedObjectFetchSpecificationByName:]: Ditto.
	(-[removeSharedObjectFetchSpecificationByName:]: Ditto.
	
	* EOAccess/EOEntity.m: Adapt usage of deprecated -[entity...]
	and privat methods.
	* EOAccess/EOModel.m: Ditto.
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m: Ditto.

	* TODO: Add comment.

2004-06-21  David Ayers  <d.ayers@inode.at>

	* EOControl/EONSAddOns.h/m
	(GDL2_ActivateCategory, GDL2_ActivateAllGDL2Categories)
	(GDL2_DumpMethodList): New functions.
	
	* EOControl/EOKeyValueCoding.m
	(initialize): Make order of initialization more thread safe.
	(NilToNull): Remove helper class.
	([NSObject -unableToSetNilForKey:]): Implement.
	([NSObject -GDL2KVCNSObjectICategoryID]): New method.
	([NSObject +load]): Ditto.
	([NSDictionary -GDL2KVCNSDictionaryICategoryID]): Ditto.
	([NSDictionary +load]): Ditto.
	([NSMutableDictionary -GDL2KVCNSDictionaryICategoryID]): Ditto.
	([NSMutableDictionary +load]): Ditto.
	
	* EOControl/EOClassDescription.m
	([NSObject -GDL2CDNSObjectICategoryID]): New method.
	([NSObject +load]): New method.
	([NSObject -validateValue:forKey:]) Introduce temporary variable
	to allow correct formatting.
	([NSObject -snapshot]): Reformat log string.
	([NSObject -addObject], [NSObject -removeObject])
	([NSObject _setObject], [NSObject -editingContext]): Reformat.
	
2004-06-04  Simon Stapelton  <simon@tufty.co.uk>

	* EOControl/EOAndQualifier.m, 
	* EOControl/EOKeyComparisonQualifier.m,
	* EOControl/EOOrQualifier.m:
	([-initWithKeyValueUnarchiver]): Implement.

2004-05-16  David Ayers  <d.ayers@inode.at>

	* EOAccess/EODatabaseContext.m: Replace EOFLOGObjectLevel and
	EOFLOGObjectLevelArgs with NSDebugMLLog.  Remove some superfluos
	NSLogs and replace others woth NSDebugMLLogs.  Reformat.
	* EOAccess/EOEntity.m ([EOEntity primaryKeyForGlobalID:]): Ditto.
	
2004-05-15  Matt Rice  <ratmice@yahoo.com>

	* EOAdaptors/Postgres95/Postgres95Channel.m
	([Postgres95Channel describeModelWithTableNames:]):
	Set class properties.
	
2004-05-15  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/Postgres95Values.m
	(-[NSCalendarDate postgres95Format]): Return ISO date format.
	(-[NSCalendarDate setPostgres95Format:]): Deprecate method.
	* EOAdaptors/Postgres95/Postgres95Channel.m
	(-[Postgres95Channel _setDateStyle]): New method to request ISO
	date format.
	(-[Postgres95Channel openChannel]): Call -_setDateStyle to set ISO
	date fromat.
	
	* EOAccess/EOAttribute.m
	([EOAttribute initialize]): Implement class caching.
	([EOAttribute *]): Use cached classes.
	([EOAttribute adaptorValueByConvertingAttributeValue:]):
	Only convert attributes when necessary.
	
2004-05-14  David Ayers  <d.ayers@inode.at>

	* EOControl/EOEditingContext.m 
	(-[EOEditingContext validateChangesForSave]):  Use processed
	changes instead of unprocessed changes.
	
2004-05-12  Matt Rice  <ratmice@yahoo.com>

	* EOControl/EOQualifier.h: Add NSMutableSet class declaration.
	
2004-05-12  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOModel.m ([EOModel entityNamed:]): Fix typo.

	* EOControl/EOQualifier.h/m
	([EOQualifier allQualifierKeys])
	([EOQualifier addQualifierKeysToSet:]): Implement new methods.
	* EOControl/EOAndQualifier.m 
	* EOControl/EOKeyComparisonQualifier.m
	* EOControl/EOKeyValueQualifier.m
	* EOControl/EONotQualifier.m
	* EOControl/EOOrQualifier.m
	([EO*Qualifier addQualifierKeysToSet:]): Implement new method.
	
2004-05-07  David Ayers  <d.ayers@inode.at>
	    Alexander Malmberg <alexander@malmberg.org>

	* EOControl/EONSAddOns.h/m
	([NSString initialCapitalizedString]): New method.
	* EOControl/EOKeyValueCoding.m
	([NSArray-valueForKey:]): Allow ommitting keys for computational
	key paths.  Correct key capitalization.  Update documentation.
	([NSArray-valueForKeyPath]): Ditto.
	
2004-04-23  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAdaptor.m ([EOAdaptor availableAdaptorNames]):
	Return unique names if multiple Adaptors are found.  Document.
	Reported by Matt Rice <ratmice@yahoo.com>.
	
2004-04-21  David Ayers  <d.ayers@inode.at>

	* README: New file.
	* INSTALL: New file.
	* NEWS: New file.
	* Version: Update to 0.9.1.

2004-04-20  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/LoginPanel/GNUmakefile
	* EOAdaptors/Postgres95/LoginPanel/Makefile.postamble: Allow clean
	and distclean targets when -gui is not available.

2004-04-18  David Ayers  <d.ayers@inode.at>

	* EOControl/EOGlobalID.h: Correct size of _bytes.
	* EOControl/EOGlobalID.m: Update includes.
	(sequence): Define plattform independently.
	(sequenceRev): Remove.
	([EOGlobalID isEqual:]): Fix declaration.
	([EOTemporaryGlobalID init]): Ditto.
	([EOTemporaryGlobalID isEqual:]): Ditto.  Remove access 
	instance variable directly instead of relying on superflous 
	accessor method.
	([EOTemporaryGlobalID assignGloballyUniqueBytes]): Rewrite and 
	document.
	([EOTemporaryGlobalID _bytes]): Remove.
	([EOTemporaryGlobalID encodeWithCoder:]): Encode contents of
	bytes instead of pointer value.
	([EOTemporaryGlobalID decodeWithCoder:]): Decode contents of
	bytes instead of pointer value.
	
2004-04-17  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.m
	(vfmaxf) Make static.  Reformat.
	([Postgres95LoginPanel dealloc]): Use DESTROY in favor of
	RELEASE.
	([Postgres95LoginPanel init]): Minor reformatting and more
	tempRect usage.

	* EOAccess/EODatabase.m ([EODatabase dealloc]): Use DESTROY
	in favor of release.
	* EOAccess/EOExpressionArray.m ([EOExpressionArray dealloc]):
	Ditto.
	* EOAdaptors/Postgres95/Postgres95Adaptor.m
	([Postgres95Adaptor dealloc]): Ditto.

	* EOControl/EOCheapArray.h ([EOCheapArray dealloc]) Remove
	declaration.
	* EOControl/EOKeyValueArchiver.m
	([EOKeyValueArchivingContainer dealloc]): Ditto.
	* EOControl/EOMutableKnownKeyDictionary.h
	([EOMKKDInitializer dealloc]),
	([EOMKKDKeyEnumerator dealloc]),
	([EOMKKDSubsetMapping dealloc]),
	([EOMKKDArrayMapping dealloc]),
	([EOMutableKnownKeyDictionary dealloc]) Ditto.

2004-04-17  Matt Rice  <ratmice@yahoo.com>

	* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.m
	(vfmaxf) New function.
	([Postgres95LoginPanel init]): Redo UI layout.
	([Postgres95LoginPanel _databaseNames]): Reformat.
	
2004-04-17  David Ayers  <d.ayers@inode.at>

	* */*.h: Format declarations consistently.  Add -*-objc-*
	shabang line.  Replace remaining extern declarations with
	GDL2*_EXPORT.
	
2004-04-16  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOModel.m ([EOModel writeToFile:]) Set path (and
	name implicitly) of the receiver.  Create backup file when
	necessary after removing the potentially existing backup file.
	Raise NSInvalidArgumentExceptions upon failures.  Add support
	for .eomodel files.  Document.
	([EOModel _verifyBuiltEntityObject:named:]): Add support for
	.eomodel files.
	
2004-04-15  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/Makefile.preamble: Add link flags
	for Darwin.
	* EOAdaptors/Postgres95/LoginPanel/GNUmakefile: Ditto.

	* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.m:
	Include GNUstep headers for non-*-gnu-* configurations.

	* config/postgres.m4: Generalize test for PostgreSQL.
	* configure: Regenerated.
	
	* Makefile.postamble: Remove autom4te.cache on distclean.

	* TODO: Start tracking major TODO's until formal auditing is
	available.

	* EOAccess/EODatabase.m
	* EOControl/EOGlobalID.h: Added documentation about
	EOGlobalIDChangedNotification semantics.

	* EOControl/EOSortOrdering.m: Removed superfluous define.
	
2004-04-12  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/LoginPanel/Makefile.postamble:
	Create symlink before building.  Error reported by Ludovic
	Marcotte <ludovic@Sophos.ca> and Matt Rice
	<ratmice@yahoo.com>.

2004-03-29  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/Postgres95SQLExpression.m
	([Postgres95SQLExpression columnTypeStringForAttribute:]):
	Implement special handling for text types to ignore precision 
	and width as suggested by Matt Rice <ratmice@yahoo.com>.

	* EOAccess/EOModelGroup.m ([EOModelGroup globalModelGroup]):
	Create single global model group and cache it to allow persistant
	manual adding of models.
	
2004-03-19  David Ayers  <d.ayers@inode.at>

	* *.[hm] Use GNUSTEP in favor of NeXT_Foundation_LIBRARY
	as requested by Marcus Mueller <znek@mulle-kybernetik.com>.
	
2004-03-10  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/LoginPanel/Makefile.postamble:
	Don't remove GNUmakefile on distclean.
	* EOAdaptors/Postgres95/LoginPanel/GNUmakefile: Add include
	directive for local GDL2 headers.

2004-03-08  Matt Rice  <ratmice@yahoo.com>

	* EOAdaptors/Postgres95/Postgres95Channel.h
	([Postgres95Channel describeDatabaseNames]): Declare method.
	([Postgres95Channel userNameIsAdministrative:]): Ditto.

	* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.m
	([Postgres95LoginPanel init]): Added parentheses to assignment
	to quiet compiler warning.
	
2004-03-08  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/Postgres95Adaptor.m
	([Postgres95Adaptor createPGconn]): Insure cleanup code gets 
	executed before exception is raised.

	* EOAdaptors/Postgres95/LoginPanel/Makefile.postamble: New file
	to create symlink to be able to include local adaptor headers.

2004-03-06  David Ayers  <d.ayers@inode.at>

	* configure.ac: Replace generation of
	EOAdaptors/Postgres95/Makefile.preamble with
	EOAdaptors/Postgres95/config.mak.
	* configure: Regenerate.
	* EOAdaptors/Postgres95/Makefile.postamble: Replace removal of
	EOAdaptors/Postgres95/Makefile.preamble with
	EOAdaptors/Postgres95/config.mak.
	* EOAdaptors/Postgres95/Makefile.preamble: New file replacing...
	* EOAdaptors/Postgres95/Makefile.preamble.in: ...this file.
	* EOAdaptors/Postgres95/config.mak.in: New file.

	* EOAdaptors/Postgres95/LoginPanel/GNUmakefile: Correct comment
	identifier.  Include config.mak and other potential makefiles.

	* EOAdaptors/Postgres95/Postgres95SQLExpression.m
	([Postgres95SQLExpression 
	dropDatabaseStatementsForConnectionDictionary:
	administrativeConnectionDictionary:]): Remove excess quotes.

2004-03-06  Matt Rice  <ratmice@yahoo.com>

	* EOAccess/EOAdaptor.m
	([EOAdaptor dropDatabaseWithAdministrativeConnectionDictionary:
	administrativeConnectionDictionary:]): Correct documentation.
	([EOAdaptor administrativeConnectionDictionaryForAdaptor:]):
	Documented.
	
	* EOAdaptors/Postgres95/GNUmakefile.in: Added LoginPanel subproject.
	* EOAdaptors/Postgres95/Postgres95Adaptor.m
	([Postgres95Adaptor assertConnectionDictionaryIsValid]): Added
	test to insure channel is open befor attempting to close.
	([Postgres95Adaptor createPGconn]): Added exception to raise.
	* EOAdaptors/Postgres95/Postgres95Channel.m
	([Postgres95/Postgres95Channel describeDatabaseNames]): Implemented
	new method.
	([Postgres95 userNameIsAdministrative]): Ditto.

	* EOAdaptors/Postgres95/LoginPanel/GNUmakefile: New file.
	* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.h/m: Ditto.

2004-03-06  David Ayers  <d.ayers@inode.at>

	* EOControl/Makefile.preamble:  Fix --disable-flattend.

2004-02-26  David Ayers  <d.ayers@inode.at>

	* EOControl/EODebug.h: Include missing header for non-*-gnu-*.
	* EOAccess/EOAdaptor
	([EOAdaptor _performAdministativeStatementsForSelect:
	connectionDictionary:administrativeConnectionDictionary]):
	Add cast to silence warning.
	* EOControl/EOCheapArray.m ([EOCheapArray autorelease]):
	Replace objc_thread_id with GSCurrentThread.
	([EOCheapArray release]): Ditto.
	([EOCheapArray retainCount]): Ditto.
	([EOCheapArray retain]): Ditto.
	([EOCheapArray dealloc]): Ditto.
	([EOCheapArray shallowCopy]): Ditto.
	* EOControl/EOFault.m: Include missing header.
	([EOFault dealloc]): Replace objc_thread_id with GSCurrentThread.

	* Tools/EOModel+GSDoc.m: Fix include.

2004-02-26  Matt Rice  <ratmice@yahoo.com>

	* EOAdaptors/Postgres95/Postgres95Channel.m: Added missing 
	include.
	([Postgres95Channel _describeForeignKeysForEntity:forModel:]):
	Fix typo to unsure using correct entity.

2004-02-25  David Ayers  <d.ayers@inode.at>

	* EOControl/EOCheapArray.m ([EOCheapArray dealloc]): Replace
	usage of objc_thread_id with GSCurrentThread.
	* EOControl/EODebug.m: Include headers for non *-gnu-*.
	Format function headers according to GNU standards.
	(objectDescription): Make static and return something meaningfull
	on failure.
	(IVarInString, TypeToNSString, DumpIVar): Make static and format
	function headers according to GNU standards.
	(EOFLogDumpObject_, EOFLogAssertGood_): Format function headers 
	according to GNU standards.
	
	* EOAccess/EOSQLExpression.m
	([EOSQLExpression foreignKeyConstraintStatementsForRelationship:]):
	Create constraint even though no inversRelationship exists.
	([EOSQLExpression foreignKeyConstraintStatementsForEntityGroup:]):
	Create constraints for all entities in the group which have no
	parent entity.
	([EOSQLExpression foreignKeyConstraintStatementsForEntityGroups:]):
	Reformat for source level debuging.
	([EOSQLExpression tableListWithRootEntity:]): Honor 
	EOAdaptorQuotesExternalNames.
	([EOSQLExpression createTableStatementsForEntityGroup:]): Ditto.
	([EOSQLExpression dropTableStatementsForEntityGroup:]): Ditto.
	([EOSQLExpression primaryKeyConstraintStatementsForEntityGroup:]): 
	Ditto.
	([EOSQLExpression primaryKeySupportStatementsForEntityGroup]): 
	Ditto.
	([EOSQLExpression dropPrimaryKeySupportStatementsForEntityGroup:]): 
	Ditto.
	([EOSQLExpression prepareConstraintStatementForRelationship:
	sourceColumns:destinationColumns:]): Ditto.
	* EOAdaptors/Postgres95/Postgres95SQLExpression.h/m
	([Postgres95SQLExpression externalNameQuoteCharacter]): Remove.
	([Postgres95SQLExpression 
	createDatabaseStatementsForConnectionDictionary:
	administrativeConnectionDictionary]): Honor 
	EOAdaptorQuotesExternalNames.
	([Postgres95SQLExpression 
	dropDatabaseStatementsForConnectionDictionary:
	administrativeConnectionDictionary:]): Ditto.
	([Postgres95SQLExpression dropTableStatementsForEntityGroup:]): 
	Ditto.
	([Postgres95SQLExpression tableListWithRootEntity:]): Ditto.

	* EOAdaptors/Postgres95/Postgres95Channel.m: Define 
	EOAdaptorDebugLog convinience macro and use it throughout the file.
	([Postgres95Channel _describeResults]): Rename externalName to 
	externalType. Avoid nested messages for source level debugging.
	([Postgres95Channel _describeBasicEntityWithName:forModel:]):
	New support method derived from describeModelWithEntityNames:.
	([Postgres95Channel _describeForeignKeysForEntity:forModel:]):
	Ditto.
	([Postgres95Channel describeModelWithEntityNames:]): Use new
	support methods in an autotelease pool.
	([Postgres95Channel primaryKeyForNewRowWithEntity:]): Honor 
	EOAdaptorQuotesExternalNames.
	
	* EOAdaptors/Postgres95/Postgres95Adaptor.m: Reorder external
	type mappings to correspond to EOAdaptorValueTypes.
	
	* EOAccess/EOModel.m ([EOModel beautifyNames]): Remove log and 
	reformat comments. 

2004-02-23  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAdaptor.m ([EOAdaptor sharedLoginPanelInstance]):
	Maintain instances on a per class basis as reported by Matt Rice.

2004-02-22  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAdaptor.h/m: New globals for GDL2 specific
	administrative key handling.
	([EOAdaptor sharedLoginPanelInstance]): Implemented.
	* EOAccess/EOSQLExpression.m ([EOSQLExpression
	_administrativeDatabaseStatementsForSelector:forEntityGroup:],
	[EOSQLExpression _dropDatabaseStatementsForEntityGroups:],
	[EOSQLExpression _createDatabaseStatementsForEntityGroups:]):
	Implemented new private support methods.
	([EOSQLExpression schemaCreationStatementsForEntities:options:]):
	Added support for EODropDatabaseKey and EOCreateDatabaseKey.

2004-02-19  David Ayers  <d.ayers@inode.at>

	* EOControl/Makefile.postamble: Remove obsolete dependency and
	target.  Add dependancy and targets for target specific config.h
	file.
	* EOAccess/Makefile.preamble: Add include option for target
	specific config.h file.
	* EOAdaptors/Postgres95/Makefile.preamble.in: Ditto.
	* EOModeler/Makefile.preamble: Ditto.
	* Tools/Makefile.preamble: Ditto.
	* EOAccess/Makefile.postamble: Comment empty target.
	
	* EOControl/EODebug.m (EOFLogC_): Log thread in a portable
	fashion.

2004-02-14  Matt Rice  <ratmice@yahoo.com>

	* EOAdaptors/Postgres95/Postgres95Channel.m
	([Postgres95Channel describeModelWithTableNames:]): Implemented.

2004-02-12  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAdaptor.h
	([EOLoginPanel administrativeConnectionDictionaryForAdaptor]):
	Correct spelling.
	([EOLoginPanel runPanelForAdaptor:validate:]): Move to
	EODeprecated.h.
	([EOLoginPanel runPanelForAdaptor:validate:allowsCreation:]):
	Declared.
	* EOAccess/EOAdaptor.m:
	([EOAdaptor adaptorWithModel:]): Reformat.
	([EOAdaptor adaptorWithName:]): Do not append EOAdaptor
	redundantly.
	([EOAdaptor _performAdministativeStatementsForSelector:
	connectionDictionary:administrativeConnectionDictionary:]):
	Implemented.
	([EOAdaptor createDatabaseWithAdministrativeConnectionDictionary:]):
	Documented and implemented.
	([EOAdaptor dropDatabaseWithAdministrativeConnectionDictionary]):
	Ditto.
	([EOAdaptor runLoginPanelAndValidateConnectionDictionary]):
	Ditto.
	([EOAdaptor runLoginPanel]): Ditto.
	([EOAdaptor assignExternalInfoForAttribute:]): Ditto.
	([EOAdaptor assignExternalInfoForEntity]): Ditto.
	([EOAdaptor assignExternalInfoForEntireModel:]): Ditto.
	([EOAdaptor internalTypeForExternalType:model:]): Documented.
	([EOAdaptor externalTypesWithModel]): Ditto.
	([EOAdaptor assignExternalTypeForAttribute]): Ditto.
	([EOLoginPanel runPanelForAdaptor:validate:allowsCreation:]):
	Implemented.
	([EOLoginPanel runPanelForAdaptor:validate:]): Deprecated.
	* EOAccess/EODeprecated.h
	([EOLoginPanel runPanelForAdaptor:validate:]): Deprecated.
	* EOAdaptors/Postgres95/Postgres95Adaptor.m
	([Postgres95Adaptor
	createDatabaseWithAdministrativeConnectionDictionary:]): Removed.
	([Postgres95Adaptor
	dropDatabaseWithAdministrativeConnectionDictionary:]): Ditto.
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m
	([Postgres95SQLExpression
	createDatabaseStatementsForConnectionDictionary:
	administrativeConnectionDictionary:]): Implemented.
	([Postgres95SQLExpression
	dropDatabaseStatementsForConnectionDictionary:
	administrativeConnectionDictionary:]): Ditto.
	
	* EOControl/EOClassDescription.m
	([EOClassDescription initialize]): Use local 
	GSLazyRecursiveLock instead of old locking mechanism.
	([EOClassDescription classDelegate]): Ditto.
	* EOControl/EOGenericRecord.m:  Use GSLazyRecursiveLock
	instead	of NSRecursiveLock.
	* EOControl/EONSAddOns.h/m (GDL2GlobalLock, 
	GDL2GlobalRecursiveLock) Remove.
	(GDL2GlobalLockVendor) Ditto.
	(GSUseStrictWO451Compatibility): Use local GSLazyRecursiveLock
	instead of old locking mechanism.
	* EOControl/EOFault.m: Remove superfluous include.
	
	* EOControl/EOKeyValueQualifier.m
	([EOKeyValueQualifier initWithKey:operatorSelector:value:]):
	Use EONull instance if value is nil.
	([EOKeyValueQualifier evaluateWithObject:]): Use EONull
	instance if object is nil.
	* EOControl/EOQualifier.m (getKey): Always interpret 
	'attName = nil' qualifiers as EOKeyValueQualifiers.
	
	* EOControl/EODebug.h/m(EOFLogAssertGood_): Remove dependancy 
	on superfluous category.
	([NSObject isa]): Remove category.
	
2004-02-01  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAdaptor.m ([EOAdaptor adaptorWithName:]): Use
	NSSearchPathForDirectoriesInDomains() instead of GNUstep
	specific environment variable.

2004-01-31  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAccessFault.m: Add #includes for non *-gnu-*.
	* EOAccess/EOAdaptorOperation.m: Ditto.
	* EOAccess/EOAttribute.m: Ditto.
	* EOAccess/EODatabaseDataSource.m: Ditto.
	* EOAccess/EODatabaseOperation.m: Ditto.
	* EOAccess/EOEntity.m: Ditto.
	* EOAccess/EOExpressionArray.m: Ditto.
	* EOAccess/EOJoin.m: Ditto.
	* EOAccess/EORelationship.m: Ditto.
	* EOAccess/EOSQLExpression.m: Ditto.
	* EOAdaptors/Postgres95/Postgres95Adaptor.m: Ditto.
	* EOAdaptors/Postgres95/Postgres95Channel.m: Ditto.
	* EOAdaptors/Postgres95/Postgres95Context.m: Ditto.
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m: Ditto.
	* EOAdaptors/Postgres95/Postgres95Values.m: Ditto.
	* EOControl/EOCheapArray.m: Ditto.
	* EOControl/EODetailDataSource.m: Ditto.
	* EOControl/EOGenericRecord.m: Ditto.
	* EOControl/EOKeyComparisonQualifier.m: Ditto.
	* EOControl/EOKeyGlobalID.m: Ditto.
	* EOControl/EOKeyValueQualifier.m: Ditto.
	* EOControl/EOMutableKnownKeyDictionary.m: Ditto.
	* EOControl/EONSAddOns.m: Ditto.
	
	* Tools/EOModel+GSDoc.m: Remove usage of -version.

2004-01-30  David Ayers  <d.ayers@inode.at>

	* GNUmakefile: Build EOControl before EOAccess.
	* EOAccess/GNUmakefile: Remove LIBRARIES_DEPEND_UPON handling.
	* EOControl/GNUmakefile: Ditto.
	* EOModeler/GNUmakefile: Ditto.
	* Tools/GNUmakefile: Ditto.
	* EOAccess/Makefile.preamble: Correct LIBRARIES_DEPEND_UPON
	handling.
	* EOControl/Makefile.preamble: Ditto.
	* EOModeler/Makefile.preamble: Ditto.
	* Tools/Makefile.preamble: Ditto.
	Add -lgnustep-baseadd as ADDITIONAL_TOOL_LIBS for non-*-gnu-*.
	
2004-01-29  David Ayers  <d.ayers@inode.at>

	* EOAccess/GNUmakefile:  Test FOUNDATION_LIB to determine whether
	to link -base or -baseadd.
	* EOControl/GNUmakefile: Ditto.
	* EOModeler/GNUmakefile: Ditto.
	* Tools/GNUmakefile: Ditto.  Update title.
	
	* EOAccess/EOAdaptor.m: Include GNUstep-specific headers for
	non-GNUstep systems.
	* EOAccess/EOAdaptorChannel.m: Ditto.
	* EOAccess/EOAdaptorContext.m: Ditto.
	* EOAccess/EOAttribute.m: Ditto.
	* EOAccess/EODatabaseChannel.m: Ditto.
	* EOAccess/EODatabaseDataSource.m: Ditto.
	* EOAccess/EOEntity.m: Ditto.
	* EOAccess/EOModel.m: Ditto.
	* EOAccess/EOModelGroup.m: Ditto.
	* EOAccess/EORelationship.m: Ditto.
	* EOAccess/EOSQLQualifier.m: Ditto.
	* EOAccess/EOUtilities.m: Ditto.
	* EOControl/EOAndQualifier.m: Ditto.
	* EOControl/EOClassDescription.m: Ditto.
	* EOControl/EODataSource.m: Ditto.
	* EOControl/EOEditingContext.m: Ditto.
	* EOControl/EOFault.m: Ditto.
	* EOControl/EOFaultHandler.m: Ditto.
	* EOControl/EOFetchSpecification.m: Ditto.
	* EOControl/EOKeyValueArchiver.m: Ditto.
	* EOControl/EOKeyValueQualifier.m: Ditto.
	* EOControl/EOMutableKnownKeyDictionary.m: Ditto.
	* EOControl/EONSAddOns.m: Ditto.
	* EOControl/EOObjectStore.m: Ditto.
	* EOControl/EOObjectStoreCoordinator.m: Ditto.
	* EOControl/EOObserver.m: Ditto.
	* EOControl/EOOrQualifier.m: Ditto.
	* EOControl/EOQualifier.m: Ditto.
	* EOControl/EOUndoManager.m: Ditto.
	* EOModeler/EOModelExtensions.m: Ditto.
	
	* EOAccess/EOModel.h/m (+/-[EOModel version]) Remove.
	([EOModel init]): Handle version internally.
	([EOModel encodeTableOfContentsIntoPropertyList:]): Ditto.
	([EOModel encodeIntoPropertyList:]): Ditto.
	* EOAccess/EODatabaseContext.m ([EODatabaseContext dealloc]):
	Use NSCountHashTable instead of NSCountMapTable on hash table.
	* EOAccess/EOAttribute.m ([EOAttribute newValueForBytes:length:]):
	Added casts to avoid warnings.

2003-11-28  Manuel Guesdon  <mguesdon@orange-concept.com>
	
	* EOAccess/EOAttribute.m:
		o introducing new number types: 
		('u' for long long / int8 and 'U' for unsigned long long)
	* EOAdaptors/Postgres95/Postgres95Adaptor.m:
		o added int8, bigint
	* EOAdaptors/Postgres95/Postgres95Channel.m:
		o handling bigint
		o fixed types for int2 and int8
	* EOAdaptors/Postgres95/Postgres95Values.m:
		o added missing number types
		o introducing new number types: 
		('u' for long long / int8 and 'U' for unsigned long long)
	* EOControl/EONSAddOns.m/.h
		o added number accessors for NSString
		o added NSObject
		  -performSelector:withObject:withObject:withObject:
	* EOAccess/EODatabaseContext.m:
		o in -prepareForSaveWithCoordinator:editingContext:
		  Try harder to find primary key (for linked objects
		  with more than one attribute for PK)
	* EOAccess/EODatabaseContextPriv.h
		o added -_primaryKeyForObject:raiseException:
	* EOAccess/EOEntity.m/.h:
		o added _instanceDictionaryInitializer. 
		  Permit to have a restricted dictionary initializer 
		  (i.e. propertyDictionaryInitializer minus instance 
			object ivars).
		o added NSObject 
		  +_instanceDictionaryInitializerExcludedPropertyNames
		o more information in log/exception in _parseRelationshipPath
		o added -_instanceDictionaryInitializer
		o added - _dictionaryForInstanceProperties
		o added -_classForInstances
	* EOAccess/EOModel.m:
		o added asserts
		o clean warnings
	* EOAccess/EORelationship.m:
		o asserts
		o fix in -isReciprocalToRelationship:
	* EOAccess/EOSQLExpression.m/.h:
		o renamed _useAliases to _flags.useAliases
		o added _flags.hasOuterJoin
		o call qualifier -sqlStringForSQLExpression: 
		  instead of switching on qualifier class
		  in -sqlStringForArrayOfQualifiers:operation:
		o asserts
		o fill _contextStack
		o added outer joins checks in -_flattenRelPath:entity:
		  (Used in Postgresql)
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m:
		o subclass joinExpression to avoid building join
		expression (it's now build in -tableListWithRootEntity
		o sublass -tableListWithRootEntity to add joins in it.
	* EOAccess/EOSQLQualifier.m
		o fix in  EOOrQualifier -sqlStringForSQLExpression: 
		  use sqlExpression -sqlStringForDisjoinedQualifiers: 
		  (problem was missing () around expression)
	* EOControl/EOAndQualifier.m:
		o implemented -_addBindingsToDictionary:
		o implemented -qualifierWithBindings:requiresAllVariables:
		o implemented -validateKeysWithRootClassDescription:
	* EOControl/EOKeyValueQualifier.m:
		o implemented -validateKeysWithRootClassDescription:
		o implemented -initWithKeyValueUnarchiver:
		o removed duplicate -initWithKeyValueUnarchiver: and
		  -encodeWithKeyValueArchiver
		o implemented -_addBindingsToDictionary:
		o implemented - qualifierWithBindings:requiresAllVariables:
	* EOControl/EOOrQualifier.m:
		o implemented -_addBindingsToDictionary:
		o implemented -qualifierWithBindings:requiresAllVariables:
		o implemented -validateKeysWithRootClassDescription:
	* EOControl/EONotQualifier.m:
		o implemented -_addBindingsToDictionary:
		o implemented -validateKeysWithRootClassDescription:
		o implemented -qualifierWithBindings:requiresAllVariables:
	* EOControl/EOQualifier.m:
		o implemented _validateKey:withRootClassDescription:
		o implemented -validateKeysWithRootClassDescription:
		o implemented -bindingKeys
		o implemented -keyPathForBindingKey:
		o added EOQualifierVariableSubstitutionException;
	* EOControl/EOClassDescription.m/h:
		o added -dictionaryForProperties 
		o added EOEntityClassDescription -dictionaryForProperties
		  wich use entity -_dictionaryForProperties
	* EOControl/EOGenericRecord.m/h:
		o use EOClassDescription  -dictionaryForProperties
		  instead of building itself it's dictionary so we can
		  always use the same EOMKKDInitializer to save	(lots of)
		  memory.
	* EOControl/EOEditingContext.m/.h:
		o added -setLevelsOfUndo: (for GNustepWeb)
	* EOControl/EOFetchSpecification.m/.h:
		o implemented -encodeWithKeyValueArchiver:
	* EOControl/EOKeyValueArchiver.m:
		o cleaned
	
2003-10-24  David Ayers  <d.ayers@inode.at>

	* EOControl/EONSAddOns.h (GDL2_BUFFER): Added experimental macro.
	* EOControl/EOQualifier.m (_isLike): New static function to
	implement -isLike: and -isCaseInsensitiveLike:.
	(-[NSString isLike:]): Implemented.
	(-[NSString isCaseInsensitiveLike:]): Ditto.
	(-[NSArray filteredArrayUsingQualifier:]): Adapted to use
	experimental GDL2_BUFFER macro.

2003-10-23  David Ayers  <d.ayers@inode.at>

	* EOControl/EOFetchSpecification.m
	(-[EOFetchSpecification fetchSpecificationNamed:entityNamed:]}:
	Implemented upon bug report by Philip Moetteli.
	* EOAccess/EOAttributePriv.h (-[EOAttribute _valueClass]): Declare
	new private method.
	* EOAccess/EOAttribute.m: Remove declaration of unsused static
	variable.  Format documentation.
	(-[EOAttribute serverTimeZone]): Remove duplicate implementation
	which is always overriden by the category and correct the category
	implementation.
	(-[EOAttribute valueClassName]): Minor optimisation.
	(-[EOAttribute externalType]): Ditto.
	(-[EOAttribute valueType]): Ditto.
	(-[EOAttribute newValueForBytes:length:]): Use -_valueClass method
	to insure correct valueClass usage.  Bug reported by Philip
	Moetteli.
	(-[EOAttribute newValueForBytes:length:encoding:]): Ditto.
	(-[EOAttribute adaptorValueType]): Ditto.
	(-[EOAttribute validateValue:]): Ditto.  Use -width method to
	insure correct usage of width with respect to prototypes.
	(-[EOAttribute _valueClass]): New private method.

2003-09-29  Philip Moetteli  <Philip.Moetteli@tele2.ch>

	* EOControl/EOClassDescription.m
	(+[EOClassDescription initialize]): Initialize model group
	after callback tables are initilized.

2003-09-10  David Ayers  <d.ayers@inode.at>

	* EOControl/EOFault.m
	(+[EOFault respondsToSelector:]): Use GSObjCRuntime functions and
	correct casts.
	(-[EOFault respondsToSelector:]): Correct casts.

	* EOControl/EOKeyComparisonQualifier.m
	* EOControl/EOKeyValueCoding.m
	* EOControl/EOKeyValueQualifier.m
	* EOControl/EOQualifier.m
	* EOControl/EOSortOrdering.m
	(-[NSObject compare:]): Add declaration to prepare for removal
	of declaration from -base.
	(-[EOKeyComparisonQualifier evaluateWithObject:]): Adapt vraiables
	and casts to use correct prototype.
	(-[EOKeyValueQualifier evaluateWithObject:]): Ditto
	(-[NSArray computeMaxForKey:]): Ditto.
	(-[NSArray computeMinForKey:]): Ditto.

2003-08-25  Matt Rice  <ratmice@yahoo.com>

	* *.h/m:  Updated to new header layout.
	* Tools/eoutil.m:  Added missing include.

2003-08-23  David Ayers  <d.ayers@inode.at>

	* EOControl/EOKeyValueCoding.h/m: Rewritten and documented.
	Declared and documented EOKeyValueCoding categories currently
	implemented by gnustep-base/Foundation in NSKeyValueCoding.
	Removed FOUNDATION_HAS_KVC conditionals as gnustep-base/Foundation
	implement NSKeyValueCoding.
	(-[NSObject takeStoredValuesFromDictionary:]): Added declaration
	reportedly missing in Apple's headers to compelte EOKeyValueCoding
	declarations.
	Most implementations rewritten.

	* EOControl/EONull.h/m: Define EONull to NSNull to allow pointer
	equality checks.  Implement EONull as NSNull subclass that returns
	the NSNull instance.  Remove old assertions.

2003-07-11  David Ayers  <d.ayers@inode.at>

	* *.m: Include GNUstep.h if GNUSTEP is not defined for OS X.

2003-06-26  Manuel Guesdon  <mguesdon@orange-concept.com>
	* config.h.in: 
		o added EMIT_TODO control	
	* EOAccess/EOAccessFault.m:
		o commented debug logs
	* EOAccess/EODatabaseContext.m:
		o more information in asserts	
		o asserts
		o fix in -relayPrimaryKey:object:entity: for 
			nil 1:1 relationship value
		o add -forgetSnapshotForGlobalID call in -refaultObject:withGlobalID:editingContext:
		o add -forgetSnapshotForGlobalID database call in  -forgetSnapshotForGlobalID:
	* EOAccess/EOEntity.m:
		o logs
		o fix in -awakeObject:fromInsertionInEditingContext: to avoid 
			setting already present values
		o reverted code in -awakeObject:fromInsertionInEditingContext:
			My (old) tests show that we create 1: object not on 
			mandatory property but on propagatesPrimaryKey one
			if someone has an example of EOF creating an object 
			here without propagatesPrimaryKey, please send it to me.
	* EOAccess/EOModelGroup.m:
		o don't autorelease return model group in -globalModelGroup as it will crash. I haven't find why :-(
		o logs

	* EOAccess/EOSQLExpression.m:
			o fix bug in -assembleSelectStatementWithAttributes:lock:qualifier:
				fetchOrder:selectString:columnList:tableList:
				whereClause:joinClause:orderByClause:lockClause: 
			by  adding () around where and join clause
					o add detail in sqlStringForSelector:value: exception
	* EOAdaptors/Postgres95/PostPostgres95Channel.m:
		o add more information on exceptions
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m:
		o fix escaping string in -formatValue:forAttribute:
		o fix bug in -assembleSelectStatementWithAttributes:lock:qualifier:
				fetchOrder:selectString:columnList:tableList:
				whereClause:joinClause:orderByClause:lockClause: 
			by  adding () around where and join clause
	* EOAdaptors/Postgres95/Postgres95Value.m:
		o Change log in +newValueForDateType:length:attribute:
	* EOControl/EOCheapArray.m
		o removed some logs
	* EOAccess/EOClassDescription.m:
		o fix in -validateForUpdate
		o logs
	* EOControl/Debug.h:
		o donditional define of NSEmitTODO()
	* EOControl/EODetailDataSource.h/.m:
		o added -setDetailKey:
	* EOControl/EOEditingContext.m
		o logs
	* EOControl/EOFetchSpecification.m
		o logs
	* EOControl/EOKeyValueCoding.m:
		o fix in computeSum, computeAverage
	* EOControl/EOQualifier.m
		o logs
	* EOControl/EOSortOrdering.m
		o use valueForKeyPath: instead of valueForKey: to allow sort on related objects
	* EOControl/EOUndoManager.h
		o protection of include

2003-06-23  David Ayers  <d.ayers@inode.at>

	* EOControl/EONSAddOns.h/m:
	([NSString -parsedFirstVersionSubstring]): New method.
	* EOAdaptors/Postgres95/Postgres95Adaptor.h/m: Added include of
	pg_config.h to access PG_VERSION.  Added databaseVersion to list
	of meaningful connectionDictionary keys.
	(postgresClientVersion): New function.
	* EOAdaptors/Postgres95/Postgres95Channel.h/m:  Added instance
	variable to hold the version of the database server.
	(pgResultDictionary): New static function for debuging.
	([Postgres95Channel -_readServerVersion]): New method to set Server
	Version.
	([Postgres95Channel -openChannel]): Call _readServerVersion method.
	([Postgres95Channel -describeTableNames]): Adapt select statement
	according to database version.
	* Postgres95/Postgres95SQLExpression.m: 
	([Postgres95SQLExpression +dropTableStatementsForEntityGroup:]):
	Adapt select statement according to database version supplied in
	connectionDictionary of the entites model.

2003-06-22  David Ayers  <d.ayers@inode.at>

	* EOControl/EOFault.m ([EOFault -respondsToSelector:]): Adapt to
	current GSObjCRuntime API.
	* EOControl/EOUndoManager.h: Correct includes.
	* EOAdaptors/Postgres95/Postgres95Channel.m
	([Postgres95Channel -describeTableNames]): Removed incorrect code
	left by copy and paste action.  Reported by Markus Hitter
	<mah@jumping.de>.

2003-06-01  David Ayers  <d.ayers@inode.at>

	* gdl2.make.in:  Set GDL2 as auxiliary preprocessor flag.

2003-05-22  David Ayers  <d.ayers@inode.at>

	* config/postgres.m4: Added /usr/include/postgresql to include
	search path.
	* EOControl/EOClassDescription.m
	([EOClassDescription +classDescriptionForClass:): Replaced
	deprecated GSObjCName() with GSNameFromClass().
	* EOControl/EOQualifier.m
	([EOQualifier +qualifierWithQualifierFormat:varargList:]): Replaced
	deprecated GSObjCSelectorName() with GSNameFromSelector().

2003-05-20  David Ayers  <d.ayers@inode.at>

	* EOControl/EOFault.m ([EOFault respondsToSelector:]): Temporarily
	add private declaration of GSObjCGetMethod() until the replacement
	is in place. 

2003-05-16  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAttribute.m ([EOAttribute -encodeIntoPropertyList:]):
	Encode missing aattributes as reported by Dirk Lattermann.  Also
	corrected encoding of parameterDirection.
	([EOAttribute initWithPropertyList:owner:]): Corrected parsing of
	parameterDirection to account for WO 4.5 compatibility and
	previous encodings.
	
2003-05-14  David Ayers  <d.ayers@inode.at>

	* EOAccess/EODatabaseDataSource.m ([EODatabaseDataSource
	-initWithEditingContext:entityName:fetchSpecificationName:]):
	Create default fetch specification if we cannot obtain one from
	the entity by name as reported by Dirk Lattermann.
	* EOAccess/EOEntity.h/m
	([EOEntity -addFetchSpecification:withName:]): Corrected name and
	initialization as reported by Dirk Lattermann.
	
2003-05-08  David Ayers  <d.ayers@inode.at>

	* EOControl/EOObjectStoreCoordinator.m ([EOObjectStoreCoordinator
	+initialize]): Insure EODatabaseContext is setup to receive
	notifications.
	* EOControl/EOKeyGlobalID.m ([EOKeyGlobalID
	+globalIDWithEntityName:keys:keyCount:zone:]): Use AUTORELEASE
	instead of autorelease.
	* EOControl/EOFault.m ([EOFault +initialize]): Fix initialization
	of cached class variable.
	* EOAccess/EODatabaseContext.m
	([EODatabaseContext -dealloc]): Corrected debug logs. 
	([EODatabaseContext +databaseContextWithDatabase:]): Use
	AUTORELEASE instead of autorelease.
	([EODatabaseContext -initWithDatabase:]): Ditto.
	([EODatabaseContext
	-objectsWithFetchSpecification:editingContext:]): Ditto.
	([EODatabaseContext
	-_dbOperationWithGlobalID:object:entity:operator:]): Ditto.
	([EODatabaseContext -recordChangesInEditingContext]): Ditto.
	([EODatabaseContext
	-relayAttributesInRelationship:sourceObject:destinationObject:]):
	Ditto.
	([EODatabaseContext
	-createAdaptorOperationsForDatabaseOperation:attributes:]):
	Ditto. 
	([EODatabaseContext -_fireFault:]): Ditto.
	([EODatabaseContext -_batchToOne:withHandler:]): Ditto.
	([EODatabaseContext -_commitTransaction]): Ditto.
	([EODatabaseContext -handleDroppedConnection]): Use
	RELEASE instead of release.
	([EODatabaseContext -databaseOperationForObject:]): Ditto.
	([EODatabaseContext -_fireArrayFault:]): Ditto.
	
2003-05-05  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOEntity.m: Replaced autorelease with AUTORELEASE.
	([EOEntity -addRelationship:]): Update _relationshipByName cache.

2003-05-02  David Ayers  <d.ayers@inode.at>

	* EOControl/EOKeyValueCoding.h: Use base/Foundation
	NSUnknownKeyException for EOUnknownKeyException to allow use of
	base/Foundation NSKeyValueCoding.
	* EOControl/EOKeyValueCoding.m: Add EOTargetObjectUserInfoKey and
	EOUnknownUserInfoKey.
	([NSObject +flushAllKeyBindings]): Add method.
	* GNUmakefile: Remove setting of GNUSTEP_MAKEFILES.
	* EOAccess/GNUmakefile: Ditto.
	* EOAdaptors/GNUmakefile.in: Ditto.
	* EOAdaptors/Postgres95/GNUmakefile.in: Ditto.
	* EOControl/GNUmakefile: Ditto.
	* EOModeler/GNUmakefile: Ditto.
	* Tools/GNUmakefile: Ditto.
	* EOAccess/EOSQLExpression.m: Import GSCategories.h only for
	NeXT_Foundation_Library.
	* EOControl/EOKeyValueCoding.m: Ditto.
	* EOAccess/EODatabaseContext.m ([EODatabaseContext -setDelegate:]):
	Fixed assignment in while loop as reported by Stephane Corthesy.
	* EOControl/EOAndQualifier.m
	([EOAndQualifier +qualifierWithQualifiers:]),
	([EOAndQualifier -initWithQualifiers:]): Use GS_USEIDLIST to
	optimize vararg list to array conversion.
	* EOControl/EOOrQualifier.m
	([EOOrQualifier +qualifierWithQualifiers:]),
	([EOOrQualifier -initWithQualifiers:]): Ditto.
	* EOControl/EOClassDescription.m
	([EOClassDescription +classDelegate]): Make access to static
	variable thread safe.
	* EOControl/EOEdtitingContext.m: Added declarations to avoid
	compiler warnings.

2003-05-02  Stephane Corthesy  <stephane@sente.ch>

	* EOControl/EOControl.h: Added inclusion of EOArrayDataSource.h.
	* EOControl/EOEdtitingContext.m: Added declaration of
	+[EOEditingContext(EOEditingContextPrivate)
	_observeUndoManagerNotifications] to avoid compiler warnings.
	* EOControl/EONSAddOns.m ([NSObject
	-resultsOfPerformingSelector:withEachObjectInArray:defaultResult:]):
	Added cast to avoid compiler warning.

2003-04-18  Mirko Viviani  <mirko@objectlab.org>

	* EOAccess/EOAttribute.m ([EOAttribute -awakeWithPropertyList:]): set
	the prototype.
	([EOAttribute -encodeIntoPropertyList:]): likewise.
	([EOAttribute -serverTimeZone]): return the value from the prototype.
	([EOAttribute -columnName]): likewise.
	([EOAttribute -readFormat]): likewise.
	([EOAttribute -writeFormat]): likewise.
	([EOAttribute -scale]): likewise.
	([EOAttribute -precision]): likewise.
	([EOAttribute -width]): likewise.
	([EOAttribute -allowsNull]): likewise.
	([EOAttribute -isReadOnly]): likewise.
	([EOAttribute -valueClassName]): likewise.
	([EOAttribute -externalType]): likewise.
	([EOAttribute -valueType]): likewise.

	* EOAccess/EOAttribute.h: removed ivar _prototypeName.

	* EOAccess/EOModel.m ([EOModel -prototypeAttributeNamed:]): implemented.
	* EOAccess/EOAdaptor.m|.h ([EOAdaptor -prototypeAttributes]): renamed
	from +prototypes and implemented.

2003-04-15  Mirko Viviani  <mirko@objectlab.org>

	* EOAccess/EOAdaptorContext.h: include EODefines.h and NSString.h

2003-04-01  David Ayers  <d.ayers@inode.at>

	* EOControl/EODeprecated.h:  Replaces EODepricated.h.
	The original post was correct.  Sorry!
	* EOAccess/EODeprecated.h:  Ditto.
	* EOAccess/GNUmakefile: Ditto.
	* EOControl/EOUndoManager: Ditto.

	* EOControl/EOClassDescription: Added some comments.  Tidied line
	breakage.
	([EOClassDescription +delegete]): Moved to category named Deprecated.
	([EOClassDescription +setDelegate:]): Ditto.
	([EOClassDescription -displayNameForKey:]): Use AUTORELEASE macro.
	([NSObject -snapshot]): Ditto.
	([NSObject -updateFromSnapshot]): Ditto.
	([NSObject -addObject:toPropertyWithKey:]): Ditto.
	([NSObject -removeObject:fromPropertyWithKey:]): Ditto.
	([NSException +validateExceptionWithFormat:]): Ditto.
	([NSException +aggregateExceptionWithExceptions:]): Ditto.
	([NSException -exceptionAddingEntriesToUserInfo:]): Ditto.
	* EOControl/EOKeyValueCoding.h/m:
	([NSObject unableToSetNullForKey:]): Implemented.
	

2003-03-31  David Ayers  <d.ayers@inode.at>

	* EOControl/EOFault.m ([EOFault respondsToSelector:]): Replaced
	usage of potential future runtime function name with current
	function name.
	
2003-03-30  David Ayers  <d.ayers@inode.at>

	* *.h/m, *.h/m):
	Used #include instead of depricated #import.  Avoid including
	entire library headers.  Use export macro where applicable.

	* EOControl/GNUmakefile: Removed EOKeyValueCodingBase.m/h and
	EOUndoMananger.h.  Added EOArrayDataSource.m/h, EODefines.h
	and EODepricated.h.
	* EOControl/EODefines.h: Updated for GDL2 & gnustep-make.
	* EOControl/EODebug.h: Updated.
	* EOControl/EODepricated.h: Updated for current state of GDL2.
	([NSObject +flushClassKeyBindings]): Added declaration.
	([EOClassDescription +setDelegate:]): Added declaration.
	([EOClassDescription +delegate]): Added declaration.
	(EOUndoManager): Moved declaration of interface here.
	* EOControl/EOKeyValueCoding.m
	([EOClassDescription +flushClassKeyBindings]): Added empty
	implementation.
	([NSObject takeStoredValuesFromDictionary:]): Cache EONull
	instance and use it instead of isKindOfClass:.
	* EOControl/EOEditingContext.m
	([EOEditingContext +initialize]): Tidied.
	([EOEditingContest -deleteObject]): Use NSUndoManager instead of
	EOUndoManager.
	* EOControl/EOQualifier.m 
	([NSArray -filteredArrayUsingQualifier:]): Added minor
	optimization tweak.
	* EOControl/EOClassDescription.m: Removed inactive commented
	code.  Added private declerations of EOAccess methods to avoid
	compiler warnings.
	([EOClassDescription +initialize]): Tidied.
	([EOClassDescription -classDescriptionForClass:]): Use
	GSObjCName() instead of objc runtime routines.
	* EOControl/EOFault.m: Exchanged direct usages of ObjC runtime
	routines with NS/GSObjCRuntime abstraction API.
	([EOFault +superclass]): Ditto.
	([EOFault +targetClassForFault:]): Ditto.
	([EOFault -respondsToSelector:]): Ditto.
	([EOFault +initialize]): Cache static class variable.
	([EOFault +isKindOfClass]): Use static class variable.
	([EOFault +handlerForFault:]): Ditto.
	([EOFault +targetClassForFault:]): Ditto.
	([EOFault -dealloc]): Ditto.
	* EOControl/EOGenericRecord.m:
	([EOGenericRecord +initialize]): Tidied.
	* EOControl/EOKeyComparisonQualifier.m: Tidied documentation.
	* EOControl/EOKeyValueQualifier.m: Ditto.
	* EOControl/EONSAddOns.h/m: Added declarations to surpress
	compiler warnings.
	([NSObject -eoCompareOnName:]): Adjusted casts to surpress
	compiler warnings.
	(GSUseStrictWO451Compatibility): Added function.
	(GDL2GlobalLock, GDL2GlobalRecursive): Ditto.
	* EOControl/EONull: Remove implementations for foundation
	libraries without key value coding and fully rely on NSNull.
	Added assertions in all intance methods as instances should never
	be created.
	([EONull +allocWithZone:]) Corrected method name so it will
	actually be used.
	* EOControl/EOSortOrdering.m
	([NSArray sortedArrayUsingKeyOrderArray:]): Tidied.
	([NSMutableArray sortUsingKeyOrderArray:]): Ditto.
	([EONull compareAscending:]): Sync with referencs implementation.
	([EONull compareDescending:]): Ditto.
	([EONull compareCaseInsensitiveAscending:]): Ditto.
	([EONull compareCaseInsensitiveDescending:]): Ditto.
	
	* EOAccess/EOAdaptor.h: Added comment about API compatibility.
	* EOAccess/EOAdaptor.m ([EOAdaptor -contexts]): Return array of
	adaptor contexts rather tham GC-wrapper objects containing adaptor
	contexts.
	([EOAdaptor -databaseEncoding]): Use GSEncodingName() instead of
	GetEncodingName(). 
	* EOAccess/EODatabaseContext.m
	([EODatabaseContext -_turnFault:gid:editingContext:isComplete:]):
	Use GSObjCClass() instead of trying to access isa by dereferencing
	from id with incorrect member.
	* EOAccess/EOModel.m ([EOModel -entityNames]): Sort returned array
	to insure comparable output.
	* EOAccess/EOSQLExpression.m 
	([EOSQLExpression sqlStringForArrayOfQualifiers:operation:]):
	Added cast to surpress compiler warning.
	* EOAccess/EOUtilities.m
	([EOObjectStoreCoordinator setModelGroup:]): Ditto.
	* EOAccess/EORelationship.h ([EORelationship -docComment]):
	Added declaration.
	* EOAccess/GNUmakefile: Added EODefines.h and EODepricated.h.

	* Tools/*.m: Use RCS_ID macro.
	* Tools/EOAttribute+GSDoc.h:
	([EOAttribute gsdocContentWithTagName:idPtr:]): Corrected Typo.
	* Tools/EOModel+GSDoc.h/m:
	([EOModel gsdocContentSplittedByEntities:idPtr:]): Ditto.
	* Tools/EORelationship+GSDoc.m:
	([EORelationship gsdocContentWithTagName:idPtr:]): Change variable
	type to supress compiler warnings.
	* Tools/eoutil.m (dump): Initialize variables to supress compiler
	warnings.
	* Tools/gsdoc-model.m: Include GSCategories.h to supress compiler
	warnings.
	(main): Added cast to supress compiler warning.  Fixed typo in
	method invocation.

2003-03-25  Stephane Corthesy  <stephane@sente.ch>

	* EOControl/EODefines.h: Added new file for export/win32 support.
	* EOControl/EODepricated.h: Added new file for depricated features.
	* EOControl/EOControl.h: Added EOArrayDataSource.h and EODefines.h.
	* EOControl/EOArrayDataSource.h/m: Added new files.  Some methods
	(<NSCoding> and qualifier bindings) are empty stubs.
	* EOControl/EODebug.h: Use export macro instead of explicit extern for
	function and symbol declarations.
	* EOControl/EOGlobalID.h: Ditto.
	* EOControl/EONull.h: Ditto.
	* EOControl/EOObjectStore.h: Ditto.
	* EOControl/EOOrQualifier.m: Replaced autorelease by AUTORELEASE
	and fixed typo.
	* EOControl/EOQualifier.m
	([NSArray -filteredArrayUsingQualifier:]): Implemented.
	* EOControl/EONSAddOns.m: Use volatile in some exception handlers
	(man longjmp for more info). 
	* EOControl/EOSortOrdering.h/m
	([EOSortOrdering -copyWithZone:]): Implemented <NSCopying>.
	([EOSortOrdering -encodeWithKeyValueArchiver:]): Implemented.

	* EOAccess/EODefines.h: Added new file for export/win32 support.
	* EOAccess/EODepricated.h: Added new file for depricated features.
	* EOAccess/EOAccess.h: Added EODefines.h.
	* EOAccess/EOSQLExpression.h/m: Fixed typo for
	EOPrimaryKeyConstraintKey. 
	* EOAccess/EOExpressionArray.h/m: Use volatile for variables usein
	in exception handlers. (man longjmp for more info)
	* EOAccess/EODatabase.h: Use export macro instead of explicit
	extern for function and symbol declarations.
	* EOAccess/EOEntity.h: Ditto.
	* EOAccess/EOModel.h: Ditto.
	* EOAccess/EOSchemaGeneration.h: Ditto.
	* EOAccess/EOSQLExpression.h: Ditto.
	* EOAccess/EOUtilities.h: Ditto.
	* Tools/eoutil.m (dump): Implemented use of -postinstall option.
	Corrected bug when getting adaptor's expression class.  Renamed
	symbol EOPrimaryKeyContraintsKey into EOPrimaryKeyConstraintsKey.
	
2003-03-21  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/EODatabaseContext.m:
		o added assert in _primaryKeyForObject:
		o in -recordChangesInEditingContext test 
			nil/eonull on relationshipCommitedSnapshotValue and 
			relationshipSnapshotValue instead of only nil testing
		o in -recordChangesInEditingContext fix for value changing 
			testing when commitedSnapshotValue is nil/EONull

	* EOAccess/EOEntity.m:
		o logs
		o fix in inverseRelationshipClassPropertyNames to test on 
			destination entity property names
	* EOControl/EOClassDescription.m:
		o logs
	* EOControl/GNUmakefile:
		o added EONSAddOns.h
	* EOCOntrol/EOKeyValueCoding.m:
		o fixes in NSArray -computeXXForKey:
	* EOAccess/EOSQLExpression.m:
		o assert in -sqlStringForKeyValueQualifier:
		o -sqlStringForArrayOfQualifiers:operation:
			hanlde different qualifier cases using isKindOfClass: 
			may probably be improved
		o logs
	* EOControl/EOEditingContext.m:
		o fix in unprocessedInfo (invert/change swap).
	* EOControl/EOQualifier.m
		o -qualifierWithQualifierFormat:varargList:
			raise exception if operator is unknwon
	* EOControl/EOMutableKnownKeyDictionary.m:
		o add precision in exception message
	* EOAccess/EORelationship.m:
		o more info in some logs
		o fix in -_sourceRowToForeignKeyMapping for foreign keys 
			which are not in primaryKey.
	* EOControl/EODatabaseOperation.m:
		o in -setDatabaseOperator: Don't Delete a not inserted object
	* EOControl/EOAccessFault.m:
		o logs
		o EOAccessFaultHandler: -dealloc fix: call super dealloc
		o implement faultWillFire: This fix a hard memory problem
	* EOControl/EOFault.m:
		o -dealloc: fix possible infinite loop
		o logs
	* EOCheapCopyArray.m:
		o ucomment retain/release/...
		o fix shallowCopy for memory management. 
			This was causing hard memory trouble
	
2003-03-12  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOClassDescription.m ([EOClassDescription +initialize]):
	initialize (if present) the default model group. This helps
	+classDescriptionFor* to work correctly.

2003-03-06  David Ayers  <d.ayers@inode.at>

	* config/postgres.m4:  Updated CPPFLAGS and LIBS to account for
	distributions default installations.
	* configure: Regenerated.

	* Tools/EOAttribute+GSDoc.m ([EOAttribute -gsdocContentWithPtr:]):
	Removed superfluous semicolon in method definition.

	* EOAccess/EODatabaseContext.m: Fixed minor typo in comment.
	
	* EOAccess/EOEntity.m ([EOEntity -description]): Return the
	description of the encoded property list.
	([EOEntity -debugDescription]): Implements original description
	method.
	([EOEntity -classProperties]): Added cast to supress compiler
	warning.
	
2003-02-24  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOUtilities.h: added EOObjectStoreCoordinator.

2003-02-17  David Ayers  <d.ayers@inode.at>

	* EOControl/EOSortOrdering.m: Added documentation.
	Check FOUNDATION_HAS_KVC to determine whether EONull categories
	should be applied to NSNull instead.
	([EOSortOrdering +sortOrderingWithKey:selector:]): Use AUTORELEASE
	instead of -autorelease.  
	([EOSortOrdering -initWithKey:selector:]): Use ASSIGNCOPY instead
	of ASSIGN to set key to insure immutability.
	([EOSortOrdering -description]): Implemented.
	([NSArray (EOKeyBasedSorting) compareUsingSortOrderings()): New
	function.  
	([NSArray (EOKeyBasedSorting) -sortedArrayUsingKeyOrderArray:]):
	Reimplemented using [NSArray -sortedArrayUsingFunction:context:]
	with new compareUsingSortOrderings() function.
	([NSMutableArray (EOKeyBasedSorting) -sortUsingKeyOrderArray:]):
	Reimplemented using [NSMutableArray -sortUsingFunction:context:]
	with new compareUsingSortOrderings() function.
	([NSMutableArray -_sortUsingKeyOrder:fromIndex:count:]): Removed.
	

2003-02-13  David Ayers  <d.ayers@inode.at>

	* EOControl/EOAndQualifier.m: Added documentation.
	([EOAndQualifier +qualifierWithQualifiers:]),
	([EOAndQualifier -initWithQualifiers:]): Synchronize implementation.
	([EOAndQualifier -initWithQualifierArray:]): Change ASSIGN to
	ASSIGNCOPY when setting qualifier array (insuring immutability).
	([EOAndQualifier -copyWithZone:]): remove (use implementation from
	superclass).

	* EOControl/EOKeyComparisonQualifier.m: Added documentation.
	([EOKeyComparisonQualifier
	+qualifierWithLeftKey:operatorSelector:rightKey:]): Use
	AUTORELEASE() instead of -autorelease.
	([EOKeyComparisonQualifier
	-initWithLeftKey:operatorSelector:rightKey:]): Use ASSIGNCOPY
	instead of ASSIGN to insure immutable keys.  Added comment about
	possible selector assertion.
	([EOKeyComparisonQualifier -copyWithZone:]): remove (use
	implementation from superclass).
	([EOKeyComparisonQualifier -evaluateWithObject:]): Try to call the
	receivers selector before attempting to fallback on other
	mechanisms to evaluate the object. Adjusted local variable names
	and fixed fallback Equal, NotEqual and Contains comparisons.
	([EOKeyComparisonQualifier -description]): Fall back to
	NSStringFromSelector() if +stringForOperatorSelector returns nil.

	* EOControl/EOKeyValueQualifier.m: Added documentation
	([EOKeyValueQualifier +qualifierWithKey:operatorSelector:value:]): Use
	AUTORELEASE() instead of -autorelease.
	([EOKeyValueQualifier -initWithKey:operatorSelector:value:]): Use
	ASSIGNCOPY instead of ASSIGN to insure immutable key.  Added
	comment about possible selector assertion.
	([EOKeyValueQualifier -copyWithZone:]): remove (use implementation
	from superclass).
	([EOKeyValueQualifier -evaluateWithObject:]): Try to call the
	receivers selector before attempting to fallback on other
	mechanisms to evaluate the object. Adjusted local variable names
	and fixed fallback Equal, NotEqual and Contains comparisons.
	([EOKeyValueQualifier -description]): Fall back to
	NSStringFromSelector() if +stringForOperatorSelector returns nil.
	
	* EOControl/EONotQualifier.m: Added documentation.
	([EONotQualifier -copyWithZone:]): remove (use implementation from
	superclass).
	([EONotQualifier -evaluateWithObject:]): Implemented.

	* EOControl/EOOrQualifier.m: Added documentation.
	([EOOrQualifier +qualifierWithQualifiers:]),
	([EOORQualifier -initWithQualifiers:]): Synchronize implementation.
	([EOOrQualifier -copyWithZone:]): remove (use implementation from
	superclass).
	([EOOrQualifier -evaluateWithObject:]): Corrected implementation.

	* EOControl/EOQualifier.m: Added documentation
	([EOQualifier +initialize]), (getKey()): Replace autorelease with
	AUTORELEASE().
	([EOQualifier -copyWithZone:]):  RETAIN() instead of NSCopyObject().
	([EOQualifier +variableWithKey:]): Corrected implementation.

2003-02-06  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOModel.m
	([EOModel -encodeTableOfContentsIntoPropertyList:]),
	([EOModel -initWithPropertyList:owner:]),
	([EOModel -encodeIntoPropertyList:]), ([EOModel -addEntity:]),
	([EOModel -removeEntity:]), ([EOModel -beautifyNames]),
	([EOModel -setCreateMutableObjects:]):
	Do not access _entities until cache is triggered. 
	* EOAccess/EOModel.m
	([EOModel +findPathForModelNamed:]),
	([EOModel -gcDecrementRefCountOfContainedObjects]),
	([EOModel -storedProcedures]), ([EOModel -initWithContentsOfFile:]),
	([EOModel -initWithTableOfContentsPropertyList:path:]),
	([EOModel -initWithPropertyList:owner:]),
	([EOModel -_classDescriptionNeeded:]), ([EOModel -_entityForClass:]),
	([EOModel -_addEntityWithPropertyList:]), ([EOModel -_addEntity:]),
	([EOModel -_verifyBuiltEntityObject:named:]):
	replaced NSDebugMLLog with EOFLOGObject/ClassLevelArgs. 
	* EOAccess/EOModel.m ([EOModel -description]), ([EOModel
	-addEntity]), ([EOModel removeEntity]): Make temporary objects
	autoreleased versions instead explicit release handling.  
	
	* EOAccess/EOAdaptor.m ([EOAdaptor +adaptorWithName:]):
	reinserted accessing adaptor class by principal class of bundle as
	fallback in case EOAdaptorClassName isn't found.  Raise an
	exception if the provided class is not a subclass of EOAdaptor.  
	* EOAccess/EOAdaptor.m ([EOAdaptor +adaptorWithName:]),
	([EOAdaptor -fetchedValueForValue:attribute]),
	([EOAdaptor -fetchedValueForStringValue:attribute]):
	replaced NSLog/NSDebugMLLog with EOFLOGObject/ClassLevelArgs. 
	* EOAccess/EOAdaptor.m ([EOAdaptor +adaptorWithModel:]),
	([EOAdaptor +adaptorWithName:]),
	([EOAdaptor +availableAdaptorNames]):
	replaced autorelease with AUTORELEASE(). 

	* EOAdaptors/Postgres95Adaptor/Info.plist: Added
	EOAdaptorClassName entry.
	

2003-02-04  Stephane Corthesy  <stephane@sente.ch>

	* Tools/eoutil.m: implemented.

	* EOAndQualifier.m: replaced autorelease by AUTORELEASE
	* EOClassDescription.m: added #include <gnustep/base/objc-gnu2next.h>
	and note about subclassing NSClassDescription
	* EOEditingContext.m: removed EOAccess inclusion; note that we need to
	rewrite -faultForRawRow:entityNamed:editingContext: to break dependency
	to EOAccess
	* EOFault.m: implemented +doesNotRecognizeSelector:
	* EOFaultHandler.m: added #include <objc/objc-class.h> and #include
	<objc/Protocol.h>
	* EOFetchSpecification.m: added #import <Foundation/NSDictionary.h>
	* EOGenericRecord.h: declaration of -valueForKey: and
	-takeValue:forKey: needs to be done only when !FOUNDATION_HAS_KVC
	* EOGenericRecord.m: removed #import <EOAccess/EOEntity.h> and #import
	<EOAccess/EORelationship.h>; added #include <objc/objc-class.h>;
	declared +eoCalculateSizeWith:forArray:; corrected +initialize (doesn't
	return a value); renamed +removeDestoyedObject: to
	+removeDestroyedObject:; modified
	-initWithEditingContext:classDescription:globalID: to no longer depend
	on EOAccess via EOEntity; some methods need to be implemented only when
	!FOUNDATION_HAS_KVC (else they are already correctly implemented in
	NSObject), some others only when FOUNDATION_HAS_KVC
	(-handleQueryWithUnboundKey: and handleTakeValue:forUnboundKey:); in
	-smartTakeValue:forKey:, removed dependency to EOAccess via
	EORelationship; corrected problem with macro NSDebugMLog, which should
	be replaced by other macro anyway; modified -eoCalculateSizeWith: to no
	longer depend on EOAccess via EOEntity
	* EOGlobalID.m: added #include <stdio.h> and #include <string.h>; added
	cast in +assignGloballyUniqueBytes:
	* EOKeyComparisonQualifier.m: added casts
	* EOKeyGlobalID.m: replaced retain by RETAIN
	* EOKeyValueCoding.h: removed #import
	<EOControl/EOKeyValueCodingBase.h>; added - (id)storedValueForKeyPath:
	(NSString *)key; declared some methods only when !FOUNDATION_HAS_KVC;
	declared hidden methods for MacOS X.
	* EOKeyValueCoding.m: added #include <ctype.h>; implemented some
	methods only when !FOUNDATION_HAS_KVC; corrected problem with macros
	NSDebugMLog/NSWarnLog, which should be replaced by other macro anyway;
	declared -[NSMutableDictionary(EOKeyValueCodingPrivate)
	takeValue:forKeyPath:isSmart:]; corrected zombie in
	-[NSMutableDictionary(EOKeyValueCoding) takeValue:forKeyPath:isSmart:]
	* EOKeyValueQualifier: added casts
	* EOMutableKnownKeyDictionary.m: added #warning about missing method;
	moved method implementation to avoid warning
	* EONSAddOns.m: added casts
	* EOObjectStoreCoordinator.m: corrected problem with macro NSDebugMLog,
	which should be replaced by other macro anyway
	* EOQualifier.m: added #include <gnustep/base/GSObjCRuntime.h>;
	corrected problem with macro NSDebugLog, which should be replaced by
	other macro anyway; replaced retain by RETAIN; in -doesContain:, no
	need to test against NSMutableArray class
	* EOSortOrdering.m: replaced retain by RETAIN; avoid autoreleased
	objects; replaced mutableCopy by initWithArray:copyItems:

2003-02-03  Stephane Corthesy  <stephane@sente.ch>

	* Postgres95Adaptor.m: made some changes to externalTypeNames (needs
	to be reviewed completely!); avoided needless autoreleased object
	* Postgres95Channel.m: avoided needless autoreleased object ; added
	arg to NSDebugMLLog (should be replaced by other log macro); use
	macros RETAIN, AUTORELASE; when invoking PQexec, added ending ";" to
	statement (necessary for inserts, at least)
	* Postgres95SQLExpression.m: replaced #import <EOAccess/EOAccess.h> by
	smaller #imports; commented out use of external type 'datetime'
	(obsolete?); corrected bug in +formatValue:forAttribute: (error when
	escaping special characters); overloaded
	+dropTableStatementsForEntityGroup: to append CASCADE (maybe this
	should be done in EOSQLExpression class?), else it is not possible to
	drop tables which contain foreign key constraints; overloaded
	+prepareConstraintStatementForRelationship:sourceColumns:
	destinationColumns: to append DEFERRABLE INITIALLY DEFERRED (maybe this
	should be done in EOSQLExpression class?)
	* Postgres95Values.h: made Postgres95Values inherit from NSObject, else
	ObjC runtime doesn't like it and crashes!

	* EOAdaptor.m: added #import <Foundation/NSData.h>; corrected bug when
	instantiating adaptor: class name needs to be taken exclusively from
	infoDictionary, because a framework's principalClass is indeterminate
	(is it?); corrected var type; added empty implementation of
	EOLoginPanel class (is the method named
	"administraticeConnectionDictionaryForAdaptor:" correct? Shouldn't it
	be "administrativeConnectionDictionaryForAdaptor:" ??)
	* EOAttribute.m: added #include <string.h>; use -[NSTimeZone name]
	instead of -[NSTimeZone timeZoneName] (also on GNUstep?)
	* EODatabaseChannel.m: corrected bug with macro NSDebugMLog (which
	should be replaced by other macro...); in -fetchObject, added support
	for raw rows (works for me, but I'm not sure whether it is totally
	correct: _fetchSpecifications ivar is used nowhere!); avoided use of
	autoreleased objects; in
	-_selectWithFetchSpecification:editingContext:, uncommented last part
	to allow support for raw rows.
	* EODatabaseContext.h: added #import <Foundation/NSDate.h>
	* EODatabaseContext.m: #import <Foundation/NSKeyValueCoding.h> only
	when FOUNDATION_HAS_KVC? ; added declaration of -entityForGlobalID:;
	replaced some retain by RETAIN; in
	objectsWithFetchSpecification:editingContext:, added support for raw
	rows (adapted code of non raw rows => needs refactoring); added missing
	cast; corrected bug with macro NSDebugMLog (which should be replaced by
	other macro...)
	* EODatabaseDatasource.m: added #import <Foundation/NSEnumerator.h>;
	added declaration of
	-_partialInitWithEditingContext:entityName:fetchSpecificationName:
	* EOEntity.m: corrected bugs with lazy loading of ivars by using
	_flags.updating, in -initWithPropertyList:owner:, and by using methods
	instead of direct access to ivars; in -classProperties, corrected
	problem with vars containing sometimes strings, sometimes
	EOAttribute/EORelationship! (very weird way of lazy initialization...
	Should be reviewed); added use of _flags.updating in -relationships and
	-attributes; in -isPrimaryKeyValidInObject:, no longer tests against
	[NSNull null], because [EONull null] == [NSNull null]; replaced some
	retain by RETAIN; in -addAttribute:, -removeAttribute:,
	-addRelationship: and  -removeRelationship:, corrected nasty bug due to
	mutableCopy: now we are independant of mutableCopy implementation (deep
	or shallow copy), as implementation changed these last days and might
	change again. Added -_setClassName: to allow modification without
	calling willChange, when necessary (init); modified _setIsEdited to
	test _flags.updating; in -awakeObject:fromInsertionInEditingContext:,
	corrected conditions to create relationship (propagatesPrimaryKey has
	nothing to do with it, whereas isMandatory is important)
	* EOModel.m: added #include <gnustep/base/GSObjCRuntime.h> and #import
	<Foundation/NSPathUtilities.h>; changed search strategy for models by
	using NSSearchPathForDirectoriesInDomains(); replaced some retain by
	RETAIN; avoided use of mutableCopy and copy
	* EORelationship.m: replaced some retain by RETAIN; avoided use of
	mutableCopy and copy
	* EOSQLExpression.m: added declaration of +sqlExpressionWithEntity:;
	added +foreignKeyConstraintStatementsForEntityGroup: and
	+foreignKeyConstraintStatementsForEntityGroups:; in
	+createTableStatementsForEntityGroup:, corrected call to listString; in
	+schemaCreationStatementsForEntities:options:, reordered defaults[] to
	allow correct SQL generation (you drop first, then create) and
	corrected method to invoke for EOForeignKeyConstraintsKey; corrected
	-columnTypeStringForAttribute: and -addCreateClauseForAttribute:
	* EOSchemaGeneration.h: corrected documentation
	* EOStoredProcedure.m: added #import <Foundation/NSEnumerator.h>
	* EOUtilities.h: removed duplicate delcaration of -objectsOfClass:
	* EOUtilities.m: added #import <EOControl/EOGenericRecord.h>; corrected
	bug with macro NSDebugMLog (which should be replaced by other
	macro...); corrected type casting; added type casting.

2003-02-02  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOGenericRecord.m ([EOGenericRecord +initialize]): import
	NSAutoreleasePool.
	* EOControl/EOGlobalID.m ([EOGlobalID +initialize]): removed dependency
	from EOAccess.
	* EOControl/EOFetchSpecification.m ([EOFetchSpecification
	+initialize]): likewise.
	([EOFetchSpecification +fetchSpecificationNamed:entityNamed:]): readded
	since it is replaced by the category in EOUtilitites !

2003-01-31  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/EOAdaptorChannel.m:
		o replaced NSDebugMLLog by EOFLOGObjectLevel/EOFLOGObjectLevelArgs
	* EOAccess/EOAttribute.m:
		o replaced NSDebugMLLog by EOFLOGObjectLevel/EOFLOGObjectLevelArgs
	* EOAccess/EODatabaseChannel.m:
		o replaced NSDebugMLLog by EOFLOGObjectLevel/EOFLOGObjectLevelArgs
		o Move registration for EODatabaseChannelNeddedNotification 
			from +load to +initialize. (David Ayers <d.ayers@inode.at>)
	* EOAccess/EODatabaseContext.m:
		o Move registration for EODatabaseChannelNeddedNotification 
			from +load to +initialize. (David Ayers <d.ayers@inode.at>)
	* EOAccess/EOEntity.m:
		o in - (void) _setIsEdited, autorelease instead of destroy
	* EOAccess/EORelationship.m
		o -validateValue: don't raise not implemented exception
		o initialize variables in -foreignKeyInDestination
	* EOAccess/EOSQLExpression.m:
		o added NSAsserts
		o use anyRelationshipNamed: instead of relationshipNamed: to 
			find hidden relationships
	* EOControl/EOClassDescription.m
		o -displayNameForKey: use -stringWithCapacity instead 
			of +alloc -initWithCapacity (missing autorelease)
		o -validationExceptionWithFormat: initialize variables
		o -aggregateExceptionWithExceptions: initialize variables
		o -aggregateExceptionWithExceptions: autorelease copied value
		o -exceptionAddingEntriesToUserInfo: initialize variables
		o -exceptionAddingEntriesToUserInfo: autorelease copied userInfo
		o -snapshot autorelease copied value
		o -updateFromSnapshot: autorelease copied value
	* EOControl/EOFetchSpecification.h:
		o added +fetchSpecificationWithEntityName:qualifier:sortOrderings:usesDistinct:isDeep:hints:
		o added +fetchSpecificationWithEntityName:qualifier:sortOrderings:usesDistinct:
	* EOControl/EOFetchSpecification.m:
		o added +fetchSpecificationWithEntityName:qualifier:sortOrderings:usesDistinct:isDeep:hints:
		o added +fetchSpecificationWithEntityName:qualifier:sortOrderings:usesDistinct:
		o removed +fetchSpecificationNamed:entityNamed: (implemented in EOUtilities)
		o Insure that EODatabaseContext is initialized early. (David Ayers <d.ayers@inode.at>)
	* EOControl/EOGenericRecord.m
		o in -eoFormatSizeDictionary: handle /0
		o in +eoCalculateAllSizeWith: don't de-fault objects
		o in +eoCalculateAllSizeWith: manage a local autorelease pool
	* EOControl/EOKeyValueCoding.h:
		o added -smartTakeValue:forKey:
		o -smartTakeValue:forKeyPath:
		o -storedValuesForKeyPaths:
	* EOControl/EOGlobalID.m:
		o Insure that EODatabaseContext is initialized early. (David Ayers <d.ayers@inode.at>)
	* EOControl/EOQualifier.m:
		o +operatorSelectorForString:]): Parse 'doesContain' instead of
			'contains' (David Ayers <d.ayers@inode.at>)
	* EOControl/EODebug.m:
		o include NSDebug.h
	
2003-01-21  David Ayers  <d.ayers@inode.at>

	* EOControl/EOQualifier.m ([EOQualifier +allQualifierOperators]): 
	([EOQualifier +relationalQualifierOperators]): 
	([EOQualifier +stringForOperatorSelector:]): fixed array
	initialization and renamed 'contains' to 'doesContain'.

2003-01-16  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOObserver.m: Added implementation for EODelayedObserver
	and EODelayedObserverQueue.

2003-01-16  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/Postgres95Adaptor.m:
	Added import of NSDebug.h/EODebug.h
	Removed NSLog of connection information

	* EOAdaptors/Postgres95/Postgres95Channel.m
	* EOAdaptors/Postgres95/Postgres95Context.m
	* EOAdaptors/Postgres95/Postgres95Expression.m
	* EOAdaptors/Postgres95/Postgres95Value.m:
	Added import of NSDebug.h/EODebug.h

	* EOControl/EOControl.h:
	Added import of EOUndoManager.h

	* EOControl/EOObserver.m:
	Added empty implementation for EOObserverProxy

2002-12-31  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOFault.m ([EOFault -editingContext]): simplified.
	Converted NSDebug* to EOFLOGObjectLevel.

	* EOAccess/EOUtilities.m|.h ([EOObjectStoreCoordinator -modelGroup]),
	([EOObjectStoreCoordinator -setModelGroup:]): moved from EOControl/
	EOObjectStoreCoordinator.m

	* EOAccess/EOUtilities.m|.h ([EOFetchSpecification
	+fetchSpecificationNamed:entityNamed:]): moved from EOControl/
	EOFetchSpecification.m

	* EOControl/EOFetchSpecification.m ([EOFetchSpecification
	+fetchSpecificationNamed:entityNamed:]): return nil.

	* EOAccess/EOAccessFault.m|.h ([EOFault -databaseContext]): moved from
	EOControl/EOFault.m

	* added missing include, include config.h in all .m files.

	* EOControl/EOEditingContext.m ([EOEditingContext -tryToSaveChanges]),
	([EOEditingContext -saveChanges:]): use respondsToSelector:

2002-12-30  Markus Hitter <mah@jump-ing.de>

	* EOAdaptors/Postgres95/Postgres95Channel.m ([Postgres95Channel
	-describeTableNames]): implemented.

2002-12-30  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOSQLExpression.h: added missing declaration.

	* EOAccess/EORelationship.m ([EORelationship -removeJoin:]): added cast.

	* EOAccess/EOModel.m ([EOModel -dealloc]): removes observer correctly.

	* EOAccess/EODatabaseContext.h: added missing declaration.

	* EOControl/EOFetchSpecification.m ([EOFetchSpecification
	-copyWithZone:]): fixed cast.
	([EOFetchSpecification -hints]): added cast.

	* EOControl/EOClassDescription.m  ([NSException
	+validationExceptionWithFormat:]), ([NSException
	+aggregateExceptionWithExceptions:]),
	([NSException -exceptionAddingEntriesToUserInfo:]): renamed local
	variables.

	* rearranged header inclusion in all sources.

2002-12-29  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseContext.m ([EODatabaseContext -initializeObject:
	row:entity:editingContext:]): set nil instead of EONull

	* EOControl/EONull.m: included config.h

2002-12-17  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOEntity.m ([EOEntityClassDescription
	-inverseForRelationshipKey:]): Fixed to return a relationship name that
	is a class property.

2002-12-14  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EORelationship.m ([EORelationship
	-foreignKeyInDestination]): use destinationEntity to search for pk.

	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-_buildPrimaryKeyGeneratorListForEditingContext:]): check if the
	relationship propagates the pk to an entity pk.
	([EODatabaseContext -relayAttributesInRelationship:sourceObject:
	destinationObject:]): record updates for relationship with fk and the
	ones that propatates pk.

2002-12-08  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOEntity.m ([EOEntity -classDescriptionForInstances]):
	retain newly created classDescription.

	* EOAccess/EOAdaptor.m ([EOAdaptor -isValidQualifierType:model:]):
	implemented.

	* EOControl/GNUmakefile (libgnustep-db2control_HEADER_FILES): removed
	GCObject.h

	* EOAccess/EODatabaseContext.m: 
	* EOAccess/EORelationship.m:
	* EOAccess/EOEntity.m:
	* EOControl/EOMutableKnownKeyDictionary.m:
	* EOControl/EOEditingContext.m: replaced EOFLOGObjectLevelArgs with
	EOFLOGObjectLevel in absence of args. (fixed problems with gcc 2.95)

2002-12-07  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOEntity.m ([EOEntity -isPrimaryKeyValidInObject:]): check
	for NSNull objects.

2002-12-06  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOUtilities.h: added prototype.

2002-12-05  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	+_registerDatabaseContext:]): added a warning  if the specified model
	is not found.
	* EOAdaptors/Postgres95/Makefile.preamble.in (LIBRARIES_DEPEND_UPON):
	added postgres libs here.

2002-12-04  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOModeler/EOModelExtensions.m ([EOEntity -classAttributes]): 
	([EOEntity -classScalarAttributes]): 
	([EOEntity -classNonScalarAttributes]): 
	([EOEntity -classToManyRelationships]): 
	([EOEntity -classToOneRelationships]): fixed to use class properties.

	* EOAccess/EOEntity.m ([EOEntity -initWithPropertyList:owner:]): read
	<entityName>.fspec only if exists.

	* EOControl/EOKeyValueCoding.m ([NSArray -valueForKeyPath:]): 
	implemented the case of invoking an aggregate function using a simple
	key.

	* EOControl/EOGenericRecord.m ([EOGenericRecord
	-_infoForInstanceVariableNamed:retType:retSize:retOffset:]): renamed
	GSObjCFindInstanceVariable in GSFindInstanceVariable

	* config/postgres.m4: check in /usr/local/include and /usr/local/lib
	* EOModeler/GNUmakefile: install headers in EOModeler/

2002-12-01  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/EODatabase.m
		o  in -entityForObject: test for EONull or nil instead of just nil
	* EOAccess/EODatabaseContext.m:
		o in -valuesForKeys:object: test for EONull or nil instead of just nil
	* EOControl/EOGenericRecord.m:
		o replaced GSObjCFindVariable by GSObjCFindInstanceVariable
	 	o replaced GSObjCGetValue by GSGetValue
		o replaced GSObjCSetValue by GSSetValue
	* EOAccess/EOSQLExpression.m:
		o changed assertion message in -sqlStringForAttributeNamed:
	* EOAccess/EOSQLQualifier.m:
		o finished EOAndQualifier -schemaBasedQualifierWithRootEntity implementation
		o done EOOrQualifier -schemaBasedQualifierWithRootEntity implementation
		o modified EOKeyValueQualifier -schemaBasedQualifierWithRootEntity: 
			to use EONull for EONull value relationship attribute value
			so it will make sql like is null instead of = NULL which 
			doesn't work on Postgresql.

2002-11-30  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/EODatabaseContext.m
		o logs
		o changes in _primaryKeyForObject: to handle 
		inserted "child" of already existing object case
	* EOControl/EODetailDataSource.m:
		o implemented -description

2002-11-28  Richard Frith-Macdonald <rfm@gnu.org>

	* EOAccess/EOEntity.m:  Patch by David Ayers.
	* EOAccess/EOExpressionArray.m: Update for latest GSObjCRuntime stuff.
	* EOControl/EOGenericRecord.m: ditto
	* Tools/Makefile.preamble: Fix library lookup for link


2002-11-27  Richard Frith-Macdonald <rfm@gnu.org>

	* gdl2.make.in: simplify libraries ... let which_lib sort them out.
	* Tools/GNUmakefile.preamble: ditto

2002-11-27  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/EOModel.m: 
		o fixed typo in -entityNamed:
	
2002-11-27  Richard Frith-Macdonald <rfm@gnu.org>

	* EOAccess/EOModel.h:
	* EOAccess/EOModel.m:  Appplied David Ayers patch for programmatic
	model manipulation.  Fixed typo. Use NSFileManager rather than
	mkdir(). Tidied some use of autorelease for memory efficiency etc.
	* EOControl/EOGenericRecord.m: update to use GSFindInstanceVariable()

2002-11-26  Manuel Guesdon  <mguesdon@orange-concept.com>

	* EOAccess/EOEntity.m:
		o implemented flattened relationship handling in 
			-EOEntity _parseRelationshipPath:
	* EOAccess/EOAccessFault.m:
		o fixed logs in -EOAccesFaultHandler dealloc
		o added [super dealloc] in -EOAccesFaultHandler dealloc
		o added logs in -EOAccessArrayFaultHandler dealloc
	* EOAdaptors/Postgres95/Postgres95Channel.m:
		o removed log
	* EOAccess/EOAdaptorChannel.m
		o Handle direct SQL query case in 
			-dictionaryWithObjects:forAttributes:zone:
	* EOAccess/EOClassDescription.m
		o implement some cases in -addObject:toBothSidesOfRelationshipWithKey:
	* EOControl/EOGenericRecord.m:
		o avoid infinit loop in -description
	* EOAccess/EODatabaseContext.m
		o implement some cases in -entitiesOnWhichThisEntityDepends:
		o changed return type of -entitiesOnWhichThisEntityDepends:

2002-11-25  Richard Frith-Macdonald <rfm@gnu.org>

	Tagged all files as 'with-extensions'
	Committed new versions of very many files with dependency on the
	obsolete extensions library removed.  gdl2 should now only need
	the base library (or perhaps MacOS-X foundation plus a port of the
	Additions library from the base library package, when someone wants
	to do the port).

2002-11-24  Richard Frith-Macdonald <rfm@gnu.org>

	* EOAdaptors/Makefile.postamble: New file to clean configure
	generated files.
	* EOAdaptors/Postgres95/Makefile.postamble: New file to clean configure
	generated files.
	* EOAdaptors/Postgres95/Makefile.preamble: remove .. generated
	automatically.
	Fixes suggested by David Ayers

2002-11-18  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOKeyValueQualifier.m:
	* EOControl/EOAndQualifier.m:
	* EOControl/EOKeyComparisonQualifier.m:
	* EOControl/EONotQualifier.m:
	* EOControl/EOOrQualifier.m: remove references to EOAccess.

2002-11-16  Richard Frith-Macdonald <rfm@gnu.org>

	* EOAccess/EOExpressionArray.m: Correct reference to obsolete
	behavior function call (removed from public api a few years back
	and recently removed from internal code too).
	* EOControl/EOFault.m: Remove GNU property list method no longer
	used/nneeded.

2002-11-14  Manuel Guesdon  <mguesdon@orange-concept.com>

	* EOAcces/EODatabaseDataSource.m:
		o corrected bug in -description
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m
		o change in +formatValue:forAttribute: to handle string value for dates

2002-11-14  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAdaptors/*, EOAccess/*, EOControl/*: removed some warnings.

2002-11-13  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAcces/EODatabaseContext.m:
		o corrected bug
		o logs
	* EOAccess/EODatabaseOperation.m:
		o -setDatabaseOperator: change to not update deleted objetcs
	* EOAccess/EOEntity.m: 
		o -_attributesToFetch added exception handling
	* EOAccess/EOSQLExpression:
		o use sqlExpressionWithEntity instead of alloc/init
	* EOControl/EOEditingContext.m:
		o _processOwnedObjectsUsingChangeTable:deleteTable:
			bug correction in new/existing value handling
		o doc
	* EOControl/EOGenericRecord.m:
		o log changes
	* EOControl/EOKeyValueCoding.m:
		o added -takeStoredValue:forKeyPath:
		o added -storedValuesForKeyPaths:
		o corrected bug in NSArray -valueForKey:
		o corrected bugs in NSArray -valueForKeyPath:
	* EOAccess/EOUtilities.m
		o handle nil value in rawRowsMatchingValue:forKey:entityNamed:
		o handle nil value in objectsMatchingValue:forKey:entityNamed:
		o handle nil value in objectWithPrimaryKeyValue:entityNamed:
	* EOAccess/EOAttribute.m
		o destroy docComment in -dealloc
	* EOAdaptors/Postgres98/Postgres95Values.m:
		o comment
		o use stringWithCString.. instead of alloc/init/release
	* EOControl/EOMultipleKnownKeyDictionary.h
		o added -debugDescription
	* EOControl/EONull.m:
		o added -NSNull -valueForKey:
	* EOAccess/EOQualifier.m:
		o in getKey: autorelease key
		o in -qualifierWithQualifierFormat:varargList:
			user [NSMutableArray array] instead [NSMutableArray new]/DESTROY 
			to avoid memory leak if an exception is raised
	
2002-11-04  David Ayers  <d.ayers@inode.at>

	* EOControl/EOSortOrdering.m:
		o changed -sortedArrayUsingKeyOrderArray:
	* EOControl/EOQualifier.m: 
		o improved -qualifierWithQualifierFormat: parsing

2002-10-31  David Ayers  <d.ayers@inode.at>
	
	* EOControl/EOQualifier.m: 
		o improved -qualifierWithQualifierFormat: parsing
		o added NSNumber -initWithString as EOQualiferExtra
	* EOControl/EOKeyValueQualifier.m:
		o changed -description
	* EOControl/EOKeyComparisonQualifier.m:
		o changed -description

2002-09-22  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* Makefile.postamble: install gdl2.make.

2002-09-22  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* configure.ac: added adaptors configuration.
	* config/postgres.m4: check for postgres db.
	* EOAdaptors/Postgres95/GNUmakefile.in: new file.
	* EOAdaptors/Postgres95/Makefile.preamble.in: new file.

2002-09-20  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* configure.ac: new file.
	* gdl2.make.in: new file.
	* config.h.in: new file.

2002-09-20  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* Indented all the sources and removed many warnings.
	* Moved EOCheapArray.m|h, EONSAddOns.m|h and EODebug.m|h to EOControl.
	* Moved EOUtilities.m|h to EOAccess.
	* Moved EOQualifierSQLGeneration in EOAccess/EOSQLQualifier

2002-06-03  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m:
		o NSWarn -> NSWarnLog
	* EOControl/EOKeyValueArchiver.m:
		o added -isThereValueForKey: in EOKeyValueUnarchiver
	* EOControl/EOKeyValueArchiver.h:
		o added -isThereValueForKey: in EOKeyValueUnarchiver
	* EOControl/EOSQLExpression.m:
		o changes for usesDistincts
		o logs
	* EOAccess/EODatabaseChannel.m:
		o fix for refetched objects
	* EOAccess/EODatabaseContext.m:
		o fixes in recordChangesInEditingContext
	* EOAccess/EODatabaseDataSource.m:
		o logs
	* EOAccess/EONSAddOns.h/.m
		o added NSArray -arrayExcludingObject: 
		o added NSArray -containsIdenticalObjectsWithArray:
	* EOAccess/EORelationship.h/.m:
		o added isBidirectional: and associated methods (for use with smartTakeValue:forKey:)
	* EOControl/EOClassDescription.h/.m:
		o added -relationshipNamed:
		o added -anyRelationshipNamed:
	* EOControl/EOGenericRecord.m:
		o added -smartTakeValue:forKey:
	* EOControl/EOObjectStoreCoordinator.m:
		o logs
	
2002-05-14  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOControl/EOEditingContext.m:
		o changes in -saveChangesInEditingContext: to avoid return in the middle of the method
		o logs
	* EOAccess/EODatabaseContext.m:
		o add rollbackChanges on exception in -saveChangesInEditingContext:
		o corrected bug in initializeObject:row:entity:editingContext:
		o logs
	* EOControl/EOKeyValueQualifier.m:
		o implementation of flatten case in -schemaBasedQualifierWithRootEntity:
		o logs
	* EOControl/EODetailDataSource.m
		o correct bugs by using -decodeObjectForKey: in -initWithKeyValueUnarchiver:
		o changed _masterEntityName to _masterClassDescriptionName
		o added -classDescriptionForObjects
		o logs
	* EOControl/EODetailDataSource.h:
		o changed _masterEntityName to _masterClassDescriptionName
		o added -classDescriptionForObjects
	* EOControl/EODataSource.m:
		o logs
	* EOControl/EOGenericRecord.m:
		o added -willChange call in _setValueForKey:object:selector:type:size:offset:
	* EOControl/EOMutableKnownKeyDictionary.m:
		o corrected bug in -containsObjectsNotIdenticalTo:
		o logs
	* EOAccess/EOSQLExpression.m:
		o logs
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m:
		o logs
		o corrected bugs for empty strings in +formatValue:forAttribute:
	* EOAccess/EODatabaseDataSource.m
		o logs
	* EOAccess/EOEntity.m
		o logs
	* EOControl/EOQualifier.m:
		o logs
	* EOControl/EOOrQualifier.m:
		o logs
	* EOControl/EOAndQualifier.m:
		o logs
	* EOControl/EOObserver.m:
		o logs
	* EOAccess/EODatabase.m:
		o logs
		o avoid fault access in -entityForObject:

2002-04-15  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/EOFetchSpecification.m:
		o changed  -fetchSpecification into +fetchSpecification
	* EOAccess/EOKeyValueCoding.m:
		o logs
		o corrected bug: added special case "count" in NSArray -valueForKeyPath:
	* EOAccess/EOGenericRecord.m:
		o logs
	* EOControl/EODetailDataSource.h:
		o added -initWithKeyValueUnarchiver:
	* EOControl/EODetailDataSource.m:
		o added -initWithKeyValueUnarchiver:
	* EOControl/EOKeyValueArcher.m:
		o added EOKeyValueArchivingContainer +keyValueArchivingContainer
		o corrected not autorelease bug in -_objectForPropertyList:
		o logs
	* EOControl/EODatabaseDataSource.m:
		o logs

2002-04-01  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/EOModel.h:
		o added +version
	* EOAccess/EOStoredProcedure.h:
		o added +storedProcedureWithPropertyList:owner:
	* EOAccess/EOEntity.h:
		o added +entityWithPropertyList:owner:
		o added -setDocComment:
		o added +entityClassDescriptionWithEntity:
	* EOAccess/EOEntity.m:
		o corrected bug in _keyMapForIdenticalKeyRelationshipPath: (dictionary construction)
	* EOAccess/EOEntityPriv.h:
		o retyped -_parseDescription:isFormat:arguments:;
	* EOAccess/EORelationship.h:
		o added +relationshipWithPropertyList:owner:
	* EOAccess/EOAttribute.h:
		o added +attributeWithPropertyList:owner:
		o added -setInternalInfo:
		o added -_normalizeDefinition:path:

	* EOAccess/EOAttribute.m:
		o use an id instead of a string for userInfo,...
		o added -setInternalInfo:
	* EOAccess/EOExpressionArray.h:
		o added -valueForSQLExpression:

2002-04-01  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOControl/EODetailDataSource.h/.m:
		o added +detailDataSourceWithMasterDataSource:detailKey:
	* EOAccess/EODatbaseDataSource.m:
		o changed allocations
	* EOAccess/EODatabase.m:
		o changed allocations
	* EOAccess/EOEntity.m:
		o changed allocations
		o corrected not autorelease bug in EOEntity -classDescriptionForInstances
	* EOControl/EOGlobalID.h/.m:
		o added EOTemporaryGlobalID +temporaryGlobalID
	* EOControl/EIEditingContext.m:
		o changed allocations
	* EOControl/EOKeyValueQualifier.m:
		o changed allocations
	* EOControl/EOObjectStoreCoordinator.m:
		o changed allocations
	* EOKeyComparisonQualifier.m:
		o added +qualifierWithLeftKey:operatorSelector:rightKey:
	* EONotQualifier.m:
		o added +qualifierWithQualifier:
	* EOQualifier.m:
		o changed allocations
	* EOAccess/EOAdaptorContext.h/.m:
		o added +adaptorContextWithAdaptor:
	* EOAdaptors/Postgres95/Postgres9Adaptor.m:
		o changed allocations
	* EOAdaptors/Postgres95/Postgres9Channel.m:
		o changed allocations
	* EOAdaptors/Postgres95/Postgres9Context.m:
		o changed allocations
	* EOAccess/EOModel.h/.m:
		o added +model
	* EOAccess/EOAdaptorChannel.h/.m
		o added +adaptorChannelWithAdaptorContext:
	* EOAdaptors/Postgres95/Postgres9Values.m:
		o changed allocations

2002-03-29  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/EODatabaseOperation.m
		o logs
	* EOAccess/EODatabaseContext.h/.m
		o logs	
		o added +databaseContextWithDatabase:
		o change allocations
	* EOAccess/EORelationship.m
		o logs
		o corrected not autorelease bug in _foreignKeyForSourceRow:
		o added +relationshipWithPropertyList:owner:
	* EOAccess/EOJoin.h/.m:
		o added +joinWithSourceAttribute:destinationAttribute:

	* EOAccess/EOSQLExpression.m:
		o added +sqlExpressionWithEntity:
	* EOAccess/EOAttribute.m:
		o added +attributeWithPropertyList:owner:

	* EOAdaptors/Postgres95/Postgres95Channel.m
		o logs
	* EOAccess/EODatabaseChannel.m
		o logs
		o added +databaseChannelWithDatabaseContext:
	* EOAccess/EOFault.m:
		o logs
	* EOAccess/EOFetchSpecification.m/.h
		o added +fetchSpecification
	* EOControl/EOUtilities.m:
		o corrected not autorelease bug in -objectsMatchingValues:entityNamed:
		o change qualifiers allocations
	* EOAccess/EOAndQualifier.m:
		o added EOAndQualifier +qualifierWithQualifierArray:
		o added EOAndQualifier +qualifierWithQualifiers:
	* EOAccess/EOOrQualifier.m:
		o added EOOrQualifier +qualifierWithQualifierArray:
	* EOAccess/EOQualifier.h
		o added EOAndQualifier +qualifierWithQualifierArray:
		o added EOOrQualifier +qualifierWithQualifierArray:
	* EOAccess/EOEntity.m:
		o changed EOMutableKnownKeyDictionary allocation in -_dictionaryForProperties 
	* EOAccess/EOMutableKnownKeyDictionary.h/.m:
		o added +dictionaryFromDictionary:subsetMapping:
	* EOAccess/EOModel.h/.m
		o added +modelWithContentsOfFile:
		o corrected not autorelease bug
		o allocation changes
	* EOAccess/EOModelGroup.m:
		o Changed EOModel allocation
	* EOAccess/EODatabase.h/.m:
		o added +databaseWithModel:
	* EOAccess/EOAccessFault.h/.m
		o added EOAccessFaultHandler +accessFaultHandlerWithGlobalID:databaseContext:editingContext:
		o added EOAccessArrayFaultHandler 
			+accessArrayFaultHandlerWithSourceGlobalID:relationshipName:databaseContext:editingContext:
	* EOAccess/EODatabaseOperation.h/.m:
		o added EODatabaseOperation +databaseOperationWithGlobalID:object:entity:
	* EOAccess/EOAdaptorOperation.h/.m:
		o added EOAdaptorOperation +adaptorOperationWithEntity:
	* EOAccess/EODatabaseDataSource.m:
		o allocation changes
	* EOAccess/EOStoredProcedure.m:
		o corrected not autorelease bug in -initWithPropertyList:owner:


2002-03-28  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/EODatabaseChannel.m
		o removed logs
		o changed logs
	* EOAdaptors/Postgres95/Postgres95Channel.m
		o removed logs
	* EOAccess/EORelationship.m:
		o NSAssert
		o added _docComment and associated methods
	* EOAccess/EORelationship.h:
		o added _docComment and associated methods
	* EOAccess/EOSQLExpression.m:
		o NSAssert
		o logs	
	* EOAccess/EOEntity.m:
		o doc
		o logs
		o added _docComment and associated methods
	* EOAccess/EOEntity.h:
		o added _docComment and associated methods

	* EOAccess/EOModel.h/.m:
		o added -adaptorClassname
		o added _version and -version
		o added _docComment and associated methods
	* EOAccess/EOAttribute.h/.m:
		o added _docComment and associated methods

	* EOAccess/EOAdaptorChannel.m
		o logs
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m:
		o corrected bug in formatValue:forAttribute:
	* added Tools/

2002-03-25  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/GNUmakefile:
		o removed -SystemProjects System
		o added -Declared EOAccess
	* EOControl/GNUmakefile:
		o removed -SystemProjects System
		o added -Declared EOControl
	* EOAdaptors/Postgres95/GNUmakefile:
		o removed -SystemProjects System
		o added -Declared EOAdaptors/PostgreSQL
	* EOControl/EOGenericRecord.m: logs
	* EOAccess/EODebug.h: added EOFLOGClassFnStartCond EOFLOGClassFnStopCond
	* EOAccess/EODatabaseChannel.m: logs
	* EOAccess/EORelationship.m: 
		o setDefinition
		o corrected bug in _makeFlattenedInverseRelationship
	* EOAccess/EOEntity.m 
		o logs
	* EOControl/EOQualifier.h
	 	o added qualifierWithKey:operatorSelector:value:
	* EOControl/EOKeyValueQualifier.m:
	 	o added qualifierWithKey:operatorSelector:value:
	* EOAccess/EOModel.m:
		o removed assert for non EOGenericRecord class in -_classDescriptionNeeded:
	
2002-03-07  Manuel Guesdon  <mguesdon@orange-concept.com>
	Too much changes

2001-04-10  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOSQLExpression.m ([EOSQLExpression
	+foreignKeyConstraintStatementsForRelationship:]): implemented.

2001-04-07  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOKeyValueCoding.m: import EOControl.h
	* EOControl/EONull.m: likewise.
	* EOAccess/EOModel.m ([EOModel -writeToFile:]): implemented.
	([EOModel -encodeTableOfContentsInfoPropertyList:]): implemented.
	* EOAccess/EORelationship.m ([EORelationship -setEntity:]): remove self
	from previous entity.
	([EORelationship -setDefinition:]): remove joins.

2001-01-12  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOModeler: new library.
	* EOModeler/EOModelExtensions.m/.h: EOModeler categories needed by
	eogenerator.
	* EOControl/EOKeyValueCoding.m ([NSArray -valueForKey:]): fixed @x key.

2001-01-06  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOControl.h: defined FOUNDATION_HAS_KVC to use Foundation
	key value coding.
	* EOAccess/EOAttribute.m ([EOAttribute
	-adaptorValueByConvertingAttributeValue:]): use EONull null object.
	* EOAccess/EOSQLExpression.m ([EOSQLExpression -sqlStringForSelector:
	value:]): likewise.
	* EOControl/EOKeyValueCoding.m ([NSObject -takeValuesFromDictionary:]):
	([NSObject -takeStoredValuesFromDictionary:]): likewise.
	defined FOUNDATION_HAS_KVC to use Foundation key value coding.

2001-01-03  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-faultForGlobalID:editingContext:]): use the correct class property
	array.

2000-12-23  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOEntity.m ([EOEntity -isPrimaryKeyValidInObject:]): fixed.
	Do not returns from inside an exception handler.
	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-prepareForSaveWithCoordinator:editingContext:]): bug fix. Do not
	release an autoreleased object.
	* EOAccess/EODatabaseDataSource.m ([EODatabaseDataSource
	-fetchSpecificationForFetch]): fixed fetch qualifier.
	* EOControl/EOKeyValueQualifier.m ([EOKeyValueQualifier
	-copyWithZone:]): do not copy _value.
	* EOControl/EOAndQualifier.m ([EOAndQualifier -copyWithZone:]): use
	correct zone.
	* EOControl/EOOrQualifier.m ([EOOrQualifier -copyWithZone:]): likewise.
	* EOControl/EOKeyComparisonQualifier.m ([EOKeyComparisonQualifier
	-copyWithZone:]): likewise.

2000-12-20  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-_recordChangesForObjects:operator:]): create dbOperation with the
	correct entity for to-many relationship objects.

2000-12-11  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOModel.m ([EOModel -_registerClassDescForClass:]): 
	check for NULL _entitiesByClass
	([EOModel -dealloc]): release _entitiesByClass
	([EOModel -removeEntity:]): bug fix.

	* EOAdaptors/Postgres95/Postgres95Channel.m ([Postgres
	-_evaluateCommandsUntilAFetch]): raise an exception on error.

2000-12-10  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOKeyValueCoding.m (newGetStoredBinding): fixed value of
	class variable.

2000-12-09  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOModel.m ([EOModel -_registerClassDescForClass:]): fixed
	class description registration.
	([EOModel -_registerClassDescForEntityName:]): likewise.
	([EOModel -addEntity:]), ([EOModel -removeEntity:]): save EOEntity in
	_entitiesByClass.

2000-12-08  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-prepareForSaveWithCoordinator:editingContext:]): get the object value
	if the key is a class property.
	Added code to handle propagatesPrimaryKey for to many relationships.
	Fixed code that merges pk values.
	* EOControl/EOClassDescription.m ([EOClassDescription -awakeObject:
	fromInsertionInEditingContext:]): use NSMutableArray for to many
	relationships.

2000-12-08  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseContext.m ([EODatabaseContext -faultForGlobalID:
	editingContext:]): set only class property's object values.
	([EODatabaseContext -faultForRawRow:entityNamed:editingContext:]):
	likewise.
	([EODatabaseContext -_recordChangesForObjects:operator:]): likewise.
	([EODatabaseContext -batchFetchRelationship:forSourceObjects:
	editingContext:]): get key value from snapshot rather than in the
	object.

2000-12-06  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOKeyValueCoding.m ([NSObject
	-handleQueryWithUnboundKey:]): raise an EOUnknownKeyException with
	the correct userInfo.
	([NSObject -handleTakeValue:forUnboundKey:]): likewise.
	* EOAccess/EOEntity.m ([EOEntity -isPrimaryKeyValidInObject:]):
	check valueForKey: exception.
	* EOControl/EOClassDescription.m ([NSObject -changesFromSnapshot:]):
	check for EONull values as toMany relationship array.
	* EOControl/EOEditingContext.m ([EOEditingContext
	-processRecentChanges]): check for EONull values in dictionary.
	* EOAccess/EOModel.m ([EOModel -initWithPropertyList:owner:]): check
	for an exception in the entity awakeWithPropertyList method.
	* EOAccess/EOJoin.m ([EOJoin -initWithSourceAttribute:
	destinationAttribute:]): raise exception if source or destination is
	nil.

2000-12-05  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseChannel.m ([EODatabaseChannel -fetchObject]):
	fixed refreshing objects.
	* EOControl/EOKeyValueCoding.m ([NSArray -valueForKey:]): fixed array
	and string selector.
	* EOAccess/EOUtilities.m ([EOEditingContext -objectsForEntityNamed:]):
	([EOEditingContext -primaryKeyForObject:]), ([EOEditingContext
	-entityForObject:]): implemented.
	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-prepareForSaveWithCoordinator:editingContext:]): lock the database
	context.
	([EODatabaseContext -commitChanges]), ([EODatabaseContext
	-rollbackChanges]): unlock the database context
	([EODatabaseContext -registerLockedObjectWithGlobalID:]): fixed zone
	size.

2000-12-04  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-_recordChangesForObjects:operator:]): when updating relationship keys
 	look also in the object snapshot.

2000-12-03  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOSQLExpression.m ([EOSQLExpression
	-sqlStringForKeyValueQualifier:]): bug fix.
	* EOAccess/EOUtilities.m ([EOEditingContext -objectsMatchingValue:
	forKey:entityNamed:]): implemented.

2000-12-01  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOUtilities.m/.h: new files.
	* EOAccess/EOAccess.h: addes EOUtilities.h

2000-11-23  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOEditingContext.m ([EOEditingContext
	-initializeObject:withGlobalID:editingContext:]): ensure that the next
	'willChange' notification will be processed for the initialized object.
	* EOAccess/EOEntity.m ([EOEntity -globalIDForRow:]): fixed globalID
	values order for compound PKs.

2000-11-22  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseOperationPriv.h: new file.
	* EOAccess/EODatabaseOperation.m ([EODatabaseOperation
	-_setGlobalID:]): new method.
	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-prepareForSaveWithCoordinator:editingContext:]): fixed propagates
	primary key code.
	([EODatabaseContext -_recordChangesForObjects:operator:]): in toOne rel
	discard PK to PK joins. Discard 'empty' toOne rels.
	([EODatabaseContext -_setGlobalID:forDatabaseOperation:): new method.
	It replaces the globalID for the gived operation.
	* EOAccess/EORelationship.m ([EORelationship
	-initWithPropertyList:owner:]): check for 'propagatesPrimaryKey'.
	* EOAccess/EOSQLExpression.m ([EOSQLExpression
	-addOrderByAttributeOrdering:]): use compare selector defines. Call
	-sqlStringForAttributeNamed: for the sortOrdering key.

2000-11-19  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOFault.m ([EOFault +makeObjectIntoFault:withHandler:]): 
	do not turn into fault the nil object.
	* EOControl/EOEditingContext.m ([EOEditingContext
	-refaultObject:withGlobalID:editingContext:]): does nothing if objects
	is nil.
	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-refaultObject:withGlobalID:editingContext:]): likewise.
	([EODatabaseContext -refaultObject:withGlobalID:editingContext:]): does
	not remove the snapshot.
	([EODatabaseChannel -fetchObject]): fix for refreshing object.
	* EOControl/EOSortOrdering.m ([NSMutableArray
	-_sortUsingKeyOrder:fromIndex:count:]): use defined value for compare
	selectors. Fix when aValue or bValue are nil.
	([EONull -compareAscending:]), ([EONull -compareDescending:]),
	([EONull -compareCaseInsensitiveAscending:]): ([EONull
	-compareCaseInsensitiveDescending:]): if value to be compared is be
	treat it as EONull.

2000-11-18  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOEditingContext.m ([EOEditingContext
	-processRecentChanges]): get toOne and toMany keys from object instead
	of the editingContext.

	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-_recordChangesForObjects:operator:]): new method. Fixed foreign key
	update for inserted objects of toOne relationships. Fixed dictionary
	and foreign key update for toMany relationships.
	([EODatabaseContext -recordChangesInEditingContext]): moved code into
	-_recordChangesForObjects:operator: and check changes also in inserted
	objects.
	([EODatabaseContext -_dbOperationWithObject:operator:]): new method.
	Find db operation for the given object and operator.
	([EODatabaseContext -commitChanges]), ([EODatabaseContext
	-rollbackChanges]): reset ivars if no transaction in progress.

2000-11-16  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOEditingContext.m ([EOEditingContext
	-_handleObjectsChangedInStoreNotification:]): refault updated objects.

	* EOAccess/EODatabaseChannel.m ([EODatabaseChannel -fetchObject]):
	fixed notification for refreshed objects.
	* EOAccess/EOSQLExpression.m ([EOSQLExpression
	-sqlStringForAttribute:]): fix id attribute is derived.
	* EOAccess/EOEntity.m ([EOEntity -setAttributesUsedForLocking:]): fix
	release of the array when no valid attributes are found.
	([EOEntity -setPrimaryKeyAttributes:]): likewise.
	* EOAccess/EODatabase.m ([EODatabase -forgetSnapshotsForGlobalIDs:]): 
	([EODatabase -forgetSnapshotForGlobalID:]): use defined userInfo string
	instead of an hardcoded one.

2000-11-05  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOSortOrdering.m ([NSArray
	-sortedArrayUsingKeyOrderArray:]): implemented.
	([NSMutableArray -sortUsingKeyOrderArray:]): not fully implemented.
	([NSMutableArray -_sortUsingKeyOrder:fromIndex:count:]): modified
	gnustep-base shell sort.
	([EOSortOrdering -initWithCoder:]): fixed.
	([EONull -compareAscending:]): implemented.
	([EONull -compareDescending:]): implemented.
	([EONull -compareCaseInsensitiveAscending:]): implemented.
	([EONull -compareCaseInsensitiveDescending:]): implemented.

	* EOAdaptors/Postgres95/Postgres95Channel.m ([Postgres
	-_describeResults]): does not coerce attribute className.
	* EOAdaptors/Postgres95/Postgres95Values.m: fixed pg calendar format.
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m ([Postgres -assembleSelectStatementWithAttributes:lock:qualifier:fetchOrder:selectString:columnList:tableList:whereClause:joinClause:orderByClause:lockClause:]): does not return
	mutableCopy of the string.
	([Postgres +formatValue:forAttribute:]): implemented. Added code from
	Turbocat's development.

	* EOAccess/EOSQLExpression.m: does not return mutableCopy of a string.
	([EOSQLExpression +formatValue:forAttribute:]): return value unchanged.
	([EOSQLExpression -sqlStringForValue:attributeNamed:]): bug fix ?
	moved code from +[formatValue:forAttribute:]

	* EOControl/EOAndQualifier.m ([EOAndQualifier
	-sqlStringForSQLExpression:]): doesn't return mutableCopy of a string.
	* EOControl/EOOrQualifier.m ([EOOrQualifier
	-sqlStringForSQLExpression:]): likewise.

	* EOControl/EODetailDataSource.m ([EODetailDataSource
	-initWithMasterClassDescription:detailKey:]): set
	masterClassDescription.

	* EOAccess/EOSQLExpression.m
	([EOSQLExpression -addCreateClauseForAttribute:]): 
	([EOSQLExpression -allowsNullClauseForConstraint:]): 
	([EOSQLExpression -columnTypeStringForAttribute:]): 
	([EOSQLExpression +dropTableStatementsForEntityGroup:]): 
	([EOSQLExpression +createTableStatementsForEntityGroup:]): 
	([EOSQLExpression +primaryKeyConstraintStatementsForEntityGroup:]): 
	([EOSQLExpression +primaryKeySupportStatementsForEntityGroup:]): 
	([EOSQLExpression +dropPrimaryKeySupportStatementsForEntityGroup:]): 
	([EOSQLExpression +createTableStatementsForEntityGroups:]): 
	([EOSQLExpression +dropTableStatementsForEntityGroups:]): 
	([EOSQLExpression +primaryKeyConstraintStatementsForEntityGroups:]): 
	([EOSQLExpression +primaryKeySupportStatementsForEntityGroups:]): 
	([EOSQLExpression +dropPrimaryKeySupportStatementsForEntityGroups:]): 
	([EOSQLExpression +appendExpression:toScript:]): 
	([EOSQLExpression +schemaCreationScriptForEntities:options:]): 
	([EOSQLExpression +schemaCreationStatementsForEntities:options:]): 
	([EOSQLExpression -prepareConstraintStatementForRelationship:
	sourceColumns:destinationColumns:]): 
	([EOSQLExpression +createDatabaseStatementsForConnectionDictionary:
	administrativeConnectionDictionary:]): 
	([EOSQLExpression +dropDatabaseStatementsForConnectionDictionary:
	administrativeConnectionDictionary:]): 
	([EOSQLExpression +selectStatementForContainerOptions]): implemented.

	* EOAccess/EOEntity.m ([EOEntity -primaryKeyRootName]): bug fix: calls
	-primaryKeyRootName on the _parent entity instead of -externalName.

	* EOAccess/EOSchemaGeneration.h: new file.

	* EOAccess/EOAccess.h: added EOSchemaGeneration.h

	* EOAccess/EOModel.m ([EOModel -initWithContentsOfFile:]):,
	([EOModel -initWithTableOfContentsPropertyList:path:]): fixed _name and
	_path.
	([EOModel -initWithPropertyList:owner:]): use _path instead of _name.

	* EOAccess/EOModelGroup.m ([EOModelGroup +globalModelGroup]): search
	models in bundles and frameworks.

	* EOAccess/EOAdaptor.m ([EOAdaptor +adaptorWithName:]): changed adaptor
	from bundle to framework. Looks for <name>EOAdaptor.framework
	([EOAdaptor -createDatabaseWithAdministrativeConnectionDictionary:]): 
	([EOAdaptor -dropDatabaseWithAdministrativeConnectionDictionary:]): 
	new methods.
	* EOAccess/EOAdaptor.h: added include file

	* EOAccess/GNUmakefile: added LIBRARIES_DEPEND_UPON
	* EOControl/GNUmakefile: Likewise.

2000-10-05  Manuel Guesdon  <mguesdon@orange-concept.com>

	* EOAccess/EODatabaseChannel.m: added NSDebugMLog and NSAssert
	* EOAccess/EODatabaseDataSource.m: added NSDebugMLog and NSAssert
	* EOAccess/EOEntity.m: added NSDebugMLog and NSAssert
	* EOAccess/EOModel.m: modified -init
	* EOControl/EOFetchSpecification.h/.m: added EOKeyValueUnarchiver support
	* EOControl/EOKeyValueArchiver.h/.m: implemented EOKeyValueUnarchiver
	* EOControl/GNUmakefile: added EOKeyValueArchiver

2000-09-28  Manuel Guesdon  <mguesdon@orange-concept.com>

	* EOAccess/EODatabaseContext.m: added NSDebugMLog and NSAssert
	* EOAccess/EODatabaseChannel.m: added NSDebugMLog and NSAssert
	* EOAdaptors/Postgres95/Postgres95Channel.m : added NSDebugMLog 
		and NSAssert
	* EOAccess/EODatabase.m: added NSDebugMLog and NSAssert

2000-09-24  Manuel Guesdon  <mguesdon@orange-concept.com>

	* config.mak: added include directories in POSTGRES95_CFLAGS

2000-09-23  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOQualifier.m (getKey): fixed pointer in key-value parsing.

2000-09-17  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAdaptors/Postgres95/GNUmakefile: remove Postgres95Exceptions.h

2000-09-17  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	Patches by David Wetzel <dave@turbocat.de>
	* EOAccess/EOAdaptorContext.m ([EOAdaptorContext -initWithAdaptor:]):
	set default debug.

	* EOAccess/EOModel.m ([EOModel +findPathForModelNamed:]): look also
	in the current dir.

	* EOControl/EOObjectStoreCoordinator.m ([EOObjectStoreCoordinator
	-objectStoreForGlobalID:]), ([EOObjectStoreCoordinator
	-objectStoreForObject:]), ([EOObjectStoreCoordinator
	-objectStoreForFetchSpecification:]): bug fix: changed notification
	object.

