#############################################################################
#                                                                           #
#  4.2.4 -> 4.2.5  (13 марта 2002)                                          #
#                                                                           #
#############################################################################

 * Введена директива MaxContentLength конфигурационного файла индексации
   (сделано по рекомендации "Aleksandr Evmeshenko" <A.Evmeshenko@VAZ.RU>)
 * Исправлены следующие обнаруженные ошибки:
     - при индексации огромного числа файлов можно было получить ошибку
       нехватки свободной оперативной памяти - ее действительно не хватало
       (спасибо "Aleksandr Evmeshenko" <A.Evmeshenko@VAZ.RU>)
     - не отрабатывало сочетание директив IgnoreDirWithFile/AcceptDirWithFile
       (спасибо "Andrey A. Kozulin" <andrey@kaa.lota.udmurtia.su>)
     - исправлен перевод текстов из формата UNIX в DOS и обратно в Makefile'ах

#############################################################################
#                                                                           #
#  4.2.3 -> 4.2.4  (28 ноября 2001)                                         #
#                                                                           #
#############################################################################

 * В конфигурационный файл индексации добавлена директива ConvertToRussian,
   задающая замены для английских букв, сходных по начертанию с русскими,
   в индексируемых русских словах
   (сделано по настоянию "Aleksandr Evmeshenko" <A.Evmeshenko@VAZ.RU>)

#############################################################################
#                                                                           #
#  4.2.2 -> 4.2.3  (14 сентября 2001)                                       #
#                                                                           #
#############################################################################

 * Добавлена утилита depender, с помощью которой теперь формируется файл
   зависимостей исходных текстов поисковой системы от включаемых файлов
 * Для программы flmerge введена опция -d для чтения имен объединяемых
   индексных файлов с STDIN
   (сделано по рекомендации Василевского Сергея <vasilevsky@open.by>)
 * Введена возможность перевода исходных текстов из фомата DOS в формат UNIX
   и обратно командами "make to_unix" и "make to_dos"
 * Слегка обновлена документация (в частности, добавлено описание параметров
   вызова CGI модуля)
 * Исправлены следующие обнаруженные ошибки:
     - поправлена инсталляция на UNIX системах (команда "make install")
       (под видом flindex, flmerge и flsearch в инсталляционную директорию
       копировался исполняемый файл fldump)
       (спасибо Тимофею Воробьеву <timothy@imail.ru>)
     - поправлена индексация без конфигурационного файла (пропадали
       stop- и valid-слова, используемые по умолчанию)
     - поправлен вывод программы flsearch: без опции -e пропадали заглавия
       проиндексированных документов; с опцией -e они выводились, но в дате
       отсутствовало время (в формате hh:mm:ss)
     - в ./src/ztypes.h теперь включается файл <sys/types.h> (иначе на SunOS
       прерывалась компиляция)
       (спасибо Dima Antipov <dima@elvis.ru>)
     - исправлены зависимости от $(LIBDIR)/libflus.la в Makefile.in
       (спасибо Dima Antipov <dima@elvis.ru>)
     - значение verbose, указанное в командной строке программы flindex
       через опцию -v, затиралось значением из конфигурационного файла

#############################################################################
#                                                                           #
#  4.2.1 -> 4.2.2  (27 июня 2001)                                           #
#                                                                           #
#############################################################################

 * Начаты работы по созданию украинского интерфейса. Пока украинифицированы
   только библиотеки, CGI модуль еще нуждается в обработке.
   Соответственно, добавлен параметр компиляции UKRAINIAN_INTERFACE
   (в файл ~/zcfg.h).
   (спасибо Роману Самойленко <Roman.Samoylenko@avon.com>)
   (К сожалению, Роман куда-то пропал, и работа осталась недоделанной, а жаль...)
 * В конфигурационный файл индексации добавлены директивы
   AcceptFileName, AcceptDirName, AcceptFullPathFile и AcceptDirWithFile
   (аналоги директив Ignore*, только с противоположным смыслом).
   (спасибо Тимофею Воробьеву <timothy@imail.ru>)
 * В конфигурационный файл индексации добавлены директивы
   AcceptFileURL и IgnoreFileURL для отсева индексируемых файлов по их URL.
 * В конфигурационный файл CGI модуля добавлена секция strings и набор
   директив для нее, позволяющие изменить некоторые строки, используемые
   при выводе бланка запроса и результатов поиска (без применения профильных
   файлов).
   (спасибо Тимофею Воробьеву <timothy@imail.ru>)
 * В раздел index конфигурационного файла CGI модуля добавлена директива
   replace для изменения зашитых в индексных файлах URL.
   (спасибо Тимофею Воробьеву <timothy@imail.ru>)
 * Исправлены следующие обнаруженные ошибки:
     - не работали директивы IgnoreFullPathFiles
       (спасибо Тимофею Воробьеву <timothy@imail.ru>)
     - снималась экранировка у шаблонов директивы IgnoreDirWithFile

