2     * Стандартизован стиль именования параметров: CamelCase.
 
   3     * В документации к XML-RPC API добавлено пропущенное поле 'password' для
 
   5     * Приведена в порядок работа с сигналами. Теперь сигналы перехватываются
 
   6     только из основного потока и перехватываются корректно, в отличие от
 
   7     старых версий. Для остановки плагинов больше не используется pthread_kill,
 
   8     т.к. плагины его все равно теперь игнорируют.
 
   9     * Устаревшая функция usleep заменена на более продвинутую функцию
 
  10     nanosleep в соответствии с POSIX.1-2008.
 
  11     * Удалены странные, непонятные и ненужные комментарии в коде.
 
  12     * Некоторые типы данных сделаны более "строгими".
 
  13     * Добавлено несколько дополнительных проверочных утверждений.
 
  14     * Упрощено API плагинов.
 
  15     * Удален странный код.
 
  16     * Большая часть кода приведена в соответствие с рекомендациями Скотта
 
  18     * Вычищена куча кода. Но это еще не конец.
 
  19     * Исправлена ошибка установки в случае наличия предыдущей установки.
 
  20     * Добавлена поддержка FreeBSD9.
 
  21     * Структура базы для Firebird больше не создается при make install-data,
 
  22     нужно создавать вручную.
 
  25     * При проверке условий сборки теперь используются переменные CC и CXX
 
  26     вместо явного вызова gcc/g++.
 
  27     * Если переменные CC и CXX не определены то используются gcc и g++ по
 
  29     * Добавлено разделение флагов на CFLAGS и CXXFLAGS. Теперь релиз
 
  30     рекомендуется собирать так:
 
  31     $ CFLAGS="-O2" CXXFLAGS="${CFLAGS}" ./build
 
  32     * Флаг компиляторы -g3 заменен на -ggdb3 (все равно его поддерживает
 
  33     и gcc, и clang и ekopath).
 
  34     * Существенно переработана система сборки. Теперь она не сорит
 
  35     заголовочными файлами и библотеками там где не нужно.
 
  36     * Убрана зависимость от bash.
 
  39     * Использование динамических внутренних библиотек признано
 
  40     нецелесообразным, возвращены старые-добрые a-файлы (последний раз они были
 
  42     * Добавлена специализация x2str для беззнаковых типов.
 
  43     * Библиотеки crypto.lib и scriptexecuter.lib теперь содержат 100% кода на
 
  45     * Исправлена работа библиотеки ia.lib на платформах с Big Endian.
 
  48     * В плагин для PostgreSQL добавлен параметр retries указывающий количество
 
  49     повторных попыток установить соединение с БД.
 
  50     * Оптимизирована логика работы RemoveDir - теперь он удаляет ваши каталоги
 
  52     * Унифицированы имена параметров плагинов для работы с БД: Server,
 
  53     Database, User, Password. Старые имена поддерживаются, но объявлены
 
  54     устаревшими. В будущем будут удалены.
 
  55     * Добавлен плагин для работы с snmpd по протоколу SMUX. Позволяет
 
  56     производить мониторинг некоторых параметров системы:
 
  57         - общее количество абонентов;
 
  58         - количество абонентов online;
 
  59         - количество авторизованных абонентов;
 
  60         - количество абонентов с флагом alwaysOnline;
 
  61         - количество абонентов с отрицательным балансом;
 
  62         - количество абонентов с отключенной детальной статистикой;
 
  63         - количество отключенных ("disabled") абонентов;
 
  64         - количество "замороженных" ("passive") абонентов;
 
  65         - количество абонентов с положительным кредитом;
 
  66         - количество абонентов с положительным предоплаченным трафиком;
 
  67         - количество абонентов меняющих тарифный план в следующем месяце;
 
  68         - количество абонентов с ненулевым трафиком за сессию;
 
  69         - общее количество тарифов;
 
  70         - количество абонентов потарифно;
 
  71         - общее количество админов;
 
  72         - общее количество сервисов;
 
  73         - общее количество корпораций;
 
  74         - общее количество правил классификации трафика.
 
  75     * Добавлен шаблонный класс PLUGIN_CREATOR для универсального удобного
 
  77     * При немедленном изменении тарифа через XML-RPC API добавлен "сброс"
 
  79     * Возможно исправлена ошибка приводящая к "зависаниям" плагина
 
  81     * Исправлена утечка ресурсов (файловых дескрипторов) в плагине файлового
 
  83     * Улучшены сообщения об ошибках авторизации, теперь в них на 73.1% больше
 
  85     * В плагине для XML-RPC API вынужденно используется внешний сокет для
 
  86     корректной остановки плагина. Привет мейнтейнерам Debian которые до сих
 
  87     пор не обновили xmlrpc-c! Зато минус одно падение с SIGSEGV и General
 
  88     Protection Fault при останове!
 
  89     * Плагин remote_script больше не сообщает об ошибке и позволяет системе
 
  90     запуститься если файл привязки подсетей пуст.
 
  91     * Пересмотрен порядок загрузки плагинов.
 
  94     * Исправлена ошибка приводящая к неправильному сообщению о причине
 
  96     * Убрано бесполезное изменение значения nice для процесса.
 
  97     * Добавлены три возможных сценария снятия абонплаты:
 
  99         - не снимать абонплату при отрицательном балансе;
 
 100         - не снимать абонплату ели баланс при этом станет отрицательным.
 
 101     * Добавлен параметр ReconnectOnTariffChange указывающий системе выполнять
 
 102     переподключение абонента при изменении тарифа.
 
 103     * Добавлена "подписка" на добавление и удаление тарифов.
 
 104     * Управление авторизацией абонентов перемещено из класса USER в класс
 
 105     USERS что позволило избавиться от дедлока в определенных условиях.
 
 106     * Устранена возможность выгрузки активного плагина. Минус одно
 
 107     потенциальное падение с SIGSEGV и General Protection Fault!