Что нового в 1.4.x
==================
1.4.21
------
* fix: rt: при смешивании имен узлов с разными регистрами в определенных ситуациях
возникали коллизии
1.4.20
------
* app: новый сервис ``jandcode.app.DataDirService`` для поименнованному
доступу к каталогам данных приложения.
Настройка:
.. code-block:: xml
Можно получать доступ к каталогу по имени. Если это имя описано в конфигурации,
то будет возвращатся указанный в конфигурации путь. Если имя не описано в конфигурации,
то оно рассматривается как подкаталог каталога "root":
.. code-block:: java
DataDirService svc = getApp().service(DataDirService.class);
String s;
s = svc.getDataDir("systemp"); // каталог d:/temp/systemp
s = svc.getDataDir("mydir"); // каталог d:/app/datadir/mydir
s = svc.getDataDir(); // каталог d:/app/datadir (корневой)
1.4.19
------
* wax: поддержка jquery-зависимостей на уровне классов extjs
* wax: MUpload - выбор и upload нескольких файлов за раз
1.4.18
------
* wax: поддержка render и download произвольных данных через DbmAction.
* wax: SGrid: конфигурация основного toolbar
* wax: WaxRecDao простой dao для получения записи по id
* fix: wax: js: Jc.requestDownload не адаптировал url
1.4.17
------
* fix: auth: произвольные свойства пользователя доступны через ``jandcode.auth.IUserInfo#getAttrs``
* **ВАЖНО** auth: метод ``jandcode.auth.IUserInfo#getAttr`` - *deprecated*
* fix: wax-auth: не работала кнопка "Вход"
1.4.16
------
* fix: wax: WaxResolveDictDao и WaxLoadDictDao не игнорировали вычисляемые поля
* fix: wax: ``Jc.control.SGrid`` значения свойств по умолчанию: paginate: false,
filterPanel: false
* fix: wax: ``Jc.control.SGrid`` не скрывался toolbar, если на нем нет компонентов
* dbm: Новые методы для ``jandcode.dbm.db.DbUtils`` (портированы из
``jandcode.dbm.data.UtData``): toVariantNamed, copyRecord, copyStore, createIndex,
uniqueValues, outTable
* wax: Новые методы для UiBuilder: sgrid, stree
* wax: Jc.control.SGrid свойство storeDbmJson для создания store по данным dbm json
1.4.15
------
* wax: Новые методы для ``jandcode.wax.core.utils.WaxTml``: ``service``
* fix: web: tml файл мог быть только с расширенем gsp, теперь с любым
* web: Новая фабрика ресерсов ``ResourceFactoryGsp``, теперь можно любой
тип файла настроить на обработку через gsp без использования дополнительного расширения ``.gsp``
* ** Внимание** fix: idea-gen шаблон теперь принимает в ресурсы ``*.h*,*.gf*``. Возможно придется
перегенерить проект ``jc gen-idea``
* wax: Jc.showFrame теперь принимает в качестве frame - ``PATH.gframe``. Пример gframe-фрейма:
.. code-block:: html
1.4.14
------
* fix: модуль jandcode-jboss-fixvfs не реализовывал getParent()
1.4.13
------
* fix: oracle: recoverGenId теперь работает правильно даже в базах с левыми таблицами
1.4.12
------
* wax: js: новый метод модели createFromDbmJson и новая функция Jc.createFromDbmJson
для создания store по json-данным в формате dbm
* fix: css: не нужный отступ снизу для pageheader
* wax: js: gsp-фрейм поддерживает создание одного компонента в качестве content. Пример
(можно использовать как шаблон такого фрейма):
.. code-block:: html
1.4.11
------
* fix: js: ``Jc.frame.Gsp`` не поддерживал dataToControl/controlToData
* wax: js: свойство поля ``req`` теперь передается клиенту в структуре домена
* wax: Новые методы для ``jandcode.wax.core.utils.WaxTml``: ``getParams()``,
``toDbmJson()``, ``toJson()``
* fix: dbm: документация на sqlfilter перенесена в модуль dbm
* fix: не скрывалось "Ждите" при upload
1.4.10
------
**ВАЖНО** : В этой версии есть несовместимые изменения
* **Несовместимость** SqlFilter перенесен в dbm. Соответсвенно изменился предок для
элементов фильтра: ``jandcode.wax.core.utils.sqlfilter.SqlFilterItem``
-> ``jandcode.dbm.sqlfilter.SqlFilterItem``
* wax: ``Jc.showFrame`` теперь может показывать gsp-фреймы. Для этого в свойстве ``frame``
нужно передать url, заканчивающийся на ``.html``
* fix: web: tst теперь отправляет файлы с двойным расширением ( *.js.gsp например )
на стандартную обработку статических файлов
* wax: SGrid: filterFrame можно задавать как функцию
* Изменен SqlFilter contains. Теперь он с регистронезависимым поиском и поддержкой
многоязыковых полей
* dbm: поле типа null. Всегда возвращает null. Для скрытия некоторых полей в
результатах запроса. Например поле passwd.
* fix: если есть перевод, но нет языка (например en), то языковый перевод загружался в ru
1.4.9
-----
* wax: Новые компоненты (скорее прототипы компонентов) SGrid, STree, Cb_SGrid, Cb_STree
для организации редактирования грид и деревьев с фильтрацией, пагинацией и минимальными
телодвижениями.
1.4.8
-----
* незначительные багфиксы
1.4.6
-----
* fix: js: Для input Langstring восстановлено свойство matchFieldWidth=false
* jc db-info -a : печать информации для всех зарегистрированных моделей
* js: UIBuilder добавлен метод tabpanel для создания Ext.tab.Panel
1.4.5
-----
**ВАЖНО**: В этой версии есть несовместимые изменения
* fix: Jc.input.Cbfrm снова имеет matchFieldWidth=true по умолчанию. Когда по умолчанию
стоит false, плывут многие выпадающие списки
* js: Методы input, datalabel, label у UIBuilder первым параметром могут иметь store.
На время вызова эта store становится активной для builder:
.. code-block:: javascript
// эквивалентные вызовы
b.input("name")
b.input("name",{})
b.input(b.store,"name",{})
* js: У записи store появился метод clearValues - обнуление существующих значений в записи
* fix: dbm: Rnd при генерации текста зачем то вставлялись еще и цифры
* **Несовместимость** fix: verdb не загружались данные по умолчанию в базу данных при
verdb-validate
1.4.4
-----
**ВАЖНО**: В этой версии есть несовместимые изменения
* dbm: RandomDataLoader поддерживает генерацию данных для многоязыковых полей
* wax: Новый тип данных для dao-параметров - RequestMap. Этот объект получает содержимое
``WebRequest.getParams`` и сверху на него накладываются явные dao-параметры (запись
или map). Используется при загрузке данных через SqlFilter в качестве параметра метода
загрузки или создания фильтра.
* SqlFilterItem имеет свойство ``param`` (``getParam()``): именно его нужно использовать для получения
значения параметра из параметров фильтра. Ранее использоватлось ``field`` (``getField()``).
* SqlFilter умеет создавать DataStore по результатам запроса, в дополнение к загрузке в
существующий DataStore
* ISqlFilterBuilder имеет метод getTextValue для формирования текстовых значений
в заголовках с учетом справочников
* SqlFilterItem может быть скрытым (hidden=true). Такой фильтр не попадает в заголовки
* Новый фильтр parent для использования в деревьях id-parent
* **Несовместимость** Интерфейс SqlFilter подвергся окончательному рефакторингу
и теперь стабилен
* wax: Новый класс ``jandcode.wax.core.model.WaxLoadSqlFilterDao`` можно использовать
как предок для фильтрованных загрузчиков или как прототип для написания подобных классов
* js: TreeStore получила методы для работы со словарями и текущей записью
* новый класс css jc-treegrid для оформления деревьев как грид
* hack-fix: extjs дерево не правильно перезагружала узлы. Теперь treestore.load({node:id})
работает как ожидается
* js: новый тип колонки TreeLangstring
* **Несовместимость** js: перемещены классы
Jc.grid.Grid -> Jc.control.Grid,
Jc.tree.Tree -> Jc.control.Tree
1.4.3
-----
**ВАЖНО**: В этой версии есть несовместимые изменения
* Настройка форматировщика ошибок полностью перенесена в тег ``
* Настройка форматировщика ошибок для логов теперь описана в ядре с такими параметрами
по умолчанию:
.. code-block:: xml
* fix: в версии 1.4.2 продукт собирался, но не работал
* Шаблон проекта ``wax-complex`` изменился в соответсвии с последними нововведениями
* В шаблоне проекта ``wax-complex`` настройки разделены на настройки по умолчанию,
настройки для разработки и настройки для тестирования. Для получения деталей
создайте проект по шаблону ``wax-complex`` и почитайте коментарии в файла корня проекта
* Файлы ``app-product.rt`` и ``db-ini.rt`` из корня проекта теперь попадают в дистрибутив
как настройки приложения по умолчанию
* fix: Файл ``jc-app.rt`` больше не нужен для запуска ``jc``
* Изменен способ настройки файлов проекта в дистрибутиве: теперь он более очевидный.
Подробности см. в скрипте ``scripts\wax-project.jc``.
* **Несовместимость** Регистрация элементов фильтра делается в модели в теге ````. Пример:
.. code-block:: xml
В атрибуте ``class`` указывается класс реализатор. В случае, когда элемент фильтра для
конкретного типа СУБД отличается, можно сделать реализацию для конкретной СУБД и
указать ее в атрибуте ``class.DBTYPE``. Например:
.. code-block:: xml
1.4.2
-----
**ВАЖНО**: В этой версии есть несовместимые изменения
**utils**
* Для EasyXmlLoader введен параметр trimSpaceEnd. Позволяет при загрузке xml обрезать
только концевые пробелы
**dbm**
* **Несовместимость** DaoService и Dao полностью переработаны. Возможны проблемы
с совместимостью в некоторых нетипичных случаях.
* Dao могут быть объявлены на уровне модели. Такие dao не имеют привязку к домену:
.. code-block:: xml
...
Соответсвенно пользоваться ими можно просто по имени dao:
.. code-block:: java
ut.createDao("mydao")
ut.daoinvoke("mydao", "method1")
* Dao можно использовать просто по классу, без регистрации dao в rt. Допустимо
использование как ссылки на класс, так и полного имени класса.
Такие dao не имеют привязку к домену:
.. code-block:: java
ut.createDao(MyDao.class)
ut.createDao("com.myapp.model.MyDao")
* **Несовместимость** Из Dao убран метод ``public IDaoInfo getDaoInfo()``. Этот механизм более не существует.
* **Несовместимость** Полностью удалено понятие "контекст выполнения dao". Соответственно
из Dao убран ``getContext()``. Фактически ``getContext()`` являлся копией параметров
web-запроса. Метод ``getContext()`` возвращающий параметры web-запроса добавлен
в ``WaxDaoUtils``. Сотвественно код ``getContext()`` в dao нужно заменить на
``ut.getContext()``
* RandomDataLoader: в подстановке ``text`` (метод ``jandcode.dbm.dataloader.rnd.Rnd#text``)
можно указывать параметр для генерации не сплошного текста, а текста с
пробелами (имитация слов)::
* **Несовместимость** Метод ``jandcode.dbm.dict.DictService#getDictData`` теперь устанавливает имя
у возвращаемого store в имя словаря. Были проблемы в resolveDicts на клиенте js
* Dict теперь не требует указания поля по умолчанию. Если поле по умолчанию не указано,
то берется первое поле не ``id``.
* Dict теперь не требует указания домена. Если домен явно не установлен, то подразумевается
домен с таким же именем, как и имя словаря.
* **Несовместимость** Многоязыковые поля требуют описания реальных полей,
которые будут генерироватся для каждого языка:
.. code-block:: xml
* **Несовместимость** LangStringField игнорирует присвоение значения. Ранее - значение писалось в поле с
языком по умолчанию. Удалено, т.к. возникает очень много сторонних и неожиданных
эффектов от такого применения. В частности при приеме данных от клиента после ввода
новых данные в многоязыковое поле обнулялось значение поля с узыком по умолчанию.
* ``jc db-info`` дополнительно показывает реальное имя класса jdbc-драйвера
* В ``TestExtDbm`` добавлены некоторые методы, используемые при тестировании:
.. code-block:: java
// создание dao по имени, по классу
dbm.createDao(...)
// загрузка тестовых или prod данных непосредственно из указанного файла
dbm.loadDataLoaderAll(...)
dbm.loadDataLoader(...)
// синоним для getDbUtils()
dbm.getUt()
* **Несовместимость** fix: При наследовании домена со словарем, если в предке была явно определена структура
домена словаря, она не наследовалась
* Домен теперь можно создать непосредственно из файла. Имя файла должно быть именем
ресурса в пределах classpath и начинатся с ``/``. В файле (формат rt) должен быть
описан домен с именем ``default``, экземпляр которого и создается.
* Введено понятие "провайдер моделей" (``jandcode.dbm.IModelProvider``). Теперь
каждый поток (web-запрос) может иметь собственную модель, которая будет выглядеть
как модель по умолчанию.
**jc**
* fix: localize переменная была локальной для localize-project.jc
**web**
* **Несовместимость** fix: при указании web-ресурса в виде ``package`` теперь можно
указать атрибут ``filemark`` с именем файла лежащим в этом пакете. По умолчанию
используется ``filemark="module.rt"``. Если в приложении не используются левые
package в качестве web-ресурсов, то это изменение на коде не отразится.
Сделано для того, что бы однозначно определять физический путь для web-ресурса,
иначе при запуске тестов бывают ситуации, когда ресурс настраивается на каталог
с тестами.
.. code-block:: xml
* **Несовместимость** Убран метод ``request.render(String tml, Object ... args)``. Пользуйтесь ``UtCnv.toMap``
для замены этого метода.
* **Несовместимость** Изменился приоритет при анализе pathInfo. Ранее static-file
был более приоритетней, чем action. Теперь наоборот. Соотвественно появилась возможность
полностью эмулировать виртуальную файловую систему, обрабатывая запросы вида
``http://host/myaction/path1/file.html``
* **Несовместимость** ``request.getPathInfo()`` более не изменяется в соотвествии
с выявленной action. Ранее action удаляла из него свое имя.
* web-фильтры теперь могут быть описаны в узле верхнего уровня web:
.. code-block:: xml
* web-фильтр расширен методом beforeHandleRequest(). Теперь возможно внедрятся в обработку
запроса на самом верхнем уровне, до выполнения любых манипуляций с action.
* Добавлен механизм рендеринга **любых** объектов в представление для клиента
(см. ``jandcode.web.RenderService``, ``jandcode.web.IWebRender``). Теперь из action
можно возвращать любые объекты (через методы ``request.render``) и способ
трансформации их для клиента. Необходимо просто зарегистрировать класс-рендерер.
Ранее из action можно было вернуть только имя шаблона.
* web-запрос тепрь имеет "виртуальный корень". Этот механизм позволяет приложению работать
через разные внешние url в разных контекстах.
* **Несовместимость** action теперь для получения pathInfo может использовать свой локальный, где
имя action, либо глобальный оригинальный pathInfo
* **Несовместимость** В связи с изменением механизма рендеринга результати и за
ненадобностью у action убран метод ``getTmlArgs()``
**wax**
* fix: колонка ``Icontext`` печатала null при значении null
* Новый тип колонок ``Langstring``, ``Langflag`` для отображения многоязычных полей
* js: ``Jc.Action`` имеет обработчик ``onBeforeExec``
* js: Функция ``Jc.execAction`` для выполнения action по itemId
* js: Функция ``Jc.getComponent`` для поиска компонента по itemId
* Поддержка многоязычных приложений с разделением поддерживаемых языков между интерфейсом
и моделью. В том числе текущий язык может быть разным для модели и интерфейса.
* Различные методы для манипулирования многоязыковыми данными в модуле ``_lang.js``
* fix: showWait/hideWait теперь показывается поверх все окон (ранее диалог скрывал
сообщение)
* **Несовместимость** fix: js: ``Jc.dbm.DataBinder`` некоторые методы работали некорректно в определенных
условиях
* **Несовместимость** js: ``Jc.dbm.ExtModel`` теперь поддерживает чтение/запись значений полей без их
явного определения
* fix: мелкие и не очень баги в компонентах
* Новый тип input ``Langstring``, ``Langmemo`` для ввода многоязычных полей
* js: layout jctable поддерживает явно заданные расстояния между индивидуальными
строками и колонками
* Новый shower Div для разработки тем, которые показывают фреймы в теле html.
Пока не совсем стабилен. Если не найдутся потребители, будет со временем законсервирован.
* Дополнительные настройки для shower Tabpanel: titleOnToolbar, showToolbar, autoHideToolbar,
closeButtonOnToolbar
* shower Tabpanel закрывает текущий фрейм, если явно не указано какой закрывать
* Базовая тема поддерживает настройку historySupport для включения поддержки истории
браузера в extjs
* Новая тема debugdiv для отладки в режиме работы shower Div
* Новая тема ide2. Теперь и по умолчанию. Более симпатичная и удобная на мой взгляд,
чем ide.
* Для UiBuilder введен метод layout для более удобного объявления layout для контейнеров
* **Несовместимость** Новая функция для показа фрейма ``Jc.showFrame``. В дальнейшем заменит все существующие
на текущий момент механизмы, которые пока оставлены для совместимости.
* **Несовместимость** Функция onOk переданная в shower теперь принимает параметр frame
* **Несовместимость** Переименованы классы
jandcode.wax.core.model.WaxDictUpdaterDao -> jandcode.wax.core.model.WaxUpdaterDictDao,
jandcode.wax.core.model.WaxSimpleLoadDictDao -> jandcode.wax.core.model.WaxLoadDictDao,
jandcode.wax.core.model.WaxSimpleResolveDictDao -> jandcode.wax.core.model.WaxResolveDictDao,
* Новый шаблон для удобной поддержки тем
* Поддержка передачи Store и Record из клиента в методы dao как тип Map.
Странно что раньше этого небыло.
* **Несовместимость** Полностью переработан механизм SqlFilter. Теперь все гораздо нагляднее и стабильнее.
Плюс поддержка order by
* **Несовместимость** Формат описания тем полностью изменен
* В описаниях тем поддерживаются css,js,gsp
* **Несовместимость** Удален класс jandcode.wax.core.utils.WaxCompExt за ненадобностью
* Введен класс jandcode.wax.core.utils.WaxTml для использования в gsp как набора
дополнительных утилит шаблона
**misc**
* модуль ``jandcode-toolbox`` убран
* Куча всяких мелочишок, которые не имеют явных внешних проявлений
1.4.1
-----
**ВАЖНО**: В этой версии есть несовместимые изменения
* fix: в IAfterDaoMethod передавалось неправильное имя метода
* fix: в диаграммах db-doc теперь не прыгают шрифты
* В описании диаграм для db-doc для домена в диаграмме можно указать параметр
``showFields="false"`` (не показывать его поля, будет только прямоугольник с именем
таблицы):
.. code-block:: xml
* fix: теперь можно делать несколько сервлетов JcServlet в web.xml с разными mapping
в рамках одного web-приложения. Например так:
.. code-block:: xml
servlet1
jandcode.web.JcServlet
...
servlet2
jandcode.web.JcServlet
...
servlet1
/*
servlet2
/adm/*
...
* jc: поддержка нескольких моделей/баз данных в проекте, в том числе и при использовании
``verdb``. Имя модели указывается в параметре ``-m:MODELNAME``
* **Несовместимость**: структура product-дистрибутива для wax изменилась.
Теперь скрипты (включая скрипты базы данных и verdb) лежат в ``WEB-INF``
(раньше лежали в корне дистрибутива)
* **Несовместимость**: скрипты базы данных и verdb теперь распологаются в подкаталоге
с именем модели. К примеру, раньше было так::
PROJECTROOT
scripts
verdb
00001
0001-update.sql
00002
0001-update.sql
Теперь так::
PROJECTROOT
scripts
default <-- это имя модели
verdb
00001
0001-update.sql
00002
0001-update.sql
* wax: DbmAction может быть перекрыта для установки модели контекста выполнения запроса.
Для этого выделен метод ``DbmAction.getModel``
* fix: wax: growHeight для gsp-фреймов был незадействован
* wax: gsp-фрейм имеет дополнительный css-класс для фрейма ``jc-frame-gsp`` и для тела
фрейма ``jc-frame-body-gsp``
* fix: в wax-гриде не выделялась запись после добавления новой записи в гриду
1.4.0
-----
**ВАЖНО**: Эта версия не совместима с веткой 1.3.*
* Метод ``App.getInst()`` был удален. Теперь нет глобального едиственного экземпляра
приложения. Приложений может быть несколько. Соотвественно необходимо заменить
``App.getInst()`` или (для groovy-кода) ``App.inst`` на ``getApp()``. В всех объектах,
которые являются наследниками от ``jandcode.app.Comp`` и создавались через фабрики,
метод ``getApp()`` имеется и возвращает правильную ссылка на ``App``. В случае получения
ошибки вида *'Экземпляр создан вне контекста приложения'* необходимо убедится, что
объект создается через ``getApp().getObjectFactory().create(...)``. Если ``App.getInst()``
использовался вне компонента ``jandcode.app.Comp``, необходимо явно передать ему приложение
или объект, реализующий интерфейс ``jandcode.app.IAppLink``, через который он сможет
получить доступ к приложению. Приложение можно загрузить классом ``jandcode.app.AppLoader``.
* В связи с удалением метода ``App.getInst()`` уделен статический метод ``Model.getInst()``.
Теперь модель можно получить только через ``getApp().service(ModelService.class).getModel()``.
* В связи с удалением метода ``App.getInst()`` уделен статический класс ``jandcode.ui.Ui``,
Теперь к его функциональности можно получить доступ через ``getApp().service(UiService.class)``.
* В связи с удалением метода ``App.getInst()`` уделен статический класс ``jandcode.web.Web``,
Теперь к его функциональности можно получить доступ через ``getApp().service(WebService.class)``.
* Из ``Rt`` механизм ``x-loaderhandler`` заменен на ``x-plugin``. Варианты использования
теперь стали гораздо гибче.
* Модель теперь регистрируется в узле ``dbm`` (ранее регистрировалась в сервисе ``jandcode.dbm.ModelService``):
.. code-block:: xml
* Убраны все модели по умолчанию: ``default``, ``wax.sys``, ``wax.default``. В комплекте
теперь только модель ``sys``, которая используется как предок для моделей. Все промежуточные
составные части моделей (например из ``jandcode.wax.verdb``) реализованы через плагины
загрузки Rt. Пример:
.. code-block:: xml
* Убран атрибут модуля ``wax="true"``. Теперь файлы из каталога
``model`` не подключаются автоматически в модель ``wax.default``, их нужно подключать явно
и можно держать в любом удобном каталоге внутри модуля.
* Убран атрибут модуля ``web="true"``. Теперь пакет модуля нужно явно назначать как
каталог с web-ресурсами, например:
.. code-block:: xml
* Введен специальный тег для модели ``x-dbdata``, который определяет откуда загружать
данные для базы по умолчанию и тестовые данные. Теперь их можно хранить там, где удобно:
.. code-block:: xml
....
* Модель ``jandcode.dbm.Model`` может быть настроена на поддержку нескольких языков
хранения данных. Для этой поддержки в модель введен сервис ``jandcode.dbm.dblang.DblangService``
* Поддержка (пока не полная) многоязыковых полей. Тип поля: ``lang.string`` и ``lang.memo``
* При описании ddl операторов для домена (например для view) можно писать текст ddl
оператора на gsp в контексте текущего домена. Например так:
.. code-block:: xml
from ${th.domain.rt.getValueString('basetable')} where level=1
]]>
* Поле может ссылатся на view, физические reference при этом не генерируются
* В шаблонах gsp, используемых для генерации утилитой jc можно выводить результат
фрагмента шаблона из текста:
.. code-block:: jsp
<%
outTemplate("hello, \${project.name}!")
%>
* fix: jc db-doc теперь вставляет в документацию не шаблон view, а его сгенерированное
представление
1.3.6
-----
* jc: игнорирование команд, которые начинаются с '_'
* fix: шаблон проекта wax-complex теперь поддерживает запуск тестов для всех модулей
* sphinx-doc: поддержка расширений для sphinx
1.3.5
-----
* обновление библиотек groovy 2.0.5
* Новый модуль jandcode-jboss-fixvfs для поддержки запуска проекта на jboss. Этот модуль нужно просто подключить к проекту.
1.3.3
-----
* обновление библиотек ant 1.8.4, groovy 2.0.4, commons-io 2.4, commons-pool 1.6, log4j 1.2.17, joda-time 2.1
* новый шаблон проекта wax-complex: многомодульное wax-приложение
* UtilsTestCase.replaceTestName - замена & на имя пакета тестового класса
* AppTestExt.saveAppRt - записывает rt в файл с учетом имени пакетом
1.3.2
-----
* поддержка локализации
* fix: ```` теперь работает
1.3.1
-----
* рефакторинг обработчиков ошибок
* документация для каждого модуля теперь независимая, включая описание rt-конфигураций
* начальная поддержка локализации
* поддержка jdk7
**wax**
* fix: компоненты input CbXXX не принимали значение по умолчанию без явно назначенного поля
1.3.0
-----
Эта версия является объединением проектов:
* Jandcode Core 1.2.5
* Jandcode Wax 1.0.8