#############################################################################
#                                                                           #
#  4.2 -> 4.2.1  (2 апреля 2001)                                            #
#                                                                           #
#############################################################################

 * Исправлены следующие обнаруженные ошибки:
     - при проведении процедуры переиндексации измененные файлы (хоть и
       индексировались, но!) не менялись в самом индексном файле
       (спасибо GlassMan <glass@cholod.ru>)

#############################################################################
#                                                                           #
#  4.1.2 -> 4.2  (23 марта 2001)                                            #
#                                                                           #
#############################################################################

 * Начаты работы по созданию API индексации.
   (за идею спасибо Eugen Kuleshov <aneu@hco.kollegienet.dk>)
 * Для flindex добавлены опции -r и -u, ответственные за переиндексацию
   имеющегося контента.
   (сделано по многочисленным просьбам)
 * Исправлены следующие обнаруженные ошибки:
     - поправлена компиляция с выключенной поддержкой русского языка.

#############################################################################
#                                                                           #
#  4.1.1 -> 4.1.2  (29 января 2001)                                         #
#                                                                           #
#############################################################################

 * Созданы библиотеки API поиска для всех поддерживаемых платформ, как
   динамические, так и статические.
 * Для платформы UNIX введена возможность исталляции и деинсталляции поисковой
   системы.
 * Файлом common.def теперь пользуется UNIX'овский Makefile.
   (к полному торжеству идеи от GlassMan <glassman_ru@geocities.com>)
 * Исправлены следующие обнаруженные ошибки:
     - утилиты в операционных средах MS Windows и OS/2 неверно воспринимали
       шаблоны, если в тех использовался прямой слеш в качестве символа
       разделителя директорий;
       (спасибо GlassMan <glassman_ru@geocities.com>)
     - для компактной модели представления результатов поиска fluids.cgi
       вместо TITLE результата поиска выводил просто его URL.

#############################################################################
#                                                                           #
#  4.1 -> 4.1.1  (10 января 2001)                                           #
#                                                                           #
#############################################################################

 * Исправлены следующие обнаруженные ошибки и недоделки:
     - не перекодировался файл libz/error3.c при проведении процедуры смены
       локальной кодировки;
       (спасибо GlassMan <glassman_ru@geocities.com>)
     - программа flsearch не выдавала данные об индексе поиска;
       (спасибо Василевскому Сергею <vasilevsky@open.by>)
     - программа flsearch не выдавала предупреждения о стоп-словах в запросе;
     - программа fluids.cgi выводила случайный символ в конце сообщения о
       проблемных словах в запросе (вместо ';' или '.');
     - при объединении трех и более индексных файлов, один из которых -
       пустой, программа flmerge генерировала некорректный индексный файл;
       (спасибо Василевскому Сергею <vasilevsky@open.by>)
     - при попытке работы с некорректным индексным файлом программа flmerge
       могла выпасть в core;
       (спасибо Василевскому Сергею <vasilevsky@open.by>)
     - добавлена опция noProblemWords для директивы Options конфигурационного
       файла поиска для запрета вывода сообщения о проблемных словах в
       запросе;
     - упрощен make-файл для компилятора MS VisualC++ 5.0; зависимости
       вынесены в отдельный файл (common.def), которым теперь пользуется
       и makefile.vac;
       (за идею спасибо GlassMan <glassman_ru@geocities.com>)
     - программа flmerge перекодировала stop- и valid-слова при чтении
       индексного файла (чего она делать не должна).

