2013-12-06 Evgeny V. Kokovikhin
	
	* core/Form/FormUtils.class.php core/OSQL/QuerySkeleton.class.php
	main/Flow/ModelAndView.class.php main/Utils/ArrayUtils.class.php
	test/main/Utils/ArrayUtilsTest.class.php: cosmetics and sugar

2013-11-19 Evgeny V. Kokovikhin

	* core/Form/Form.class.php core/Form/FormCollection.class.php 
	test/core/FormTest.class.php: FormCollection introduced. See usage examples in tests.§ 

2013-11-01 Evgeny V. Kokovikhin
	
	* core/Form/Primitives/PrimitiveIdentifierList.class.php: added ability 
	to ignore wrong values in list of identifier

2013-10-28 Evgeny V. Kokovikhin
	
	*  main/Flow/SimpleFrontController.class.php: added SimpleFrontController
	this is one of the possible way to use FrontController in your application 

2013-10-25 Vasily M. Stashko

	* core/DB/MySQLim.class.php:
		added getTableInfo() method implementation

2013-10-21 Evgeny V. Kokovikhin
	
	* meta/bin/build.php meta/classes/MetaClassPUMLGenerator.class.php
	meta/classes/MetaConfiguration.class.php:  added schema generator for PlantUML
	see http://plantuml.sourceforge.net/classes.html

2013-10-17 Nikita V. Konstantinov

	* main/Flow/HttpRequest.class.php
	* main/Net/Http/HttpHeaderCollection.class.php
	* test/AllTests.php
	* test/main/Net/Http/HttpHeaderCollectionTest.class.php:
		added HttpHeaderCollection

2013-10-15 Nikita V. Konstantinov

	* main/Flow/HttpRequest.class.php:
		added HttpRequest::createFromGlobals()

2013-09-03 Vasily M. Stashko

	* core/DB/MySQL.class.php
	core/DB/MySQLim.class.php:
		added (mysqli?_ping) check to isConnected() methods

2013-04-19  Aleksey S. Denisov

	* core/Cache/CachePeer.class.php
	core/Cache/WatermarkedPeer.class.php
	core/DB/DB.class.php:
        fixed deferent uncache keys with watermark while in db transaction

2013-04-08  Artem V. Titarenko

	* main/DAOs/Workers/SmartDaoWorker.class.php: SmartDaoWorker race condition bug fix

2013-03-31  Viatcheslav Y. Tsyrulnik

	* core/Form/Primitives/PrimitiveHttpUrl.class.php
		main/Net/HttpUrl.class.php
		test/core/PrimitiveHttpUrlTest.class.php
		test/main/HttpUrlTest.class.php:
			HttpUrl::isValid skips privileged ports validation by default

2013-03-31  Nikita V. Konstantinov

	* core/Base/Singleton.class.php:
		Singleton 2+ constructor arguments now without eval

2013-01-23  Dmitriy V. Snezhinskiy

	* main/Math/MathUtils.class.php 
		test/main/MathUtilsTest.class.php:
			fix matrix multiplication, add test

2012-12-23  Vasily A. Surikov

	* meta/bin/build.php
		meta/classes/ColoredTextOutput.class.php
		meta/classes/MetaOutput.class.php
		meta/classes/TextOutput.class.php:
			do not forward stderr > stdout

2012-12-23  Vasily A. Surikov

	* core/Form/Primitives/BasePrimitive.class.php
		core/Form/Primitives/PrimitiveAlias.class.php
		core/Form/Primitives/TimeList.class.php:
			getActualValue marked deprecated and not secure,
				added instead it method getValueOrDefault

2012-12-23  Alexey S. Denisov

	* main/Base/AbstractProtoClass.class.php
		main/Base/InnerMetaProperty.class.php:
			InnerMetaProperty (ValueObject) unquoting binary field fix

2012-12-06  Evgeny V. Kokovikhin

	* main/DAOs/GenericDAO.class.php 
		meta/builders/AutoDaoBuilder.class.php 
		meta/builders/BaseBuilder.class.php:
			dbLink became a property

2012-11-25  Alexey S. Denisov

	* core/Form/Primitives/PrimitiveIdentifier.class.php
		core/Form/Primitives/PrimitiveIdentifier.class.php:
			PrimitiveIdentifier now can export/import objects by custom methods

2012-11-18  Nikita V. Konstantinov

	* meta/types/ObjectType.class.php:
		update for Business objects - now you can setSomeProperty(null)
		for Objects properties if it's not required

2012-10-24  Alexey S. Denisov

	* main/Flow/CarefulDatabaseRunner.class.php
		main/UnifiedContainer/UnifiedContainer.class.php:
			CarefulDatabaseRunner and UnifiedContainer will use InnerTransaction

2012-10-24  Alexey S. Denisov

	* global.inc.php.tpl
		main/Autoloader/Autoloader.class.php
		main/Autoloader/AutoloaderClassNotFound.class.php
		main/Autoloader/AutoloaderClassPathCache.class.php
		main/Autoloader/AutoloaderNoCache.class.php
		main/Autoloader/AutoloaderPool.class.php
		main/Autoloader/AutoloaderRecachable.class.php
		main/Autoloader/AutoloaderWithNamespace.class.php
		main/Autoloader/NamespaceDirScaner.class.php
		main/Autoloader/NamespaceDirScanerOnPHP.class.php
		main/Autoloader/NamespaceDirScanerPSR0.class.php
		main/Autoloader/NamespaceResolver.class.php
		main/Autoloader/NamespaceResolverOnPHP.class.php
		main/Autoloader/NamespaceResolverPSR0.class.php
		main/Autoloader/require.inc.php
		meta/bin/build.php
		meta/classes/MetaConfiguration.class.php
		misc/Autoloader.inc.php
		misc/BaseException.inc.php:
			New Autoloader which work without include_paths and use optional namespaces

2012-09-29	Alexey S. Denisov

	* core/DB/DB.class.php
		core/DB/Dialect.class.php
		core/DB/ImaginaryDialect.class.php
		core/DB/LiteDialect.class.php
		core/DB/LitePDODialect.class.php
		core/DB/MyDialect.class.php
		core/DB/MyImprovedDialect.class.php
		core/DB/MySQL.class.php
		core/DB/MySQLim.class.php
		core/DB/PgSQL.class.php
		core/DB/PostgresDialect.class.php
		core/DB/SQLite.class.php
		core/DB/SQLitePDO.class.php:
			Dialects not Singletons now. Some methods now unstatic and they use DB for correct quoting

2012-09-26	Alexey S. Denisov

	* core/Form/Form.class.php:
		added to Form methods markMissing, markWrong, markCustom
		optional argument "label" to set it without calling special method add*Label

2012-09-19	Evgeny V. Kokovikhin

	* main/Monitoring/PinbedMemcached.class.php: cosmetics

2012-09-18      Evgeniy Tekalin

	* main/Utils/AMQP/AMQP.class.php,
		main/Utils/AMQP/AMQPBaseChannel.class.php,
		main/Utils/AMQP/AMQPBaseMessage.class.php,
		main/Utils/AMQP/AMQPChannelInterface.class.php,
		main/Utils/AMQP/AMQPPool.class.php,
		main/Utils/AMQP/Pecl/AMQPPecl.class.php,
		main/Utils/AMQP/Pecl/AMQPPeclBaseBitmask.class.php,
		main/Utils/AMQP/Pecl/AMQPPeclChannel.class.php,
		main/Utils/AMQP/AMQPInterface.class.php,
		main/Utils/AMQP/Pecl/AMQPPeclIncomingMessageAdapter.class.php,
		main/Utils/AMQP/Pecl/AMQPPeclQueueConsumer.class.php,
		main/Utils/AMQP/AMQPProxyChannel.class.php,
		main/Utils/AMQP/AMQPSelective.class.php,
		test/main/Utils/AMQP/AMQPPeclTest.class.php:
				added support for pecl amqp 1.0.4

2012-09-16	Alexey S. Denisov
	* DAOTest splitted to more Test classes in new db directory

2012-09-12	Alexey S. Denisov
	* main/Net/GenericUri.class.php
		main/Net/HttpUrl.class.php
		main/Net/Url.class.php
		main/Net/Urn.class.php:
			GenericUri::parse now static

2012-09-12	Alexey S. Denisov

	* main/Flow/HttpRequest.class.php
		main/Net/Http/CurlHttpClient.class.php
		main/Utils/UrlParamsUtils.class.php:
			allowing curlHttpClient upload files and send post/get arrays with any deep lvl

2012-09-06	Igor V. Gulyaev

	* main/Base/Hstore.class.php
		test/main/HstoreTest.class.php: fix hstore key exist check

2012-08-28	Artem A. Naumenko

	* main/Net/GenericUri.class.php: utf modifier added to RegExp pattern

2012-08-10	Alexey S. Denisov

	* core/DB/PostgresDialect.class.php:
		fix incorrect bytea escaping for Postgres 9.1+

2012-08-10	Alexey S. Denisov

	* core/Form/Primitives/PrimitiveHstore.class.php:
		PrimitiveHstore exportValue now return array|null instead Hstore object

2012-08-08	Artem A. Naumenko

	* core/DB/NoSQL/RedisNoSQL.class.php:
		added campability with old version of redis servers

2012-07-20	Alexey S. Denisov

	* main/Utils/ClassUtils.class.php: fix for php 5.4 support

2012-07-19	Georgiy T. Kutsurua, Alexey S. Denisov (some fixes, ideas)

	* core/Base/Date.class.php
		core/Base/Timestamp.class.php
		core/Base/TimestampTZ.class.php
		core/DB/PgSQL.class.php
		core/Form/Primitive.class.php
		core/Form/Primitives/ComplexPrimitive.class.php
		core/Form/Primitives/PrimitiveTimestamp.class.php
		core/Form/Primitives/PrimitiveTimestampTZ.class.php
		core/OSQL/DataType.class.php
		main/Base/CalendarDay.class.php
		meta/types/TimeType.class.php
		meta/types/TimestampTZType.class.php
		test/config.inc.php.tpl
		test/core/DateTest.class.php
		test/core/PrimitiveTimestampTZTest.class.php
		test/core/PrimitiveTimestampTest.class.php
		test/core/TimestampTZTest.class.php
		test/core/TimestampTest.class.php

	Refactoring Date and Timestamp, added TimestampTZ with support database type "timestamp with time zone"

2012-07-11	Artem A. Naumenko

	* core/Cache/ListGenerator.class.php, core/DB/NoSQL/RedisNoSQL.class.php:
	redis nosql became lazy

2012-07-08	Alexey S. Denisov

	* main/Base/Hstore.class.php: hstore fix and tests update

2012-07-03	Alexey S. Denisov

	* core/Cache/Cache.class.php
		core/DB/DB.class.php
		global.inc.php.tpl
		main/DAOs/BaseDAO.class.php
		main/DAOs/GenericDAO.class.php
		main/DAOs/Uncachers/UncacherBase.class.php
		main/DAOs/Uncachers/UncacherBaseDaoWorker.class.php
		main/DAOs/Uncachers/UncacherCacheDaoWorkerLists.class.php
		main/DAOs/Uncachers/UncacherCommonDaoWorker.class.php
		main/DAOs/Uncachers/UncacherGenericDAO.class.php
		main/DAOs/Uncachers/UncacherNullDaoWorker.class.php
		main/DAOs/Uncachers/UncacherSmartDaoWorkerLists.class.php
		main/DAOs/Uncachers/UncacherTaggableDaoWorker.class.php
		main/DAOs/Uncachers/UncacherVoodoDaoWorkerLists.class.php
		main/DAOs/Uncachers/UncachersPool.class.php
		main/DAOs/Workers/BaseDaoWorker.class.php
		main/DAOs/Workers/CacheDaoWorker.class.php
		main/DAOs/Workers/CommonDaoWorker.class.php
		main/DAOs/Workers/DalayedDropDaoWorker.class.php
		main/DAOs/Workers/NullDaoWorker.class.php
		main/DAOs/Workers/SmartDaoWorker.class.php
		main/DAOs/Workers/VoodooDaoWorker.class.php:

	Introducing Uncachers

2012-06-29	Nikita V. Konstantinov

	* core/DB/PgSQL.class.php
		test/core/DbConnectionTest.class.php:

	throw DatabaseException instead of BaseException in case of connection's failure

2012-06-27	Alexey S. Denisov

	* main/Base/AbstractProtoClass.class.php
		main/Base/InnerMetaProperty.class.php
		main/Base/LightMetaProperty.class.php
		main/DAOs/StorableDAO.class.php
		test/core/AbstractProtoClassFillQueryTest.class.php:

	moved and updated StorableDAO::unite "properties compare logic" to AbstractProtoClass
		and (Inner|Light)MetaProperty and covered with tests
		
2012-06-04	Evgeny M. Stepanov

	* main/Base/Hstore.class.php: fix

2012-05-31	Alexey S. Denisov

	* main/DAOs/StorableDAO.class.php: fix merge object with self
		
2012-05-28	Georgiy T. Kutsurua

	* core/Cache/PeclMemcache.class.php
		core/Cache/PeclMemcached.class.php
		core/Cache/{Memcached.class.php → SocketMemcached.class.php}
		
	Code clean & add SocketMemcached instead of Memcached

2012-05-23	Georgiy T. Kutsurua

	* main/Base/LightMetaProperty.class.php: fix after Enum update

2012-05-18	Alexey S. Denisov

	* core/DB/DB.class.php,
		core/DB/Transaction/InnerTransaction.class.php,
		core/DB/Transaction/InnerTransactionWrapper.class.php,
		test/core/InnerTransactionTest.class.php,
		test/misc/DAOTest.class.php: DB can work with savepoints; Added InnerTransaction, InnerTransactionWrapper

2012-05-05	Artem A. Naumenko

	* core/DB/NoSQL/RedisNoSQL.class.php, 
	core/DB/NoSQL/RedisNoSQLList.class.php, core/Base/Listable.class.php,
	global.inc.php.tpl, test/main/RedisNoSQLTest.class.php:
	Added wrapper to phpredis https://github.com/nicolasff/phpredis with tests

2012-03-26	Alexey S. Denisov
	* core/Logic/BinaryExpression.class.php,
		core/Logic/PostfixUnaryExpression.class.php,
		core/Logic/PrefixUnaryExpression.class.php,
		core/OSQL/SQLFunction.class.php: Added option noBrackets for binary/unary expressions

2012-04-27	Georgiy T. Kutsurua

	* core/Form/Primitives/PrimitiveString.class.php:
		added method PrimitiveString::getAllowedPattern

2012-04-26	Artem A. Naumenko, Evgeny V. Kokovikhin

	* core/Base/Assert.class.php, core/Cache/PeclMemcached.class.php,
	main/Monitoring/PinbedPeclMemcached.class.php, test/main/Utils/PinbaTest.class.php,
	core/Cache/SequentialCache.class.php,
	test/core/SequentialCacheTest.class.php:
	Assert::isObject added, lazy ability to PeclMemcached, Pinba's tests tune,
	Addd SequentialCache with tests.

2012-04-22	Georgiy T. Kutsurua

	* core/OSQL/DBColumn.class.php: Fix DBColumn

2012-04-20	Timofey A. Anisimov

	* test/main/OsqlSelectTest.class.php,
	core/SQLFullOuterJoin.class.php,
	core/Joiner.class.php
	core/SelectQuery.class.php:
	Full outer join capability in select query

2012-04-12	Evgeny V. Kokovikhin

	* test/main/Utils/PinbaTest.class.php, main/Monitoring/PinbaClient.class.php:
	test for PinbaClient added. Thanks to Artem A. Naumenko

2012-04-11	Evgeny V. Kokovikhin
	
	* main/Monitoring/PinbaClient.class.php: base ability of
	tree (integral) logging added. Thanks to Artem A. Naumenko

2012-04-04	Georgiy T. Kutsurua
	
	* main/UI/View/JsonPView.class.php,
		main/UI/View/JsonPView.class.php:
		For easy using jsonp, @see http://www.json-p.org/

2012-03-26	Alexey S. Denisov
	
	* core/DB/SQLitePDO.class.php: Added SQLite3 though PDO

2012-03-14	Alexander A. Sayapin
	
	* core/Base/Date.class.php: Fixed calculating number of weeks in year accordingly ISO 8601.

2012-01-13	Alexander A. Zaytsev
	
	* core/Base/Date.class.php: toFormatString method added.

2012-01-11	Evgeny V. Kokovikhin

	* core/DB/Dialect.class.php: throw exception for null values. Thanks to 
	Nikita V. Konstantinov.

2011-11-21      Alexey S. Denisov, Evgeny V. Kokovikhin
	
	* meta/types/ObjectType.class.php, test/misc/DAOTest.class.php: changed logic
	for getObjectId method of lazy encapsulant; test for lazy logic added

2011-11-29	Igor V. Gulyaev

	* test/main/ViewTest.class.php: added View test

2011-11-21	Evgeny V. Kokovikhin

	* core/DB/PostgresDialect.class.php, test/main/PostgresDialectTest.class.php:
	use mb_* string function for utf-8 strings.

2011-11-18	Sergey S. Sergeev

	* main/Utils/AMQP/AMQPConsumer.class.php,
	main/Utils/AMQP/AMQPDefaultConsumer.class.php,
	main/Utils/AMQP/Pecl/AMQPPeclChannel.class.php:
	handle the change of СonsumerTag implemented.

2011-11-18	Evgeny V. Kokovikhin

	* main/Messages/TextMessage.class.php, main/Messages/TextFileReceiver.class.php:
	a bit optimize: don't needed to make Timestamp twice.

2011-11-17	Sergey S. Sergeev

	* main/Base/LightMetaProperty.class.php: speed up insert or update operations,
	removes loading objects if property is lazy. Thanks to Alexander V. Solomatin.

2011-11-14	Dmitry V. Snezhinskiy

	* main/Utils/AMQP/Pecl/AMQPPeclChannel.class.php :
	customize AMQPPeclChannel Exception. Author Evgenia T. Tekalin.

2011-11-14	Evgeny V. Kokovikhin

	* core/Cache/PeclMemcached.class.php, test/core/MemcachedTest.class.php :
	fix PeclMemcached working with wrong keys. Thanks to Nikita V. Konstantinov.

2011-10-31	Vasily M. Stashko

	* core/DB/MySQL.class.php : fix for correct DB schemas check with MySQL

2011-10-27	Vasily M. Stashko

	* main/Flow/PartViewer.class.php: added method PartViewer::toString

2011-10-24	Alexey S. Denisov

	* core/OSQL/SelectQuery.class.php,
	test/misc/DAOTest.class.php : fix for correct work selects with SQLite

2011-10-24	Alexey S. Denisov

	* core/Form/Primitives/IdentifiablePrimitive.class.php: added method getClassName

2011-10-21	Evgeny V. Kokovikhin

	* core/OSQL/QuerySkeleton.class.php: more frendly error message

2011-09-30	Victor V. Bolshov (class), Alexey A. Denisov (tests)

	*  core/Logic/CallbackLogicalObject.class.php

2011-09-30	Evgeny V. Kokovikhin

	*  core/Cache/Memcached.class.php, core/Cache/PeclMemcached.class.php,
	core/DB/PgSQL.class.php, global.inc.php.tpl, main/Monitoring/PinbaClient.class.php,
	main/Monitoring/PinbedMemcached.class.php, 
	main/Monitoring/PinbedPeclMemcached.class.php,
	main/Monitoring/PinbedPgSQL.class.php: wrapper for pinba


2011-09-29	Alexander A. Zaytsev

	* main/Flow/EmptyGifView.class.php: view with hardcoded empty gif 1x1 image.

2011-09-14	Alexander A. Zaytsev

	* core/Form/Primitives/PrimitiveString.class.php: import only scalar values,
	except bool.

	* core/Form/Filter.class.php: fix filter order in Filter::textImport().

2011-09-01	Sergey S. Sergeev

	* main/Utils/AMQP/AMQPQueueConsumer.class.php,
	main/Utils/AMQP/AMQPConsumer.class.php,
	main/Utils/AMQP/AMQPDefaultConsumer.class.php,
	main/Utils/AMQP/AMQPChannelInterface.class.php,
	main/Utils/AMQP/Pecl/AMQPPeclChannel.class.php:
	consumer logic implemented, phpDoc updated.

	* main/Utils/AMQP/AMQPIncomingMessage.class.php: typo fixed.

2011-08-26	Sergey S. Sergeev

	* main/Utils/AMQP/AMQPChannelInterface.class.php,
	main/Utils/AMQP/AMQPBaseChannel.class.php, main/Utils/AMQP/AMQP.class.php,
	main/Utils/AMQP/Pecl/AMQPPeclChannel.class.php,
	main/Utils/AMQP/Pecl/AMQPPecl.class.php, main/Utils/AMQP/Exceptions:
	extract AMQPChannelInterface, all channel classes implements
	AMQPChannelInterface; methods returns an instance of AMQPChannelInterface;
	throws AMQPServerException, AMQPServerConnectionException if RabbitMQ
	is down OR connection is not available.

2011-08-18	Evgeny V. Kokovikhin

	* main/Criteria/Projections/CountProjection.class.php,
	main/Criteria/Projections/PropertyProjection.class.php:
	criteria's query for sqlite fixed

