
History
-------

24 September 2000: 3.0.23
	* Memory leak in PostgreSQL driver has been fixed.

4 September 2000: 3.0.22
	* A bug that indexer did not understand spaces and special
	characters in file: URL scheme has been fixed.
	* A bug which caused wrong document charset in some cases 
	has been fixed.
	* A bug that "last_index_time" field was not modified has been fixed.
	* Danish stop-list has been added

25 August 2000: 3.0.21

	* A bug which caused hard CPU loading in threaded version
	has been fixed. Thanks Peter Hanecak <hanecak@megaloman.com>
	for this.
	* A bug which caused external parsers hangup sometimes has been fixed.
	* Some configure.in improvements.
	* --disable-file were not work.
	* Bugs in robots.txt and gethostbyname() mutexes locking have been fixed.

25 July 2000: 3.0.20

	* A bug in URL cache which was a reason of losten links
	has been fixed. Thanks Willem Brown <willem@brwn.org>
	for discovering this problem.
	* Polish stop-list has been added. Thanks Maciek Uhlig 
	<muhlig@us.edu.pl> for contribution.
	* A patch by Matthew Sullivan <matthew@netscape.com>
	for NEWS extensions has been applyed. This fixes the problem 
	of the indexer not storing the text of a news message if it 
	is submited as a multipart mime message.
	* A minor bug in ispell support has been fixed.
	* Content-Type field were not escaped. This caused 
	SQL failure in some cases.
	* A bug in external parsers code has been fixed.
	* A bug which appeared when HREF has leading or traling spaces
	has been fixed.
	* -lz has been added to fix compilation problem with latest
	MySQL versions.
	* crc32() function has been rnamed to avoid compilation
	problems on some platforms.


28 Jun 2000: 3.0.19

	* A bug in "No title" output has been fixed
	* A bug in Central Europe cp1250 and iso-8859-2 charsets
	has been fixed.
	* A bug in indexer -S wich appeared with Oracle native support 
	has been fixed.

14 Jun 2000: 3.0.18

	* Several improvements in PHP front-end.
	* $q template variable to display URL escaped search query has been 
	added. You can use it for links like for example "find the same in 
	AltaVista".
	* A minor bug in <TITLE>..</TITLE> processing has been fixed.
	* A minor bug which caused compilation failure on AIX has been fixed.
	* A minor improvement for <OPTION> processing has been done.
	* A bug in <BASE HREF=".."> and "DeleteNoServer no" combination
	which caused indexer to follow outside desired area has been fixed.
	* search.cgi outputs "No title" line now instead of empty string when
	document has not title. 

31 May 2000: 3.0.17

	* A minor bug in charset stuff which caused crashes in
	some cases has been fixed.
	* Minor bugs in URL parser have been fixed.
	* Minor bug in URL list importer.

25 May 2000: 3.0.16

	* Several minor bugs have been fixed in PHP front-end.
	* configure script has been fixed to support Oracle8i. 
	Use "configure --with-oracle8i[=/path/to/oracle]".
	* Search results when "ul=" is given were not 
	sorted by score with built-in dastabase support.
	* New template "$g" variable has been added. It 
	is replaced by "t=" (tag) value. Check search.htm-dist
	for usage examples.


16 May 2000: 3.0.15

	* -L -D -A and -d indexer command line arguments have added to
	load ispell data into database.
	* "IspellMode db" search.htm template variable has been added
	to load ispell data from database by search.cgi 
	* <!--UdmComment--> and <!--/UdmComment--> special
	tags processing has been added in HTML parser. It is
	possible to hide unnecessary text from indexing now.
	* &#220; character notation processing has been added.
	* Checking for snprintf has been added into configure script.
	This should fix compile problems on Digital UNIX V4.0F.
	* Some bugs in ispell stuff of search.c has been fixed.
	* Some locale-related improvements and speed improvements have
	been made in PHP front-end.
	* Patch by Andrej Filipcic <Andrej.Filipcic@ijs.si>
	to avoid "duplicate key" error messages with MySQL-3.23.15
	has been applied.
	* A bug that the t (tag) parameter were not given in links
	to next/previous pages in search.c has been fixed.
	* A bug in "indexer -k" has been fixed.
	* A bug in If-Modified-Since header composing has been fixed.
	* Minor bugs in HTML parsers have been fixed. This makes indexer
	more stable for incorrect HTML documents, for example, when <title>
	is not closed, etc.


7 May 2000: 3.0.14a
	* Several bugs (since 3.0.14) have been fixed

4 May 2000: 3.0.14

	* "crc" and "crc-multi" modes for built-in database has been added.
	These modes uses fast binary files. Now UdmSearch works very fast 
	with built-in database for big enough sites.
	* Bugs in PHP front-end error messages reporting and dropping 
	temporary tables in "multi" modes for MySQL have been fixed.
	* Some PHP front-end improvements.
	* More nice error reporting when URL is too long.
	* Patch by The Hermit Hacker for faster search under PostgreSQL
	when "ul=" is specified has been applied.