#############################################################################
#                                                                           #
#  4.0.3d -> 4.1  (29 ноября 2000)                                          #
#                                                                           #
#############################################################################

 * Создано поисковое API по индексным файлам FLUIdS. Программы fluids.cgi и
   flsearch переписаны таким образом, что бы использовать только это API,
   не обращаясь к низкоуровневым функциям, работающими с индексным файлом.
   Соответствующие библиотеки еще не формируются, отсутствует и справка на
   API (отложено до 4.1.1).
 * Немного изменен формат выдачи результатов поиска программой flsearch
   (если поиск ведется сразу по нескольким индексам, то результаты поиска
   сортируются вне зависимости от принадлежности тому или иному индексу;
   ранее сортировка производиласть отдельно для каждого индекса).
 * Создана утилита hcat, которая в последствии будет применяться для генерации
   заголовочного файла поискового API.
 * Окончательно реализована поддержка сервера Russian Apache:
     - наличие сервера определяется CGI модулем по двум переменным окружения
       "CHARSET" и "SOURCE_CHARSET" (обе должны присутствовать);
     - осуществляется корректное экранирование русских букв в ссылках на
       другие страницы результатов;
     - экранирование русских букв можно отменить, установив опцию
       noEscapedURLs в конфигурационном файле CGI модуля;
     - если CGI модуль с самостоятельной перекодировкой исполняется из под
       Russian Apache, то он отключит самостоятельную перекодировку и запретит
       выдачу набора ссылок на поддерживаемые кодировки; <META>-тег с
       правильным именем кодировки клиента будет выдаваться и в этом случае,
       если, конечно, не будет выставлена опция noMetaCharset в
       конфигурационном файле CGI модуля;
     - если кодировкой по умолчанию у Russian Apache является одна из
       поддерживаемых FLUIdS, то отпадает необходимость прописывать в
       настройках Web-сервера директиву CharsetSourceEnc на CGI модуль.
   (сделано по рекомендации "Dmitry Ban" <banshee@comtv.ru>)
 * Введена возможность исключения из процесса индексации части гипертекстового
   документа с помощью тегов <!--noindex--> и <!--/noindex-->.
   (сделано по рекомендации "Сергей Мазитов" <mazitov@cityline.ru>)
 * Исправлены следующие обнаруженные ошибки:
     - стало возможным определить FLUIDS_ROOT_DIR (./cfg.h) как NULL.
       Такая необходимость возникает, если CGI модуль выполняется из под
       обволакивателя (wrapper'а), скрывающего истинное значение переменной
       окружения "SCRIPT_FILENAME" и заменяющего его другим;
       (спасибо "Сергей Мазитов" <mazitov@cityline.ru>)
     - поправлена индексация коментариев в гипертекстовых документах;
     - в примерах профильных файлов прописан (белый) цвет заднего фона.

#############################################################################
#                                                                           #
#  4.0.3 -> 4.0.3d  (7 июня 2000)                                           #
#                                                                           #
#############################################################################

 * Исправлены следующие обнаруженные ошибки:
     - Поиск по индексному файлу с ровно одним проиндексированным файлом мог
       закончиться ошибкой;
       (спасибо "Василевский Сергей" <vasilevsky@open.by>)
     - Объединение двух индексных файлов с различными наборами стоп-слов
       приводило к SIGSEGV.

#############################################################################
#                                                                           #
#  4.0.2 -> 4.0.3  (31 мая 2000)                                            #
#                                                                           #
#############################################################################

 * Добавлена директива CharsetMethods в разделы [defaults]/[job]
   конфигурационного файла индексации для задания методов определения
   кодировки индексируемого файла (и порядка их применения); добавлен метод
   ByMetaTag, с помощью которого кодировка определяется из тега <META>;
   введен параметр компиляции CHARSET_META_TAG_BYTES (./src/cfg.h)
   (сделано по настоянию "Valery Sukhikh" <suh@udmene.elektra.ru>)
 * Добавлена директива face в раздел [index] конфигурационного файла CGI
   модуля, и переменная $INDEX_FACE в профильный файл результата поиска;
   по значению этой переменной теперь можно судить о принадлежности
   результата поиска тому или иному индексу
   (сделано по рекомендации Сергея Василевского <vasilevsky@open.by>)
 * В стартовый и завершающий профильные файлы добавлена переменная
   $QUERY_FORM; с ее помощью теперь можно расположить бланк запроса
   непосредственно до вывода результатов поиска
   (сделано по рекомендации Сергея Василевского <vasilevsky@open.by>)
 * Для программы flindex изменена процедура формирования индексного
   файла; теперь создается временный файл, и лишь по окончании индексации
   делается rename; в результате существующий индексный файл остается
   корректным в течении всего времени проведения процедуры индексации.
   Добавлена опция вызова -o программы flindex для восстановления
   старой схемы формирования индексного файла
   (сделано по рекомендации "Dmitry" <dima@elvis.ru>)
 * Исправлены следующие обнаруженные ошибки:
     - не срабатывал раздел [replace] в конфигурационном файле поиска
       (ошибка была исправлена еще в рамках 4.0.2)
     - не работал CGI поиск по нескольким различным индексам
       (ошибка была исправлена еще в рамках 4.0.2)
       (спасибо "Василевский Сергей" <vasilevsky@open.by>)
     - не отрабатывали пустые директивы
     - исправлена ошибка, связанная с методом ByAccessFile

#############################################################################
#                                                                           #
#  4.0.1 -> 4.0.2  (24 апреля 2000)                                         #
#                                                                           #
#############################################################################

 * Введен параметр компиляции APPLY_CYR_KOI8_U_NAME (файл ./src/zcfg.h)
 * Добавлена директива AccessFile конфигурационного файла индексации
   для задания имени файла, в котором прописывается кодировка индексируемых
   файлов директивой CharsetSourceEnc (обычно это файл .htaccess)
   (сделано по настоянию "Valery Sukhikh" <suh@udmene.ru>)
 * Добавлена опция вызова -d программы flindex для чтения объектов
   индексации с STDIN
   (сделано по рекомендации "Alex Rubtsov" <rav@chel.com.ru>)
 * Исправлены следующие обнаруженные ошибки:
     - официальное имя альтернативной кодировки изменено с cp866 на ibm866
     - при записи данных директивы IndexName конфигурационного файла
       индексации в индексный файл выдывалась необоснованная ошибка
       (и при этом все работало; спасибо "Dmitry" <dima@elvis.ru>)
     - исправлена компиляция утилит (conv, lname, smpgrep, etc.)

#############################################################################
#                                                                           #
#  4.0 -> 4.0.1  (19 апреля 2000)                                           #
#                                                                           #
#############################################################################

 * Введена поддержка украинского и белорусского языков (см. параметры
   UKRAINIAN_SUPPORT, APPLY_CYR_RUSCII и APPLY_ISO_GHE файла ./src/zdefs.h)
 * Исправлены следующие обнаруженные ошибки:
     - В CGI модуле не считывались некоторые переменные окружения
     - Исправлена опечатка, мешавшая компиляции при выключенном параметре
       FLUIDS_CYR_CONVERT в файле ./src/cfg.h
     - Мог быть выдан неверный номер строчки конфигурационного файла при
       ошибочно заданной директиве (спасибо "Dmitry" <dima@elvis.ru>)
     - В ./examples/index/index.cfg исправлена 35-я строчка с
           #TempDir = c:\temp
       на
           #TempDir = c:\\temp
     - В том же файле исправлена 207-я строчка с
           replace = beginnig  "f://www"     "http://www.site.ru"
       на
           replace = beginning "f://www"     "http://www.site.ru"
       (спасибо "Dmitry" <dima@elvis.ru>)
     - Некоректные mime-типы "plain/text" и "plain/html" были переименованы
       в правильные "text/plain" и "text/html" (это важно для
       конфигурационного файла индексации; впрочем, старые типы сохранены
       в целях совместимости)
     - Исправлен поиск по именам проиндексированных документов
     - Исправлен бланк запроса (значение для параметра qt было неверным)

#############################################################################
#                                                                           #
#  4.0b5 -> 4.0 (26 мая 2000)                                               #
#                                                                           #
#############################################################################

 * Добавлена поддержка "проэкций файлов" (вызов mmap()), соответствующим
   образом переработан код, чтоб избавиться от ставших ненужным копирований;
   в результате скорость обработки данных индексного файла еще немного
   возрасла.
 * Изменен формат индексного файла, поэтому потребуется полная
   переиндексация.
 * Исправлены следующие обнаруженные ошибки:
     - усилен контроль за содежимым индексного файла;
     - исправлена ошибка в модуле поиска, приводившая к значительному
       замедлению процесса поиска на сложных запросах вида "a* and b* or c*"
       или "*?ware".

#############################################################################
#                                                                           #
#  3.11.4 -> 4.0b5 (17 мая 2000)                                            #
#                                                                           #
#############################################################################

 * Платформо-независимый формат индексного файла.
 * Введена эмуляция поиска с учетом регистра ключевых слов.
 * Усовершенствованный формат индексного файла.
 * В ключевых словах поиска можно применять метасимволы '*' и '?'
   (в любом месте ключевого слова).
 * При индексации возможно применение нескольких своп-файлов, причем
   сама скорость своппинга возрасла. В результате время индексации для
   больших объемов информации существенно сократилось.
 * С помощью программы flmerge можно объединять сразу несколько
   индексных файлов (ранее можно было только два).
 * Формат выхода программы flsearch теперь можно расширить, задав в
   командной строке опцию -e.
 * Программа fldump теперь может выводить для данного индекса простой
   список проиндексированных файлов (опция -c) и список проиндексированных
   слов для данного проиндексированного файла (опция -n; имя файла (или URL),
   указанного при этой опции, должно в точности совпадать с каким-нибудь
   именем, хранимым в индексном файле). Также можно подавить выдачу данных
   заголовка индексного файла (опция -h).
 * Исходные тексты библиотек и исполняемых модулей переписаны таким образом,
   чтобы было возможным их использование в многопоточной среде.
 * Добавлен Makefile для компиляции под MSVC++ 5.0 (makefile.vc5).
 * Существенно изменен конфигурационный файл индексации.
 * Директивы FormBG и SearchBG переименованы в FormBackground и
   SearchBackground в конфигурационном файле CGI модуля.
 * Отменены разные профильные файлы для различных моделей представления
   результатов поиска в CGI модуле; если есть необходимость задания
   различного формата для разных моделей, то можно использовать переменную
   профильных файлов $MODEL_NUMBER вкупе с оператором $if.

#############################################################################
#                                                                           #
#  3.11.3 -> 3.11.4  (14 февраля 2000)                                      #
#                                                                           #
#############################################################################

 * В конфигурационный файл CGI модуля в раздел [main] добавлена директива
   BodyTagAddition для задания аттрибутов у тега <body> генерируемых
   страниц (по просьбе archy@alien.ru).
 * Исправлены следующие обнаруженные ошибки:
     - CGI модуль не осуществлял перевода ключевых слов в запросе в нижний
       регистр (вернее, осуществлял, но неправильно). (Спасибо
       "Andrey A. Kozulin" <andrey@kaa.lota.udmurtia.su>.
       Эта ошибка неофициально была исправлена еще в 3.11.3 :);
     - при индексации с установленным IgnorePercentLimit возможно было
       получить SEGSEGV с корой. (Спасибо "Valery Sukhikh" <suh@udmene.ru>);
     - различные другие неточности...

#############################################################################
#                                                                           #
#  3.11.2 -> 3.11.3  (16 июля 1999)                                         #
#                                                                           #
#############################################################################

 * В профильные файлы добавлены новые переменные и введены операторы,
   главным образом для того, чтобы была возможность самостоятельной
   реализации переменной OTHER_RESULT_PAGES. (Сделано по настоянию
   Max Makarenko <max@krypton.kiev.ua>)
 * Создана новая служебная программа fldump для распечатки информации,
   содержащейся в индексном файле.
 * К параметрам CGI модуля добавлен новый, с именем word, для определения
   кодировки клиента, когда идет обращение к поисковой системе со статичной
   страницы.
 * Исправлены следующие обнаруженные ошибки:
     - возникал SIGSEGV, если поиск велся по слову "0", а такого слова в
       индексе не было;
     - неперекодировалась info-часть индексного файла, если он находился не
       в рабочей кодировке FLUIdS;
     - при выводе на экран сложного запроса пользователя программой flsearch
       выдавались ненужные символы перевода строки ('\n');
     - если рабочая кодировка FLUIdS определялась как ibm866 (альтернативная),
       то при индексации символ псевдографики с кодом 180 превращался в букву
       'е';
     - и некоторые другие.

#############################################################################
#                                                                           #
#  3.11.1 -> 3.11.2  (5 апреля 1999)                                        #
#                                                                           #
#############################################################################

 * Введены переменные, которые могут быть использованы в любом профильном
   файле.
 * Добавлены новые переменные профильных файлов.
 * Созданы примеры использования всего набора профильных файлов для
   представления бланка запроса и результатов поиска в стиле поисковых систем
   "Апорт", "Следопыт" и в свободном стиле #1.
 * Для исполняемых в режиме командной строки модулей поисковой системы теперь
   можно задавать кодировку (через опцию -p), в которой должны будут
   выводиться все сообщения.
 * Для версий под MS Windows и OS/2 эта кодировка установлена по умолчанию
   в ibm866.
 * Для версии под OS/2 исправлена эмуляция opendir()/readdir()/closedir()
   (спасибо GlassMan <glassman_ru@geocities.com>).
 * Для случая, когда CGI модуль настроен на самостоятельную перекодировку,
   вывод русских букв в ссылках осуществляется в escape-виде
   (т.е. через %xx) (спасибо GlassMan <glassman_ru@geocities.com>).
 * Устранены проблемы при компиляции на Solaris 2.5.1 с gcc 2.7.2
   (спасибо Dmitry Zykin <zdv@uaz.ru>).
 * Исправлены некоторые неточности в программном коде.

#############################################################################
#                                                                           #
#  3.11 -> 3.11.1  (15 марта 1999)                                          #
#                                                                           #
#############################################################################

 * Введена поддержка профильного файла бланка запроса. Теперь можно создать
   свой бланк запроса.
 * К переменным результативного профильного файла добавилась переменная
   URL_TEXT для правильного вывода адреса ссылки в текстовом виде.
 * Добавлены параметрические переменные $color и $env для всех видов
   профильных файлов.
 * Если строка запроса пуста или вообще отсутствует в аргументах вызова CGI
   модуля, то вне зависимости от значения аргумента w генерируется страница
   с бланком запроса.

#############################################################################
#                                                                           #
#  3.10.4 -> 3.11  (3 марта 1999)                                           #
#                                                                           #
#############################################################################

 * В конфигурационный файл CGI модуля в блок main добавлена директива
   Options. Она позволяет разрешать или запрещать выдачу тех или иных
   элементов генерируемых страниц.
 * В исходный код FLUIdS внесены изменения, позволяющие применять ее в
   операционной среде OS/2. (Отдельное спасибо GlassMan <glass@skib.ru>)
 * В конфигурационном файле CGI модуля в блоке main вместо директив
   HeaderFile и FooterFile введены 6 новых директив: FormHeaderFile и
   FormFooterFile, SearchHeaderFile и SearchFooterFile, TopContentFile и
   BottomContentFile.
 * К имени конфигурацинного файла, задаваемого через параметр cfg вызова
   CGI модуля, теперь добавляется постфикс ".cfg".
 * Проверен англоязычный интерфейс (особое спасибо Виктору Садикову
   <1370537@writeme.com>, который также осуществил перевод на английский
   язык краткой справки по запросу).
 * Введена поддержка профильных файлов, с помощью которых можно определить
   свой, отличный от стандартного, формат представления результатов поиска.
 * Исправлены следующие обнаруженные ошибки:
     - в исходных текстах были неверно прописаны HeadAdditionFile & HeaderFile;
     - не выдавался текст общей ошибки zerFileOpen (вместо него выводилось
       "???");
     - для общей ошибки не сообщался ее номер (конечно, при ее возникновении);
     - индексация завершалась с сообщением "Cann't write temporary file: no
       such file or directory". (Эта ошибка проявлялась в операционных средах
       OS/2, Linux и Solaris, когда индексировался файл с пустым title или
       content. Спасибо GlassMan <glass@skib.ru>, Денису <kdb@nevod.ru> и
       Михаилу Пелевину <pelevin@nns.ru>);
     - в утилите smpgrep не учитывались шаблонные части в передаваемых ей
       аргументах. Так при выполнении команды
          smpgrep -r text "f:\\sources\\*.c"
       игнорировалась шаблонная часть "*.c" в последнем аргументе;
     - нашлась ошибка в создаваемом окне результатов. Она проявлялась, если
       запрашивали страницу результатов с порядковыми номерами, превышающими
       10000.