2011-07-26	Dmitry V. Snezhinskiy, Alexey S. Denisov

	* main/Flow/JsonView.class.php, 
	test/main/JsonViewTest.class.php: add JsonView.

2011-07-14	Evgeny V. Kokovikhin

	* main/Net/Ip/IpRange.class.php: range with single ip fixed.

2011-07-14	Evgeny V. Kokovikhin

	* core/DB/ImaginaryDialect.class.php: quiting added

2011-07-13 	Evgeny V. Kokovikhin

	* core/DB/Dialect.class.php, core/DB/PgSQL.class.php,
	core/DB/PostgresDialect.class.php, core/Form/Primitive.class.php,
	core/Form/Primitives/BaseObjectPrimitive.class.php,
	core/Form/Primitives/PrimitiveIpAddress.class.php,
	core/Form/Primitives/PrimitiveIpRange.class.php,
	core/Logic/Expression.class.php, core/Logic/Ip4ContainsExpression.class.php,
	core/OSQL/DataType.class.php, global.inc.php.tpl,
	main/Net/Ip/IpAddress.class.php, main/Net/Ip/IpNetwork.class.php,
	main/Net/Ip/IpRange.class.php, meta/types/IpAddressType.class.php,
	meta/types/IpRangeType.class.php, test/config.inc.php.tpl,
	test/core/Ip4ContainsExpressionTest.class.php,
	test/core/PrimitiveIpTest.class.php, test/main/Ip/IpBaseRangeTest.class.php,
	test/meta/config.meta.xml, test/misc/DAOTest.class.php:
	IpAddress type, IpRange type, primitives and db support for new types;
	Postgresql ip4r support added.

2011-07-08	Dmitry V. Snezhinskiy

	* main/Utils/FileUtils.class.php: fix of removing nonexistent directory 
	in FileUtils.

2011-07-06	Sergey S. Sergeev

	* main/Crypto/Base62Utils.class.php: extract check() method.

2011-07-05	Evgeny V. Kokovikhin

	* main/Criteria/Criteria.class.php, test/main/CriteriaTest.class.php:
	sleep and wakeup fixed, more frendly error added.

2011-07-04	Evgeny V. Kokovikhin

	* core/DB/MyDialect.class.php: binary quoting fixed.

2011-06-18	Alexey S. Denisov

	* core/DB/LiteDialect.class.php, core/DB/PostgresDialect.class.php,
	core/OSQL/DBBinary.class.php, test/misc/DAOTest.class.php:
	fixed work with *Dialect::quoteBinary and DBBinary.

2011-06-11	Alexey S. Denisov

	* core/Form/Form.class.php: implemented methods
	Form::getError and Form::hasError.

	* test/core/FormTest.class.php: added tests for Form errors.

2011-06-11	Sergey S. Sergeev

	* main/Crypto/Base62Utils.class.php: isPositiveInteger fixed,
	thanks to Alexander A. Klestoff.

2011-06-10	Sergey S. Sergeev

	* main/Crypto/Base62Utils.class.php: fixed logic for 64 bit systems.

2011-06-02	Sergey S. Sergeev

	* main/Crypto/Base62Utils.class.php: assert check in decode() added.

2011-06-01	Alexey S. Denisov

	* core/Form/Filters/CallbackFilter.class.php: implemented CallbackFilter
	to work with anonymous functions.

2011-06-01	Sergey S. Sergeev

	* main/Crypto/Base62Utils.class.php: Base62 encode/decode implemented.
	Util will be useful for generating short URLs.

2011-05-27	Alexey S. Denisov

	* core/Base/IdentifiableObject.class.php, core/Logic/Expression.class.php,
	core/OSQL/SQLArray.class.php, main/DAOs/ProtoDAO.class.php,
	test/main/CriteriaTest.class.php: ability to use DialectString in Criteria added;
	DialectString implementation added to IdentifiableObject

2011-05-18	Evgeny V. Kokovikhin

	* core/Cache/BaseAggregateCache.class.php: allways keep info about
	current peer.

2011-05-11	Sergey S. Sergeev

	* main/Net/Http/HeaderUtils.class.php: fetch HTTP request headers
	implemented.

	* main/Flow/MethodMappedController.class.php: default action override
	fixed.

2011-05-01	Sergey S. Sergeev

	* test/runme.sh: added ability to run the test cases with different 
	arguments, for example:
		- ./runme.sh (by default)
		- ./runme.sh --verbose --repeat 1 AllTests (launch test suite in
		verbose mode)
		- ./runme.sh --bootstrap config.inc.php core/CacheTest.class.php (
		launch 'CacheTest' only)

	* main/Utils/Routers/, core/PrimitiveHstoreTest.class.php,
	misc/DAOTest.class.php: assertType() has been deprecated.
	assertInternalType() should be used for asserting internal types such as
	"integer" or "string" whereas assertInstanceOf() should be used for
	asserting that an object is an instance of a specified class or interface.

	* main/Utils/AMQP/, test/main/Utils/AMQP/: AMQP supports added.

2011-04-20	Viatcheslav Y. Tsyrulnik

	* misc/Autoloader.inc.php: all autoloaders merged in one abstract class.

	* misc/BaseException.inc.php: for now it's duplication of BaseException,
	needed by wholeClassCache.

	* global.inc.php.tpl: spl_autoload_register instead of including file
	with __autoload().

	* misc/autoload.*: obsolete.

2011-02-15	Evgeny V. Kokovikhin

	* core/Cache/CyclicAggregateCache.class.php, test/core/CacheTest.class.php, 
	core/Cache/AggregateCache.class.php, core/Cache/BaseAggregateCache.class.php:
	new implementation of AggregateCache added.

2011-01-26	Evgeny V. Kokovikhin

	* main/Utils/FileUtils: makeUniqueLatinName method added
	* core/Base/Date, main/Base/CalendarDay: __sleep and __wakeup method added.

2011-01-24	Evgeny N. Sokolov

	* databases tests: skip, when fail connection, instead fatal

2011-01-19	Evgeny N. Sokolov

	* main/Math/MathUtils.class.php: add compareFloat function

2010-12-08	Evgeny V. Kokovikhin

	* main/Utils/IO/Socket.class.php: try to close socket immediately.
	see: http://ru.php.net/manual/en/function.socket-close.php#66810

2010-12-02	Evgeny V. Kokovikhin

	* meta/classes/MetaConfiguration.class.php: more informative error messages
	at the meta configuration

2010-12-01	Evgeny V. Kokovikhin

	* main/Utils/IO/Socket.class.php: eat exception 
	if we try to close already closed socket

2010-11-11	Evgeny V. Kokovikhin

	* main/DAOs/Workers/CommonDaoWorker.class.php: just change exception message

2010-11-09	Evgeny V. Kokovikhin

	* main/DAOs/Workers/CommonDaoWorker.class.php: human-frendly message in 
	the exception

2010-10-25	Sergey S. Sergeev

	* main/Flow/SimplePhpView.class.php: clear the output buffer
	if exceptions was thrown. Thanks to Alexey Denisov (stalkerxey).

2010-10-06	Evgeny V. Kokovikhin

	* core/Form/Primitives/PrimitiveAlias.class.php: alias for
	PrimitiveEnumeration fixed.
	Thanks to Timofey A. Anisimov.

2010-09-30	Evgeny V. Kokovikhin

	* core/Cache/Memcached.class.php: ability to set TimeOut added.
	Thanks to Alexander A. Klestov.

2010-09-23	Sergey S. Sergeev

	* core/OSQL/FromTable.class.php: fixed no brackets for SQLChain with
	size = 1 in SELECT FROM statements.

2010-08-23	Konstantin V. Arkhipov

	* 1.0.10 released.

2010-07-28	Evgeny V. Kokovikhin

	* core/Base/Assert.class.php: checkScalar() added.
	* core/Form/Primitives/PrimitiveIdentifierList.class.php:
	optional ability to ignore empty values added

2010-06-30	Sergey S. Sergeev

	* core/Form/Primitives/PrimitiveFile.class.php:
	{is,enable,disable}CheckUploaded methods added.

2010-06-26	Sergey S. Sergeev

	* core/OSQL/DBTable.class.php: setName() added.

	* test/main/OsqlReturningTest.class.php: typo fixed.

	* meta/classes/MetaClassProperty.class.php: fixed support for identifiers
	of string type. Thanks to Alexander V. Solomatin (aka Lom).

2010-05-25	Evgeny V. Kokovikhin

	* core/Cache/SimpleAggregateCache.class.php: new implementation of Aggregate
	cache - simple selective peer algorithm.

	* test/core/CacheTest.class.php: test updated.

2010-04-23	Evgeny V. Kokovikhin

	* core/Base/Date.class.php: fix week of year defenition. Week 01 of a year is
	per definition the first week that has the Thursday in this year. Thanks to
	Alexander A. Klestov.

2010-04-15	Evgeny N. Sokolov

	* main/Net/Http/CurlHttpCLient.class.php: ability post array HttpRequest vars.

2010-04-09	Evgeny V. Kokovikhin

	* core/Base/Timestamp.class.php: getHourStartStamp method added.

2010-03-23	Evgeny V. Kokovikhin

	* core/Form/Primitives/PrimitiveInet.class.php: right check for ip. Thanks to
	Timofey Anisimov.

2010-03-15	Evgeny V. Kokovikhin

	* main/Markup/Feed/YandexRssFeedFormat.class.php,
	main/Markup/Feed/YandexRssFeedItem.class.php,
	main/Markup/Feed/YandexRssItemWorker.class.php,
	main/Markup/Feed/FeedItem.class.php, main/Markup/Feed/FeedReader.class.php:
	yandex rss format supports added.  For details see
	http://partner.news.yandex.ru/tech.pdf. Thanks to Alexander S. Krotov.

2010-02-25	Evgeny V. Kokovikhin

	* main/Net/Mail/Mail.class.php: send() without returnPatn fixed.

2010-02-23	Sergey S. Sergeev

	* main/OpenId/OpenIdConsumer.class.php,
	main/OpenId/OpenIdExtension.class.php,
	main/OpenId/OpenIdExtensionAttributeExchange.class.php,
	main/OpenId/OpenIdCredentials.class.php,
	main/OpenId/OpenIdExtensionSreg.class.php: openId 2.0 support, 
	extensions support implemented, sreg and attribute exchange 
	supports - thanks to Alexander V. Solomatin (aka Lom).

	* main/Net/Http/CurlHttpClient.class.php: curl multi send implemented.

	* main/Net/Http/HttpMethod.class.php: methods added.

2010-02-21	Sergey S. Sergeev

	* main/Base/Hstore.class.php: set(), drop() added.

	* main/Net/Mail/Mail.class.php: setReturnPath(), getReturnPath() added.

2010-02-20	Sergey S. Sergeev

	* core/Logic/Expression.class.php, core/Logic/BinaryExpression.class.php:
	modulus logic implemented.

	* core/Logic/HstoreExpression.class.php: containHstore(),
	containValueList() added.

	* core/DB/Dialect.class.php, core/DB/ImaginaryDialect.class.php,
	core/DB/LiteDialect.class.php, core/DB/MyDialect.class.php,
	core/DB/PostgresDialect.class.php, core/OSQL/DeleteQuery.class.php,
	core/OSQL/InsertOrUpdateQuery.class.php, core/OSQL/InsertQuery.class.php,
	core/OSQL/QuerySkeleton.class.php, core/OSQL/SelectQuery.class.php:
	refactoring code. OSQL INSERT/UPDATE/DELETE RETURNING, INSERT from SELECT
	clause implemented.

	* test/main/OsqlDeleteTest.class.php, test/main/OsqlInsertTest.class.php,
	test/main/OsqlReturningTest.class.php, test/main/OsqlSelectTest.class.php:
	useful test cases added.

2010-02-19	Sergey S. Sergeev

	* main/Base/CallChain.class.php: call() method fixed.

	* test/core/FiltersTest.class.php, test/main/Net/MailTest.class.php:
	test assertions added. 

	* main/Net/Mail/MailAddress.class.php: toString() method fixed.

2010-02-02	Evgeny V. Kokovikhin

	* main/Net/Http/Cookie.class.php: zero expire for cookie

2010-01-27	Vladlen Y. Koshelev

	* core/Form/Primitives/PrimitiveAlias.class.php: forward custom error from
	inner primitive.

2009-12-30	Denis M. Gabaidulin

	* main/Math/MathUtils.class.php: applyFunctorToCartesianProduct(): to apply
	function on each tuple of a cartesianProduct.

2009-12-29	Denis M. Gabaidulin

	* main/Math/MathUtils.class.php: getMmult(): added.

2009-12-22	Vladlen Y. Koshelev

	* main/Criteria/PropertyPath.class.php: correct handling of non-DAOConnected
	properties in path (e.g. ValueObject properties).

2009-12-21	Denis M. Gabaidulin

	* core/Base/PriorityQueue.class.php: simple priority queue impl. based
	on binary heap.

2009-12-19	Denis M. Gabaidulin

	* main/Math/MathUtils.class.php: getStandardDeviation(): calculate
	standard deviation.
	
	* main/Math/MathUtils.class.php: getAbsoluteDeviation(): calculate
	absolute deviation.
	
	* main/Math/MathUtils.class.php: getCovariance(): calculate
	covariance between two value arrays by formula:
	cov(X,Y) = sum((Xi-Xavg) * (Yj-Xavg) / n-1).

2009-11-25	Vladlen Y. Koshelev

	* main/OQL/Parsers/OqlGroupByParser.class.php: added support for logical,
	arithmetic and bindable expressions in group by clause.

2009-11-10	Denis M. Gabaidulin

	* main/DAOs/Workers/CustomDataScopedWorker.class.php: added worker
	to cache/uncache some scoped(by class, e.g.) data.

2009-11-05	Denis M. Gabaidulin

	* main/Base/StandardComparator.class.php: added.

2009-10-23	Denis M. Gabaidulin

	* main/Application/SimpleApplicationUrl.class.php: very simple,
	but much more lightweight and faster version of app url. It could be used
	with already validated urls.

2009-10-23	Sergey S. Sergeev

	* main/DAOs/ProtoDAO.class.php: fixed resolve path for ValueObjects.

	* meta/builders/AutoProtoClassBuilder.class.php,
	meta/classes/MetaClassProperty.class.php: ValueObject supports inheritance now.

	* meta/classes/MetaConfiguration.class.php: fixed check recursion for lazy objects.

2009-10-19	Denis M. Gabaidulin

	* core/Cache/DebugCachePeer.class.php: cache peer for debugging
	and logging purposes.

2009-09-22	Denis M. Gabaidulin

	* core/Form/Primitives/PrimitiveEnumerationByValue.class.php: added
	to manage with enums by the value instead id. Typical usage: every element
	in Enumeration has input[type=submit] representation in html.

2009-09-17	Denis M. Gabaidulin

	* misc/autload.classPathCache.inc.php, misc/autload.wholeClassCache.inc.php:
	added ONPHP_VERSION to checksum hash.

2009-09-17	Vladimir A. Altuchov

	* misc/autoload.classPathCache.inc.php,
	misc/autoload.wholeClassCache.inc.php: added handling for inconsistent
	glob() behaviour.

2009-09-17	Viatcheslav Y. Tsyrulnik

	* meta/classes/MetaClassProperty.class.php: fixed support for
	identifiers of string type.

2009-09-13	Konstantin V. Arkhipov

	* 1.0.9 released.

2009-09-08	Denis M. Gabaidulin

	* main/Utils/Mobile/MobileUtils.class.php: extract ip/user agent
	from headers wrt Opera mini.

2009-09-04	Denis M. Gabaidulin

	* main/Utils/DaoUtils.class.php: increment() method added to work
	with "counter" fields in multithread environment.

2009-08-30	Denis M. Gabaidulin

	* main/Utils/ArrayUtils.class.php: mergeSortedLists() added.
	Classic algorithm implementation for two sorted list merge.

	* main/Base/DateObjectComparator.class.php: added.

2009-08-29	Konstantin V. Arkhipov

	* core/DB/MySQL.class.php: respect port setting.

2009-08-20	Denis M. Gabaidulin

	* main/Crypto/Crypter.class.php: simple mcrypt ext. wrapper added.

2009-08-11	Denis M. Gabaidulin

	* core/Form/Primitives/PrimitiveForm.class.php: ofAutoProto() method added
	to use with generated proto classes. 

2009-08-07	Sergey S. Sergeev

	* main/Base/Hstore.class.php, meta/types/HstoreType.class.php,
	core/DB/PgSQL.class.php, core/Form/Primitives/PrimitiveHstore.class.php,
	core/OSQL/DataType.class.php, main/Base/LightMetaProperty.class.php,
	test/core/PrimitiveHstoreTest.class.php, test/misc/DAOTest.class.php:
	hstore PostgreSql specific dropped.

2009-07-31	Ivan Y. Khvostishkov

	* main/Net/Mail/MailAddress.class.php: mail address encoding
	implementation according to RFC822 / RFC2047.

	* main/EntityProto/Builders/DirectoryBuilder.class.php: fine-grained
	tuning on file permissions.

	* core/Form/Filters/Utf16ConverterFilter.class.php: very-special filter
	for broken unicode implementations on some platforms.

2009-07-22	Konstantin V. Arkhipov

	* core/Types/Range.class.php: splitted into IntegerRange and
	NumericRange.

2009-07-20	Denis M. Gabaidulin

	* core/Cache/MemcachedLocker.class.php added.

2009-07-16	Denis M. Gabaidulin

	* main/Utils/WebMoneyUtils.class.php added.

2009-07-02	Denis M. Gabaidulin

	* main/Base/Comparator.class.php interface added.
	Main/Base/ImmutableObjectComparator.class.php,
	main/Base/SerializedObjectComparator.class.php: classes to compare
	object in different context added.

2009-07-01	Sergey S. Sergeev

	* core/Form/Primitives/PrimitiveHstore.class.php,
	test/core/PrimitiveHstoreTest.class.php, test/misc/DAOTest.class.php,
	core/DB/PgSQL.class.php: reimplemented PrimitiveHstore.

2009-06-29	Sergey S. Sergeev

	* core/Base/Timestamp.class.php, test/core/TimestampTest.class.php: checkdate added.

2009-06-26	Sergey S. Sergeev

	* main/Flow/PartViewer.class.php: PartViewer can't resolve EmptyView.
	
	* meta/classes/MetaConfiguration.class.php, test/misc/DAOTest.class.php,
	test/misc/TestTables.class.php: fixed meta generation for recurcive lazy dependant
	objects.
	
	* core/Cache/Memcached.class.php, core/Cache/PeclMemcached.class.php,
	test/core/MemcachedTest.class.php: fixed multi get operations - Memcached
	compatability with PeclMemcached now.
	
	* core/Logic/LTreeExpression.class.php: ltree logic implemented.

2009-06-23	Sergey S. Sergeev

	* test/misc/DAOTest.class.php: check of PostgreSql type added, thanks to
	Denis Gabaidulin.

2009-06-22	Denis M. Gabaidulin

	* main/Utils/TypesUtils.class.php added.

	* main/Net/Ip/IpUtils.class.php added.

2009-06-16	Sergey S. Sergeev

	* core/Form/Primitive.class.php, core/OSQL/DataType.class.php,
	main/Base/LightMetaProperty.class.php, test/misc/DAOTest.class.php,
	core/Form/Primitives/PrimitiveHstore.class.php, 
	core/Logic/HstoreExpression.class.php, test/core/PrimitiveHstoreTest.class.php, 
	meta/types/PgHstoreType.class.php: new internal type implemented.

2009-05-14	Ivan Y. Khvostishkov

	* main/Utils/DaoSynchronizer.class.php: flexible master-slave data
	transformation and replication tool.

2009-05-13	Ivan Y. Khvostishkov

	* main/EntityProto/Builders/DirectoryToObjectBinder.class.php: fixed
	bug related to symlinks reading, unit test provided, crush test spotted
	by Deinis M. Gabaidulin. 

2009-05-12	Ivan Y. Khvostishkov

	* core/Base/Assert.class.php: methodExists() assert.

2009-05-08	Ivan Y. Khvostishkov

	* main/Utils/DaoIterator.class.php: foreach() iterator through the DAO
	would be useful.

2009-04-30	Ivan Y. Khvostishkov

	* main/Math/MathUtils.class.php: randomNormalStd(): generation of
	random normal deviates.

2009-04-27	Denis M. Gabaidulin

	* main/Charts/Google/GoogleChartData.class.php: getCount() added.

2009-04-25	Vladlen Y. Koshelev

	* core/Logic/InExpression.class.php: MappableObject support added.

2009-04-23	Denis M. Gabaidulin

	* main/Charts/Google/: experimental support for Data point labels API.

2009-04-20	Denis M. Gabaidulin

	* main/Math/MathUtils.class.php: makeCartesianProduct() support
	assoc arrays.

2009-04-17	Denis M. Gabaidulin

	* main/Utils/SortHelper.class.php: customizable cmp function.

2009-04-16	Sergey S. Sergeev

	* test/misc/ServerVarUtils.class.php: forgotten class added, thanks to
	Ivan Khvostishkov.

