################### Package 'active_record' ################### 0.2.2-alpha - 1 April 2007 (r5454) ================================================== -- lmbActiveRecord :: findOne(..) alias for findFirst(..) added -- lmbActiveRecord :: find(..) now supports simpler way to specify criteria with placeholders. This is possible now: lmbActiveRecord :: find("Book", array('name=? and author=?', 'book', 'bob')); -- minor changes due to global Limb3 functions renamings 0.2.1-alpha - 13 March 2007 (r5232) ================================================== -- added lmbARRelationCollection :: getLimit(), getOffset(). -- calling htmlspecialchars for proper encoding of html symbols in changelog, description and summary during package creation -- better PhpDocumentor comments -- lmbARRelationCollection now implements lmbPagedDataset interface instead of Iterator and Countable 0.2.0-alpha - 16 February 2007 (r5025) ================================================== -- lmbActiveRecord :: findBySql($class_name, $sql) added, it returns a result set of decorated with active record objects of specified $class_name -- lmbActiveRecord :: registerGlobal*Callback(...) static methods added, it allows to register callbacks globally -- new class lmbActiveRecordMetaInfo - that contains db meta info for lmbActiveRecord class. This class helps to improve performance a bit -- lmbActiveRecordTools added to cache MetaInfos -- lmbARRecordSetDecorator :: _createObject() throws an exception if no such class exists -- initial PhpDocumentor comments added 0.1.1-alpha - 14 December 2006 (r4578) ================================================== -- fixed: better checks for relation property dirtiness in one-to-one and one-to-many relations 0.1.0-alpha - 14 December 2006 (r4537) ================================================== -- initial release of this package. ################### Package 'cache' ################### 0.1.0-alpha - 16 February 2007 (r4985) ================================================== -- Initial release of this package. ################### Package 'classkit' ################### 0.1.3-alpha - 1 April 2007 (r5454) ================================================== -- minor changes due to global Limb3 functions renamings 0.1.2-alpha - 13 March 2007 (r5216) ================================================== -- improved phpdoc -- calling htmlspecialchars for proper encoding of html symbols in changelog, description and summary during package creation -- lmbObject :: get(...) maps 'is_*' property to 'is*' method if such one exists, e.g. 'is_ok' => isOk(). For BC purposes getIs* methods have higher priority over is* methods! E.g. 'is_ok' would trigger getIsOk() not isOk() if both exist 0.1.1-alpha - 16 February 2007 (r5062) ================================================== -- tests are more isolated -- other minor fixes -- initial PhpDocs 0.1.0-alpha - 13 December 2006 (r4537) ================================================== -- Initial release of this package. ################### Package 'cli' ################### 0.2.0-alpha - 2 April 2008 (r5476) ================================================== -- added general Limb3 CLI scripts runner using single entry point - "limb" script shipped with CORE or CLI package (LMBF-4) -- lmbCliInput now can be constructed using short options description format, e.g: $cli = new lmbCliInput('i|input=;b;foo=;c='); is equal to: $cli = new lmbCliInput(new lmbCliOption('i', 'input', lmbCliOption :: VALUE_REQ), -- other changes and refactorings 0.1.1-alpha - 14 December 2006 (r5027) ================================================== -- tests are more isolated -- initial PhpDocs added 0.1.0alpha - 14 December 2006 ================================================== - Initial release of this package. ################### Package 'config' ################### 0.3.0-alpha - 2 April 2007 (r5454) ================================================== -- lmbConfTools :: getConf($name) is now a single gateway for getting all sorts of conf objects in Limb3. The type of config object is determined by $name extension, if extension is omitted '.conf.php' is assumed -- lmbConfTools :: setConf($name, $conf) added, this one is useful for testing -- lmbFakeIni added, this is one is used for testing. It accepts all settings passed with string in constructor. -- lmbConfTools :: getIni(), createIni(), setTestingIni(), clearTestingIni() removed 0.2.0-alpha - 16 February 2007 (r5028) ================================================== -- lmbCachedIni uses serialize(..) instead of var_export(..) for cached data. This method is much faster. -- lmbConf now supports files overriding, i.e "foo.conf.php" is overridden with "foo.conf.override.php" -- $conf in lmbConf is filled with empty array by default -- lmbConfTools added(moved from lmbWebAppTools) -- lmbConfTools :: setTestingIni(..), :: clearTestingIni(..) added (tests/common.inc.php will be removed soon) -- tests are more isolated 0.1.0-alpha - 14 December 2006 ================================================== -- Initial release of this package. ################### Package 'core' ################### 0.1.3-alpha - 1 April 2007 (r5454) ================================================== -- lmb_find_limb_packages() removed as it was never used -- toStudlyCaps() is now deprecated, use lmb_camel_case() instead -- to_under_scores() is now deprecated, use lmb_under_scores() instead -- makeStudlyCapsReadable() is now deprecated, use lmb_humanize() instead -- other minor fixes 0.1.1-alpha - 16 February 2007 (r5029) ================================================== -- moving all contents of util.inc.php into common.inc.php -- tests are more isolated 0.1.0-alpha - 13 December 2006 (r4537) ================================================== -- Initial release of this package. ################### Package 'datasource' ################### 0.1.3-alpha - 1 April 2007 (r5454) ================================================== -- minor changes due to global Limb3 functions renamings 0.1.2-alpha - 13 March 2007 (r5228) ================================================== -- calling htmlspecialchars for proper encoding of html symbols in changelog, description and summary during package creation -- fixed: lmbEmptyPagedArrayDataset contains one empty element so count() returns wrong result. -- fixed: lmbPagedDatasetDecorator method countPaginated() calls invalid decorated -- new lmbDataset interface added -- new lmbPagedArrayDataset interface added -- lmbIteratorBase now implements lmbDataset interface -- lmbPagedArrayDataset and lmbPagedDatasetDecorator now implement lmbPagedDataset interface 0.1.1-alpha - 16 February 2007 (r5030) ================================================== -- tests are more isolated 0.1.0-alpha - 14 December 2006 ================================================== - Initial release of this package. ################### Package 'datetime' ################### 0.1.1-alpha - 16 February 2007 (r5031) ================================================== -- lmbDate :: toTimestamp() internally uses getStamp() -- lmbDate :: getISODate() added, lmbDate :: toString() uses it internally -- tests are more isolated 0.1.0-alpha - 14 December 2006 ================================================== -- Initial release of this package. ################### Package 'dbal' ################### 0.2.2-alpha - 1 April 2007 (r5454) ================================================== -- changes due to global Limb3 functions renamings -- getDefaultDbConnection() moved from WEB_APP tools to lmbDBTools -- LIMB_DB_DSN constant is not used anymore. -- DBAL depends on CONFIG package now -- other minor improvements 0.2.1-alpha - 13 March 2007 (r5232) ================================================== -- calling htmlspecialchars for proper encoding of html symbols in changelog, description and summary during package creation -- proper escaping of order fields added -- quoteIdentifier returns empty string if not identifier specified now (to fix error raised when used rand() sortings) -- lmbDbRecordSet interface now extends from lmbPagedDataset interface -- updated driver classes to satisfy new lmbDbRecordSet interface 0.2.0-alpha - 16 February 2007 (r5032) ================================================== -- escaping db table in query classes(DBAL-7) -- better error message in lmbMysqlConnection -- lmbMysqlConnection :: _raiseError() throws correct exception if connection was failed -- tests are more isolated -- minor optimizations in lmbDbTableInfo.class.php -- lmbDbTools :: createTableGateway() added. This can help improve performance. -- lmbDbTableInfo :: getColumnList() returns array there key is equal to value 0.1.0-alpha - 14 December 2006 (r4537) ================================================== -- Initial release of this package. ################### Package 'error' ################### 0.1.2-alpha - 2 April 2007 (r5402) ================================================== -- removing obsolete junk -- LIMB_ENABLE_DEBUG => LIMB_DEBUG_ENABLE 0.1.1-alpha - 16 February 2007 ================================================== -- tests are more isolated -- initial PhpDocs 0.1.0-alpha - 14 December 2006 ================================================== -- Initial release of this package. ################### Package 'file_schema' ################### 0.2.1-alpha - 2 April 2007 (r5454) ================================================== -- lmbFileAliasTools :: getFileLocator(..) adds $path to cached locators -- all "alias format" junk removed from lmbFileLocator -- lmbLocator interface removed -- other minor cleanups and refactorings 0.2.0-alpha - 16 February 2007 (r5034) ================================================== -- lmbCachingFileLocator uses unserialize(..) instead of var_export(..). This method is much faster. -- lmbCachingFileLocator :: locate($alias, $params = array()) encodes $params into cache hash only if $params are not empty -- lmbFileAliasTools extracted from lmbWebAppTools with findFileAlias(..) and getFileLocator(..) methods -- tests are more isolated 0.1.0-alpha - 14 December 2006 ================================================== - Initial release of this package. ################### Package 'filter_chain' ################### 0.1.3-alpha - 13 March 2007 (r5232) ================================================== -- calling htmlspecialchars for proper encoding of html symbols in changelog, description and summary during package creation -- lmbFilterChain implements lmbInterceptingFilter interface. This allows to use complete filter chains as filters 0.1.2-alpha - 16 February 2007 (r5068) ================================================== -- tests are more isolated -- initial PhpDocs 0.1.1-alpha - 16 December 2006 (r4582) ================================================== -- cyclic package dependency removed. 0.1.0-alpha - 13 December 2006 (r4537) ================================================== -- initial release of this package. ################### Package 'i18n' ################### 0.2.0-alpha - 2 April 2007 (r5454) ================================================== !! Major BC break -- translation schema reworked and now multiple backends are supported, while we have only one for Qt dictionaries for now. Old complicated and never used in practice stuff removed. -- Qt translations are stored in i18n/translations/$domain.$locale.ts(e.g default.en_US.ts) -- global functions pollution cleanup: * all _*() multibyte aware function are deprecated now, the same set of lmb_*() functions added * installStringsDriver => lmb_use_charset_driver * getStringsDriver() => lmb_get_charset_driver * utf8_to_win1251 => lmb_utf8_to_win1251 * win1251_to_utf8 => lmb_win1251_to_utf8 * tr() function renamed to limb_i18n() -- more RFC-compliant locale ini-files: en.ini => en_US.ini, ru.ini => ru_RU.ini -- unverified locale ini-files removed for now -- lmbLocale :: __construct() now accepts path to ini file -- lmbLocaleDate almost all static functions renamed to better/shorter names -- lmbLocaleDateRule now accepts locale object rather locale code -- lpsync.php removed, new cli/I18nCliCmd.class.php added instead -- lmbI18NTools :: setDictionary($locale, $domain, $dict) added -- lmbI18NTools :: setLocaleObject($obj) => :: addLocaleObject($obj, $code = null), now it's possible to have multiple locale objects -- lmbI18NTools :: getLocaleObject($locale = null) fetches default locale object if $locale is not specified -- I18N related tags and filters moved here from WEB_APP package -- I18N package now optionally depends on VIEW package -- validation translations moved to VALIDATION package -- better source code layout -- calling htmlspecialchars for proper encoding of html symbols in changelog, description and summary during package creation -- many other changes and refactorings 0.1.2-alpha - 16 February 2007 (r5036) ================================================== -- tests are more isolated -- initial PhpDocs 0.1.1-alpha - 15 December 2006 (r4537) ================================================== -- old and obsolete translation.ts files are replaced with the new ones 0.1.0-alpha - 14 December 2006 (r4537) ================================================== -- initial release of this package. ################### Package 'js' ################### 0.1.0-alpha - 2 April 2007 (r5454) ================================================== -- initial release of this package ################### Package 'mail' ################### 0.1.1-alpha - 16 February 2007 (r5037) ================================================== -- added method lmbMailer::addAttachment for attaching files to mail -- initial PhpDocs 0.1.0-alpha - 15 December 2006 (r4577) ================================================== -- Initial release of this package. ################### Package 'net' ################### 0.1.3-alpha - 2 April 2007 (r5454) ================================================== -- lmbUploadedFile :: getMimeType() alias for getType() added -- lmbUploadedFile :: isValid() added, it checks if there were no errors during upload -- lmbHttpResponse :: getMimeType() alias of getContentType() added -- lmbHttpResponse :: readFile() doesn't call exit() anymore -- lmbHttpResponse :: getContentType() support delimetered with ; strings -- lmbUri :: addUrlQueryItems($url, $items=array()) added, moved from util.inc.php -- src/util.inc.php removed 0.1.2-alpha - 13 March 2007 (r5232) ================================================== -- calling htmlspecialchars for proper encoding of html symbols in changelog, description and summary during package creation -- added class lmbCurlRequest which wraps basic functionality of curl library -- added lmbUri :: getPathFromLevel($level) method which returns part of uri path from given level -- lmbFakeHttpResponse added, it works just like lmbHttpResponse except the fact it doesn't make any system calls like header, cookie, etc -- lmbUploadedFile added - simple wrapper around $_FILES entry -- lmbUploadedFilesParser :: objectify($files) method added, it normalizes $_FILES array and returns array of lmbUploadedFile instances -- lmbHttpRequest :: getFile($name) added, it returns lmbUploadedFile instance for simple forms(no nested arrays) or null -- ***ATTENTION*** possible BC break: lmbHttpRequest wraps all file entries with lmbUploadedFile but the probability should be minimal since lmbUploadedFile implements ArrayAccess interface 0.1.1-alpha - 16 February 2007 (r5038) ================================================== -- lmbHttpResponse :: reset() doesn't clear output buffers anymore -- lmbUri :: reset() now optionally accepts $uri -- lmbUri :: parse() is considered obsolete -- initial PhpDocs 0.1.0-alpha - 14 December 2006 ================================================== -- Initial release of this package. ################### Package 'session' ################### 0.3.0-alpha - 13 March 2007 (r5232) ================================================== -- calling htmlspecialchars for proper encoding of html symbols in changelog, description and summary during package creation -- lmbSession :: start($storage = null) is now an instance method and it optionally accepts $storage in order to install it -- lmbSessionStorage :: storageInstall() => install() -- initial version of lmbFakeSession added, for now it simply doesn't call PHP's builtin session_start() function and doesn't install storage 0.2.0-alpha - 16 February 2007 (r5070) ================================================== -- tests are more isolated -- lmbSession does not accept session storage driver in constructor anymore. -- lmbSessionDbStorage accepts db connection and session max life time in constructor now. -- all these refactorings allowed to refactor lmbSessionStartupFilter in WEB_APP package -- static lmbSession :: start() added, it simply calls session_start() -- initial PhpDocs 0.1.0-alpha - 14 December 2006 (r4537) ================================================== -- Initial release of this package. ################### Package 'tests_runner' ################### 0.5.0-alpha - 2 April 2007 (r5466) ================================================== -- Console_Getopt dependency removed(TR-6) -- obsolete lmbTestTreeShellUI removed -- lmbTestTreeDirNode :: getDirItems() now applies files filter -- path to configuration file can now also be specified via LIMB_TESTS_RUNNER_CONFIG environment variable, please note that config is included in the following order: 1) --config option 2) env. variable if --config option is not present -- lmbTestShellUI :: runEmbedded() added, it allows the shell UI to be run from new limb CLI runner -- experimental UnitCliCmd.class.php added allowing the tests runner be run as "limb unit ..." with new limb CLI runner -- minor fix in lmbTestTreeShellUI - will output usage info if receive wrong options 0.4.0-alpha - 27 February 2007 (r5157) ================================================== -- updated version of SimpleTest to CVS 26/02/2007 version -- using TestSuite :: addTestFileOnce(...) in lmbTestTreeFileNode instead of addTestFile(..) -- SimpleTest initialization in limb_unit.php is postponed until user settings are included, this allows to override SIMPLE_TEST constant. 0.3.1-alpha - 19 February 2007 (r5136) ================================================== -- fixing windows limb_unit.bat installation issue -- better null node protection during directory bootstrap 0.3.0-alpha - 13 February 2007 (r5058) ================================================== -- introducing new CLI interface: limb_unit which allows to run tests directly from file system. This interface also takes into account nested fixtures, init scripts, etc. -- lmbTestShellUI => lmbTreeTestShellUI -- lmbTestShellUI now allows to execute tests located in file system -- limb_unit.php script should be used for running tests within file system all other bin/* scripts removed -- limb_unit and limb_unit.bat are deployed into @php_dir@ during PEAR package deployment -- fixing compatibility issues with PHP-5.2 0.2.0-alpha - 13 December 2006 (r4538) ================================================== -- conditional ignoring of directories added: if dir contains .ignore.php script inclusion of which returns true the directory is considered to be ignored -- lmbTestTreeDirNode includes .init.php if it finds it in the tests directory, this allows to have some initialization logic before tests execution, this feature shouldn't be used for fixtures!!! -- lmbTestShellUI :: browse(), :: perform() are now public -- test files filter and class format can be setup with new constants LIMB_TEST_RUNNER_FILE_FILTER and LIMB_TEST_RUNNER_CLASS_FORMAT respectively -- *.test.php filter added -- abstract lmbTestTreeNode :: createTestGroupWithoutChildren() added, it's used for wrapping child test case with parent cases when we don't need children -- lmbTestTreeNode refactored, template method _createTestGroupForWrapping added, this allowed to remove code duplication in wrapWithParentTestGroups in lmbTestTreeDirNode -- lmbTestTreeNode :: wrapWithParentTestGroups fixed: parent check happens right before calling $parent->wrapWithParentTestGroups, not in the beginning of a method -- experimental lmbTestTreeGlobNode added, it can collect a number of testing directories using glob patterns -- lmbTestShellUI,lmbTestWebUI accept optional $argv argument in constructor -- lmbTestWebUI :: perform(..), browse(..) are now public methods just like in lmbTestShellUI -- minimal improvement in web tests runner: making nice looking table with test groups/cases; 0.1.0-alpha - 19 April 2006 ================================================== -- initial release of this package. ################### Package 'toolkit' ################### 0.2.0-alpha - 2 April 2007 (r5454) ================================================== -- lmbToolkit now returns the same instance object from all static methods like save(), setup(), instance(), restore() etc. -- lmbAbstractTools now holds an instance of lmbToolkit. -- lmbToolkit now supports set/get interface. lmbToolkit now acts like a regular Registry allowing developer to store any variables in it. lmbToolkit :: save() and :: restore() works for stored variables the same way as for tools. -- lmbToolkit :: setRaw() and getRaw() methods added. Tools must this methods if they want to save they variables in toolkit. -- lmbToolkit can forvard generic getters like get('var') to specific getters in tools like getVar() if they exist. 0.1.1-alpha - 16 February 2007 (r5042) ================================================== -- obsolete lmbToolkit :: autoload(...) removed -- .init.php including limb/core package support added -- initial PhpDocs 0.1.0-alpha - 14 December 2006 ================================================== - Initial release of this package. ################### Package 'tree' ################### 0.1.0-alpha - 16 February 2007 (r5015) ================================================== -- Initial release of this package. ################### Package 'util' ################### 0.1.2-alpha - 13 March 2007 (r5232) ================================================== -- calling htmlspecialchars for proper encoding of html symbols in changelog, description and summary during package creation -- *nix tests fixes 0.1.1-alpha - 16 February 2007 (r5044) ================================================== -- tests are more isolated -- lmbFs :: recursiveFind() => findRecursive() -- initial PhpDocs 0.1.0-alpha - 14 December 2006 ================================================== -- Initial release of this package. ################### Package 'validation' ################### 0.3.0-alpha - 2 April 2007 (r5454) ================================================== -- changes due to recent I18N package refactorings -- qt translations move to this package from I18N package -- VALIDATION package now depends on I18N package 0.2.0-alpha - 13 March 2007 (r5232) ================================================== -- calling htmlspecialchars for proper encoding of html symbols in changelog, description and summary during package creation -- better PhpDocs -- ***ATTENTION*** possible BC break: lmbErrorMessage is now a regular ArrayObject. All 'message' field processing staff moved to lmbErrorList class. BC is kept for 'message', 'error', 'ErrorMessage' fields. If you used other variable names in your templates - please rename to 'message'. 0.1.1-alpha - 16 February 2007 ================================================== -- tests are more isolated -- initial PhpDocs 0.1.0-alpha - 14 December 2006 ================================================== -- Initial release of this package. ################### Package 'view' ################### 0.1.0-alpha - 1 April 2007 (r5454) ================================================== -- initial release of this package (extracted from WEB_APP package) ################### Package 'wact' ################### 0.3.2-alpha - 2 April 2007 (r5454) ================================================== -- examples folder removed from WACT since we have a separate project for WACT examples -- new version of tag that sets variables like tag and can set variables both in current datasource or can create a new datasource to set data in. Use "in_datasource" attribute to include file with tag in new datasource. -- new tags: , , , , , , . All these tag are ported from WEB_APP package. The new versions of the tags works almost like the old ones except the new ones (, and tags) now can accept optional "include" attribute that points to a file to be included. These is no need to use this new attribute if you used to Limb3 "1 file = 1 class" schema -- new WactArrayIteratorDecorator class -- new WactFetcher interface with single fetch() method. -- new WactClassPath class. This is an adaptation of lmbClassPath class. WactClassPath accepts $class_name and $include_path in constructor. If $include_path is not set, WactClassPath tries to guess include_path using $class_name in the wact lmbClassPath do. This way we keep BC with the old versions of , and tags. -- WactTemplate :: toStudlyCaps() ported from Limb3 CORE package -- WactTemplate :: capture() now catches WactException, flushes and cleans it and rethrows the exception. -- better logic for setting checked form widgets * new method WactCheckableFormElement :: _isChecked() where all weird checked logic is new resides * WactJSCheckboxComponent sets 'checked=true' if checked attribute is present in tag * WactJSCheckboxComponent now extends WactCheckableFormElement and uses _isChecked() internally -- WactDefaultTemplateLocator :: _isReadable() method added since file_exists() php-function doesn't take into account include_path -- WactRuntimeTagComponent :: getBoolAttribute($name) added --