#############################################################################
#                                                                           #
#  3.10.3 -> 3.10.4  (21 декабря 1998)                                      #
#                                                                           #
#############################################################################

 * В конфигурационный файл CGI модуля введен дополнительный конфигурационный
   блок user-agent, с помощью директив которого может быть определена
   кодировка клиента по используемому пользователем браузеру.
 * Код JavaScript, генерируемый CGI модулем для браузера Netscape Navigator
   теперь выдается перед теми тегами HTML, в которых он используется.
 * Исправлена опечатка в исходных текстах, из-за которой было проблематично
   пользоваться директивой disallow блока index конфигурационного файла
   CGI модуля.

#############################################################################
#                                                                           #
#  3.10.2 -> 3.10.3  (16 декабря 1998)                                      #
#                                                                           #
#############################################################################

 * В конфигурационный файл CGI модуля в блок [index] добавлены директивы
   allow и disallow для определения IP адресов или имен станций Интернет, с
   которых разрешен или запрещен доступ к данному индексу.
 * Немного изменен бланк запроса, выдаваемый CGI модулем.
 * JavaScript код сгенерированных CGI модулем страниц перенесен из
   <head>...</head> в <body>...</body>.
 * Исправлены обнаруженные ошибки:
     - исправлена опечатка в flmerge, которая могла привести к SIGSEGV;
     - структура index_t переименована в confindex_t (при компиляции на
       Solaris 2.5.1 старое название интерферировало с определением в
       sys/types.h; спасибо Михаилу Пелевину <pelevin@nns.ru>);
     - ключевые слова в пользовательских запросах не переводились в нижний
       ригистр;
     - исправлены выдаваемые окончания для русских слов, употребляемых
       совместно с числами 12, 13 и 14, например: "НайденО 12 документОВ"
       (ранее выдавалось "Найдено 12 документа");
     - в скобочных метасимволах подкорректировано экранирование.