2009-04-16	Vladlen Y. Koshelev

	* core/OSQL/OrderBy.class.php, test/main/CriteriaTest.class.php:
	nullsLast(), isNullsFirst() fixed; support for clone and toMapped() for
	nulls ordering feature added; corresponding tests added.

2009-04-08	Denis M. Gabaidulin

	* main/Charts/Google/GoogleChartTitle.class.php: added.

2009-04-08	Vladlen Y. Koshelev

	* main/Utils/ClassUtils.class.php, test/main/ClassUtilsTest.class.php:
	isClassName() returns boolean.

2009-04-07	Denis M. Gabaidulin

	* main/Base/BaseRange.class.php: common numeric range logic extracted.

	* main/Base/FloatRange.class.php: float range implemention.

	* main/Charts/Google/: chart line styles implemented.

	* main/Charts/Google/GoogleGridedLineChart.class.php: added.

2009-04-06	Denis M. Gabaidulin

	* main/Math/MathUtils.class.php: alignByBase() added.

2009-04-05	Sergey S. Sergeev

	* main/Utils/Routers, test/main/Utils/Routers: utils for rewriting 
	urls moved from incubator.

2009-04-04	Denis M. Gabaidulin

	* main/Charts/Google/: Google charts implementation (partially) moved
	from incubator.

2009-04-03	Ivan Y. Khvostishkov

	* main/: merged directory services and messaging api from master.

	* main/EntityProto/Builders/DirectoryToObjectBinder.class.php,
	main/EntityProto/Builders/ObjectToDirectoryBinder.class.php:
	reference-enabled directory storage with symbolic links (even
	recursive). See test/main/EntityProtoConvertersTest.class.php for
	example of usage.

	* main/Messages/: simple messaging API is starting here. Inspired by
	Java Message Service.

2009-03-28	Evgeniy N. Sokolov

	* core/Form/Form.class.php: getWrongLabel() and getMissingLabel()
	added.

2009-03-27	Ivan Y. Khvostishkov

	* main/EntityProto/Builders/DirectoryToObjectBinder.class.php,
	main/EntityProto/Builders/ObjectToDirectoryBinder.class.php: simple
	directory service helpers based on a local filesystem. Can be used for
	easy object configuration management, just like an LDAP.

2009-03-27	Sergey S. Sergeev

	* main/UnifiedContainer/UnifiedContainerWorker.class.php: drop limit and
	offset in count query fixed.

2009-03-26	Denis M. Gabaidulin

	* core/DB/MySql dialects classes: quote integers values too.	

2009-03-26	Vladlen Y. Koshelev

	* core/Base/Singleton.class.php: instantiation of classes with two or more
	constructor arguments fixed, related tests added.

2009-03-25	Vladlen Y. Koshelev

	* main/Application/ApplicationUrl.class.php: cleanHref() added for building
	urls using current navigation schema but without navigation scope.

2009-03-25	Denis M. Gabaidulin

	* core/Form/Primitives/PrimitiveNoValue.class.php: special primitive
	w/o value.

	* main/Utils/CommandLine/ArgumentParser.class.php: refactor, drop
	special collection and use only native form.

2009-03-24	Sergey S. Sergeev

	* core/Form/Primitives/PrimitiveDate.class.php: fixed import of empty values.

	* core/FormPrimitivesDateTest.class.php: useful tests added.

2009-03-24	Denis M. Gabaidulin

	* main/Utils/ArrayUtils.class.php: isEmpty(). Check for assoc
	single dimension array.

2009-03-23	Denis M. Gabaidulin

	* main/Utils/CommandLine/ArgumentBuilder.class.php: simple builder to
	hide complex interface.

	* main/Utils/CommandLine/Argument.class.php: primitive member added.

2009-03-22	Sergey S. Sergeev

	* core/Form/Primitives/PrimitiveImage.class.php: getMaxWidth(),
	getMinWidth(), getMaxHeight(), getMinHeight() added.

	* core/Logic/BinaryExpression.class.php: getLeft(), getRight(),
	getLogic() added.

	* core/OSQL/SQLChain.class.php: getChain(), getLogic() added.

	* test/core/FormPrimitivesDateTest.class.php: test case on PrimitiveDate
	added.

2009-03-19	Denis M. Gabaidulin

	* main/Base/Collection.class.php: useful accessors added.

	* main/Utils/CommandLine/: simple command line args parser
	based on getopt().

2009-03-17	Denis M. Gabaidulin

	* main/Flow/HttpRequest.class.php: setServerVar() added.

	* main/Utils/DateUtils.class.php: alignToSeconds() added.
	Function used to align date for any interval.

2009-03-16	Denis M. Gabaidulin

	* core/Form/Filters/JsonEncoderFilter.class.php,
	core/Form/Filters/JsonDecoderFilter.class.php: added and tested.

2009-03-10	Vladlen Y. Koshelev

	* core/DB/PostgresError.class.php: removed internal numeric representation
	of error code.

	* core/DB/PgSQL.class.php,
	core/Exceptions/PostgresDatabaseException.class.php: PostgreSQL-specific
	exception containing string error code within (PostgresError constant). 

2009-03-06	Sergey S. Sergeev

	* main/Flow/MethodMappedController.class.php: import attached vars to form.
	
	* core/Base/Date.class.php, core/Base/Timestamp.class.php: bugfixed.

2009-03-06	Vladlen Y. Koshelev

	* core/Form/Primitives/PrimitiveIdentifier.class.php: actualImportValue()
	hook added.

2009-03-05	Vladlen Y. Koshelev

	* main/Flow/BaseEditor.class.php: ability to change default action added.

2009-03-04	Konstantin V. Arkhipov

	* core/Types/Date.class.php, core/Types/Timestamp.class.php: now
	internal integer's date representation are rounded to days during
	Date's import.

2009-02-26	Vladlen Y. Koshelev

	* core/DB/PostgresError.class.php, test/code/PostgresErrorTest.class.php:
	added conversion methods for internal numeric representation of error code
	(toCode(), getByCode(), checkCode()) and corresponding test.
	Thanks to Ivan Y. Khvostishkov.

	* core/DB/PgSQL.class.php: pass numeric error code value to
	DatabaseException.

2009-02-22	Konstantin V. Arkhipov

	* core/Form/Primitives/IdentifiablePrimitive.class.php: added
	setScalar() to control wheter identifier is really scalar one, this
	change restores old class' behavior.

	* core/Form/Primitives/PrimitiveIntegerIdentifier.class.php,
	core/Form/Primitives/PrimitiveScalarIdentifier.class.php: two
	identifier types introduced for forward compatibility with master.

2009-02-20	Denis M. Gabaidulin

	* main/Math/MathUtils.class.php: randFloat() added.

2009-02-19	Ivan Y. Khvostishkov

	* core/Cache/Cache.class.php: appendDaoMap() - better than replace.

2009-02-18	Viatcheslav Y. Tsyrulnik

	* main/Net/Http/CurlHttpClient.class.php: support for HTTP methods
	other than get/post and additional headers.

2009-02-18	Denis M. Gabaidulin

	* main/Criteria/ProjectionChain.class.php: dropByType() added.
	Drop projection by type from Criteria.

2009-02-16	Ivan Y. Khvostishkov

	* main/Flow/RedirectView.class.php: ability to build complex array
	values upon redirect (involving PrimitiveDateRange, for example).

2009-02-13	Ivan Y. Khvostishkov

	* main/Flow/CleanRedirectView.class.php: parent class for RedirectView,
	clean redirect without model.

2009-02-13	Evgeniy N. Sokolov

	* main/Utils/TextUtils.class.php: friendlyNumber() now works with float
	and negative numbers.

2009-02-13	Ivan Y. Khvostishkov

	* main/Utils/TuringTest/Color.class.php: flyweight pattern implemented.

2009-02-10	Vladlen Y. Koshelev

	* main/Flow/MultiPrefixPhpViewResolver.class.php: makeView() hook and
	isPrefixDisabled() added.

2009-02-06	Denis M. Gabaidulin

	* main/Utils/SortHelper.class.php: sorting multi-dimensional assoc array
	recursively.

2009-02-05	Denis M. Gabaidulin

	* main/Utils/DateUtils.class.php: makeDatesListByRange() added.
	Function used to create normalized date list by IntervalUnit.

2009-02-04	Denis M. Gabaidulin

	* main/Math/MathUtils.class.php: makeCartesianProduct() function added.

2009-01-28	Ivan Y. Khvostishkov

	* main/Base/DateRange.class.php: safeSetStart(), safeSetEnd() to ensure
	that the start will never overlaps the end.

2009-01-20	Denis M. Gabaidulin

	* main/Utils/Mobile/MobileRequestDetector.class.php: use regular array
	instead HttpRequest. Warning: Broken BC!

2009-01-19	Denis M. Gabaidulin

	* core/Form/Filters/UnserializeFilter.class.php: added.

2009-01-19	Vladlen Y. Koshelev

	* main/Base/LightMetaProperty.class.php: makePrimitive() added.

	* core/Form/Primitive.class.php: prototyped() and prototypedIdentifier() - 
	shortcuts for making object's properties primitives.

2009-01-19	Konstantin V. Arkhipov

	* meta/types/InetType.class.php: goes sizeless.

2009-01-17	Vladlen Y. Koshelev

	* main/UnifiedContainer/UnifiedContainerWorker.class.php,
	test/misc/DAOTest.class.php: generate distinct count query in case of
	container's criteria is distinct; unified container count-tests added. 

2009-01-15	Vladlen Y. Koshelev

	* main/OQL/Expressions/OqlQueryParameter.class.php: "in" expression supports
	arrays.

2009-01-14	Denis M. Gabaidulin

	* main/Math/MathUtils.class.php: fisherYatesShuffle()
	Fisher Yates shuffle algorithm implementation.

	* core/Base/IntervalUnit.class.php,
	core/OSQL/TimeIntervalsGenerator: support Date/DateRange types.

2009-01-10	Vladlen Y. Koshelev

	* main/OQL/Parsers/OqlTokenizer.class.php: tokenizer simplified and
	optimized using non-multibyte functions and regexps where it's possible.

2009-01-07	Vladlen Y. Koshelev

	* main/OQL/, test/main/OqlSelectClauseTest.class.php: OQL select query
	clauses separated from OQL query as independent parsers and wrappers,
	so they can be used both in Criteria statements (expressions, projections,
	etc.) and for incremental expansion of OQL query; corresponding tests
	demonstrates such cases.

	* main/OQL/Expressions/OqlQueryExpression.class.php: classes reflections
	pool added.

2008-12-31	Konstantin V. Arkhipov

	* 1.0.8 released.

2008-12-30	Konstantin V. Arkhipov

	* core/Form/Primitives/PrimitiveEnumeration.class.php,
	core/Form/Primitives/IdentifiablePrimitive.class.php: casting magic
	moved from PrimitiveEnumeration to it's parent; this one fixes
	non-integer identifiers in PrimitiveIdentifier.

2008-12-30	Vladlen Y. Koshelev

	* core/Form/Primitives/PrimitiveIdentifier.class.php,
	test/core/PrimitiveIdentifierTest.class.php: import handling for empty or
	non-integer values and test for empty values added.

	* main/DAOs/GenericDAO.class.php: check if identifier is scalar.

2008-12-29	Ivan Y. Khvostishkov

	* main/DAOs/GenericDAO.class.php: makeTotalCountQuery() extracted from
	worker by means of refactoring.

2008-12-24	Vladlen Y. Koshelev

	* meta/types/ObjectType.class.php: lazy required property getter checks for
	property's id.

	* main/DAOs/GenericDAO.class.php, test/misc/DAOTest.class.php: check for
	empty id in getById().

2008-12-21	Vladlen Y. Koshelev

	* main/Criteria/Criteria.class.php, test/main/CriteriaTest.class.php:
	addProjection() and corresponding tests added.

	* main/Criteria/Projections/ProjectionChain.class.php: isEmpty() added.

2008-12-18	Konstantin V. Arkhipov

	* core/Cache/AggregateCache.class.php: restore true randomness upon
	exit from guessLabel().

2008-12-18	Vladlen Y. Koshelev

	* core/Form/RegulatedForm.class.php: ruleExists() added.

2008-12-17	Vladlen Y. Koshelev

	* main/OQL/OqlQuery.class.php: bindNext() wrong index fix.

2008-12-16	Vladlen Y. Koshelev

	* main/Flow/DecoratorController.class.php: controller's decorator added,
	which may be commonly used for request filters.

2008-12-15	Konstantin V. Arkhipov

	* main/OQL/OqlQuery.class.php: bindNext() implemented.

2008-12-15	Evgeniy N. Sokolov

	* core/Form/Filters/: WordSplitterFilter added.

2008-12-15	Vladlen Y. Koshelev

	* main/base/AbstractProtoClass.class.php, test/misc/DAOTest.class.php:
	lazy property import fixed, related test added. 

	* meta/types/ObjectType.class.php: check if lazy property is enumeration
	using meta information (property's class might not be generated yet to check
	its type by ReflectionClass).

2008-12-05	Ivan Y. Khvostishkov

	* core/Base/Assert.class.php: isNotEmpty() added.

2008-12-01	Denis M. Gabaidulin

	* main/Utils/Mobile/MobileRequestDetector.class.php: mobile request
	detector added.

2008-11-23	Konstantin V. Arkhipov

	* main/DAOs/Workers/: key's generation extracted to makeIdKey() and
	makeQueryKey(); full support for per-class watermarks, finally;
	obscure uncaching bug fixed, spooted by giv.

2008-11-21	Vladlen Y. Koshelev

	* main/UnifiedContainer/ManyToManyLinkedWorker.class.php: fixed duplicate
	join error occured when custom criteria has joiner on container's helper
	table.

2008-11-19	Vladlen Y. Koshelev

	* main/DAOs/ProtoDAO.class.php: fixed wrong cid-field table when lazy
	fetching collection.

2008-10-20	Ivan Y. Khvostishkov

	* core/Base/IntervalUnit.class.php: compareTo() implemented.

2008-10-14	Ivan Y. Khvostishkov

	* main/DAOs/Workers/BaseDaoWorker.class.php: uncacheByQuery()'s
	visibility changed to public.

2008-10-10	Vladlen Y. Koshelev

	* core/Form/Primitives/PrimitiveClass.class.php,
	test/core/PrimitiveClassTest.class.php: of() method and test added
	(merged from trunk).

2008-10-10	Konstantin V. Arkhipov

	* core/Form/Primitives/PrimitiveClass.class.php,
	test/core/PrimitiveClassTest.class.php: new primitive with
	corresponding test introduced (merged from trunk).

2008-10-02	Ivan Y. Khvostishkov

	* core/Base/IntervalUnit.class.php: fixed truncation to day interval
	for ceil case.

2008-09-24	Sergey S. Sergeev

	* main/Criteria/Criteria.class.php: criteria {query} combination support.

2008-09-22	Konstantin V. Arkhipov

	* main/Criteria/Criteria.class.php: do not fetch collections for empty
	lists, spotted by <alexeydsov@gmail.com>.

2008-09-20	Denis M. Gabaidulin

	* meta/classes/MetaConfiguration: Experimental feature for the real nerds.
	Help sync Enumerations and database.

2008-09-18	Denis M. Gabaidulin

	* main/Base/LightMetaProperty.class.php: isFormless method added.

	* main/Base/AbstractProtoClass.class.php: importPrimitive() always import
	values, if property is formless.

2008-09-16	Konstantin V. Arkhipov

	* main/Base/AbstractProtoClass.class.php: WrongStateException added
	for case with required but inexistant encapsulant.

2008-09-15	Konstantin V. Arkhipov

	* 1.0.7 released.

2008-09-13	Konstantin V. Arkhipov

	* main/DAOs/GenericDAO.class.php: building of circular-dependent
	objects solved.

2008-09-05	Ivan Y. Khvostishkov

	* main/Markup/Csv.class.php: partial Csv implementation (rendering),
	thanks to Michael V. Tchervyakov <htonus@smtp.ru>.

2008-09-04	Konstantin V. Arkhipov

	* main/Base/ImageType.class.php: progressive jpeg type added, patch
	submitted by Konstantin Scheglov <k.s.scheglov@gmail.com>.

2008-09-02	Denis M. Gabaidulin

	* main/Utils/DateUtils: makeFirstDayOfMonth(), makeLastDayOfMonth() added.

2008-09-02	Vladlen Y. Koshelev

	* core/Form/Primitives/PrimitiveEnumeration.class.php,
	test/core/PrimitiveEnumerationTest.class.php: getList() fixed.

2008-09-01	Konstantin V. Arkhipov

	* core/Base/Assert.class.php: isEqual now behaves just like
	!isNotEqual; isSame and isNotSame were also introduced.

2008-08-30	Konstantin V. Arkhipov

	* main/Utils/ClassUtils.class.php, meta/bin/build.php: classes
	preloading moved to ClassUtils::preloadAllClasses() from meta's
	build script.

	* test/: correct test's skipping added.

	* core/Cache/Memcached.class.php: mark peer as dead on link's failure.

2008-08-28	Konstantin V. Arkhipov

	* core/Form/Primitives/PrimitiveEnumeration.class.php: now tries to
	preserve type for integer values.

2008-08-26	Konstantin V. Arkhipov

	* global.inc.php.tpl: don't create useless fake classes in
	__autoload_failed().

2008-08-22	Konstantin V. Arkhipov

	* autoload.wholeClassCache.inc.php: new class cache type introduced
	for people who can not turn off stat syscalls in opcode cachers.

2008-08-21	Konstantin V. Arkhipov

	* main/Criteria/Criteria.class.php: prevent useless join for lazy
	properties too, spotted by Denis Shumeev <denis-shumeev@yandex.ru>.

	* main/Base/AbstractProtoClass.class.php,
	main/Base/LightMetaProperty.class.php: unneeded encapsulant's
	prefetching eliminated, problem was spatted by Denis Shumeev
	<denis-shumeev@yandex.ru>.

2008-08-19	Evgeny V. Kokovikhin

	* main/Net/Http/Cookie.class.php, CookieCollection.class.php: new
	javaisms introduced.

2008-08-18	Vladlen Y. Koshelev

	* main/OQL/: OQL select query parser (from trunk).
	
	* test/core/OqlTokenizerTest.class.php, OqlSelectTest.class.php:
	corresponding tests.
	
	* core/Exceptions/SyntaxErrorException.class.php: exception to be used
	in parsers and syntax analyzers.
	
2008-08-14	Konstantin V. Arkhipov

	* core/OSQL/InsertOrUpdateQuery.class.php: lazySet() now aware of
	broken Time::toString(), which is fixed in trunk by removal of
	toFullString() in favour of correct toString().

2008-08-12	Vladlen Y. Koshelev

	* core/Form/Filters/RussianTypograph.class.php: standalone tag content
	mistakenly typographized; spotted by Sergey M. Skachkov.

	* test/core/FiltersTest.class.php: corresponding test. 

2008-08-12	Denis M. Gabaidulin

	* main/DAOs/Workers/DalayedDropDaoWorker.class.php: new dao worker
	with delayed drop modified objects strategy.

2008-08-07	Ivan Y. Khvostishkov

	* meta/types/HttpUrlType.class.php: new internal type implemented.

2008-08-07	Konstantin V. Arkhipov

	* 1.0.6 released.

2008-08-05	Ivan Y. Khvostishkov

	* core/OSQL/OrderBy.class.php: nullsFirst(), nullsLast(),
	isNullsFirst(), setNullsFirst() - PosgreSQL 8.3-specific ordering
	feature support.

2008-08-04	Ivan Y. Khvostishkov

	* main/Criteria/Projections/ClassProjection.class.php: proper table
	attached.

	* core/OSQL/SQLRightJoin.class.php: added.

	* core/OSQL/Joiner.class.php: getFirstTable() helper.

	* core/OSQL/TimeIntervalsGenerator.class.php: rewritten in OSQL, but
	still works in PostgreSQL only.

	* core/OSQL/DataType.class.php: added interval.

	* main/DAOs/GenericDAO.class.php: getTotalCount() implemented, with
	correspondent tests.

2008-08-03	Konstantin V. Arkhipov

	* main/DAOs/Workers/CacheDaoWorker.class.php: useless classKey usage
	removed.

	* core/Exceptions/CachedObjectNotFoundException.class.php: new
	exception introduced to avoid useless Cache::NOT_FOUND marking in
	TransparentDaoWorker's childs.

2008-07-21	Ivan Y. Khvostishkov

	* core/Base/IntervalUnit.class.php: countInRange() - one more useful
	OLAP method, complement of truncate().

	* core/OSQL/TimeIntervalsGenerator.class.php: used in subqueries to
	generate list of time intervals, very useful in OLAP.

	* core/Base/Assert.class.php: isNotEqual() added.

2008-07-20	Ivan Y. Khvostishkov

	* core/Base/IntervalUnit.class.php: helper for time intervals, very
	useful for OLAP.

2008-07-29	Sergey S. Sergeev

	* core/Form/Primitives/PrimitiveIdentifierList.class.php,
	core/Form/Primitives/PrimitiveArray.class.php: fixed check conditions.

