1.2.8.0 Tue Dec 13 14:45:07 UTC 2011
[Changes contributed by Olly Betts]
- Add note to README about documentation, pointing out that the docs
for Xapian are useful.
- Improve note in README about moving to SWIG-generated wrappers in the
next release series.
1.2.7.0 Wed Aug 10 06:14:53 UTC 2011
[Changes contributed by Olly Betts]
- Note in README that the hand-coded XS wrappers are heading for
retirement.
1.2.6.0 Sun Jun 12 11:55:42 UTC 2011
[Changes contributed by Adam Sjøgren]
- Wrap new method QueryParser::set_max_wildcard_expansion().
(ticket#350)
1.2.5.0 Mon Apr 4 14:00:38 UTC 2011
[Changes contributed by Olly Betts]
- simpleindex.pl - use 'while' to loop over input lines - 'foreach'
reads them all in and then loops over them, while reads and processes
line by line.
- Add '1;' to the end of t/symbol-test/SymbolTest.pm.
1.2.4.0 Thu Dec 19 12:41:49 UTC 2010
[Changes contributed by Olly Betts]
- Xapian exceptions were still being thrown as strings in Perl in
some cases. Now all cases throw a subclass of Search::Xapian::Error.
For compatibility with code which expects the previous behaviour
these subclasses auto-stringify to the string which would have been
thrown before.
- Make sure all Perl files have 'use strict;' and 'use warnings;'.
- Remove superfluous 'use Carp;' from generated error classes.
- t/document.t,t/index.t,t/search.t: Test TermIterator::get_termname().
- Makefile.PL now looks for CXXFLAGS and CPPFLAGS passed on the
command line, and adds them to CCFLAGS in the generated Makefile.
[Changes contributed by Tim Brody]
- New testcase t/10query.t.
[Changes contributed by David F. Skoll and Dave O'Neill]
- Tell DynaLoader to load the module with RTLD_GLOBAL so exceptions
still work when multiple Perl modules which link to xapian-core are
loaded. (ticket#522)
1.2.3.0 Tue Aug 24 06:03:12 UTC 2010
[Changes contributed by Tim Brody]
- Allow user-specified ExpandDecider to be specified to get_eset().
[Changes contributed by Jess Robinson]
- Fix bogus "can't find libtool" error when rerunning Makefile.PL and
XAPIAN_CONFIG isn't explicitly specified.
1.1.4.0 Mon Feb 15 14:08:51 UTC 2010
[Changes contributed by Henry Combrinck]
- Add wrappers for the spelling correction functionality (ticket#420).
- Add wrapper for Database::close() (ticket#422).
1.1.3.0 Wed Nov 18 11:00:23 UTC 2009
[Changes contributed by Olly Betts]
- Wrap new Xapian::SerialisationError class.
- Ship simplematchdecider.pl example, which was added in 1.0.13.1 but
accidentally not added to 1.1.1.0.
- Work around odd rerunning of Makefile.PL by MakeMaker when srcdir !=
builddir.
1.1.1.0 Tue Jun 9 13:22:07 UTC 2009
[Changes contributed by Olly Betts]
- Add Search::Xapian::MSet::items() method which returns an array
tied to the MSet (much like Search::Xapian::Enquire::matches(), but
you get easy access to the MSet object itself too).
- Add the ability to tie an ESet to an array and a new
Search::Xapian::ESet::items() method to make use of it.
- Add new translated version of the simple examples from the Python
bindings.
- Add more fully featured examples: full-indexer.pl and
full-searcher.pl.
- Add better test coverage for MatchDecider.
- Catch C++ exceptions from methods of Document and rethrow as Perl
exceptions (ticket#284).
- Add dependency to regenerate Makefile if Xapian.pm changes (since the
former contains a version number extracted from the latter).
1.1.0.0 Thu Apr 22 13:56:31 GMT 2009
[Changes contributed by Andreas Marienborg and Olly Betts]
- Xapian C++ exceptions classes are now wrapped and C++ exceptions
are caught and rethrown in Perl as the wrapped classes.
[Changes contributed by Olly Betts]
- Xapian-core now uses libtool 2.2.x, which has required changes to
the how we cram libtool into the MakeMaker-generated Makefile.
However, there's still a wrinkle in this change - you can't currently
run "make install" in a tree configured to use an uninstalled
xapian-core.
1.0.23.0 Fri Jan 14 04:18:24 UTC 2011
[Changes contributed by David F. Skoll and Dave O'Neill]
- Tell DynaLoader to load the module with RTLD_GLOBAL so exceptions
still work when multiple Perl modules which link to xapian-core are
loaded (ticket#522).
1.0.22.0 Sun Oct 3 12:36:44 UTC 2010
[Changes contributed by Jess Robinson]
- Fix bogus "can't find libtool" error when rerunning Makefile.PL and
XAPIAN_CONFIG isn't explicitly specified.
[Changes contributed by Tim Brody]
- New testcase t/10query.t.
1.2.8:
API:
* Add support to TermGenerator and QueryParser for indexing and searching CJK
text using n-grams. Currently this is only enabled when the environmental
variable XAPIAN_CJK_NGRAM is set to a non-empty value.
portability:
+ Some fixes for warnings when cross-compiling to mingw.
* tests/soaktest/soaktest.cc: With Sun's compiler, random() and srandom()
aren't in <cstdlib> so we need to use <stdlib.h> instead.
1.2.7:
API:
* Document objects now track whether any document positions have been modified
so that replacing a modified document can completely skip considering
updating positions if none have changed. Currently the flint, chert, and
brass backends implement this optimisation. A common case this speeds up is
adding and/or removing boolean filter terms to/from existing documents - for
example this gives an 18% speedup for adding tags in notmuch.
portability:
* Fix -Wshadow warnings from GCC 4.6.
* Fix warning from GCC 3.3.
1.2.6:
API:
* QueryParser:
+ Add new set_max_wildcard_expansion() method to allow limiting the number of
terms a wildcard can expand to. (ticket#350)
+ If default_op is OP_NEAR or OP_PHRASE then disable stemming of the terms,
since we don't index positional information for stemmed terms by default.
* Spelling correction was failing to correctly handle words which had the same
trigram in an even number of times.
portability:
* Fix to build for mingw.
1.2.5:
API:
* Enquire::get_eset() now accepts a min_wt argument to allow the minimum wanted
weight to be specified. Default is 0, which gives the previous behaviour.
* QueryParser: Handle NEAR/<offset> and ADJ/<offset> where offset isn't an
integer the same way at the end of the query as in the middle.
* Replication:
+ Only keep $XAPIAN_MAX_CHANGESETS changeset files when generating a new one
(previously this variable only controlled if we generated changesets or
not). Closes ticket#278.
+ $XAPIAN_MAX_CHANGESETS is reread each time, rather than only when the
database is opened.
+ If you build Xapian with DANGEROUS mode enabled, changeset files now
actually have the appropriate flag set (the reader will currently throw an
exception, but that's better than quietly handling them incorrectly).
portability:
* api/compactor.cc: Add missing header <ctime> for time() (ticket#530).
* api/compactor.cc: Use msvc_posix_rename() under __WIN32__ to atomically
update stub file after compaction (ticket#525).
* Fix uninitialised variable warnings with gcc -O3.
* Eliminate std::string member of global static object used when compiled with
--enable-log which was causes problems on Mac OS X.
* Fix some issues highlighted by clang++ warnings.
1.2.4:
API:
* QueryParser:
+ Avoid a double free if Query construction throws an exception in a
particular case. Fixes ticket#515.
+ Allow phrase generators between a probabilistic prefix and the term itself
(e.g. path:/usr/local).
+ The correct window size wasn't being set in some cases when default_op was
set to OP_PHRASE.
* Enquire::get_mset():
+ Avoid pointlessly trying to allocate lots of memory if the first document
requested is larger than the size of the database.
+ An empty query now returns an MSet with firstitem set correctly -
previously firstitem was always 0 in this case.
* Document: Initialise docid to 0 when creating a document from
scratch, as documented.
* Compactor:
+ Move the database compaction and merging functionality into this new class,
and make xapian-compact a simple wrapper around this class. (ticket#175)
+ Inputs can now be stub database directories or files, in which case the
databases in the stub are used as inputs.
+ Add support for compacting to a stub database, which can be one of the
inputs (for atomic update).
+ If spellings and/or synonyms were only present in some source databases,
they weren't copied to the output database, but now they are.
portability:
* configure: Add support for --enable-sse=sse and --enable-sse=sse2 to allow
control of which SSE instructions to use.
* configure: Enable use of SSE maths on x86 by default with Sun's compiler.
* configure: Beef up the test for whether -lm is required and add a special
case to force it to be for Sun's C++ compiler - there's some interaction with
libtool and/or shared objects which means that the previous configure test
didn't think -lm is needed here when it is.
* Fix to build on OpenBSD 4.5 with GCC 3.3.5.
* Need to avoid excess precision on m68k when targeting models 68010, 68020,
68030 as well as 68000.
* Fix compilation with Sun's C++ compiler.
* Fix testsuite to build on Solaris < 10.
1.2.3:
API:
* Database::get_spelling_suggestion() will now suggest a correction even if the
passed word is in the dictionary, provided the correction has at least the
same frequency. Partly addresses #225.
* QueryParser:
+ Fix handling of groups of terms which are all stopwords - in situations
where this causes a problem we now disable stopword checks for such groups.
(ticket#245)
+ Fix to be smarter about handling a boolean filter term containing ".." in
the presence of valuerangeprocessors.
portability:
* configure: Don't pass -mtune=generic unless GCC >= 4.2 is in use
(ticket#492).
* Fix handling of some obscure cases of resolving relative paths on Microsoft
Windows. (ticket#243).
* Optimise closing of all unwanted file descriptors after forking by using
closefrom() if available, and otherwise providing our own implementation
(optimised to some extent for many platforms).
* Fix test harness to build under Microsoft Windows (ticket#495).
1.2.2:
portability:
* Revert 1.2.1 change to visibility of Xapian::Weight's copy constructor as
it making it private broke compilation with GCC 4.1 (which seems to be a
bug in this compiler version).
* tests/harness/testsuite.cc: Need <cstdio> for sprintf(). Fixes compilation
error which was masked if valgrind was installed. (ticket#489)
pkgsrc changes:
* Remove options (the "quartz" backend was unrelated to Darwin and
no longer exists).
* Unconditionally buildlink libuuid. If that's overzealous, improve
its builtin detection.
* mdwn: Can use the discount markdown library, via the
Text::Markdown::Discount perl module. This is preferred if available
since it's the fastest currently supported markdown library, speeding up
ikiwiki's markdown rendering by a factor of 40.
(However, when multimarkdown is enabled, Text::Markdown::Multimarkdown
is still used.)
* On Debian, depend on libtext-markdown-discount.
pkgsrc changes:
* Change Perl Markdown dependency to p5-Text-Markdown-Discount.
Version 0.43.0
Fix for signal handlers (SIGINT, SIGTERM, SIGQUIT).
Fix in "Depends" stage.
Unnecessary dependencies are not install anymore.
Dependency graph. Latest available binary package is always used for
BUILD_DEPENDS if it satisfies dependencies.
Version 0.42.0
Support for cross-compilation. Build host dependencies are built on
demand. Patch for pkgsrc is needed.
http://mail-index.netbsd.org/tech-pkg/2011/11/19/msg008003.html
Support for libkver was added. In order to build packages for
different version of NetBSD you need to set LIBKVER_OSRELEASE and
LD_PRELOAD in distbb.conf.
New transport program distbb_chroot was added.
It is now the default for TRANSPORT.
libstacktrace:
Remove signal handlers and other garbage.
All we need is __builtin_frame_address and __builtin_return_address
builtins and nothing else.
Documentation files have been moved to subproject "doc".
Run "mkcmake install-doc" for installing it (or change SUBPRJ_DFLT).
Only backtrace(3) in libc is accepted as an external implementation
of stacktrace(3). This may fix build failure on FreeBSD with
installed libexeinfo.
* Update MASTER_SITES and HOMEPAGE.
* Remove c++ from USE_LANGUAGES.
* Set LICENSE.
Changelog:
Version 1.6.0 (2012-01-01):
---------------------------
The Hatari project has been moved from hatari.berlios.de to
http://hatari.tuxfamily.org/. Please update all bookmarks!
Emulation:
- More accurate FDC emulation (correct status bits and commands' timings,
DMA transfer by blocks of 16 bytes, floppy change detection). This should
fix a lot of non working games
- More accurate microwire clock emulation
- SCSI class 1 (ICD) command support for drives > 1 GB
- Improved color conversion table so that colors are a little bit brighter
- Improve shifter (add another method to do 4 pixel hardware scrolling,
better emulation for 0 byte blank line)
- Some fixes to the IKBD emulation
- Better filters and model for sound emulation
- Correct VBL timings in TT monochrome (double clicking works now)
- More cycle accurate Falcon DSP <-> CPU emulation. All the demos that
needed 32Mhz CPU with the old CPU core in Hatari v1.5, work now at
correct 16Mhz with the WinUAE CPU core
- 030 MMU emulation with the WinAUE CPU core
Emulator:
- Switch to ST mode when using TOS <= 1.04
- Replace "--slowfdc" with "--fastfdc" option and default to fast FDC being OFF
- "--fast-boot" option to initialize "memvalid" system variables to
by-pass the memory test of TOS, so that the system boots faster
- "--force-max" option to force Hatari use specified maximum resolution
to avoid window size changes messing up Hatari video recording
- "--desktop-st" option to keep desktop resolution also for ST/STE modes
(unfortunately without scaling besides the low-res doubling)
- GEMDOS HD emulation:
- Allow drives up to Z: (not Y:)
- Unique name for each partition
- Warn user when using too old TOS version
- Dfree() reports host disk total and free size if they're below
value understood by TOS and unlike earlier, it forwards Dfree()
requests for other (IDE/ACSI image) partitions to TOS
- Debugger improvements:
- "history" command to list instructions executed before entering
debugger
- each trace output line is flushed to avoid it being buffered
- Fixed behavior of the Caps Lock key
Other changes:
- Fixes to Hatari UI Hatari window embedding
- Latest Linux sfdisk is borked so atari-hd-image script creates
HD image partition table now itself (experimental)
- Windows needs also HOMEDRIVE for full home path in case Hatari
isn't installed on C:, bug 18297
- Minor fixes
Fixed Demos :
Overscan Demos and Shforstv.exe by Paulo Simoes (black line at top),
ACF - Just Bugging (FDC), Delirious Demo IV (FDC, shifter),
Overdrive Demos - Snirkel Screen (IKBD), Oxygene - Stniccc2000 (FDC),
Cream - Madness (FDC)
Fixed Games :
Superior 65 - Super Monaco GP, DBug 24 - Knightmare, Pompey Pirates 27 - X-Out,
Fuzion 32 - Pang, Fuzion 108 - The Simpson, Fuzion 40 - Super Grand Prix,
Fuzion 46 - Warlock, Fuzion 51 - Navy Seals, Fuzion 61 - Gods, Fuzion 78 -
Carmen Sandiego, Fuzion 82 - Flight Of The Intruder, Fuzion 83 - RBI Baseball 2,
Fuzion 102 - Exile, PP46 - Yolanda, Medway Boys 15 - Murders In Venice,
Medway Boys 83 - Yogi Bear, BBC 2 - Platoon, BBC 39 - The Deep, Superior 71 - The
Running Man, Adrenaline 24 - Demon Blue, Superior 93 - Alien Storm
Fixed Misc Programs :
Procopy 1.50, Terminators Copy 1.68, maxYMizer (caps lock key)
Version 1.5.0 (2011-07-19):
---------------------------
Emulation:
- Alternative CPU core based on WinUAE for more accurate future
HW interaction emulation (see readme.txt on how to enable it)
- Use precise clocks values (as described in Atari's official schematics)
for better video/dma audio synchronisation (e.g. More Or Less Zero by DHS)
- DSP:
- Some DSP-timing sensitive Falcon demos that by luck happened to work
with Hatari v1.4, don't work anymore in v1.5 with the default UAE CPU
core. This is because while DSP cycle accuracy has been improved,
the default UAE CPU core isn't fully cycle accurate. The experimental
WinUAE core is needed to run them
- Undocumented 2 bit shift special case for DSP SSI <-> crossbar exchanges
in hanshake mode with 32 Mhz clock (fixes DSP MP2 player used in many
demos & programs, but that requires also using WinUAE core)
- Sound improvements:
- Major rewrite and accuracy improvements in STE DMA sound, including
emulation of the 8 bytes FIFO, giving results nearly identical to
a real STE (e.g. HexTracker by Paulo Simoes)
- Improved precision in sound emulation, with nearly no rounding errors
over successive VBL (correct sound latency on US TOS running at 60 Hz)
- By default mix 3 YM voices using a lookup table of values
measured on real STF to improve digisound (e.g. Flashback demo sound)
- Remove old ST Sound's code used for tone and noise step compute
(some low period values were not correctly emulated)
- Video emulation on STF/STE:
- On STE, correctly shift display 8 pixels to the left when using
224 bytes overscan
- Add support for spec512 mode in med res (fixes 'Best Part Of The
Creation' in 'Punish Your Machine', 'HighRes Mode' demo by Paradox)
- Correctly shift the screen 4 pixels to the left when left border is removed
in med res overscan (Hatari 1.4 handled only low res, fixes 'No Cooper'
by 1984, 'Best Part Of The Creation' by Delta Force)
- Precisely emulate the number of frames per sec (eg 50.053 fps in PAL
instead of the usual 50 Hz)
Emulator:
- Atari program given as argument to Hatari will be automatically
started after TOS boots. GEMDOS hard disk directory can now be
give also as an argument, not just as a (-d) option
- TOS4 or --machine falcon option use enables DSP emulation now
(follow them with --dsp none to disable DSP emulation)
- Memory state saving and restoring fixes, especially for Falcon
- Crossbar state is included -> state file ABI break
- AVI recording options can be set in the new [Video] config file section
- AVI recording supports non integer frame rates.
- Falcon/TT Videl/hostscreen improvements:
- New setting/option for using Desktop resolution & scaling
in fullscreen instead of changing the resolution. On by default
- User's desktop size is used as max limit for Videl zooming.
Requires SDL >= 1.2.10
- Videl resolution change is done immediately, not 3 VBLs late
- Fix issues in switching between same sized VDI & TT resolutions
- SDL GUI improvements:
- DSP can be disabled from the GUI without needing to restart Hatari
- Disk access LED and desktop-resolution options
- AVI video length (mins:secs) is shown in titlebar during recording
- Option for cropping statusbar from videos & screenshots
- Fileselector scrollbar can be used with mouse
- YM mixing method selection
- Debugging improvements:
- New disassembler with more Motorola like syntax
- CPU & DSP "disasm" and "memdump" commands accept register & symbol
names in addition to numeric addresses / address ranges
- Option to disable Falcon mic
("--mic off" is needed for Mudflap debugging)
- "--run-vbls" can be set also at run-time
- "--bios-intercept" can be toggled from debugger (not just enabled)
- BIOS CON: output is converted to ASCII and redirected to host console
with the --bios-intercept option
- Support for tracing DSP, Videl and Crossbar
- Support for tracing AES calls. VDI calls can now be traced
also without using an extended VDI resolution
- BIOS/XBIOS/GEMDOS/VDI/AES/Line-A/Line-F opcode breakpoint support
- TEXT, DATA and BSS variables for addresses of corresponding segments
in currently loaded program
- "aes", "vdi" and "gemdos" subcommands for "info". Without arguments
they will output information about corresponding OS part state,
with (a non-zero) argument, opcode/call name table is shown.
"video" subcommand for showing video related information.
"cookiejar" subcommand for showing cookiejar contents.
- "file" subcommand to "lock" that executes debugger commands from
given file when debugger is entered (or ":lock" breakpoint is hit)
- ":lock" option to breakpoints that will show (without stopping the
emulation) the same output as what's shown on entering the debugger
- ":file" option to breakpoints that executes the commands from
given file when the breakpoint is hit. This can be used to chain
debugger actions
- multiple breakpoints options can be specified per breakpoint
- parenthesis in "evaluate" command are used to indicate memory
accesses (instead of operator precedence like earlier)
- DSP and CPU code profiling functionality. Provides statistics about
profiled code (executed code address ranges, max and total counts
and cycles), lists addresses/instructions taking most cyles and if
symbols are loaded, what were the most used symbol addresses.
- Profiling information is also shown in disassembly output
Other changes:
- hmsa tool can create empty disk images in addition to converting
disks between ST & MSA formats
- Minimal hatari-tos-register.sh Linux init script (example)
to register Hatari as binfmt_misc handler/runner for TOS programs
- hatari-console.py renamed to hconsole.py, documented and made extensible
(hconsole is command line Python interface for Hatari remote API)
- Support for plain Makefiles removed (except for internal tests),
only CMake is used for configuring and building Hatari
- CMake doesn't require anymore working C++, C-compiler is enough
this is the first stable release after the 1.3.9 development cycle
changes:
-bugfixes
-documentation updates
-translation updates
Warning: Documents created by this pkg cannot be read by
version 1.3.3.x (pkgsrc/print/scribus).