#############################################################################
#                                                                           #
#  3.10.1 -> 3.10.2  (30 ноября 1998)                                       #
#                                                                           #
#############################################################################

 * Произошла смена курса в сторону отказа от прямого обслуживания стоп-слов
   и коротких слов:
     - в запросах на поиск стоп-слова игнорируются;
     - в конфигурационный файл индексации введены директивы MaxWordLength и
       MinWordLength (аналоги параметров компиляции MAX_WORD_LENGTH и
       MIN_WORD_LENGTH);
     - соответствующим образом измененены начальные установки;
     - внесены изменения в examples.
 * Добавлена утилита smpgrep.
 * Поправлена автоконфигурация для функции qsort.
 * К принятому по умолчанию списку ValidWords добавлено слово vm.
 * Исправлены обнаруженные ошибки:
     - запросы вида !word (здесь восклицательный знак должен означать not),
       где символьные эквиваленты булевых операций вплотную прилегают к
       ключевому слову, обрабатывались неверно (но в тоже время запросы вида
       ! word - где между ! и ключевым словом вставлен пробел - понимались
       правильно);
     - при открытии индексного файла, сформированного в кодировке, отличной
       от текущей, не перекодировались стоп- и valid-слова;
     - при индексации гипертекстовых документов учитывался текст между
       тегами <SCRIPT>...</SCRIPT> и <STYLE>...</STYLE> (где имена тегов
       написаны большими буквами, для тегов же, написанных в нижнем
       регистре, текст между ними справедливо игнорировался).
 * Переработаны таблицы перекодировок (важно для прилагаемых к FLUIdS
   утилит xxx2yyy).
 * В документацию добавлено описание поддерживаемых кодировок.