2008-07-28	Sergey S. Sergeev

	* main/DAOs/ProtoDAO.class.php: fixed {get,fill,fetch} collections
	by Criteria. Thanks to Konstantin V. Arkhipov.

2008-07-18	Konstantin V. Arkhipov

	* core/Form/Primitives/PrimitiveTimestampRange.class.php: new
	primitive introduced.

2008-07-24	Denis M. Gabaidulin

	* main/Base/AbstractProtoClass.class.php: isPropertyExists method added.

2008-07-24	Dmitry V. Sokolov

	* main/Flow/ControllersCollection.class.php: now handle request
	from active Controller firstly.

2008-07-18	Konstantin V. Arkhipov

	* core/Cache/Memcached.class.php: now does not serialize strings.

2008-07-17	Konstantin V. Arkhipov

	* main/DAOs/GenericDAO.class.php: sanity checks added to dropById()
	and dropByIds().

2008-07-15	Konstantin V. Arkhipov

	* main/DAOs/Workers/CacheDaoWorker.class.php: new scalable voodoo-like
	dao worker.

	* core/Cache/: increment/decrement implemented in all CachePeer's.

2008-07-14	Konstantin V. Arkhipov

	* main/DAOs/Workers/CommonDaoWorker.class.php: trivial getListByIds()
	optimization - now fetches only unique objects.

2008-07-13	Konstantin V. Arkhipov

	* main/Base/, main/DAOs/: experimental encapsulant's prefetching
	implemented.

2008-07-09	Ivan Y. Khvostishkov

	* main/Net/Ip/IpAddress.class.php: fixed construction checking for
	ip2long() result. Added toSignedInt() - like ip2long(), but suitable
	for both 32 and 64 bit archs.  Thanks to Evgeny V. Kokovikhin
	<dovg@dovg.ru>.

2008-06-27	Ivan Y. Khvostishkov

	* core/Exceptions/BadRequestException.class.php: (merged from trunk)
	new exception to be used instead of View('error').

2008-06-19	Ivan Y. Khvostishkov

	* main/UnifiedContainer/UnifiedContainer.class.php: mergeList() should
	not override clones, so save() can store new list.

2008-06-19	Ivan Y. Khvostishkov

	* main/Flow/EmptyView.class.php: fake view which renders as empty
	string.

	* main/Flow/MultiPrefixPhpViewResolver.class.php: added useful ability
	do disable certain views (treated as EmptyView).

2008-06-17	Konstantin V. Arkhipov

	* 1.0.5 released.

2008-06-11	Denis M. Gabaidulin

	* main/Flow/BaseEditor.class.php: object identifier parameter
	name customization implemented.

2008-06-11	Konstantin V. Arkhipov

	* core/Form/Primitives/PrimitiveAlias.class.php: closing need for
	aliases in Form.

2008-06-19	Ivan Y. Khvostishkov

	* main/DAOs/Workers/: getListByIds() did not work without objects in
	identity map, fixed.

2008-06-03	Konstantin V. Arkhipov

	* core/Cache/Memcached.class.php: multi-get response deserialized
	all at once now; fixed cache corruption bug in case of custom __wakeup
	implementation.

2008-05-30	Denis M. Gabaidulin

	* main/Base/IsoCurrency.class.php: basic currency's list by lifter.

2008-05-27	Konstantin V. Arkhipov

	* main/DAOs/Workers/: fixed partial cached list case in
	getListByIds().

2008-05-23	Pismenny E. Dmitry

	* main/Net/Http/CurlHttpClient.class.php: can send cookie now.
	Fixed GET query construction.

2008-05-02	Konstantin V. Arkhipov

	* main/DAOs/: fetchEncapsulants is now the private method, only
	makeOnlyObject and completeObject are free for customizations now.

	* core/Form/Primitives/PrimitiveString.class.php: '0' is a valid
	string too.

2008-04-26	Denis M. Gabaidulin

	* core/Form/Filters/NormalizeUrlFilter.class.php: url normalizator
	filter were merged from 0.10.

2008-04-13	Konstantin V. Arkhipov

	* global.inc.php.tpl: class cache now detects classes with errors
	during compile time.

	* core/Cache/SemaphorePool.class.php: DirectoryLocker is the default
	locker now.

2008-04-07	Konstantin V. Arkhipov

	* main/UnifiedContainer/UnifiedContainer.class.php: worker's
	serialization prevention implemented.

2008-04-03	Denis M. Gabaidulin

	* meta/classes/MetaConfiguration.class.php: lazy fetching strategy
	support for SpookedClass properties.

2008-03-31	Konstantin V. Arkhipov

	* core/Base/Time.class.php: several fixes for parsing issues were
	backported from trunk.

	* global.inc.php.tpl: added cache invalidation upon failed include
	from cached location; solves class moving case.

2008-03-30	Konstantin V. Arkhipov

	* 1.0.4 released.

2008-03-28	Konstantin V. Arkhipov

	* main/DAOs/Handlers/MessageSegmentHandler.class.php: now rotates
	queue upon overflow, it's the same strategy as in
	SharedMemorySegmentHandler.

2008-03-27	Konstantin V. Arkhipov

	* meta/builders/BusinessClassBuilder.class.php: building of custom
	create method implemented for childs of internal classes.

	* test/: now uses PHPUnit; good bye, SimpleTest.

	* core/Exceptions/SoapFault.class.php: fake exception added to prevent
	ClassNotFoundException in several cases.

	* core/Logic/BinaryExpression.class.php: add, substract, multiply and
	divide logic implemented in toBoolean().

	* main/Net/Http/HeaderUtils.class.php: redirect() removed, finally.

2008-03-25	Ivan Y. Khvostishkov

	* main/EntityProto/: ProtoBuilders renaming, s/dtoProto/entityProto/
	(merged from trunk).

	* main/Utils/ArrayUtils.class.php: mergeRecursiveUnique(),
	flatToDimensional() helpers (merged from trunk).
	
	* main/ProtoBuilders/, core/Form/: prototyped builders refactoring
	(merged from trunk).

	* core/Form/Primitives/PrimitiveForm.class.php: setComposite() method
	to determine aggregation or composition of objects (merged from trunk).

	* main/ProtoBuilders/FormExporter.class.php,
	main/ProtoBuilders/FormToScopeExporter.class.php: new converters
	(merged from trunk).

	* core/Form/Primitives/BasePrimitive.class.php: dropValue() added
	(merged from trunk).

2008-03-24	Konstantin V. Arkhipov

	* 1.0.3 released.

	* core/Form/Primitives/PrimitiveEnumerationList.class.php,
	core/Form/Primitives/PrimitiveIdentifierList.class.php: custom clean()
	implemented.

	* meta/, main/Base/LightMetaProperty.class.php: integer's limits
	checking restored.

2008-03-17	Ivan Y. Khvostishkov

	* main/Flow/PartViewer.class.php: references to parent and root model
	added, useful for widgets.

	* core/Base/Assert.class.php: added isEmpty(), isIndexExists(),
	isScalar().

	* main/ProtoBuilders/: more builders.

	* main/ProtoBuilders/: partial objects building ability, useful for
	wizards.

2008-03-15	Ivan Y. Khvostishkov

	* main/Utils/RussianTextUtils.class.php: fixed selectCaseForNumber()
	for numbers larger than 100.

2008-03-13	Ivan Y. Khvostishkov

	* core/Form/Primitives/PrimitivePolymorphicIdentifier.class.php:
	primitive for holding polymorphic values.

2008-03-07	Denis M. Gabaidulin

	* main/UnifiedContainer/UnifiedContainer.class.php: dropList()
	implemented.

2008-03-05	Ivan Y. Khvostishkov

	* core/Form/Primitives/PrimitiveDate.class.php: exportValue()
	implemented.

2008-03-04	Konstantin V. Arkhipov

	* core/DB/PostgresDialect.class.php: PostgreSQL-8.3 doesn't like
	comparsion between integer and varchar, so dialect now quotes all
	integers by default; again.

2008-03-04	Denis M. Gabaidulin

	* core/Base/Assert.class.php: isNotEmptyArray().

2008-02-29	Denis M. Gabaidulin

	* core/Cache/WatermarkedPeer.class.php: version duplication removed.

2008-02-28	Konstantin V. Arkhipov

	* 1.0.2 released.

2008-02-28	Ivan Y. Khvostishkov

	* main/Net/Soap/PrototypedSoapClient.class.php: pretty wrap for
	SoapClient with strict XSD validation and Business classes mappings.

2008-02-28	Vladlen Y. Koshelev

	* core/Form/Filters/RussianTypograph.class.php: now works with
	unicode correctly; extra rules added: compress whitespaces,
	&nbsp; after short strings.

2008-02-25	Igor V. Gulyaev

	* main/Utils/RussianTextUtils.class.php: getMonthByGenitiveCase()
	added.

2008-02-20	Ivan Y. Khvostishkov

	* main/Flow/NullController.class.php: a way for loopback your model
	through the filter.

2008-02-19	Konstantin V. Arkhipov

	* meta/: syntax check replaced by class compiling.

2008-02-18	Ivan Y. Khvostishkov

	* core/Base/Assert.class.php: isTypelessEqual() added.

2008-02-18	Konstantin V. Arkhipov

	* core/Cache/WatermarkedPeer.class.php: further collisions prevention:
	onPHP's version now appends to watermark.

2008-02-17	Konstantin V. Arkhipov

	* main/DAOs/Workers/TransparentDaoWorker.class.php,
	main/DAOs/Workers/NullDaoWorker.class.php: now extends from
	CommonDaoWorker to eliminate code duplication.

	* main/DAOs/Workers/: added expires argument to cachedFetchObject().

2008-02-15	Konstantin V. Arkhipov

	* main/DAOs/StorableDAO.class.php: mergeWithOld() renamed to unite().

2008-02-14	Ivan Y. Khvostishkov

	* main/DAOs/StorableDAO.class.php: mergeWithOld() method extracted
	from merge().

	* main/ProtoBuilders/DTOProto.class.php: validateSelf() extracted from
	validate().

2008-02-11	Konstantin V. Arkhipov

	* main/DAOs/GenericDAO.class.php: getListByIds() now preserves
	requested order in resulting list.

	* main/Utils/ArrayUtils.class.php: regularizeList() added.

2008-02-08	Ivan Y. Khvostishkov

	* meta/classes/MetaConfiguration.class.php: fixed identifier names
	sanity check.

2008-02-08	Konstantin V. Arkhipov

	* meta/: size attribute added to identifier.

	* meta/classes/MetaClassProperty.class.php: identifier can be any type
	now.

2008-02-07	Konstantin V. Arkhipov

	* main/DAOs/StorableDAO.class.php: more efficient merge().

2008-02-01	Ivan Y. Khvostishkov

	* main/Net/Mail/Mail.class.php: setSendmailArgs(): used for setting 5th
	argument for mail() function.

2008-01-30	Ivan Y. Khvostishkov

	* main/ProtoBuilders/DTOProto.class.php: validate() and validateList()
	now validate objects recursively.

2008-01-21	Denis M. Gabaidulin

	* core/Base/Assert.class.php: isNotFalse().

	* main/Utils/IO/FileOutputStream.class.php: now throws IOException,
	if stream file resource does not exist.

2008-01-21	Konstantin V. Arkhipov

	* 1.0.1 released.

2008-01-16	Konstantin V. Arkhipov

	* main/DAOs/Workers/BaseDaoWorker.class.php,
	main/DAOs/Workers/NullDaoWorker.class.php: dropById() and dropByIds()
	now returns deleted rows count.

2008-01-16	Ivan Y. Khvostishkov

	* core/Base/Assert.class.php: isLesser(), isGreater(),
	isLesserOrEqual(), isGreaterOrEqual().

2008-01-10	Konstantin V. Arkhipov

	* meta/: configurations without classes are now allowed;
	includes processing now goes before classes.

2008-01-08	Konstantin V. Arkhipov

	* meta/classes/MetaConfiguration.class.php: validation against
	meta.dtd implemented.

	* core/Cache/FileLocker.class.php: added forgotten file dropping in
	drop().

2008-01-07	Konstantin V. Arkhipov

	* main/DAOs/Workers/: getResult() fixed.

	* main/DAOs/Workers/VoodooDaoWorker.class.php: CacheSegmentHandler is
	the default handler now.

	* main/DAOs/Workers/CommonDaoWorker.class.php,
	main/DAOs/Workers/TransparentDaoWorker.class.php: getListByIds() now
	uses CachePeer's getList().

	* core/Cache/: getList() implemented in CachePeer and
	two memcached childs.

	* main/DAOs/Workers/NullDaoWorker.class.php: getListByIds() now
	behaves like in all others DAO workers.

	* main/Utils/ClassUtils.class.php: isClassImplements implemented, to
	avoid SPL's class_implements dependency.

2008-01-06	Konstantin V. Arkhipov

	* 1.0.0 released.

2007-12-29	Ivan Y. Khvostishkov

	* core/Form/Form.class.php: getInnerErrors() for PrimitiveForm.

2007-12-27	Vladimir A. Altuchov

	* main/Markup/Feed/: Category attribute added.

2007-12-25	Ivan Y. Khvostishkov

	* main/Net/HttpUrl.class.php: setHttpHost() - setter for Host-like
	values, as described in rfc2616, sec. 14.23.

2007-12-25	Konstantin V. Arkhipov

	* global.inc.php.tpl: ONPHP_TEMP_PATH now defaults to
	sys_get_temp_dir(), ONPHP_CLASS_CACHE now defaults to ONPHP_TEMP_PATH.

2007-12-23	Konstantin V. Arkhipov

	* main/DAOs/Handlers/CacheSegmentHandler.class.php: new experimental
	segment handler implemented.

	* core/Cache/: append() added in CachePeer and implemented in it's
	available childs.

2007-12-20	Dmitry E. Demidov

	* main/Flow/MultiPrefixPhpViewResolver.class.php: added
	method viewExists.

2007-12-18	Dmitry E. Demidov

	* main/Flow/MultiPrefixPhpViewResolver.class.php: added
	method addFirstPrefix.

2007-12-11	Dmitry E. Demidov

	* core/Form/Primitives/PrimitiveString.class.php: change
	mail pattern of local-part wrt RFC2822.

2007-12-11	Dmitry E. Pismenny

	* main/Base/RequestType.class.php: added server type.

2007-12-05	Anton E. Lebedevich

	* main/Crypto/, main/Math/, main/OpenId/: OpenId implementation
	propagated from 0.10.

2007-12-04	Ivan Y. Khvostishkov

	* main/Utils/DebugUtils.class.php: errorMav() added for debugging error
	views.

2007-11-27	Denis M. Gabaidulin

	* core/Form/Filters/CropFilter.class.php: crop string import filter
	were added.

2007-11-22	Konstantin V. Arkhipov

	* ext/src/core/Base/: Ternary implemented.

	* ext/src/core/OSQL/: OrderBy implemented.

2007-11-21	Konstantin V. Arkhipov

	* main/Utils/FullTextUtils.class.php: ObjectQuery replaced by
	Criteria.

2007-11-22	Dmitry E. Pismenny

	* main/Utils/DaoMoveHelper.class.php: ObjectQuery replaced by
	Criteria.

2007-11-17	Konstantin V. Arkhipov

	* ext/src/core/OSQL/: GroupBy and Joiner implemented.

	* ext/src/onphp.h: new macroses - ONPHP_CALL_PARENT_*,
	ONPHP_CALL_STATIC_*.

2007-11-15	Ivan Y. Khvostishkov

	* core/Base/Assert.class.php: circular linked objects cause a fatal
	error in var_export(), so dumping via print_r() now.

2007-11-14	Ivan Y. Khvostishkov

	* main/Utils/ArrayUtils.class.php: countNonemptyValues(): try to guess
	what it does.

2007-11-12	Dmitry E. Pismenny

	* main/Markup/Feed/FeedReader.class.php: errors from simplexml_load_file()
	translated into WrongStateExceptions.

2007-11-11	Konstantin V. Arkhipov

	* core/DB/Dialect.class.php: useless quoteValue() removed.

	* ext/src/core/Form/: Form and FormField implemented.

2007-11-07	Ivan Y. Khvostishkov

	* main/Utils/TextUtils.class.php: friendlyNumber(): bug with small
	orders fixed.

2007-11-07	Konstantin V. Arkhipov

	* ext/src/core/OSQL/: FromTable implemented.

	* ext/src/onphp.h: new macroses - ONPHP_FIND_FOREIGN_CLASS and
	ONPHP_ARRAY_GET.

2007-11-06	Konstantin V. Arkhipov

	* ext/src/core/Form/Filters/: Filtrator, BaseFilter implemented.

	* ext/src/core/Form/: PlainForm, RegulatedForm implemented.

	* ext/src/core/Primitives/: FiltrablePrimitive, PrimitiveNumber
	implemented.

	* etx/src/onphp.h: new macroses: ONPHP_MAKE_FOREIGN_OBJECT,
	ONPHP_FOREACH, ONPHP_ASSOC_ISSET, ONPHP_ASSOC_UNSET, ONPHP_ASSOC_SET,
	ONPHP_ASSOC_GET, ONPHP_PROPERTY_DESTRUCT, ONPHP_THROW and RETURN_THIS.

2007-11-04	Konstantin V. Arkhipov

	* main/DAOs/StorableDAO.class.php: added merge() which updates only
	changed columns; take() now uses cache-only merge() instead of plain
	save().

	* ext/src/main/Markup/Html/: SgmlEndTag, SgmlTag, SgmlToken, Cdata
	implemented.

	* ext/src/core/Logic/: MappableObject implemented.

	* ext/src/core/OSQL/: DBBinary, DropTableQuery, ExtractPart, FullText
	implemented.

	* ext/src/onphp.h: new macroses: ONPHP_CHECK_EMPTY, ONPHP_INSTANCEOF,
	ONPHP_GET_ARGS and ONPHP_CALL_METHOD_*.

	* ext/src/core/Form/: BasePrimitive, RangedPrimitive, ComplexPrimitive
	implemented.

2007-11-03	Konstantin V. Arkhipov

	* core/Form/: alias support removed.

	* core/Form/: ability to make an unfiltered import implemented.

	* meta/, core/DB/, core/Form/: support for binary data type
	implemented.

	* core/OSQL/DataType.class.php: typeToString moved to Dialect.

2007-11-02	Vladimir A. Altuchov

	* main/Utils/IO/FileReader.class.php: new reader added.

2007-11-02	Konstantin V. Arkhipov

	* main/DAOs/GenericDAO.class.php: inject() now checks affected rows
	count for sanity.

2007-11-01	Vladimir A. Altuchov

	* main/Markup/Feed/AtomItemWorker.class.php,
	main/Markup/Feed/RssItemWorker.class.php,
	main/Markup/Feed/FeedItem.class.php: id field added.

2007-10-31	Dmitry E. Pismenny

	* core/Form/Primitives/PrimitiveDate.class.php: PrimitiveDate::checkRanges()
	fixed.

2007-10-31	Dmitry A. Lomash

	* main/Net/IpRange.class.php: added setters, dropped final declaration.

2007-10-31	Konstantin V. Arkhipov

	* main/Flow/HttpRequest.class.php: removed deprecated method
	getAttachedList().

2007-10-30	Konstantin V. Arkhipov

	* meta/classes/MetaConfiguration.class.php: class name collision
	detection added.

2007-10-30	Ivan Y. Khvostishkov

	* core/Form/Primitives/PrimitiveAnyType.class.php: anyType() -
	universal primitive ;)

2007-10-27	Ivan Y. Khvostishkov

	* core/Form/Primitives/PrimitiveHttpUrl.class.php:
	Primitive::httpUrl().

2007-10-26	Vladimir A. Altuchov

	* core/Cache/WatermarkedPeer.class.php: + setter for watermark label.

2007-10-25	Denis M. Gabaidulin

	* main/Flow/RedirectToView.class.php: constructor fixed.

2007-10-24	Konstantin V. Arkhipov

	* core/Form/Form.class.php: markGood() and markWrong() now supports
	rules marking.

	* main/Criteria/Criteria.class.php: field duplication eliminated for
	enumeration's childs.

2007-10-17	Ivan Y. Khvostishkov

	* main/Base/DTOProto.class.php, core/Form/Form.class.php: forms now
	possess prototype and can be abstract.

	* core/Form/Primitives/PrimitiveEnumerationList.class.php: implemented.

2007-10-16	Konstantin V. Arkhipov

	* main/DAOs/Handlers/FileSystemSegmentHandler.class.php: drop() now
	uses FileUtils' removeDirectory.

	* main/DAOs/Workers/TransparentDaoWorker.class.php,
	main/DAOs/Handlers/: no more hardcoded precision, platform-dependent
	computation implemented.

2007-10-16	Dmitry E. Pismenny

	* incubator/classes/main/Application/ApplicationUrl.class.php: renamed
	into AppUrl.class.php.

2007-10-11	Ivan Y. Khvostishkov

	* main/Application/ApplicationUrl.class.php: first step for
	Application: base class for working with urls.

	* main/Net/GenericUri.class.php: toStringFromRoot() - url without
	scheme and authority part.

	* main/Utils/DateUtils.class.php: utilities for playing with dates and
	time. First function - getAgeByBirthDate().

