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