30 April 2000: 3.0.13

	* "crc-multi" storage mode has been implemented.
	* "multi" and "crc-multi" modes have been implemented in
	PHP search front-end.
	* "udm-config" script is now installed into the /bin
	directory of UdmSearch. Script detects dependencies
	required by libudmsearch to allow easier use of libudmsearch
	in third party applications. Thanks Bob Smith <bob@cs.csoft.net>.
	* "DBAddr" indexer.conf and search.htm command has been
	added. One may configure all database parameters with one
	command now: "DBAddr mysql://user:passwd@hostname:port/database_name/".
	Old style DBType, DBUser, DBPass, DBHost, DBPort, DBName commands
	will be removed in one of next releases.
	* Minor URL parser improvements.

24 April 2000: 3.0.12

	* Several PHP front-end improvements
	* Patch by Willem Brown for new "HrefOnly" indexer.conf
	command has been applied. Original Willem's code has been 
	extended to support "HrefOnlyNoMatch" command.
	* Minor bug in Oracle7 support has been fixed.

19 April 2000: 3.0.11

	* "Clones yes/no" indexer.conf and template command has been added.
	* "crc" mode support in PHP frontend has been added.
	* $if(filename) template command to include other
	tempate files from current one has been added. It
	has been implemented in both PHP and CGI frontends.
	* A bug that search.c were not work in some cases under
	Netscape Enterprise HTTP server has been fixed.
	* search.cgi does not allow now very big page sizes (>100 by
	default) to be passed. That could crash or slow down server earlier.
	* indexing speed improvements. indexer now works about 20% faster.
	* libudmsearch improvements
	* Several PHP frontend improvements
	* It is possible now to describe several (up to 100) search 
	result output types in template. One may choose for example 
	"Long", "Short" etc. search results types. This feature is 
	supported in both PHP and C CGI versions.

5 April 2000: 3.0.10

	* UrlHostWeight, UrlPathWeight, UrlFileWeight indexer.conf commands
	have been added.
	* EasySoft ODBC-ODBC bridge support has been added.
	* Native Oracle7 support has been added.
	* Oracle7 support in PHP frontend has been added.
	* "DBType MSSQL" and "DBType Oracle7" has been added.
	* Some bugs in Oracle8 support have been fixed.
	* Patch by Marcin Marszaek <azzie@staszic.waw.pl>
	for URL filter in search.cgi in built-in text mode
	has been applied.
	* Patches by Heiko Stoermer <stoermer@innominate.de> 
	for extended NEWS mode have been applyed
	* Some multi-threaded version impovements
	* Little bug in random numbers generation (which might be required
	for including banners into template) has been fixed
	* Bug in indexer.conf parser has been fixed (bug since 3.0.9)
	* Some HTDB improvements and bug fixes
	* <BASE HREF="xxx"> processing has been added.
	* Wrong --with-syslog=<facility> configure behaviour has been fixed
	* Several bugs have been fixed

15 March 2000: 3.0.9

	* Ispell suport in PHP frontend has been added


9 March 2000: 3.0.8

	* New "crc" storage mode has been added. When running
	in this mode UdmSearch does store 32 bit numeric word IDs
	calculated by CRC algorythm. This mode allows to reduce
	required disc space as well as speed up search.
	* MinWordLength, MaxWordLength, NumberFactor, AlnumFactor indexer.conf
	commands have been added.
	* '-k' indexer command line argument has been added. This 
	option prevents indexer from using locking system with 
	MySQL (LOCK TABLE xxx ... UNLOCK TABLES) and 
	PostgreSQL (BEGIN WORK...END WORK) backends.
	* Some Oracle related improvements and bug fixes
	* Minor bugs in HTML parser have been fixed
	* search.cgi hilights query words in search results since now
	* checking of UDMSEARCH_TEMPLATE environment variable has been 
	added into search.cgi. You may specify this variable to tell
	search.cgi to open different template instead of default one. 


29 February 2000: 3.0.7

	* Native Oracle8 support has been added. Some Oracle 
	related documentation is available in doc/UdmSearch-Oracle8.html.
	* libudmsearch.a creation has been added. One may easily create
	own search scripts now using udmsearch library.
	* indexer can parse https:// URL type since now. This allows
	to use https:// URLs in combination with Alias command. Note that
	HTTPS protocol itself is not implemented though.
	* URL file list can be read from STDIN now by using "indexer -f -"