#############################################################################
#                                                                           #
#  3.10 -> 3.10.1  (23 ноября 1998)                                         #
#                                                                           #
#############################################################################

 * В конфигурационный файл индексации введены новые директивы:
     - RejectWords - фильтрация индексируемых слов по шаблону;
     - MaxMemoryVolum - задает ограничение на размер индекса слов, хранимого
       в оперативной памяти компьютера;
     - TempDir - определяет директорию для хранения временных файлов.
   Кроме того, директивы IgnoreFilesLimit и IgnorePercentLimit перенесены
   из конфигурационного блока main в блок words.
 * Значительно расширен принятый по умолчанию список стоп-слов, а также
   пополнился список ValidWords.
 * В индексный файл по окончании процесса индексации теперь сбрасываются
   только те стоп-слова, определенные "статически", т.е. директивой
   CommonWords, которые реально встретились в текстах индексируемых файлов
   (ранее сбрасывались все).
 * По недоразумению присутсвовало ограничение на число генераций имен
   временных файлов (могло быть сгенерировано только 1000 имен). Сейчас
   подобное ограничение снято.
 * Для кодировки koi8-r, в которой русские буквы расположены в таблице
   символов не в алфавитном порядке, исправлено сравнение скобочных
   метасимволов вида [б-г] в шаблонах с русскими буквами.