2007-10-10	Denis M. Gabaidulin

	* core/Date.class.php: makeFromWeek() constructor was added.

2007-10-09	Ivan Y. Khvostishkov

	* core/Base/Assert.class.php: arguments are visible now, yeah!

2007-10-06	Konstantin V. Arkhipov

	* main/Net/Http/CurlHttpClient.class.php: user-agent added; parasitic
	question mark removed.

2007-10-04	Ivan Y. Khvostishkov

	* core/Form/Primitives/PrimitiveForm.class.php,
	PrimitiveFormsList.class.php: primitives for creating structured forms
	with the help of DTO classess (coming soon).

2007-10-02	Ivan Y. Khvostishkov

	* main/Utils/TextUtils.class.php: added friendlyNumber() for
	typographing integer numbers.

2007-10-01	Dmitry E. Demidov

	* main/Criteria/Projections/HavingProjection.class.php,
	main/Criteria/Projection.class.php: added HavingProjection.

2007-10-01	Dmitry E. Pismenny

	* core/Form/Form.class.php: added isImported check in importMore
	functions.

	* main/Flow/View.class.php: added ERROR_VIEW const.

2007-09-26	Dmitry A. Lomash

	* main/Criteria/Projections/GroupByClassProjection.class.php: added.

2007-09-26	Konstantin V. Arkhipov

	* main/Base/DateRange.class.php: now implements SingleRange.

2007-09-25	Dmitry E. Demidov

	* core/OSQL/FieldTable.class.php: getField() added.

	* core/OSQL/OrderBy.class.php: isAsc(), invert(), __clone() added.

2007-09-24	Vladimir A. Altuchov

	* main/Net/Ip/: Ip classes added.

	* main/Base/SingleRange.class.php: range interface added.

2007-09-19	Konstantin V. Arkhipov

	* main/DAOs/Workers/: uncaching fixed in dropByIds().

	* main/Net/Http/CurlHttpClient.class.php: isNoBody() -> hasNoBody().

2007-09-19	Denis M. Gabaidulin

	* core/Form/Primitives/PrimitiveIdentifierList.class.php:
	always return array after import.

	* core/Form/Primitives/PrimitiveIdentifierList.class.php: importValue()
	now can import data from array of ids or array of Identificable objects.

2007-09-19	Vladimir A. Altuchov

	* main/Net/Http/CurlHttpClient.class.php: no body response available.

2007-09-17	Sergey M. Skachkov

	* core/Form/Filter.class.php: upperCase() added.

2007-09-14	Dmitry E. Pismenny

	* main/Base/Range.class.php: intersects() added.

2007-09-07	Konstantin V. Arkhipov

	* main/Criteria/Projections/MappableObjectProjection.class.php:
	new projection for arbitrary mappable objects.

2007-09-06	Ivan Y. Khvostishkov

	* main/Utils/ArrayUtils.class.php: arrayMergeUnique() renamed to
	mergeUnqie() + variable argument lists are acepted now.

2007-09-04	Ivan Y. Khvostishkov

	* main/Utils/ArrayUtils.class.php: arrayMergeUnique() added.

	* main/Markup/Html/: minor stuff for coming parser.

2007-09-02	Konstantin V. Arkhipov

	* core/DB/DBPool.class.php: dropLink() now throws MissingElement
	instead of WrongArgument exception.

2007-08-29	Ivan Y. Khvostishkov

	* main/Utils/TextUtils.class.php: safeAmp() helps to avoid double
	encoding of html entities.

2007-08-27	Denis M. Gabaidulin

	* main/Flow/DebugPhpView.class.php: simple, but useful debug view.

2007-08-22	Anton E. Lebedevich

	* main/Flow/RedirectView.class.php: static create() added.

2007-08-20	Vladimir A. Altuchov

	* core/DB/DBPool.class.php: dropLink() added.

2007-08-17	Anton E. Lebedevich

	* main/Utils/TextUtils.class.php: hex2Binary() added.

	* main/Flow/HttpRequest.class.php: setGetVar() and setPostVar() added.

2007-08-15	Denis M. Gabaidulin

	* core/Form/Filters/NormalizeUrlFilter.class.php: url normalizator filter
	was added. Bases on new HttpUrl parser.

2007-08-15	Anton E. Lebedevich

	*  main/Utils/Http/CurlHttpClient.class.php,
	main/Utils/Http/CurlHttpResponse.class.php: setMaxFileSize() added to
	limit download size.

2007-08-13	Vladimir A. Altuchov

	* core/Form/Primitives/PrimitiveTime.class.php: correct import
	condition.

	* test/core/PrimitiveTimeTest.class.php: test case for primitive time.

2007-08-13	Anton E. Lebedevich
	
	* main/Net/GenericUri.class.php, main/Net/HttpUrl.class.php,
	main/Utils/TextUtils.class.php: url normalization moved from TextUtils
	to GenericUri and HttpUrl.

2007-08-13	Dmitry E. Demidov

	* main/Utils/RussianTextUtils.class.php: getDayOfWeek now can return
	full day of week name.

2007-08-10	Dmitry A. Lomash

	* core/Base/Date.class.php: toIsoString() convertes it according to
	ISO-8601 standard.

2007-08-09	Anton E. Lebedevich

	* main/Flow/HttpRequest.class, main/Net/Http/CurlHttpClient.class.php:
	HttpRequest uri -> url.

2007-08-09	Dmitry A. Lomash

	* main/Utils/CodeGenerator.class.php: setCharactersAllowed() method 
	was added.

2007-08-08	Vladimir A. Altuchov

	* core/Form/Filters/: + lower case filter

2007-08-06	Ivan Y. Khvostishkov

	* main/Utils/IO/: File Streams accept both string names and resource
	descriptors in constructor.

2007-08-06	Konstantin V. Arkhipov

	* meta/: per-class fetch strategy implemented.

2007-08-05	Denis M. Gabaidulin

	* main/Base/ImageType.class.php: getExtension() helper method was added.

2007-07-30	Ivan Y. Khvostishkov

	* main/Utils/Html: HtmlTokenizer arrived from incubator.

	* main/Utils/GenericUri.class.php: rfc3986 uri implementation.

2007-07-27	Anton E. Lebedevich

	* main/Utils/ClassUtils.class.php: abstract class support added
	to isInstanceOf.

2007-07-23	Ivan Y. Khvostishkov

	* global.inc.php.tpl: possible security hole fixed on autoload's
	level.

2007-07-16	Konstantin V. Arkhipov

	* main/Base/RequestType.class.php,
	main/Criteria/FetchStrategy.class.php: immutable now.

2007-07-15	Konstantin V. Arkhipov

	* core/OSQL/DBField.class.php, core/OSQL/SelectField.class.php,
	core/Form/Primitives/ListedPrimitive.class.php: implemented in module.

	* core/OSQL/Castable.class.php: DialectString is a must now.

2007-07-13	Konstantin V. Arkhipov

	* core/OSQL/DatePart.class.php, core/OSQL/ExtractPart.class.php: ANSI
	SQL's EXTRACT() implemented.

2007-07-10	Ivan Y. Khvostishkov

	* main/Utils/IO/FileOutputStream.class.php: implemented.

	* main/Utils/Logging/: simple but useful classes for logging.

2007-07-10	Dmitry E. Pismenny

	* main/Utils/TextUtils.class.php: cutOnSpace now return string, which 
	cutted to needfull length, if there is no space after length.

2007-07-09	Konstantin V. Arkhipov

	* main/Flow/RedirectView.class.php: now ignores null values.

2007-07-07	Konstantin V. Arkhipov

	* main/Flow/MultiPrefixPhpViewResolver.class.php: resolveViewName now
	throws WrongArgumentException.

2007-07-06	Dmitry E. Pismenny

	* main/Flow/RedirectView.class.php: special handling for boolean
	values.

2007-07-06	Vladimir A. Altuchov

	* main/Base/TimestampRange.class.php: overloaded getStartStamp() and
	getEndStamp() for correct compare Timestamp object.

2007-07-05	Anton E. Lebedevich

	* main/Utils/TidyValidator.class.php: validationErrors renamed to
	messages, added getErrorCount() and getWarningCount().

2007-07-04	Anton E. Lebedevich

	* core/Logic/PostfixUnaryExpression.class.php: renamed from
	UnaryExpression.

	* core/Logic/PrefixUnaryExpression.class.php: implemented unary '-' and
	unary logical 'not'.

2007-07-04	Konstantin V. Arkhipov

	* core/Form/Filters/BaseFilter.class.php: now implements
	Instantiatable too.

2007-07-03	Konstantin V. Arkhipov

	* core/Base/Timestamp.class.php: toISOString() renamed to
	toIsoString().

2007-07-03	Anton E. Lebedevich

	* core/OSQL/QueryCombination.class.php: added orderBy, limit, offset.

	* core/OSQL/SelectQuery.class.php, core/OSQL/OrderChain.class.php: type
	determination logic moved from SelectQuery to OrderChain.

2007-07-01	Dmitry E. Demidov

	* core/Form/Primitives/PrimitiveIdentifier.class.php: added ability
	get object not only by getById method.

	* main/Utils/ClassUtils.class.php: callStaticMethod, checkStaticMethod
	methods added.

2007-07-01	Konstantin V. Arkhipov

	* main/DAOs/GenericDAO.class.php: identity map isolated from mere
	mortals.

	* core/Logic/EqualsLowerExpression.class.php: now optimizes out
	lower() call for given strings.

	* core/Form/Filters/NewLinesToBreaks.class.php,
	core/Form/Filters/UnixToUnixDecode.class.php,
	core/Form/Filters/UnixToUnixEncode.class.php: introduced.

	* core/Form/Filters/TrimFilter.class.php: direction support added.

2007-06-30	Sergey M. Skachkov

	* core/Form/Filter.class.php: trim() now return new TrimFilter
	instance.

	* core/Form/Filters/TrimFilter.class.php: charlist support added.

2007-06-29	Anton E. Lebedevich

	* main/Utils/ArrayUtils.class.php: getMirrorValues() deprecated.

	* main/Utils/HeaderUtils.class.php: redirect() deprecated.

	* main/Utils/TextUtils.class.php: normalizeUri added.

2007-06-28	Ivan Y. Khvostishkov

	* main/Utils/: ContentTypeHeader.class.php,
	DoctypeDeclaration.class.php, CommonDoctypeDeclaration.class.php:
	introduced.

2007-06-28	Denis M. Gabaidulin

	* core/Form/Form.class.php: importPrimitive method patched for
	correction work with primitive aliases when Form import data from raw
	http.

2007-06-27	Ivan Y. Khvostishkov

	* main/Utils/IO/: BufferedInputStream, FileInputStream and
	StringInputStream implemented, changed default behaviour for parent
	classes.

2007-06-27	Denis M. Gabaidulin

	* main/Flow/ModelAndView.class.php: viewIsNormal method added.

2007-06-25	Konstantin V. Arkhipov

	 * main/DAOs/Workers/BaseDaoWorker.class.php: fixed incomplete objects
	 by-query caching.

2007-06-22	Anton E. Lebedevich

	* main/Base/Calendar*: calendar moved to Date.

2007-06-21	Dmitry A. Lomash

	* test/main/FeedReaderTest.class.php: added tests for FeedReader.

2007-06-21	Dmitry A. Lomash

	* main/Utils/Feed/: added feed manipulation classes.

2007-06-20	Konstantin V. Arkhipov

	* main/DAOs/: low-level cache stuff isolated from mere mortals:
	getCachedById, getCachedByQuery, cacheById, cacheByQuery,
	cacheListByQuery, uncacheByQuery.

	* main/DAOs/GenericDAO.class.php: now all methods returning single
	object or object list are using identity map.

2007-06-19	Konstantin V. Arkhipov

	* main/SPL/bundled/: removed, it was a bad idea.

2007-06-18	Denis M. Gabaidulin

	* core/Form/Primitives/PrimitiveString.class.php: simple url
	pattern added.

2007-06-18	Konstantin V. Arkhipov

	* core/Form/MappedForm.class.php: now checks Form's rules upon
	import().

2007-06-15	Dmitry A. Lomash

	* core/Base/: compare() moved from Timestamp to Date.

2007-06-14	Sergey M. Skachkov

	* main/Utils/TidyValidator.class.php: simple HTML validator and
	repairer introduced.

2007-06-14	Konstantin V. Arkhipov

	* global.inc.php.tpl: __autoload() now able to handle classes with
	broken declarations.

2007-06-13	Konstantin V. Arkhipov

	* main/Criteria/Criteria.class.php: getCustom() now able to return
	final value if index is specified.

2007-06-10	Konstantin V. Arkhipov

	* main/Flow/FormedController.class.php: removed.

2007-06-04	Anton E. Lebedevich

	* main/Utils/TextUtils.class.php: cutOnSpace() added.

2007-05-30	Konstantin V. Arkhipov

	* main/Criteria/Projections/ClassProjection.class.php: new projection
	type introduced.

2007-05-29	Ivan Y. Khvostishkov

	* main/Utils/RussianTextUtils.class.php: added charset detection.

2007-05-24	Konstantin V. Arkhipov

	* core/Base/Singleton.class.php, ext/src/core/Base/Singleton.c:
	getAllInstances() added.

	* main/DAOs/GenericDAO.class.php: dropIdentityMap() added.

	* core/Cache/: now drops all identity maps from available DAOs during
	clean().

2007-05-23	Anton E. Lebedevich

	* main/Flow/HttpErrorView.class.php: HttpErrorView added.

2007-05-21	Dmitry A. Lomash

	* main/Utils/IO/Reader.class.php,
	main/Utils/IO/StringReader.class.php: getWhole() added.

2007-05-19	Dmitry A. Lomash

	* main/Utils/IO/: Reader and StringReader added.

2007-05-17	Ivan Y. Khvostishkov

	* main/Utils/IO/: client socket implementation from branches/0.10.

2007-05-16	Denis M. Gabaidulin

	* main/Utils/FileUtils.class.php: makeUniqueName() added.

2007-05-15	Denis M. Gabaidulin

	* main/Utils/RussianTextUtils.class.php: toTranslit(), toRussian()
	convrters was added.

	* core/Exceptions/FileNotFoundException.class.php,
	ext/src/core/Exceptions.c: FileNotFoundException added.

	* main/Base/IntegerSet.class.php: simple integer's set introduced.

2007-05-14	Konstantin V. Arkhipov

	* ext/src/core/Exceptions.c: ClassNotFoundException added.

2007-05-13	Konstantin V. Arkhipov

	* meta/types/NumericType.class.php: one more type introduced.

	* main/Criteria/Criteria.class.php: fetchCollection now supports
	distinct and limitizing clauses from given Criteria.

2007-05-10	Konstantin V. Arkhipov

	* meta/classes/MetaConfiguration.class.php: shiny new meta type;
	suggested and implemented by sherman.

	* global.inc.php.tpl: __autoload() now throws ClassNotFoundException
	even if classes paths cache is disabled.

2007-05-10	Ivan Y. Khvostishkov

	* main/Utils/ArrayUtils.class.php: getIdsArray() accepts empty lists
	now.

2007-05-08	Ivan Y. Khvostishkov

	* main/Flow/MultiPrefixPhpViewResolver.class.php: default postfix.

2007-05-08	Konstantin V. Arkhipov

	* core/Exceptions/ClassNotFoundException.class.php,
	global.inc.php.tpl: classes paths cache implemented; now throws
	ClassNotFoundException instead of fatal error when unable to find
	requested class.

2007-05-08	Anton E. Lebedevich

	* core/Form/Filters/RemoveNewlineFilter.class.php: RemoveNewlineFilter
	added.

2007-05-05	Dmitry E. Demidov

	* main/Flow/MultiPrefixPhpViewResolver.class.php: added ability to set
	View class.

2007-05-02	Anton E. Lebedevich

	* main/Flow/PartViewer.class.php: getModel() added.

2007-04-28	Dmitry Pismenny

	* core/Form/Filters/PCREFilter.class.php: limit added.

2007-04-27	Dmitry Pismenny

	* core/base/Session.class.php: minor styling.

	* core/base/Session.class.php: add getName() and getId() methods.

2007-04-22	Konstantin V. Arkhipov

	* meta/bin/build.php: --no-color switch implemented.

2007-04-23	Anton E. Lebedevich

	* main/Utils/DebugUtils.class.php: memory counting functions added.

2007-04-22	Konstantin V. Arkhipov

	* trunk/core/OSQL/SelectQuery.class.php: getFieldNames() now respects
	aliases.

2007-04-21	Konstantin V. Arkhipov

	* main/Flow/HttpRequest.class.php: getAttachedList() removed.

	* core/Cache/ReferencePool.class.php: removed.

	* main/Criteria/Criteria.class.php: added dao-like behaviour on
	throwing ONF-exception controlled by setSilent() method; silent by
	default.

	* meta/builders/AutoClassBuilder.class.php: __sleep()'s generation
	dropped.

	* main/DAOs/: partial caching implemented for objects fetched by
	cascade strategy; useless getListByCriteria() dropped.

	* main/DAOs/GenericDAO.class.php: getById() now stores cached objects
	in identity map.

2007-04-19	Konstantin V. Arkhipov

	* main/Base/, core/Form/: quasi non-plain Form implemented.

	* core/Form/Primitives/PrimitivesBox.class.php: removed.

2007-04-18	Konstantin V. Arkhipov

	* main/DAOs/ComplexBuilderDAO.class.php: removed.

	* main/Criteria/Criteria.class.php, core/OSQL/SelectQuery.class.php:
	ability to specify per-query fetch strategy removed.

2007-04-14	Konstantin V. Arkhipov

	* core/Form/Primitives/PrimitivesBox.class.php: first step in
	non-plain Form direction.

	* core/OSQL/DBTable.class.php: now respect's column size during diff,
	if any.

	* main/Base/CompositeLightMetaProperty.class.php: replaced by
	InnerMetaProperty because of former unnecessary complexity.

2007-04-14	Anton E. Lebedevich
	
	* main/Flow/MultiPrefixPhpViewResolver.class.php: added resolver for
	multiple prefixes.

2007-04-13	Denis M. Gabaidulin

	* main/Criteria/Criteria.class.php: dropProjection() added.

2007-04-12	Anton E. Lebedevich

	* main/Utils/TextUtils.class.php: downFirst() added.

	* main/Utils/LogicUtils.class.php: getOpenPoint() added.

2007-04-11	Konstantin V. Arkhipov

	* main/DAOs/BaseDAO.class.php: get, getList and getCounterList
	removed.

	* main/DAOs/ObjectQuery.class.php: dropped finally.

2007-04-09	Anton E. Lebedevich
	
	* meta/types/ObjectType.class.php: unconditionally fill collection.

2007-04-09	Ivan Y. Khvostishkov

	* core/Base/Timestamp.class.php: toISOString() convertes it according to
	ISO 8601 standard.

	* core/Form/MappedForm.class.php: fixed ability to add more than one
	source for primitive.

	* core/Form/FormUtils.class.php: fixed object2form() for non-prototyped
	objects.

2007-04-09	Konstantin V. Arkhipov

	* core/Form/FormUtils.class.php: ported to new proto's.

	* main/Base/CompositeLightMetaProperty.class.php: new light property type
	implemented.

	* meta/builders/ValueObjectDaoBuilder.class.php,
	main/DAOs/ValueObjectDAO.class.php: dropped.

2007-04-08	Konstantin V. Arkhipov

	* main/DAOs/ProtoDAO.class.php: unified makeSelf() implemented.

	* main/Base/AbstractProtoClass.class.php: now able to generate Form
	from internal properties list.

	* meta/builders/AutoProtoClassBuilder.class.php: dropped generation of
	makeForm().

	* main/Base/LightMetaProperty.class.php: size and type properties
	added.

2007-04-08	Dmitry E. Demidov

	* main/Flow/RedirectView.class.php,
	main/Flow/RedirectToView.class.php: change visibility of getUrl 
	to public.
	
2007-04-06	Ivan Y. Khvostishkov

	* main/Base/RequestType.class.php: added ability to import data from
	attached vars.

2007-04-04	Konstantin V. Arkhipov

	* meta/: syntax checking now off by default, use --syntax-check to
	enable it.

2007-04-03	Konstantin V. Arkhipov

	* meta/types/PasswordType.class.php: bye.

	* meta/: LazyOneToOne relation dropped, you can use
	'relation="OneToOne" fetch="lazy"' instead.

	* meta/: read-only includes implemented via 'build="false"' option.

	* meta/: --dry-run mode added.

2007-04-02	Konstantin V. Arkhipov

	* meta/internal.xml: new internal classes added - IdentifiableObject,
	NamedObject, IndetifiableTree, NamedTree.

2007-04-01	Konstantin V. Arkhipov

	* meta/: internal classes implementation finished.

	* meta/classes/MetaConfiguration.class.php: spooked class type is
	obsoleted now, do not specify it manually anymore, it will be set for
	spooked patterns automagically.

2007-03-30	Konstantin V. Arkhipov

	* core/Form/Primitives/BasePrimitive.class.php: isImported added.

	* core/Form/PlainForm.class.php,
	core/Form/Primitives/BasePrimitive.class.php: getSafeValue added.