23 February 2000: 3.0.6

	* DNS resolve related bug on DEC has been fixed
	* The bug which caused repeatedly looking at the same URLs
	with built-in database support has been fixed.
	* Added IspellCorrectFactor, IspellIncorrectFactor indexer.conf commands
	Now it is easily to configure indexer to work in "spell checking" mode.
	Check /doc/ispell.txt for details
	* Added "ue" search.php3 parameter to exclude matched URL
	from search. It has reverse effect with "ul" parameter.

21 February 2000: 3.0.5

	* Added --enable-linux-pthreads configure parameter
	to compile multi-threaded indexer on Linux machines
	* Added --enable-freebsd-pthreads configure parameter
	to compile multi-threaded indexer on FreeBSD machines

19 February 2000: 3.0.4

	* Added built-in text files support. UdmSearch may be compiled
	without any SQL databases since now. UdmSearch with text files do not
	support all functionality of SQL version but it works very well
	and fast with small sites up to 1000 documents.
	* Added Arabic cp1256 character set support.
	* Added DBMode indexer.conf and search.htm command. It will
	allow to choose single/multitable storage model in configuration
	instead of selecting at installation time.
	* Added PostgreSQL support in new PHP frontend in both single
	and multi table storage model.
	* Some "ftpsearch" mode and syslog related bugs have been fixed.

15 February 2000: 3.0.3

	* New "-f <file>" argument for indexer to allow to pass a filename
	with URL list. This file is expected to be a list of URLs to be inserted,
	re-indexed or cleared. SQL '%' wildcard are supported in file. 
	* New -i option tells indexer to insert at startup any URLs passed 
	via -f or -u
	* New -w option suppresses warnings before clearing URLs.
	* Added DeleteNoServer indexer.conf command
	* New PHP front-end for MySQL in single "dict" mode and for Oracle 
	in both single/multi dictionary mode.
	* Added Russian automatic charset guesser for all popular character sets:
	koi8-r, windows-1251, iso-8859-5 and x-mac-cyrillic
	* Several bug fixes.

02 February 2000: 3.0.2

	* Some indexing speed improvements
	* search.cgi speed improvements when many (>10000) results are found
	* indexer follows this links now
	<LINK .... href="http://server/inhalt2.htm">
	* Several bug fixes in sources and configure.in

25 January 2000: 3.0.1

	* Added native InterBase support. Tested with IB 4.0 for FreeBSD.
	* indexer can do mirror on local disc now.
	* One may generate site form database now using mirroring combined
	with HTDB features.
	* Added language guesser. Added new field 'lang' into the structure of 
	stopwords table for language guesser. Old users should update structure.
	Take a look at /create/you_db and /create/stopwords directories to
	check new structure.
	* indexer can follow these URLs now:
	<META HTTP-EQUIV="Refresh" Content="3, URL=http://www.name.com/page.html">
	<IMG SRC="...">, It is usefull for link validation mode etc.

13 January 2000: 3.0.0

	* Added DBType indexer.conf command. It will allow
	UdmSearch compiled with ODBC to take in account
	database specific stuff. mSQL, Oracle and Solid
	types are recognized now. Other backends have default
	behavor.
	* Added "multidict" mode. It allows to store
	words in different tables depending of words length.
	Use --enable-multidict parameter to configure to enable
	this feature.
	* Some improvements in stopword searching
	* DeleteBad is now "no" by default
	* MySQLHost, MySQLUser, MySQLPass commands are not longer
	supported. Use DBHost, DBUser, DBPass, DBName instead
	* Added  a possibility to remember selected
	<OPTION> in search.cgi
	* Added htdb: virtual URL schema to support
	database fields indexing
	* One may run search.cgi from command line now
	It takes argv[1] as search query
	* One may put HTML template directly in Apache
	directory structure and use it through AddType/AddHandler
	It easily allows to use search.cgi with different templates
	* Main code is rewritten to support threads
	* UdmSearch is installed in /usr/local/udmsearch/ by default now


05 January 1999: 2.2.1b
	* Some bugs from previous release was fixed

25 November 1999: v2.2.1

	* Added AllowNoMatch, DisallowNoMatch, CheckOnlyNoMatch
	indexer.conf commands to easy manage URLs limitations

24 November 1999: v2.1.9

	* Added Solid support
	* Added unixODBC support
	* Added PostgreSQL PHP frontend with query language
	Porting from MySQL by ZioBudda <michel@michel.enter.it>
	* MySQL PHP frontends are not installed by default anymore

16 November 1999: v2.1.8

	* Added iODBC support
	* Some bug fixes
	* Czech stoplist by Builder <cbob@ms.anet.cz>

3 November 1999: v2.1.6

	* Added NNTP (news:) support
	It is possible to organize search through news groups now
	Take a look at doc/samples/news.conf
	* Added AddType indexer.conf command.
	This command associates filename extensions 
	(for services that don't automatically include them
	like file:) with a mime type
	* Some other file: improvements

