Главная  /  Правка версии 1  /  Правка версии 2  /   /  Область пользователей

Отличия "Список изменений CppCMS 1.x.x" вер. 1 сравн. вер. 2

Содержимое:

<!--toc-->
### Версия 0.99.8
_Выпущена:_ 2011-07-11
Новые возможности:
- Boost.Locale обновлен до последней версии и собирается мержится в svn-дерево Boost.
Он включает некоторые критические изменения:
- Переработан интерфейс анализа граничных значений:
Вместо использования `mapping`, `token_iterator`
и `break_iterator`, новые классы
предоставляющие ту же функциональность ввели:
`segment_index`, `boundary_point_index`
и элементы, которые могут быть итерированы
`segment` и `boundary_point`.
См.:
<http://cppcms.sourceforge.net/boost_locale/html/boundary_analysys.html>
- Обновился интерфейс сообщений, теперь сообщения
используют тот же тип символа для ключа, что и
для выходного сообщения, т.е.
std::wstring wh = translate(L"hello").str();
std::string h = translate( "hello").str();
Вместо
std::wstring wh = translate("hello").str<wchar_t>();
std::string h = translate("hello").str<char>();
Это позволяет прозрачно использовать не-US-ASCII ключи.
- Обновлен интерфейс `date_time`, чтобы лучше
соответствовать Boost.DateTime
и Boost.Chrono. Операции теперь более типобезопасны.
- Введена поддержка компилятора SunStudio на
OpenSolaris.
- Новые ночные тесты: Linux Armel и Solaris/SunStudio.
Баги:
- Исправлен баг, в котором виртуально отключалось
gzip-сжатие в CppCMS 0.99.7
- Некоторые исправления компиляции и тестирования
для старых версий Mac OS X/Darwin 8.
Замечание: Darwin 8 не поддерживается из-за
багов в стандартной библиотеке C, но не должно
быть проблем с новейшими версиями Mac OS X.
- Исправления для поддержки ICU 4.8
- Исправления для поддержки gcc-4.6 и gcc-4.0
- Исправления для поддержки Python 2.3.5
### Версия 0.99.7
_Выпущена:_ 2011-03-26
Баги безопасности:
- Исправлен некорректный парсинг ключей, вызывающий снижение энтропии AES и HMAC ключей
- Исправлено некорректное определение HMAC ключа, при использовании раздельных ключей для CBC и MAC
Новые возможности:
- URL-маппинг - создан как противоположность URL
диспетчеризации, теперь каждый URL может быть
легко абстрагирован от физического URL,
Это позволяет создавать иерархии приложений и
ссылаться друг на друга с помощью именованных URL.
- Система Кеширования:
- Добавлена поддержка зависимых триггеров
записываемых с помощью класса cppcms::triggers_recorder
- Добавлена поддержка кеша на уровне темплейтов
- Добавлен фильтр "tee" для лучшей поддержки
кеширования фрагментов HTML
- Система Темплейтов
- Обеспечено базовое юнит-тестирование
- Обеспечен доступ к приложению, отображающему
представление (renders the view - прим. пер.),
что дает основу для доступа к многим возможностям,
таким как сессии, кеш и т.п.
- Добавлены теги `<% url ... %>`, `<% cache ...%>`,
`<% trigger ... %>`
- Улучшены отчеты об ошибках
- Добавлен стиль отображения `<%= variable | filters%>`,
чтобы переопределять зарезервированные слова
и переменные
- Обновлен пример Message Board с использованием url-маппинга
- Возможности Boost.Locale:
- В Windows, локаль по-умолчанию - UTF-8
- Поддержка Гркгорианского календаря для не-ICU бэкендов
- Поддержка проверки на летнее время в календаре
- Оптимизация производительности в форматировании
и сортировке
- Переработан класс booster::socket, разделен на множество
меньших классов в соответствии с их ролями
- Оптимизация для встраиваемых сборок - добавлена
поддержка удаления модулей, которые могут быть
бесполезны для встраиваемых приложений:
- Хранилище кеша, хранилище префорка, распределенное хранилище кеша
- Сжатие GZip
- Поддержка мягкой остановки fastcgi-процесса в Apache
на Windows используя стиль ожидания libfastcgi
- Улучшено API boost::thread api для поддержки
функции-члена отсоединения
- Booster: поддержка timegm, делающая booster::ptime симметричным.
Баги:
- Исправлен баг #3177531 - в CGI заголовках возвращался
неверный порт/ip при использовании "списка" API
- Очищено свойство set() property, чтобы быть уверенным,
что оно установлено в false только в случаях, где это
действительно необходимо и включение его по-умолчанию
в большинстве виджетов - исправлено F.R. #3177317
- Изменен уровень предупреждения на -Wall -Wextra, предупреждения вычищены
- Boost.Locale - обход бага обнаружения временной зоны ICU
- Исправлено некорректное отображения форм ввода, когда
предполагаются указатели
- Исправлена проблема с устройством urandom при работе
с ограниченными пользователями под Windows
- Исправления проблем в MSVC-2005
### Версия 0.99.6
_Выпущена:_ 2011-01-13
Баги безопасности:
- Исправлен бэкенд AES: неверный [тест избыточности](http://art-blog.no-ip.info/cppcms/blog/post/74)
- Исправлено переполнение буфера в urlencode для символов
выше 127.
Баги:
- Исправлено падение при попытке использовать фильтр base64_urlencode.
### Версия 0.99.5
_Выпущена:_ 2011-01-01
Новые возможности:
- Новый фильтр [XSS](http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3). Это совсем новая и экспериментальная возможность. Позволяет проверять и фильтровать HTML-ввод, приходящий от ненадежного источника, обеспечивая то, что он не содержит вредоносный код.
Это очень распространенный случай, когда необходима интеграция в инструменты приложений, такие как TinyMCS.
Он основан на белом списке тегов и значениях HTML-атрибутов, разрешенных для включения.
Фильтр и правила фильтрации можно найти в
[cppcms::xss](/cppcms_ref_v0_99/namespacecppcms_1_1xss.html) namespace.
Сейчас XSS фильтр используется только в CppCMS's wiki.
Так что можете попытаться обойти его редактируя [Sandbox](http://art-blog.no-ip.info/wikipp/en/page/sandbox)
и если удастся - пожалуйста, немедленно сообщите мне.
- Поддержка API Windows Vista/Windows 7. Это позволяет собирать CppCMS на Windows без библиотеки pthreads-win32.
Замечание: необходимо использовать опцию CMake: `-DUSE_WINDOWS6_API=ON`, т.к. по-умолчанию CppCMS нацелена на Windows XP и выше.
- Изменено число рабочих потоков по-умолчанию на число, зависящее от количества физических процессоров
Баги:
- Исправлена некорректная конфигурация мютексов, приводящая к дедлокам в режиме префорка
- Некоторые исправления в скриптах CMake, в связи с тем, что в некоторых ситуациях библиотеки не находились.
- Некоторые исправления, чтобы CppCMS работал с uclibc
- Исправлена проблема в диспетчеризации URL к подприложению, приводящая к невозможности переопределить его главную функцию
- Некоторые исправления багов в обработке ответа
### Версия 0.99.4
_Выпущена:_ 2010-11-30
Новые возможности:
- Добавлена поддержка OpenSSL как альтернатива библиотеки Gcrypt для шифрования AES cookies
- Добавлена поддержка усиливающих опций AES и лучшей выборки хеша для HMAC.
- Добавлена поддержка записи и показа обратной трассировки стека из исключениий - для лучшей отладочности кода.
- Добавлена поддержка демонизации - запуска сервисом под Unix, включая опции: переключение на непривилегированного пользователя и `chroot` в указанную директорию.
- Добавлена поддержка функции reset\_session в session\_interface, что ускоряет распределение нового идентификатора сессии - используемое для предотвращения фиксации сессии.
- Добавлена поддержка подавления сообщений об ошибках по-умолчанию - информация исключения не показывается пользователю по-умолчанию.
- Улучшена безопасность генерации идентификаторов сессий.
- Улучшена производительность генерации случайных чисел под Windows
- Улучшена обработка заголовка Content-Type
Исправления багов:
- Исправлены случайные сбои вызванные повисшими ссылками.
- Исправлен баг неправильного использования не-блокирующих сокетов, вызывающий неполную запись при длинном выводе
- Исправлена ​​утечка памяти в шифровании бэкэнда AES
- Исправлена ​​некорректная обработка имени скрипта в сервере HTTP.
- Исправлена ​​некорректная обработка выключения при работе в prefork-режиме, вызывающая блокировку между родителем и потомком при выходе.
- Исправлен баг в booster::streambuf, вызывающий случайные потери символов - добавлена обработка putback.
- Исправлена ​​некорректная обработка ошибки в классе http\_response, которая может привести пул потоков к выходу за пределы потоков.
- Различные исправления тестов, связанные с платформой
### Версия 0.99.3
_Выпущена:_ 2010-09-16
Баги безопасности:
- Исправление бэкэнда hmac: генерация сигнатуры со слишком малым размером блока
Новые возможности:
- Новая версия Boost.Locale
- Добавлена поддержка нескольких сигнатур hmac-куки:
Встроенные: hmac-md5, hmac-sha1
С libgcrypt: hmac-sha224, hmac-sha256, hmac-sha384, hmac-sha512
Сейчас по-умолчанию hmac использует sha1 вместо менее безопасного md5
Баги:
- Исправлена утечка памяти в шифраторе сессий aes
- Исправлена некорректная проверка кодировки UTF-8, которая могла приводить допуску некоторых запрещенных последовательностей.
- Исправлены отсутствующие атрибуты некоторых виджетов форм
- Исправлена некорректная генерация кода темплейтов в цикле `foreach`
- Исправлен race condition в распределении и назначении контекста, которые могли происходить не одновременно
### Версия 0.99.2
_Выпущена:_ 2010-08-04
Новые возможности:
- Значительные улучшения производительности в Booster.Aio
- Значительные улучшения производительности в бэкэнде FastCGI.
- Добавлено больше примеров
Баги:
- Исправлена обработка ответа/статуса в синхронных и асинхронных API.
- Исправлена некорректная обработка чисел в JSON.
- Различные исправления, связанные с платформой.
- Важные исправления багов в обработке загрузки файлов.
### Версия 0.99.1
_Выпущена:_ 2010-06-24
- Полная переработка ядра CppCMS, которая ввела:
- Поддержку асинхронного программирования
- Удаление сторонних библиотек из api ядра.
- Стабильный API и ABI во всех основных релизах.
- Улучшена поддержка Ajax с введением JSON-RPC
- Мощный i18n и l10n
- "Родная" поддержка Windows, включая поддержку MSVC.
- И многое другое...

Проект

CppCMS является основой веб-разработки для выполнения ресурсоемких приложений.

Размещение

SourceForge.net Logo

Поддержать проект

CppCMS needs You


Навигация

Главная страница


Валидация CSS | Валидация XHTML 1.0