2007-03-26	Konstantin V. Arkhipov

	* meta/types/: ranges support dropped.

	* main/Base/DateRange.class.php: split() ported to Date's usage.

	* test/core/DateRangeTest.class.php: more tests.

2007-03-25	Konstantin V. Arkhipov

	* main/Criteria/PropertyPath.class.php: useful utilities for path
	processing.

	* main/Criteria/Property.class.php: unused anyway, removed.

2007-03-23	Konstantin V. Arkhipov

	* main/DAOs/, meta/: mapping is now proto-based.

2007-03-22	Dmitry E. Demidov

	* main/Flow/PrototypedEditor.class.php: added method doTake.

2007-03-20	Dmitry E. Demidov

	* main/Flow/PrototypedEditor.class.php: added method dropObject,
	added form state checking after calling addObject/saveObject to 
	doSave/doAdd methods.

	* main/Flow/MethodMappedController.class.php: added method
	dropMethodMapping.

2007-03-20	Konstantin V. Arkhipov

	* main/UnifiedContainer/UnifiedContainer.class.php: fetched
	collection now excluded from serialization.

	* core/OSQL/QueryCombination.class.php: now implements MappableObject.

	* main/DAOs/Workers/: removed all childs of Voodoo-worker, so now
	handler's select configurable via
	VoodooDaoWorker::setDefaultHandler().

	* main/DAOs/Workers/: added FileSystemSegmentHandler as final
	fallback.

2007-03-19	Ivan Y. Khvostishkov

	* core/Form/Primitives/PrimitiveEnumeration.class.php: bugfix, value
	must be null on failed import.

2007-03-19	Konstantin V. Arkhipov

	* meta/: integrity checks implemented.

2007-03-16	Konstantin V. Arkhipov

	* core/OSQL/SelectQuery.class.php: aliases tracking implemented.

	* meta/: includes implemented.

2007-03-15	Konstantin V. Arkhipov

	* main/Criteria/Criteria.class.php: now accepts Criteria instance for
	filtering/ordering instead of OrderBy.

2007-03-14	Konstantin V. Arkhipov

	* meta/: stale files removing implemented.

2007-03-12	Konstantin V. Arkhipov

	* meta/: syntax checking for generated classes implemented.

2007-03-11	Konstantin V. Arkhipov

	* main/Containers/Unified/: moved to main/UnifiedContainer/.

	* main/Containers/Storable/: bye-bye.

	* meta/types/: Inet type implemented.

	* meta/: mysterious 'table per class hierarchy' implemented.

	* main/Base/LightMetaProperty.class.php: no more setters, since it's
	an immutable one.

	* meta/: new switches implemented for build script: --only-containers,
	--no-schema, --no-schema-check, --force; also automagically searches
	for configuration files now.

2007-03-10	Anton E. Lebedevich

	* core/OSQL/SQLFunction.class.php: aggregate modifier support added.

	* main/Criteria/Projections/DistinctCountProjection.class.php,
	main/Criteria/Projection.class.php: 'count(distinct ...)' projection
	added.

	* core/Form/Filters/CompressWhitespaceFilter.class.php:
	CompressWhitespaceFilter added.

2007-03-09	Konstantin V. Arkhipov

	* core/Form/Filters/RussianTypograph.class.php: now uses internal
	filter's chain too: Trim + CompressWhitespace.

	* core/OSQL/SQLFunction.class.php: MappableObject implemented.

2007-03-07	Konstantin V. Arkhipov

	* core/, main/: all childless classes are final now.

	* main/Base/DateRange.class.php: now accepts Date object's.

2007-03-07	Ivan Y. Khvostishkov

	* main/Utils/ArrayUtils.class.php: method for getting symmetric array
	from values.

	* core/Form/Primitive.class.php,
	core/Form/Primitives/PrimitivePlainList.class.php: plainChoice() for
	simple plain arrays.

2007-03-06	Konstantin V. Arkhipov

	* meta/classes/MetaConfiguration.class.php: cascade fetch strategy
	also forced for spooked properties.

2007-03-05	Ivan Y. Khvostishkov

	* main/Base/DateRange.class.php: fixed default delimiters.

2007-03-05	Konstantin V. Arkhipov

	* main/DAOs/: getIdName() moved from StorableDAO to GenericDAO.

2007-03-04	Konstantin V. Arkhipov

	* main/Utils/DaoMoveHelper.class.php, main/Utils/DaoUtils.class.php,
	core/Form/Primitives/PrimitiveIdentifierList.class.php: copied from
	0.8.

2007-03-03	Konstantin V. Arkhipov

	* meta/: generation gap for proto-classes implemented, as requested by
	Antony.

	* meta/classes/MetaConfiguration.class.php: now checks for stale
	autogenerated files.

	* core/Form/PlainForm.class.php: getChoiceValue/getActualChoiceValue
	restored.

	* core/Form/PrimitiveList.class.php,
	core/Form/PrimitiveMultiList.class.php: behaviour synced to be
	0.8-like.

2007-03-03	Sergey S. Sergeev

	* doc/README: php.ini recommended settings introduced.

	* core/Form/Primitives/FiltrablePrimitive.class.php,
	core/Form/Primitives/PrimitiveArray.class.php: PrimitiveArray
	implements FiltrablePrimitive.

	* core/Form/Primitives/PrimitiveString.class.php, 
	core/Form/Primitives/PrimitiveNumber.class.php,
	core/Form/Primitives/PrimitiveArray.class.php: apply filters before
	check values.

2007-03-02	Dmitry E. Demidov

	* core/Cache/WatermarkedPeer.class.php, 
	main/DAOs/Workers/FileSystemDaoWorker.class.php,
	main/DAOs/Workers/SmartDaoWorker.class.php,
	main/DAOs/Workers/VoodooDaoWorker.class.php: added ability to set separate 
	watermark on classes.

2007-02-28	Anton E. Lebedevich

	* main/Base/LightMetaProperty.class.php: columnIdName optimized out;
	i.e. dropped.

2007-02-28	Konstantin V. Arkhipov

	* meta/: implemented recursion checking for 1-to-1 relations, forces
	cascade fetch strategy for single properties, if found.

2007-02-27	Ivan Y. Khvostishkov

	* main/Utils/TextUtils.class.php,
	main/Utils/RussianTextUtils.class.php: added friendlyFileSize() for
	russian language and specified this method with useful parameters.

	* core/Form/Filters/SafeUtf8Filter.class.php,
	core/Form/Filter.class.php: filtrator for non-utf8 symbols.

	* core/Form/Primitives/PrimitiveEnumeration.class.php: made it
	ListedPrimitive compatible.