18 October 1999: v2.1.5

	* robots.txt support did not work with "FollowOutside yes", fixed
	* Added file: URL. One could index local files now
	* Added Alias indexer.conf command
	* Added miniSQL support
	* Added perl frontend by Rohan Baxter <rohan@ultimode.com>
	search.pl matches functionality of search.php3 for version 
	udmsearch-2.1.3	except for use of Rand variables 
	* Added sorting by rate/modification date in search.cgi
	* Added HTTPHeader indexer.conf command to add user defined
	headers in HTTP requests
	* Fixed bug in reaping zombies of external parser processes
	Thanks Manfred Bathelt <Bathelt@3SOFT.de>
	* Fixed some bugs in new database interface (bugs since 2.1.4.b1)

30 September 1999: v2.1.4 b1

	* Added PostgreSQL support
	* Added italian stoplist
	* Added page navigator template
	* Fixed a bug in html template when title, 
	description or text contains a special html characters like &<>
	* Fixed a bug in cp1250 -> iso-8859-2 conversion

18 September 1999: v2.1.3
	* Added <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=xxx"> 
	support to determine charset

17 Sep 1999: v2.1.2

	* Added ISO-8859-1, ISO-8859-2, cp1250 charsets support
	* Added ISO-8859-2 - cp1250 conversion (both direct and reverse)
	* Added LocalCharset command in html template
	* Added build-in vsnprintf for platforms which don't have one
	* Added fr,ua,es stoplists
	* Added ForceIISCharset1251 option to deal with broken MS IIS servers
	* search.php3 and morph.php3 speed improvements
	* Fixed stopword-related bugs in search.php3/morph.php3
	* Fixed core dump bug in logging
	* Fixed MySQL parse error when TITLE contains
	special characters like ' and \
	* RPM cleanups

29 June 1999: v2.1
	
	* IMPORTANT! Database structure has been modified. Please apply
	create/alter20-21.txt SQL script to fix database structure.

	* Added support for templates to easily customize search results
	appearance. See doc/templates.txt for details.

	* Added support for different word forms. UdmSearch uses ispell
	affixes and dictionaries. For example, if you are searching for
	the word 'test', documents contained words tested, tester, testers,
	testing, testings, tests will be found as well. Multiple languages
	are supported. This was tested for English and Russian, but it
	should be extremely easy for other languages too. Ispell is
	supported in both search.cgi and morph.php3 frontends.
	search.php3 works without ispell support, but with boolean logic
	query language.

	* Added support for external parser programs (e.g. programs which can
	convert different formats to plain text or html).
	Tested with .sgml, MS WORD .doc, man files. Adding your own
	parsers is extremely easy.

	* indexer now uses syslog for logging its messages by default.

	* Added different verbose levels.

	* MD5 hash of every document is stored in database. This is used by
	search to show document clones, well, documents with the same contents
	but different locations. It is also used by indexer itself to decide
	whether to parse document again or not, which further improves indexing
	speed. If you are upgrading from previous verion, please use
	'indexer -a -m' to reindex proper all documents. Option -m prevent
	indexer from sending 'If-Modified-Since' HTTP header.

	* Various improvements and bugfixes.

21 Apr 1999: v2.0

	Uncompatible changes! Changed structure of table "url".
	Check 'create/alter19-20.txt' script to fix structure.

	* Added configure script to easy installation on different platforms.

	* Added robots.txt and <META Name="robots"...> support.

	* Added META keywords and description processing.
	Now UdmSearch will find document first by default
	if there given words are found in keywords or description.
	UdmSearch stores keywords and description in database.

	* Added many new indexer.conf file commands

	* Added some nice command line arguments to indexer
	* Now one could easy reindex only subsection of database with given 
	filter(s): tag, URLs those match given patern (sql LIKE wildcards)
	or URLs with given HTTP status code.
	* One could easy reindex URLs even if not expired yet.
	* Now indexer can show some statistics of whole/part database.
	* One could easy delete URLs with given filter(s) or clear whole
	database.

	* Some fixes and nice changes in search.cgi and search.php3

29 Dec 1998: v1.9
	* Added basic http authorization (base64-encodes login:password)
	* Added automatic reconnect to mysql server
	* Fixed some problems with FTP via proxy

17 Dec 1998: v1.8
	* Added proxy support.
	* Added FTP via proxy support
	* Added User-Agent in HTTP header

3 Dec 1998: v1.7
	* Added PHP3 frontend
	Thanks for Mustapha MOUGHIT <emoughit@cie.fr> for porting it from php2
	* Added If-Modified-Since in HTTP header
	* Best documents were not found first in search.cgi. Fixed.
	* search.cgi now reports count of found documents

19 Nov 1998: v1.6 
	* Added C cgi program to use it instead php/fi embedded html.
	It does not support advanced search with boolean query language yet.

18 Nov 1998: v1.5
	* Initial public release.