#############################################################################
#                                                                           #
#  3.9.2 -> 3.10   (16 ноября 1998)                                         #
#                                                                           #
#############################################################################

 * Изменен формат индексного файла (так что необходима полная переиндексация).
   В результате:
     - в заголовок индексного файла добавлен идентификатор кодировки, в
       которой тот находится;
     - форматы индексных файлов, сформированных в UNIX (32 битном) и
       MS Windows совпадают (имеется в виду платформа Intel). Теперь можно
       их использовать совместно;
     - в связи с новыми возможностями FLUIdS теперь необходимо определять
       параметр компиляции FLUIDS_LOCAL_CHARSET (./src/cfgrus.h) и
       соответствующий его значению APPLY_CYR_*. В противном случае
       исполняемые модули FLUIdS (кроме flmerge) выдадут ошибку
       "Неизвестная кодировка xxx", где xxx - значение вышеупомянутого
       параметра компиляции FLUIDS_LOCAL_CHARSET. Все это не важно, если
       отключена поддержка русского языка;
     - flmerge способен объединять только индексные файлы, находящиеся в
       одной кодировке (или ни в какой, если индексный файл создавался
       при отключенной поддержке русского языка). Для объединения разно-
       кодировочных индекных файлов необходима специальная программа-
       перекодировщик для индексов, но она пока отсутствует.
 * Обновлены библиотеки libz и libcgi.
 * Добавлены функции определения отрезков времени (с точностью до милли-
   секунд); теперь поисковые модули сообщают время, затраченное на поиск.
 * Изменен формат, в котором хранятся выделенные моменты времени (время
   создания индексного файла, время последнего изменения индексируемого
   документа и т.д.)
 * В собщаемой CGI модулем дате последней модификации найденного документа
   месяц указывается по-русски (если включена поддержка русского языка).
 * flsearch теперь сообщает кодировку индексного файла и число найденных в
   нем результатов поиска.
 * Убран за ненадобностью параметр компиляции SMALL_INDEX.
 * Переименованы параметры вызова CGI модуля
   (./src/fluids/fluids.cgi/queryprm.c/h): "what" -> "w",
   "form" -> "frm", "search" -> "sch", "conf" -> "cfg", "charset" -> "cs",
   "query" -> "q", "qtype" -> "qt", "terse" -> "trs", "eform" -> "ef",
   "iform" -> "if".
 * Обнаружены и устранены очередные ошибки (или недоделки):
     - в подпрограммах работы со строками библитеки libz введена проверка
       на обработку пустой строки (можно было получить SIGSEGV);
     - совершался преждевременный выход из подпрограммы cgiWriteValueString
       (./src/libcgi/cgio1.c), когда в выводимой строке встречался один из
       особо обрабатываемых символов;
     - неверно определялось число скрытых индексов для "внутренней" формы
       поиска. В результате на вызов CGI модуля с параметрами вида
              fluids.cgi?qt=if&ind=my&...
       выдавалось сообщение: "Отсутствуют индексы для поиска";
     - не принималось во внимание значение параметра компиляции MAX_HITS;
     - для файловых шаблонов в MS Windows установлена окончательная
       поддержка независимых от регистра имен файлов (ранее в шаблоне вида
       [ch] нужно было прописывать и соответстующие заглавные буквы: [cChH]);
     - метасимвол '*', стоящий в конце ключевого слова в запросе, пропадал
       после поиска по первому индексу, так что, если в поиске участвовало
       несколько индексов, его результаты оказывались некорректными;
     - удален вспомогательный код в файле ./src/fluids/index/wordlist.c,
       который при индексации очень больших объемов информации приводил к
       сильной дефрагментации аллокированных участков памяти, и в конечном
       итоге к отказу со стороны операционной системы в дальнейшем выделении
       памяти;
     - поправлены функции cgiGetAgentType() и cgiGetAgentVersion() (файл
       ./src/libcgi/cgiagent.c);
     - для компиляторов, в которых отсутствует функция snprintf, вставлены
       в форматные строки ограничения на число выводимых из аргументной
       строки символов, например: "%.900s".
 * При компиляции команда 'make convertors' теперь создает только
   перекодировщики (xxx2yyy). Чтобы скомпилировать все прилагаемые к FLUIdS
   утилиты, необходимо выполнить 'make utils'.
 * К принятому по умолчанию списку ValidWords добавлены слова "ад", "ом",
   "си", "уж", "ус", "юг" и "яд" (если включена поддержка русского языка).

#############################################################################
#                                                                           #
#  3.9.1 -> 3.9.2   (1 ноября 1998)                                         #
#                                                                           #
#############################################################################

 * Добавлен make-файл для компиляции под MS Windows 95/NT (для компилятора
   Borland C++ 5.0). Кроме того, протестирована работа FLUIdS под MS IIS 3.0.
 * Введена новая утилита repl, используемая при перекодировке исходных
   текстов системы. Теперь эта процедура значительно упрощена.
 * При выполнении процедуры перекодировки исходных текстов FLUIdS
   перекодируются также документация и примеры.
 * К принятому по умолчанию списку ValidWords добавлено слово cd.
 * Немного подправлена автоконфигурация.

#############################################################################
#                                                                           #
#  3.9 -> 3.9.1   (19 октября 1998)                                         #
#                                                                           #
#############################################################################

 * Добавлены утилиты перекодировки (xxx2yyy, где xxx и yyy - сокращенные
   имена кодировок), которые используются для перевода исходных текстов
   системы FLUIdS из koi8-r в другую кодировку.
 * Введена возможность индексирования документов, находящихся в разных
   кодировках.
 * Ограничено начальное выделение памяти CGI модулем под результаты поиска.
 * Поправлен verbose output у программы flindex.