2007-02-27	Konstantin V. Arkhipov

	* core/Form/Primitives/PrimitiveList.class.php,
	core/Form/Primitives/PrimitiveMultiList.class.php: BC: breakage:
	getValue() now returns selected element(s); use getIndex() to get
	selected index(es).

	* core/Form/Primitives/PrimitiveMultiList.class.php: BC breakage:
	inner list of available choices are now mandatory; use PrimitiveArray
	aka (Primitive::set for old behaviour.

	* core/Form/Primitives/PrimitiveArray.class.php: setFetchMode()
	introduced.

	* meta/: ability to specify table name for classes implemented.

2007-02-26	Konstantin V. Arkhipov

	* core/Form/Primitives/PrimitiveList.class.php: BC breakage:
	getValue/getActualValue return's now selected list value, not it's
	index; getIndex() introduced.

	* core/Form/PlainForm.class.php: removed methods getChoiceValue() and
	getActualChoiceValue().

	* main/Flow/: default action is 'edit' now.

2007-02-22	Konstantin V. Arkhipov

	* main/DAOs/GenericDAO.class.php: field collisions in inherited
	classes fixed.

2007-02-21	Dmitry E. Demidov

	* test/main/ClassUtilsTest.class.php: added tests for ClassUtils.

2007-02-20	Ivan Y. Khvostishkov

	* main/Base/TempFile.class.php, main/Utils/FileUtils.class.php,
	main/Base/TransparentFile.class.php:
	implementation of temp file and transparent working with
	file or memory data.

2007-02-20	Dmitry E. Demidov

	* main/Containers/Unified/UnifiedContainer.class.php: sync list with
	clones after container save.
	
2007-02-19	Ivan Y. Khvostishkov

	* main/Base/TempDirectory.class.php, main/Utils/FileUtils.class.php:
	temp directory implementation, directories functions added.

2007-02-19	Konstantin V. Arkhipov

	* main/Containers/Unified/UnifiedContainer.class.php: getCount()
	implemented; unsaved objects are not tracked by importList() now;
	replaceList() renamed to mergeList().

2007-02-16	Konstantin V. Arkhipov

	* main/Flow/HttpRequest.class.php: BC breakage: getAttachedList()
	renamed to getAttached().

2007-02-15	Ivan Y. Khvostishkov

	* main/Utils/Archivers/: started archiver utilities, added wrapper
	for GNU tar, added PECL ZipArchive proxy / Info-Zip wrapper.

2007-02-13	Konstantin V. Arkhipov

	* main/Criteria/Criteria.class.php, core/OSQL/QueryResult.class.php:
	synced Criteria::getResult() behaviour with other get-methods.

2007-02-10	Dmitry E. Demidov

	* core/Form/Primitives/ExplodedPrimitive.class.php: added support for
	regexp separator.

2007-02-09	Konstantin V. Arkhipov

	* main/Utils/ClassUtils.class.php: return value are omitted now for
	all methods.

	* main/Flow/SaveCommand.class.php: fetches object before form's
	export.

	* main/Flow/TakeCommand.class.php: abstract now.

2007-02-09	Dmitry E. Demidov

	* core/Form/Primitives/PrimitiveImage.class.php: fix return value.

2007-02-06	Denis M. Gabaidulin

	* core/Form/Primitives/PrimitiveIdentifierList.class.php: list of
	identificable objects primitive was added.

2007-02-05	Konstantin V. Arkhipov

	* main/DAOs/Workers/: all workers are now calls dao's uncacheLists(),
	so you can now override it.

	* meta/builders/, main/DAOs/, main/Containers/: all helpers are
	ordinary methods now, all static stuff reverted (see 2006-12-24 for
	details).

2007-02-02	Konstantin V. Arkhipov

	* meta/builders/ProtoClassBuilder.class.php: min/max values
	added to identifier's too.

2007-02-01	Konstantin V. Arkhipov

	* core/OSQL/SelectQuery.class.php: ported to OrderChain.

	* main/DAOs/ProtoDAO.class.php: proto-related stuff moved here from
	StorableDAO.

	* core/OSQL/OrderChain.class.php: introduced.

	* main/Criteria/Criteria.class.php: ability to add custom sort for
	fetching collections implemented.

2007-01-31	Dmitry E. Demidov

	* main/Utils/ClassUtils.class.php: added class for copy 
	object properties.

2007-01-31	Konstantin V. Arkhipov

	* core/OSQL/DataType.class.php, meta/types/:
	Unsigned{Small,,Big}Integer implemented.

	* meta/types/: min/max values for SmallInteger/Integer primitives.

2007-01-29	Dmitry E. Demidov

	* main/Utils/RussianTextUtils.class.php: added method getDateAsText.

2007-01-28	Konstantin V. Arkhipov

	* global.inc.php.tpl: new overridable constant introduced -
	ONPHP_IPC_PERMS.

2007-01-27	Konstantin V. Arkhipov

	* main/Flow/: ImportCommand implemented.

	* main/Containers/Unified/UnifiedContainer.class.php: object's
	comparsion bug introduced by identity map in php-5.2 fixed (was:
	'Nesting level too deep - recursive dependency?').

	* meta/builders/AutoClassBuilder.class.php: now builds custom
	__sleep() method to prevent serialization of full objects with
	LazyOneToOne relation.

2007-01-25	Dmitry E. Demidov

	* core/Form/FormUtils.class.php: form2object() and object2form()
	now accepts any objects.
	
2007-01-22	Konstantin V. Arkhipov

	* main/DAOs/Handlers/MessageSegmentHandler.class.php,
	main/DAOs/Handlers/SharedMemorySegmentHandler.class.php:
	segments/queues are now created with 0660 permission, instead of 0600.

2007-01-21	Konstantin V. Arkhipov

	* core/Form/Primitives/PrimitiveIdentifier.class.php: now able to
	guess class' name from it's object or DAO.

	* core/Form/Primitives/DateRangeList.class.php: printRange() removed
	in favour of DateRange's toString().

	* core/Cache/Cache.class.php: 'forever' is now 7 days (was only 3).

2007-01-19	Konstantin V. Arkhipov

	* main/DAOs/Handlers/MessageSegmentHandler.class.php,
	main/DAOs/Workers/DelayedDaoWorker.class.php: sysvmsg-based
	asynchronous DAO-worker.

2007-01-18	Konstantin V. Arkhipov

	* main/DAOs/GenericDAO.class.php: identity's map and inner worker
	serialization prevented.

	* core/Form/FormUtils.class.php: object2form() now handles Prototyped
	objects individually.

	* core/Form/FormUtils.class.php: gently handling of LazyOneToOne
	implemented.

2007-01-17	Konstantin V. Arkhipov

	* meta/: no more collections fetching in getContainer-methods.

	* main/Containers/Unified/UnifiedContainer.class.php: now
	automatically fetches unfetched collection in getList().

	* main/Containers/Unified/: support for Criteria implemented; note
	that if Criteria is set, then ObjectQuery will be ignored.

2007-01-13	Konstantin V. Arkhipov

	* trunk/core/Form/Primitives/PrimitiveDate.class.php: checkRanges()
	fixed.

2007-01-12	Konstantin V. Arkhipov

	* core/DB/DBPool.class.php: shutdown() method added, may be used right
	before template's processing.

2007-01-11	Konstantin V. Arkhipov

	* main/Criteria/Criteria.class.php: get() implemented.

	* main/Criteria/Criteria.class.php: optimized fetching of non-required
	non-lazy collections.

	* main/DAOs/BaseDAO.class.php: getListByCriteria() removed.

	* main/Criteria/Criteria.class.php: collection caching fixed.

	* core/OSQL/SelectQuery.class.php: now knows about fetch strategy, if
	any.

	* main/DAOs/Workers/: internal fetchObject() and fetchList()
	implemented.

	* core/DB/: dropped queryObjectRow(), queryObjectSet and
	queryJoinedObjectSet().

2007-01-08	Konstantin V. Arkhipov

	* main/Utils/HeaderUtils.class.php: redirectBack() now return
	redirecting url if any.

2007-01-08	Konstantin V. Arkhipov

	* core/DB/PgSQL.class.php: ignores unknown column types in
	getTableInfo().

2007-01-06	Konstantin V. Arkhipov

	* ext/src/core/DB/ImaginaryDialect.c: segfault spotted and fixed.

	* core/DB/PostgresDialect.class.php: default tsearch configuration
	changed to 'utf8_russian'.

	* core/DB/MyImprovedDialect.class.php, core/DB/MySQLim.class.php: new
	DB connector.

	* meta/builders/SchemaBuilder.class.php: fixed creation ManyToMany
	helper tables.

	* core/OSQL/DBTable.class.php: ability to add unique indexes added.

	* core/OSQL/DBColumn.class.php: unique property dropped.

	* core/DB/Sequenceless.class.php: obtainSequence() and query() are
	final now.

	* doc/project.skel/: meta and config updated.

	* core/DB/DBFactory.class.php: removed in favour of DBPool.

	* core/DB/: cleaned out DB class and all available connectors.

2007-01-05	Konstantin V. Arkhipov

	* meta/: ValueObject pattern implemented, as requested by Antony;
	unused hints support dropped.

2007-01-03	Konstantin V. Arkhipov

	* meta/classes/MetaClassProperty.class.php: removed evil hack for
	MySQL's booleans.

	* meta/builders/SchemaBuilder.class.php: ManyToMany relations building
	implemented.

	* ext/src/core/DB/Dialect.c: rare memory corruption fixed.

2007-01-02	Konstantin V. Arkhipov

	* meta/builders/AutoClassBuilder.class.php: added method for filling
	encapsulated containers.

	* meta/builders/ContainerClassBuilder.class.php: no more
	getChildIdField() for OneToMany containers.

	* main/Criteria/Criteria.class.php: collection's fetching implemented.

	* main/DAOs/StorableDAO.class.php: path's digging simplified a bit.

2006-12-30	Konstantin V. Arkhipov

	* meta/, main/Criteria/Criteria.class.php: correct handling of
	self-encapsulating classes implemented.

	* main/Criteria/Criteria.class.php: cascading fetch-strategy is
	working again.

	* main/Containers/Unified/ManyToManyLinkedFull.class.php,
	main/Containers/Unified/ManyToManyLinkedLazy.class.php: removed
	distinct clause from fetch queries.

	* core/Criteria/: moved to main/.

	* core/DB/PostgresDialect.class.php: do-not-quote-integer's logic
	resurrected.

	* core/OSQL/GroupBy.class.php: re-introduced one more time.

2006-12-29	Konstantin V. Arkhipov

	* main/Flow/HttpRequest.class.php: get*Var() and has*Var() added;
	hasAttached() removed in favour of hasAttachedVar().

	* core/Cache/WatermarkedPeer.class.php: evil typo spotted and fixed.

	* core/Criteria/Projections: several simple object projections added
	for usage in Criteria.

	* main/Base/LightMetaProperty.class.php: light version of
	MetaClassProperty for usage in userspace.

	* core/Criteria/Criteria.class.php: distinct support added.

	* main/DAOs/StorableDAO.class.php: correct support for OneToMany
	relations implemented in property's path digging.

2006-12-27	Konstantin V. Arkhipov

	* core/Form/PlainForm.class.php, core/Form/Primitives/: clean()
	implemented.

2006-12-26	Konstantin V. Arkhipov

	* meta/builders/AutoDaoBuilder.class.php: uncacheLists() now call's
	same method in all referencing objects.

	* core/DB/, main/DAOs/, main/Criteria/: joined fetching strategy
	implemented.

	* main/DAOs/GenericDAO.class.php: so-called 'identity map' addded.

	* meta/: now generates make-methods for cascading and batch object's
	building.

	* meta/patterns/SpookedEnumerationPattern.class.php: one more pattern,
	as requested by Sherman.

	* main/DAOs/StorableDAO.class.php: prevent duplicate joins in
	Criteria's processing.

	* meta/builders/AutoClassBuilder.class.php: containers will be
	recreated when lazy-switch differs.

2006-12-24	Konstantin V. Arkhipov

	* core/Criteria/Criteria.class.php: limit() changed to
	setLimit/setOffset.

	* main/DAOs/: initial support for dot-style property names
	implemented.

	* main/Containers/Unified/: all pointer-methods are now static too.

	* main/DAOs/InformedDAO.class.php: support interface for DAO's
	pointer-methods, which are now static: getObjectName, getTable,
	getSequence and getIdName.

	* main/DAOs/GenericDAO.class.php, main/DAOs/StorableDAO.class.php:
	getFields() dropped in favour of getMapping().

	* core/Base/Enumeration.class.php: changeId() renamed to setId(),
	constructor is final now, should help during migration.

	* core/Base/IdentifiableObject.class.php: getId/setId are not longer
	final.

2006-12-22	Konstantin V. Arkhipov

	* core/Form/Filters/RussianTypograph.class.php: hi, Tema.

2006-12-21	Konstantin V. Arkhipov

	* main/DAOs/GenericDAO.class.php: drop() added.

	* main/DAOs/StorableDAO.class.php: import() added.

	* core/Base/Date.class.php: now implements DialectString, so you can
	use Date/Timestamp in OSQL-related logic.

2006-12-20	Konstantin V. Arkhipov

	* main/Flow/RedirectView.class.php: now skips arrays and objects in
	query string generation.

2006-12-19	Konstantin V. Arkhipov

	* main/Utils/TextUtils.class.php: famous upFirst() method added.

2006-12-17	Konstantin V. Arkhipov

	* ext/main/: DAOConnected, FullTextDAO and ViewResolver interfaces
	added.

	* core/Base/Enumeration.class.php: synced with php version.

	* core/Form/Primitives/PrimitiveDumper.class.php: removed.

	* core/DB/: asyncQuery()/isBusy() dropped; queueSuppored and
	supportSequences() renamed to hasQueue() and hasSequences().

	* core/Criteria/Criteria.class.php: limit/offset support added.

2006-12-11	Konstantin V. Arkhipov

	* meta/: lazy one-to-one relation implemented.

2006-12-05	Konstantin V. Arkhipov

	* core/Form/Primitives/PrimitiveFile.class.php: copyToPath() added.

	* main/Flow/MonolithicController.class.php: hooks-based editor
	implemented.

	* core/Form/Primitives/: Timestamp' stuff separated from
	PrimitiveDate; this one breaks BC: you must replace all
	Primitive::date() calls to Primitive::timestamp().

2006-12-04	Konstantin V. Arkhipov

	* main/DAOs/ObjectQuery.class.php: ressurected in deprecated form.

2006-12-03	Konstantin V. Arkhipov

	* core/Criteria/: long awaited ObjectQuery's AI-alternative
	introduced.

	* core/OSQL/: join's support extracted from SelectQuery, so now
	UpdateQuery can handle joins too.

2006-12-02	Konstantin V. Arkhipov

	* core/Base/Date.class.php: extracted from Timestamp.

	* meta/types/DateType.class.php: Timestamp-based pseudo Date type.

2006-12-01	Konstantin V. Arkhipov

	* main/SPL/bundled/: Serializable interface added.

2006-11-30	Konstantin V. Arkhipov

	* core/Base/Enumeration.class.php: only 'id' and 'name' are stored
	upon serialization by default.

2006-11-25	Igor V. Gulyaev

	* meta/builders/BaseBuilder.class.php: do not generate getTable,
	getObjectName, getSequence for abstract DAO's.

2006-11-15	Konstantin V. Arkhipov

	* doc/project.skel/: moved to new layout, invented by Antony.

2006-11-10	Konstantin V. Arkhipov

	* meta/: return type-hints are now generated for every class.

2006-11-09	Konstantin V. Arkhipov

	* main/Utils/RussianTextUtils.class.php: dropped unused getAsText().

	* core/OSQL/SelectQuery.class.php: dropped deprecated joinQuery().

	* meta/: now suggests DB-changes by diff'ing current and generated
	schemas.

	* meta/types/: float type corrected, double type added.

	* meta/: colored embellishments.

2006-11-06	Konstantin V. Arkhipov

	* main/Mail/MimePart.class.php: strange typo in quoted encoding fixed.

	* main/Mail/Mail.class.php: fixed from-address encoding's handling.

	* meta/builders/BaseBuilder.class.php: fixed generation of
	non-required Ranges.

2006-11-04	Konstantin V. Arkhipov

	* ext/src/core/DB/Dialect.c: synced with php-version.

	* core/Logic/Expression.class.php: toValueString(), toFieldString()
	moved to Dialect, as suggested by Antony; toFormValue moved to Form.

2006-11-04	Anton E. Lebedevich

	* core/Logic/: backward incompatible reorganization: LogicalBlock
	merged with LogicalChain; LogicalExpression splitted to
	UnaryExpression, BinaryExpression, EqualsLowerExpression,
	InExpression; SIMILAR and NOT_SIMILAR removed from logical toBoolean()
	because they are not soundex(); getters dropped from LogicalObjects;
	unions moved to QueryCombination and QueryChain.

2006-11-02	Konstantin V. Arkhipov

	* main/DAOs/ObjectQuery.class.php: dropped due to massive
	incompatibilities with new core/Logic stuff.

2006-11-01	Konstantin V. Arkhipov

	* core/DB/Transaction/: new sub-category added.

	* core/DB/FakeTransaction.class.php: dummy queryNull's wrapper added.

	* main/Containers/Unified/UnifiedContainer.class.php: do not interrupt
	so-called 'global transaction', if any.

2006-10-31	Nickolay G. Korolyov

	* core/Form/Primitives/PrimitiveFloat.class.php,
	meta/types/FloatType.class.php: float support in Form and meta.

2006-10-31	Dmitry E. Demidov

	* main/Utils/TuringTest/TuringImage.class.php: added ability to
	generate IMG_WBMP.

2006-10-30	Anton E. Lebedevich

	* core/Form/Primitives/: now cleans previous state (if any) on upon
	import.

2006-10-25	Anton E. Lebedevich

	* test/core/LogicTest.class.php: added tests for LogicalExpression.

	* core/Logic/LogicalExpression.class.php,
	core/Logic/Expression.class.php: eqLower fixed for Forms.

2006-10-25	Konstantin V. Arkhipov

	* core/DB/MySQL.class.php: always force new link creation for
	non-persistent connections.

2006-10-21	Konstantin V. Arkhipov

	* 0.8.0 released.

2006-10-19	Konstantin V. Arkhipov

	* meta/types/TimeType.class.php,
	core/Form/Primitives/PrimitiveTime.class.php: Time-primitive
	introduced, Time-type is now supported by meta.

2006-10-18	Konstantin V. Arkhipov

	* core/DB/SQLite.class.php, core/DB/MySQL.class.php: duplicated
	inserts are now detected too.

	* core/DB/PostgresError.class.php, core/DB/PgSQL.class.php: queryRaw()
	now throws DuplicateObjectException upon PG's UNIQUE_VIOLATION.

	* core/OSQL/SQLQueryJoin.class.php: dropped.

	* core/OSQL/SelectQuery.class.php: joinQuery() is now deprecated in
	favour of join; leftJoinQuery is dropped.

2006-10-18	Dmitry E. Demidov

	* core/OSQL/SelectQuery.class.php: added method leftJoinQuery.

	* core/OSQL/SQLQueryJoin.class.php: added property left for ability 
	generate left outer join with query.

2006-10-18	Konstantin V. Arkhipov

	* meta/: column support for identifiers.

	* core/Form/Primitives/PrimitiveImage.class.php: big images' handling
	fixed.

2006-10-07	Konstantin V. Arkhipov

	* meta/: dropped support of <property identifier="true" ... />; use
	<identifier ... /> now.

2006-10-06	Anton E. Lebedevich

	* main/Base/ObjectsTree.class.php: removed.

2006-10-06	Konstantin V. Arkhipov

	* meta/classes/MetaConfiguration.class.php: added ability to override
	column names for properties.

2006-10-05	Anton E. Lebedevich

	* main/Flow/FilterController.class.php: removed.

2006-10-05	Konstantin V. Arkhipov

	* meta/builders/AutoDaoBuilder.class.php: public constructor's
	generation fixed.

2006-10-04	Konstantin V. Arkhipov

	* core/Base/Assert.class.php: simplified isInteger-checking, succeeds
	on integer's with leading zeros now.

2006-10-02	Konstantin V. Arkhipov

	* meta/builders/SchemaBuilder.class.php: do not generate unsupported
	relations in schema.

2006-09-29	Konstantin V. Arkhipov

	* main/DAOs/GenericDAO.class.php, main/DAOs/StorableDAO.class.php:
	backwards compatibility introduced for 0.2-style pseudo-mappings.

2006-09-28	Konstantin V. Arkhipov

	* main/Base/ObjectsTree.class.php: ressurected.

2006-09-27	Konstantin V. Arkhipov

	* meta/: 'source link' support in DAO's implemented.

	* core/DB/DBPool.class.php: new way for handling multi-DB's projects.

2006-09-26	Konstantin V. Arkhipov

	* meta/builders/SchemaBuilder.class.php: handling of property-less
	classes fixed too.

	* meta/builders/AutoDaoBuilder.class.php: fixed bug with inherited
	property-less DAO's.

2006-09-25	Konstantin V. Arkhipov

	* meta/builders/ProtoClassBuilder.class.php: corrected handling of
	parent's identifiers (if any).

	* meta/builders/ProtoClassBuilder.class.php: inheritance support
	implemented, useless constructor and private property dropped.

	* core/OSQL/TruncateQuery.class.php,
	test/core/TruncateQueryTest.class.php: single table handling fixed,
	test updated.

	* meta/classes/MetaClass.class.php: try to resolve parent's identifier
	in cases where child doesn't own one.

2006-09-24	Konstantin V. Arkhipov

	* main/DAOs/FullTextDAO.class.php: is now interface-helper for
	introduced FullTextUtils.

	* main/DAOs/MappedDAO.class.php,
	main/DAOs/MappedStorableDAO.class.php: dropped, since all Storable's
	childs are now Mapped too.

	* main/Base/Credentials.class.php: dropped.

	* FinalNamedObjectDAO.class.php, NamedObjectDAO.class.php: useless
	classes dropped.

	* main/DAOs/FinalObjectsTreeDAO.class.php,
	main/DAOs/ObjectsTreeDAO.class.php, main/Base/ObjectsTree.class.php:
	deprecated classes dropped.

2006-09-22	Konstantin V. Arkhipov

	* ext/src/main/DAOs/Handlers/SharedMemorySegmentHandler.c: dropped.

	* main/DAOs/FullTextDAO.class.php: deprecated.

	* core/Cache/ReferencePool.class.php,
	core/Cache/WatermarkedPeer.class.php: simplified a bit.

2006-09-21	Konstantin V. Arkhipov

	* main/DAOs/Handlers/XCacheSegmentHandler.class.php: one more
	segment handler added.

2006-09-20	Denis M. Gabaidulin

	* core/Base/Session.class.php: dropAll() method was added.

2006-09-19	Konstantin V. Arkhipov

	* main/Base/ObjectsTree.class.php, main/DAOs/ObjectsTreeDAO.class.php,
	main/DAOs/FinalObjectsTreeDAO.class.php: are now deprecated, pending
	removal during upcoming 0.7-session.

	* meta/builders/DictionaryDaoBuilder.class.php: now detects whether
	FinalNamedObjectDAO can be used.

2006-09-18	Konstantin V. Arkhipov

	* meta/classes/MetaConfiguration.class.php: name in identifier's
	shortcut is now optional, the default is 'id'; identifier's type can
	be specified now, the default is 'BigInteger'.

2006-09-17	Konstantin V. Arkhipov

	* 0.6.2 released.

2006-09-14	Konstantin V. Arkhipov

	* core/OSQL/SelectQuery.class.php: arrayGet() now detects two
	DialectString childs in should-be-prefixed cases, as requested by
	Sherman.

2006-09-10	Konstantin V. Arkhipov

	* main/Flow/RedirectToView.class.php: {get,set}Suffix added.

2006-09-08	Dmitry E. Demidov

	* main/Utils/TuringTest/CodeGenerator.class.php: added restriction
	generation of similar symbols ability.

2006-09-07	Dmitry E. Demidov

	* core/Form/Form.class.php: addCustomLabel() added.

2006-08-23	Konstantin V. Arkhipov

	* core/Cache/PeclMemcached.class.php: corrected behaviour in cases
	when memcached's gone.

2006-08-22	Dmitry E. Demidov

	* main/Utils/HttpStatus.class.php: added enumeration of http status
	codes.

	* main/Utils/HeaderUtils.class.php: changed method sendHttpStatus to
	use introduced enumeration..

2006-08-21	Dmitry E. Demidov

	* main/Utils/HeaderUtils.class.php: added method sendHttpStatus.

2006-08-18	Konstantin V. Arkhipov

	* main/Containers/Storable/StorableContainer.class.php: fixed issue
	with lost keys in getIdsList(). Spotted by serge, approved by antony.

2006-08-15	Dmitry E. Demidov

	* core/Form/Primitives/PrimitiveTernary.class.php: ternary primitive 
	can be required

2006-08-11	Konstantin V. Arkhipov

	* core/Cache/SemaphorePool.class.php: now trying to detect and use
	eAccelerator's locking when sysvsem extension is missing.

	* main/DAOs/Handlers/ApcSegmentHandler.class.php: integration with APC
	too.

	* main/DAOs/Handlers/eAcceleratorSegmentHandler.class.php,
	core/Cache/eAcceleratorLocker.class.php: integration with
	eAccelerator.

2006-08-10	Konstantin V. Arkhipov

	* core/Form/FormUtils.class.php: checkPrototyped() added.

	* 0.6.1 released.

2006-08-08	Konstantin V. Arkhipov

	* core/DB/, ext/: 'abstract static' methods are now just 'abstract' to
	be compatible with upcoming php-5.2, wrt to php's bug #38219.

2006-08-08	Dmitry E. Demidov

	* main/Utils/TuringTest/ErrorDrawer.class.php: added ability 
	enable/disable error drawer.

2006-08-04	Dmitry E. Demidov

	* core/OSQL/OrderBy.class.php: added ability group by SelectQuery.

2006-08-03	Dmitry E. Demidov

	* main/Utils/TuringTest/: added classes for Turing test.

2006-08-02	Anton E. Lebedevich

	* main/Mail/Mail.class.php: contentType added.

	* core/Base/Timestamp.class.php: dayDifference() function added.

2006-08-01	Konstantin V. Arkhipov

	* main/Mail/: unfinished mime-mail added.

	* main/Utils/Mail.class.php: moved to new main/Mail category.

2006-07-21	Konstantin V. Arkhipov

	* 0.6.0 released.

2006-07-17	Konstantin V. Arkhipov

	* meta/: DTD updated, forgotten shortcut to identifier implemented.

2006-07-16	Dmitry E. Demidov

	* core/Form/Primitives/PrimitiveTernary.class.php: added.

	* core/Form/Primitive.class.php: ternary() added.

2006-07-15	Konstantin V. Arkhipov

	* core/Form/: pass-by-reference removed from all methods.

	* core/OSQL/, ext/: support for TRUNCATE-query implemented, as
	requested by unnamed hero.

2006-07-14	Konstantin V. Arkhipov

	* core/DB/PostgresDialect.class.php, core/DB/Dialect.class.php,
	core/DB/ImaginaryDialect.class.php, core/DB/MyDialect.class.php,
	core/DB/LiteDialect.class.php: pass-by-reference removed from all
	methods.

	* ext/: synced with dialects and sanitized.

2006-07-13	Konstantin V. Arkhipov

	* main/Flow/CarefulDatabaseRunner.class.php: careful container for
	DB-related commands.

	* main/Flow/CarefulCommand.class.php,
	main/Flow/CommandChain.class.php: support for something like a
	transactions in EditorController implemented, as requested by
	dedmajor.

2006-07-12	Konstantin V. Arkhipov
	
	* core/Form/Form.class.php: markCustom() added, as requested by
	dedmajor.

	* core/Form/Form.class.php: API breakage: getTexturalErrors() ->
	getTextualErrors(); typo spotted by dedmajor.

2006-07-11	Konstantin V. Arkhipov

	* ext/: StaticFactory, Enumeration, Prototyped, FieldTable, Query,
	QueryIdentification and ImaginaryDialect are implemented.

2006-07-08	Konstantin V. Arkhipov

	* ext/src/main/DAOs/Handlers/SharedMemorySegmentHandler.c: implemented
	finally.

2006-07-07	Konstantin V. Arkhipov

	* core/Form/FormUtils.class.php: null's handling are now optional, as
	requested by nk.

2006-07-01	Konstantin V. Arkhipov

	* ext/: SegmentHandler interface implemented.

2006-06-30	Konstantin V. Arkhipov

	* core/OSQL/SelectField.class.php: now supports any instance of
	DialectString as field.

2006-06-29	Konstantin V. Arkhipov

	* meta/builders/ContainerClassBuilder.class.php: naming of
	container's classes changed to avoid collisions with two or more
	self-collected ones.

2006-06-28	Konstantin V. Arkhipov

	* main/DAOs/ObjectQuery.class.php: final class now.

	* meta/builders/ProtoClassBuilder.class.php: deprecated getForm()
	dropped.

	* main/Utils/RussianTextUtils.class.php: deprecated getSuffix()
	dropped.

	* main/DAOs/Handlers/: segment's handling logic separated from
	DAO-workers.

	* src/core/DB/Dialect.c: declarations of timeZone() and
	dropTableMode() corrected.

	* main/DAOs/: sub-directories for Workers and upcoming Handlers
	introduced.

2006-06-27	Konstantin V. Arkhipov

	* ext/: php's extension moved from incubator.

2006-06-27	Anton E. Lebedevich

	* core/OSQL/SelectQuery.class.php: GroupBy class dropped.

2006-06-25	Konstantin V. Arkhipov

	* main/Containers/: sub-directories for Storable and Unified
	containers introduced.

	* core/Base/Timestamp.class.php: extended support of malformed dates,
	normalization introduced for such cases.

	* core/Form/Primitives/PrimitiveDate.class.php: introduced support of
	dates from Jesus' birthday to 9999-12-31.

	* core/Form/Filters/RemoveSymbolsFilter.class.php: removed in favour
	of StringReplaceFilter.

	* core/Form/PlainForm.class.php: Range-related methods moved to
	PrimitiveRange.

	* core/Form/FormUtils.class.php: backward compatibility with php-5.0
	dropped.

	* core/Form/: sub-directories for Filters and Primitives introduced.

	* core/Form/PlainForm.class.php: backward compatibility with 0.2
	removed.

	* core/Base/Timestamp.class.php: makeNow() and makeToday() added.

	* core/Base/Creatable.class.php,
	core/Base/SingletonInstance.class.php: removed.

2006-06-25	Anton E. Lebedevich

	* main/Utils/TextUtils.class.php: getHostFromUrl() renamed to 
	getRootFromUrl().

2006-06-25	Konstantin V. Arkhipov

	* 0.4.7 released.

2006-06-24	Anton E. Lebedevich
	
	* main/Utils/TextUtils.class.php: getHostFromUrl(), getPathFromUrl(), 
	UrlSafeBase64Encode(), UrlSafeBase64Decode() added.

2006-06-22	Konstantin V. Arkhipov

	* main/DAOs/ObjectQuery.class.php: SQLArray support implemented.

2006-06-17	Konstantin V. Arkhipov

	* main/Flow/EditorController.class.php: uses makeForm() now.

	* meta/builders/ProtoClassBuilder.class.php: getForm() (single global
	Form object) deprecated in
	favor of makeForm() (Form's object factory) as suggested by sloory.

2006-06-11	Konstantin V. Arkhipov

	* main/DAOs/FileSystemDaoWorker.class.php,
	main/DAOs/SmartDaoWorker.class.php,
	main/DAOs/VoodooDaoWorker.class.php: transparent DAO-workers are now
	WatermarkedPeer-friendly.

2006-06-11	Konstantin V. Arkhipov

	* 0.4.6 released.

2006-06-08	Konstantin V. Arkhipov

	* meta/: two minor typo-caused bugs.

2006-05-29	Konstantin V. Arkhipov

	* meta/: spooked classes implemented, which is never generated and
	used only for referencing inside one meta-config.

2006-05-27	Konstantin V. Arkhipov

	* 0.4.5 released.

2006-05-25	Konstantin V. Arkhipov

	* meta/, core/DB/: default values for generic non-object types
	implemented.

	* meta/types/StringType.class.php,
	meta/classes/MetaClassProperty.class.php: correct column type guessing
	for meta's StringType.

	* meta/classes/MetaClassProperty.class.php,
	meta/builders/BaseBuilder.class.php: formatting issues with
	non-required generic types fixed, also fixed bug with illegal handling
	non-required generic object types in DAO' setters.

2006-05-24	Konstantin V. Arkhipov

	* meta/builders/DaoBuilder.class.php: handling of final classes
	implemented.

2006-05-22	Konstantin V. Arkhipov

	* core/Logic/LogicalChain.class.php: evil regression fixed.

	* core/Form/PlainForm.class.php: a bit of backward's compatibility
	added.

	* main/Flow/PartViewer.class.php, main/Flow/PhpViewResolver.class.php:
	ability to check existence added.

	* main/DAOs/FileSystemDaoWorker.class.php: file system incarnation of
	VoodooDaoWorker, quite simple, but transparent and lockless too.

2006-05-20	Konstantin V. Arkhipov

	* 0.4.4 released.

2006-05-18	Anton E. Lebedevich

	* main/Utils/RussianTextUtils.class.php: selectCaseForNumber added
	to replace getSuffix.

2006-05-15	Konstantin V. Arkhipov

	* core/Form/ListedPrimitive.class.php: list and enumeration's
	primitives grouped a bit.

	* core/Base/Enumeration.class.php: quite hacky method added, which
	can help to instantiate arbitrary Enumeration.

2006-05-11	Konstantin V. Arkhipov

	* main/Flow/RedirectToView.class.php: helper to avoid constant
	string's abuse.

2006-05-08	Anton E. Lebedevich

	* main/Utils/Mail.class.php: encoding interface simplified.

	* main/Flow/SimplePhpView.class.php: toString function added.
	
	* core/Form/Form.class.php: getTextualErrorFor function added.

2006-05-05	Sergey S. Sergeev

	* main/Containers/StorableContainer.class.php: bugfixed call to undefined
	function WrongStateException().

2006-05-04	Anton E. Lebedevich

	* main/Utils/Mail.class.php: added.

2006-05-03	Konstantin V. Arkhipov

	* meta/builders/ProtoClassBuilder.class.php: PrimitiveEnumeration
	support in proto classes.

2006-05-02	Konstantin V. Arkhipov

	* trunk/core/Base/IdentifiableObject.class.php: removed create()
	method, since it's conflicting with Enumeration's one.

2006-05-02	Sergey S. Sergeev

	* core/Form/Primitive.class.php: deleted deprecated methods.

	* core/Base/IdentifiableObject.class.php: added create() forgotten
	method.

	* core/Form/Filter.class.php: added replaceSymbols(), removeSymbols()
	filters.

2006-04-30	Konstantin V. Arkhipov

	* 0.4.3 released.

2006-04-29	Konstantin V. Arkhipov

	* core/Form/IdentifiablePrimitive.class.php: basis for enumeration and
	identifier primitives.

2006-04-29	Ivan Y. Khvostishkov

	* core/Form/Primitive.class.php: added support for enumeration
	primitive.
	* core/Form/PrimitiveEnumeration.class.php: added.

2006-04-26	Konstantin V. Arkhipov

	* meta/classes/MetaClassProperty.class.php: hacky support for
	unsupported boolean type at MySQL.

	* core/OSQL/InsertOrUpdateQuery.class.php,
	core/OSQL/UpdateQuery.class.php: do not quote boolean values.

2006-04-25	Anton E. Lebedevich

	* main/Utils/TextUtils.class.php: added friendlyFileSize() method.

2006-04-21	Anton E. Lebedevich

	* main/Utils/DebugUtils.class.php: fixed html output, functions ec
	and microtime added.

	* main/Utils/XmlRpcClient.class.php: simple wrapper for XML-RPC.

2006-04-20	Konstantin V. Arkhipov

	* main/Flow/EditorController.class.php: do not override child's
	command map, if any.

	* main/Flow/RedirectView.class.php: query string generation fixed.

2006-04-16	Konstantin V. Arkhipov

	* 0.4.2 released.

	* core/Form/UrlEncodeFilter.class.php,
	core/Form/UrlDecodeFilter.class.php,
	core/Form/StringReplaceFilter.class.php: more wrappers.

2006-04-14	Konstantin V. Arkhipov

	* meta/builders/ProtoClassBuilder.class.php: tricky relations handling
	implemented in proto classes, fixme closed.

2006-04-12	Konstantin V. Arkhipov

	* meta/builders/ContainerClassBuilder.class.php: removed unneeded
	method for OneToMany-based containers.

	* core/Form/PrimitiveDate.class.php: complexity detection fixed.

	* core/Form/FormUtils.class.php: forced usage of single import for
	complex primitives.

2006-04-11	Anton E. Lebedevich

	* main/Containers/UnifiedContainer.class.php: one more evil typo
	fixed, propagated from 0.2.

2006-04-11	Konstantin V. Arkhipov

	* core/DB/DBFactory.class.php: introduced ability to specify
	conntector's type for custom connections.
	
	* core/Base/Creatable.class.php: deprecated.
	
	* meta/: removed support for Creatable interface.

2006-04-09	Konstantin V. Arkhipov

	* 0.4.1 released.

2006-04-06	Konstantin V. Arkhipov

	* core/Base/Instantiatable.class.php: new grouping interface
	introduced.

	* core/DB/: dialects are now singletones.

	* core/OSQL/QueryIdentification.class.php: Stringable dependency moved
	to Query interface in the sake of debug pleasure.

2006-04-05	Konstantin V. Arkhipov

	* meta/: integer's Range support implemented.

	* core/OSQL/InsertOrUpdateQuery.class.php: added Range support in
	lazySet.

2006-04-05	Anton E. Lebedevich

	* main/Containers/UnifiedContainer.class.php: 1489 propagated to
	trunk.
	* main/Utils/DebugUtils.class.php: added.
	* core/OSQL/InsertOrUpdateQuery.class.php: added Timestamp support in
	lazySet.

2006-04-03	Konstantin V. Arkhipov

	* 0.4.0 released.

2006-04-02	Konstantin V. Arkhipov

	* meta/: correct boolean-type handling implemented and minor typos
	fixed.

	* core/Base/Enumeration.class.php: getObjectList() introduced as
	alternative to static getList().

2006-04-01	Konstantin V. Arkhipov

	* doc/www/: site updated to new design and layout.

	* main/Base/Range.class.php: implementation simplified a bit wrt
	swapAllowed-logic removal.

	* main/Containers/UnifiedContainer.class.php: API changed a bit -
	setListWithClones() -> replaceList(); once again refixed save logic.

	* meta/: support for OneToMany and ManyToMany relations implemented.

2006-03-30	Konstantin V. Arkhipov

	* main/Flow/ForbiddenCommand.class.php: bibb added.

2006-03-30	Anton E. Lebedevich

	* main/Containers/UnifiedContainer.class.php: wrong index in list and
	clones fixed.

2006-03-27	Konstantin V. Arkhipov

	* core/Base/Creatable.class.php: new obvious interface introduced.

2006-03-26	Konstantin V. Arkhipov

	* doc/THANKS: for various suggestions, critics, patches, etc.

	* doc/AUTHORS: all email addresses moved to single file.

	* core/Exceptions/MissingElementException.class.php: closing
	exception's TODO item by removing abuse of ObjectNotFoundException
	mostly.

	* global.inc.php.tpl: throw exceptions on E_STRICT violations too.

	* main/Flow/Model.class.php: deprecated 'Var'-suffixed methods.

	* core/OSQL/QueryIdentification.class.php: now implements Stringable
	for debugging purposes.

	* core/Base/Singletone.class.php: dropped in the sake of sanity.

	* main/DAOs/SmartDaoWorker.class.php,
	main/DAOs/VoodooDaoWorker.class.php,
	core/Cache/WatermarkedPeer.class.php: implemented ability to avoid
	project's namespace in-cache collisions by watermarking all cache'
	activity.

2006-03-13	Konstantin V. Arkhipov

	* meta/classes/: fixed indentation issues, now 100% compatible with
	our coding style standarts.

	* core/OSQL/DialectString.class.php: toString() renamed to
	toDialectString(), to avoid collision with Stringable interface.

2006-03-12	Konstantin V. Arkhipov

	* meta/: proto classes implementation finished.

	* core/Form/FormUtils.class.php: import/export utilities, extracted
	from Form.

	* core/Form/Form.class.php: ability to scope's cleanup dropped;
	method primitiveExist renamed to primitiveExists;

2006-03-09	Anton E. Lebedevich

	* main/Flow/: initial import.

2006-03-09	Konstantin V. Arkhipov

	* meta/: creation of prototyped classes implemented.

	* core/Form/PrimitiveIdentifier.class.php: for resolving incapsulated
	objects.

	* core/Form/: two last primitives separated from factory file.

	* meta/: all formatting stuff moved to separate class.

	* 0.2.9 released.

2006-03-08	Konstantin V. Arkhipov

	* core/OSQL/DBValue.class.php: don't quote integer values.

2006-03-03	Konstantin V. Arkhipov

	* main/DAOs/VoodooDaoWorker.class.php,
	main/DAOs/SmartDaoWorker.class.php,
	main/DAOs/TransparentDaoWorker.class.php: fourth dao worker
	implemented: lockingless, transparent, greedy and damn fast.

2006-03-01	Konstantin V. Arkhipov

	* main/DAOs/NamedObjectDAO.class.php: typo spotted.

	* core/Base/NamedObject.class.php: now IdentifiableObject's child.

2006-02-22	Sergey S. Sergeev

	* main/Utils/HeaderUtils.class.php: bugfixed access to undeclared
	static property.

	* main/DAOs/CommonDaoWorker.class.php,
	main/DAOs/BaseDaoWorker.class.php: uncacheByQuery() moved to
	BaseDaoWorker.

	* main/DAOs/GenericDAO.class.php, main/DAOs/BaseDAO.class.php:
	uncacheByQuery() implemented.

2006-02-20	Konstantin V. Arkhipov

	* core/DB/MyDialect.class.php: is now compatible with MySQL-4.

	* core/DB/ImaginaryDialect.class.php: removed unnecessary quoting
	stuff, since we're using it only for internal purposes.

2006-02-16	Konstantin V. Arkhipov

	* core/Form/Form.class.php: import/export object is now compatible
	with php-5.0.

2006-02-16	Denis Gabaidulin

	* core/Form/StripTagsFilter.class.php: support for tags exclusion.

2006-02-15	Konstantin V. Arkhipov

	* core/DB/: correct handling for MySQL's forcing of single queries.

	* main/Containers/UnifiedContainer.class.php: wrong list/clones
	default fixed.

2006-02-08	Konstantin V. Arkhipov

	* main/Base/ImageType.class.php, core/Form/PrimitiveImage.class.php:
	image uploading helpers.

	* 0.2.8 released.

2006-02-04	Konstantin V. Arkhipov

	* core/Form/Form.class.php: reflection-based object exporter.

2006-02-02	Konstantin V. Arkhipov

	* main/Module/EditorModule.class.php: allow selfRedirect() tweaking.

	* core/Form/Form.class.php: simple reflection-based object importer
	implemented.

2006-01-31	Anton E. Lebedevich

	* core/Base/Timestamp.class.php,
	main/Base/CalendarMonthWeekly.class.php: week start and end day moved
	to Timestamp from CalendarMonthWeekly.

	* main/Containers/StorableContainer.class.php: don't be so strict in
	getList().

	* core/OSQL/InsertOrUpdateQuery.class.php: lazySet now even lazier.

2006-01-30	Konstantin V. Arkhipov

	* core/DB/InterbaseDialect.class.php,
	incubator/classes/DB/IBase.class.php: moved to incubator, since i
	don't want to support it anymore.

2006-01-29	Konstantin V. Arkhipov

	* core/OSQL/DropTableQuery.class.php: drop table implementation.

2006-01-28	Konstantin V. Arkhipov

	* meta/: first and dirty schema generation implementation.

2006-01-27	Konstantin V. Arkhipov

	* core/Base/Singletone.class.php: renamed to Singleton.class.php.

	* core/OSQL/: implemented auto-increment columns generation for PgSQL,
	MySQL, IBase and SQLite.

2006-01-26	Konstantin V. Arkhipov

	* core/OSQL/InsertOrUpdateQuery.class.php: setId() renamed to
	lazySet() to avoid collision with Query interface.

	* core/OSQL/: support for table creation added.

2006-01-25	Sveta A. Smirnova

	* core/OSQL/: schema's support introduced in several common cases.

2006-01-25	Igor V. Gulyaev

	* core/Form/PrimitiveDate.class.php: seconds support fixed for complex
	imports.

2006-01-25	Konstantin V. Arkhipov

	* test/: first SimpleTest-based tests. Baden. Baden.

2006-01-23	Anton E. Lebedevich

	* core/OSQL/FromTable.class.php: SQLFunction support added.

2006-01-22	Anton E. Lebedevich

	* main/Base/Calendar*: calendar helper classes added. 

2006-01-22	Konstantin V. Arkhipov

	* core/Base/ObjectsTree.class.php, core/Base/Range.class.php,
	core/Base/DateRange.class.php: moved to main/Base/.

	* global.inc.php.tpl: new ONPHP_TEMP_PATH constant defines storing
	place for temporary stuff like locking files/directories, cache files,
	etc.

	* core/cache/: SemaphorePool ported to worker-based approach,
	available workers - System-V semaphores, local file (flock()) and
	directories (mkdir()).

	* core/Cache/RubberFileSystem.class.php: explicit file locking
	removed.

	* main/DAOs/: minor speed up's.

	* main/DAOs/SmartDaoWorker.class.php: fixed giv's lovely 'index
	page'-bug (racy uncacheLists()).

2006-01-21	Konstantin V. Arkhipov

	* core/Base/Singletone.class.php: reworked and simplified,
	SingletoneException dropped.

2006-01-19	Konstantin V. Arkhipov

	* main/DAOs/: removed unneeded wrapper in DAO-workers.

	* core/Cache/PeclMemcached.class.php: connector for PECL's memcache
	extension.

	* core/, main/: removed sizeof() abusing in for() loops.

	* core/DB/Dialect.class.php, core/OSQL/FromTable.class.php: table's
	schema "support" moved away from Dialect to reduce the number of
	strpos() calls at least by a factor; spotted by Antony.

2006-01-16	Konstantin V. Arkhipov

	* doc/www/: DAO example updated, added Meta example.

2006-01-10	Konstantin V. Arkhipov

	* meta/: implemented {Abstract,Dictionary}Class and StraightMapping
	patterns.

2006-01-07	Konstantin V. Arkhipov

	* meta/: root for metaconfiguration' stuff.

2005-12-31	Konstantin V. Arkhipov

	* 0.2.7 released.

2005-12-05	Konstantin V. Arkhipov

	* core/DB/: SQLite support implemented.

2005-11-30	Konstantin V. Arkhipov

	* main/DAOs/: all DAOs moved to workers-based single hierarchy.

2005-11-28	Igor V. Gulyaev

	* core/DB/: single-check added for single row queries.

2005-11-26	Konstantin V. Arkhipov

	* core/DB/: Interbase connector implemented.

2005-11-24	Konstantin V. Arkhipov

	* 0.2.6 released.

2005-11-23	Konstantin V. Arkhipov

	* main/DAOs/SmartDAO.class.php: yet another race prevention.

2005-11-22	Konstantin V. Arkhipov

	* main/Containers/: wrongly defined worker's interface fixed.

2005-11-20	Konstantin V. Arkhipov

	* core/DB/ImaginaryDialect.class.php: query's self-identification helper.

	* core/Cache/RubberFileSystem.class.php: ported to SemaphorePool.

2005-11-18	Konstantin V. Arkhipov

	* core/Cache/: proof-of-concept global SemaphorePool implemented.

2005-11-17	Sergey N. Lasunov

	* doc/www/: new banners.

2005-11-16	Konstantin V. Arkhipov

	* 0.2.5 released.

2005-11-14	Konstantin V. Arkhipov

	* main/Containers/: major refactoring at UnifiedContainer & Co. to simplify
	internal API and separate lazy/full handling logic.

	* core/Form/DateRangeList.class.php, core/Form/TimeList.class.php:
	time/date-handling primitives; moved from closed-source project.

	* core/Base/StaticFactory.class.php: introduced to group all static
	factories.

2005-11-13	Konstantin V. Arkhipov

	* main/Containers/: Storable, Unified and their's company moved to separate
	directory.

2005-11-12	Konstantin V. Arkhipov

	* core/Cache/: marking bug fixed in ReferencePool; SharedMemory cache
	introduced for memcachedless systems.

2005-11-11	Konstantin V. Arkhipov

	* main/Utils/RussianTextUtils.class.php::getAsInOrder(),
	core/Logic/LogicalEqLower.class.php, core/Logic/LogicalIn.class.php,
	core/OSQL/PreQuery.class.php: dropped, since their removal-release was the
	upcoming 0.2.5.

2005-11-10	Sveta A. Smirnova

	* core/DB/MySQL.class.php: added error number as error code in throwing
	DatabaseException.

	* core/Form/: PCRE and hash filter are not singletones now; PCRE moved from
	incubator.

2005-11-07	Sergey S. Sergeev

	* core/OSQL/: combining queries ({union,intersect,except}{,All})
	implemented.

2005-11-03	Anton E. Lebedevich

	* main/DAOs/SmartDAO.class.php: fixed semaphore obscure locking problems. 

2005-11-02	Konstantin V. Arkhipov

	* doc/sample/: updated to reflect current situation.

	* core/DB/MySQL.class.php: implemented convention-based transparent
	sequences handling.

2005-10-31	Konstantin V. Arkhipov

	* main/DAOs/SmartDAO.class.php: checks for semaphore's acquiring problem.

	* core/Cache/Cache.class.php: ReferencePool usage is now default behaviour.

2005-10-30	Konstantin V. Arkhipov

	* Released 0.2.4.

2005-10-29	Anton E. Lebedevich

	* main/DAOs/SmartDAO.class.php: per object lists map removed, it's useless
	bacause dropLists() incorporated into uncacheById() and friends.

	* main/DAOs/OneToManyLinked.class.php: cache cleanup fixed.

2005-10-28	Konstantin V. Arkhipov

	* main/DAOs/UnifiedContainer.class.php: is now cache-aware.

	* main/DAOs/SmartDAO.class.php: negative (aka pessimistic) cache model
	implemented.

2005-10-25	Konstantin V. Arkhipov

	* core/Form/Form.class.php: clean violated rules too upon dropAllErrors().

2005-10-24	Konstantin V. Arkhipov

	* main/DAOs/FullTextDAO.class.php: ObjectQuery is now mandatory for looking
	up object or list.

	* 0.2.3 released.

2005-10-23	Konstantin V. Arkhipov

	* main/DAOs/FullTextDAO.class.php: added ability to override full text
	queries.

2005-10-23	Sveta A. Smirnova

	* core/DB/: MySQL support is back from incubator.

2005-10-21	Konstantin V. Arkhipov

	* main/DAOs/FullTextDAO.class.php: silently moved to MappedStorableDAO.

	* core/OSQL/: LogicalIn implemented through LogicalExpression, so it's
	deprecated now just like LogicalEqLower.

2005-10-20	Garmonbozia Research Group

	* doc/www/: major site update - css, examples, propaganda, etc.

2005-10-18	Konstantin V. Arkhipov

	* main/DAOs/NamedObjectDAO.class.php: accept Named implementations too.

	* main/DAOs/MappedStorableDAO.class.php: hybrid child of SmartDAO.

	* core/OSQL/: LogicalEqLower implemented through LogicalExpression, so it's
	deprecated now.

2005-10-17	Konstantin V. Arkhipov

	* main/DAOs/: transparent cache handling introduced by SmartDAO.

	* main/DAOs/, core/DB/: GenericDAO introduced for SmartDAO's compatibility
	with DB.

2005-10-16	Konstantin V. Arkhipov

	* main/DAOs/ObjectQuery.class.php: null-valued mappings handling logic
	fixed.

	* core/DB/DB.class.php: drop as much as we can at objectQuery().

2005-10-12	Konstantin V. Arkhipov

	* core/Cache/ReferencePool.class.php: new CachePeer wrapper, obsoletes
	IdentityMap-in-DAOs idea.

2005-10-11	Anton E. Lebedevich

	* core/DB/DBTransaction.class.php: "neverending" transactions fixed.

2005-10-10	Konstantin V. Arkhipov

	* core/OSQL/: SelectQueries as select fields implemented as requested by
	Sergeev S. Sergey. Minor internal API changes.

2005-10-06	Anton E. Lebedevich

	* core/Base/Timestamp.class.php: getDayStartStamp, getDayEndStamp methods
	added.

	* core/Base/DateRange.class.php: enlarge, clip, compare methods added.

2005-10-06	Konstantin V. Arkhipov

	* core/OSQL/SelectQuerySkeleton.class.php: merged back to SelectQuery as
	suggested by Antony.

	* core/Base/StorableContainer.class.php, core/Base/DAOConnected.class.php:
	moved to main/DAOs/.

2005-09-30	Anton E. Lebedevich

	* core/Base/Timestamp.class.php: useful compare method added.

	* core/Base/DateRange.class.php: useless compare method removed.

2005-09-28	Anton E. Lebedevich

	* core/Base/DateRange.class.php: contains, split methods added.

2005-09-27	Konstantin V. Arkhipov

	* main/DAOs/UnifiedContainer.class.php: correct fetch() behaviour.

2005-09-27	Anton E. Lebedevich

	* main/Utils/LogicUtils.class.php: corrected conditions.

	* core/Base/DateRange.class.php: compare, overlaps methods added.

2005-09-24	Konstantin V. Arkhipov

	* main/DAOs/UnifiedContainer.class.php: do not throw ObjectNotFoundException
	on empty lists.

2005-09-23	Konstantin V. Arkhipov

	* 0.2.2 released.

	* main/Utils/LogicUtils.class.php: new place for common used logic patterns.

2005-09-20	Konstantin V. Arkhipov

	* core/Base/: added delimiters for date'n'time-related stringoization
	methods, Time.class.php introduced.

	* core/DB/DBTransaction.class.php: extremly evil typo fixed, so now
	transaction doesn't start every time you're adding new Query to it.

	* core/OSQL/PreQuery.class.php: obsoleted, will be removed at 0.2.5.

	* main/DAOs/: UnifiedContainer and friends ported to ObjectQuery from
	obsoleted PreQuery.

2005-09-20	Anton E. Lebedevich

	* core/Base/NamedObject.class.php: added static compareNames() for using in
	usort().

2005-09-17	Konstantin V. Arkhipov

	* doc/sample: synced with Form's related changes.

	* core/Form/FiltrablePrimitive.class.php: setFilter() removed.

2005-09-16	Anton E. Lebedevich

	* core/Form/FiltrablePrimitive.class.php: introduced display and import
	filters chain.

	* core/Form/HTMLFilter.class.php, core/Form/TextFilter.class.php: removed in
	favour of filter' chains.

	* core/Form: added more basic filters.

	* doc/: "Coding Style Convention" added to documentation.

2005-09-16	Konstantin Scheglov

	* main/DAOs/CommonDAO.class.php: getById should throw
	ObjectNotFoundException instead of null returning.

2005-09-16	Konstantin V. Arkhipov

	* main/DAOs/ObjectQuery.class.php: treat mapping keys with null values as
	field names.

2005-09-10	Konstantin V. Arkhipov

	* 0.2.1 released.

	* main/DAOs/FinalObjectsTreeDAO.class.php: getListByParentId added.

2005-09-09	Igor V. Gulyaev

	* main/DAOs/ObjectQuery.class.php: sticky property name fixed.

2005-09-09	Konstantin V. Arkhipov

	* main/DAOs/CommonDAO.class.php: cleanups and minor optimizations.

	* main/DAOs/ObjectQuery.class.php: added support for values in query's
	logic.

	* core/DB/DB.class.php: setPersistent() dropped - we can't change connection
	type on the fly; getPersistent() renamed to isPersistent().

	* core/DB/PostgresDialect.class.php: quoteValue() moved to generic
	pg_quote_string().

	* core/DB/AccessLevel.class.php, core/DB/IsolationLevel.class.php: avoid
	zero-valued constants.

	* core/OSQL/PreQuery.class.php: deprecated in favour of ObjectQuery.

2005-09-03	Konstantin V. Arkhipov

	* Initial release - 0.2.0.
