mhs-xapian 1.0.18a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. data/.gitignore +3 -0
  2. data/AUTHORS +1 -0
  3. data/COPYING +340 -0
  4. data/ChangeLog +5876 -0
  5. data/HACKING +101 -0
  6. data/INSTALL +293 -0
  7. data/Makefile +722 -0
  8. data/Makefile.am +26 -0
  9. data/Makefile.in +722 -0
  10. data/NEWS +2110 -0
  11. data/README +59 -0
  12. data/Rakefile +51 -0
  13. data/TODO +47 -0
  14. data/aclocal.m4 +7675 -0
  15. data/config.guess +1501 -0
  16. data/config.h +56 -0
  17. data/config.h.in +55 -0
  18. data/config.status +1298 -0
  19. data/config.sub +1705 -0
  20. data/configure +18536 -0
  21. data/configure.ac +944 -0
  22. data/csharp/.deps/xapian_wrap.Plo +1 -0
  23. data/csharp/AssemblyInfo.cs +40 -0
  24. data/csharp/AssemblyInfo.cs.in +40 -0
  25. data/csharp/Auto.cs +46 -0
  26. data/csharp/BM25Weight.cs +107 -0
  27. data/csharp/BoolWeight.cs +103 -0
  28. data/csharp/Database.cs +275 -0
  29. data/csharp/DateValueRangeProcessor.cs +61 -0
  30. data/csharp/Document.cs +177 -0
  31. data/csharp/ESet.cs +94 -0
  32. data/csharp/ESetIterator.cs +117 -0
  33. data/csharp/Enquire.cs +274 -0
  34. data/csharp/ExpandDecider.cs +76 -0
  35. data/csharp/Flint.cs +58 -0
  36. data/csharp/InMemory.cs +46 -0
  37. data/csharp/MSet.cs +193 -0
  38. data/csharp/MSetIterator.cs +141 -0
  39. data/csharp/Makefile +868 -0
  40. data/csharp/Makefile.am +106 -0
  41. data/csharp/Makefile.in +868 -0
  42. data/csharp/MatchDecider.cs +76 -0
  43. data/csharp/MultiValueSorter.cs +63 -0
  44. data/csharp/NumberValueRangeProcessor.cs +61 -0
  45. data/csharp/PositionIterator.cs +101 -0
  46. data/csharp/PostingIterator.cs +125 -0
  47. data/csharp/Quartz.cs +58 -0
  48. data/csharp/Query.cs +150 -0
  49. data/csharp/QueryParser.cs +174 -0
  50. data/csharp/RSet.cs +102 -0
  51. data/csharp/Remote.cs +100 -0
  52. data/csharp/SWIGTYPE_p_std__string.cs +30 -0
  53. data/csharp/SWIGTYPE_p_std__vectorTXapian__Query_t.cs +30 -0
  54. data/csharp/SWIGTYPE_p_std__vectorTstd__string_t.cs +30 -0
  55. data/csharp/SimpleStopper.cs +64 -0
  56. data/csharp/SmokeTest.cs +178 -0
  57. data/csharp/Sorter.cs +76 -0
  58. data/csharp/Stem.cs +66 -0
  59. data/csharp/Stopper.cs +91 -0
  60. data/csharp/StringValueRangeProcessor.cs +53 -0
  61. data/csharp/TermGenerator.cs +152 -0
  62. data/csharp/TermIterator.cs +125 -0
  63. data/csharp/TradWeight.cs +107 -0
  64. data/csharp/ValueIterator.cs +102 -0
  65. data/csharp/ValueRangeProcessor.cs +76 -0
  66. data/csharp/Version.cs +60 -0
  67. data/csharp/Weight.cs +93 -0
  68. data/csharp/WritableDatabase.cs +153 -0
  69. data/csharp/Xapian.cs +65 -0
  70. data/csharp/XapianPINVOKE.cs +1527 -0
  71. data/csharp/docs/Makefile +450 -0
  72. data/csharp/docs/Makefile.am +16 -0
  73. data/csharp/docs/Makefile.in +450 -0
  74. data/csharp/docs/examples/SimpleExpand.cs +109 -0
  75. data/csharp/docs/examples/SimpleIndex.cs +71 -0
  76. data/csharp/docs/examples/SimpleSearch.cs +78 -0
  77. data/csharp/docs/index.html +211 -0
  78. data/csharp/util.i +233 -0
  79. data/csharp/xapian_wrap.cc +10338 -0
  80. data/csharp/xapian_wrap.h +93 -0
  81. data/depcomp +632 -0
  82. data/extconf.rb +20 -0
  83. data/generic/except.i +80 -0
  84. data/generic/generic.mk +48 -0
  85. data/install-sh +520 -0
  86. data/java-swig/.deps/xapian_wrap.Plo +1 -0
  87. data/java-swig/Auto.java +35 -0
  88. data/java-swig/BM25Weight.java +81 -0
  89. data/java-swig/BoolWeight.java +77 -0
  90. data/java-swig/Database.java +195 -0
  91. data/java-swig/DateValueRangeProcessor.java +51 -0
  92. data/java-swig/Document.java +135 -0
  93. data/java-swig/ESet.java +71 -0
  94. data/java-swig/ESetIterator.java +71 -0
  95. data/java-swig/Enquire.java +246 -0
  96. data/java-swig/ExpandDecider.java +59 -0
  97. data/java-swig/Flint.java +43 -0
  98. data/java-swig/InMemory.java +35 -0
  99. data/java-swig/MSet.java +143 -0
  100. data/java-swig/MSetIterator.java +87 -0
  101. data/java-swig/Makefile +781 -0
  102. data/java-swig/Makefile.am +132 -0
  103. data/java-swig/Makefile.in +781 -0
  104. data/java-swig/MatchDecider.java +59 -0
  105. data/java-swig/MultiValueSorter.java +51 -0
  106. data/java-swig/NumberValueRangeProcessor.java +51 -0
  107. data/java-swig/PositionIterator.java +63 -0
  108. data/java-swig/PostingIterator.java +83 -0
  109. data/java-swig/Quartz.java +43 -0
  110. data/java-swig/Query.java +189 -0
  111. data/java-swig/QueryParser.java +214 -0
  112. data/java-swig/RSet.java +79 -0
  113. data/java-swig/Remote.java +71 -0
  114. data/java-swig/SWIGTYPE_p_std__string.java +25 -0
  115. data/java-swig/SimpleStopper.java +51 -0
  116. data/java-swig/SmokeTest.java +161 -0
  117. data/java-swig/Sorter.java +59 -0
  118. data/java-swig/Stem.java +51 -0
  119. data/java-swig/Stopper.java +63 -0
  120. data/java-swig/StringValueRangeProcessor.java +43 -0
  121. data/java-swig/TermGenerator.java +158 -0
  122. data/java-swig/TermIterator.java +83 -0
  123. data/java-swig/TradWeight.java +81 -0
  124. data/java-swig/ValueIterator.java +67 -0
  125. data/java-swig/ValueRangeProcessor.java +59 -0
  126. data/java-swig/Version.java +47 -0
  127. data/java-swig/Weight.java +68 -0
  128. data/java-swig/WritableDatabase.java +123 -0
  129. data/java-swig/Xapian.java +39 -0
  130. data/java-swig/XapianConstants.java +15 -0
  131. data/java-swig/XapianJNI.java +508 -0
  132. data/java-swig/run-java-test +6 -0
  133. data/java-swig/xapian_wrap.cc +12594 -0
  134. data/java-swig/xapian_wrap.h +91 -0
  135. data/java/Makefile +660 -0
  136. data/java/Makefile.am +35 -0
  137. data/java/Makefile.in +660 -0
  138. data/java/README +76 -0
  139. data/java/SmokeTest.java +148 -0
  140. data/java/native/.deps/Database.Plo +1 -0
  141. data/java/native/.deps/Document.Plo +1 -0
  142. data/java/native/.deps/ESet.Plo +1 -0
  143. data/java/native/.deps/ESetIterator.Plo +1 -0
  144. data/java/native/.deps/Enquire.Plo +1 -0
  145. data/java/native/.deps/MSet.Plo +1 -0
  146. data/java/native/.deps/MSetIterator.Plo +1 -0
  147. data/java/native/.deps/PositionIterator.Plo +1 -0
  148. data/java/native/.deps/Query.Plo +1 -0
  149. data/java/native/.deps/RSet.Plo +1 -0
  150. data/java/native/.deps/Stem.Plo +1 -0
  151. data/java/native/.deps/TermIterator.Plo +1 -0
  152. data/java/native/.deps/WritableDatabase.Plo +1 -0
  153. data/java/native/.deps/org_xapian_XapianJNI.Plo +1 -0
  154. data/java/native/.deps/utils.Plo +1 -0
  155. data/java/native/Database.cc +222 -0
  156. data/java/native/Document.cc +173 -0
  157. data/java/native/ESet.cc +79 -0
  158. data/java/native/ESetIterator.cc +82 -0
  159. data/java/native/Enquire.cc +271 -0
  160. data/java/native/MSet.cc +169 -0
  161. data/java/native/MSetIterator.cc +107 -0
  162. data/java/native/Makefile +594 -0
  163. data/java/native/Makefile.am +51 -0
  164. data/java/native/Makefile.in +594 -0
  165. data/java/native/PositionIterator.cc +64 -0
  166. data/java/native/Query.cc +180 -0
  167. data/java/native/RSet.cc +98 -0
  168. data/java/native/Stem.cc +75 -0
  169. data/java/native/TermIterator.cc +107 -0
  170. data/java/native/WritableDatabase.cc +118 -0
  171. data/java/native/XapianObjectHolder.h +115 -0
  172. data/java/native/org_xapian_XapianJNI.cc +78 -0
  173. data/java/native/org_xapian_XapianJNI.h +1369 -0
  174. data/java/native/utils.cc +51 -0
  175. data/java/native/xapian_jni.h +116 -0
  176. data/java/org/xapian/Database.java +148 -0
  177. data/java/org/xapian/Document.java +135 -0
  178. data/java/org/xapian/ESet.java +66 -0
  179. data/java/org/xapian/ESetIterator.java +97 -0
  180. data/java/org/xapian/Enquire.java +136 -0
  181. data/java/org/xapian/ExpandDecider.java +30 -0
  182. data/java/org/xapian/MSet.java +104 -0
  183. data/java/org/xapian/MSetIterator.java +132 -0
  184. data/java/org/xapian/Makefile +580 -0
  185. data/java/org/xapian/Makefile.am +38 -0
  186. data/java/org/xapian/Makefile.in +580 -0
  187. data/java/org/xapian/MatchDecider.java +30 -0
  188. data/java/org/xapian/PositionIterator.java +89 -0
  189. data/java/org/xapian/Query.java +190 -0
  190. data/java/org/xapian/RSet.java +89 -0
  191. data/java/org/xapian/Stem.java +80 -0
  192. data/java/org/xapian/TermIterator.java +142 -0
  193. data/java/org/xapian/WritableDatabase.java +92 -0
  194. data/java/org/xapian/Xapian.java +114 -0
  195. data/java/org/xapian/XapianJNI.java +444 -0
  196. data/java/org/xapian/errors/AssertionError.java +40 -0
  197. data/java/org/xapian/errors/DatabaseCorruptError.java +40 -0
  198. data/java/org/xapian/errors/DatabaseError.java +40 -0
  199. data/java/org/xapian/errors/DatabaseLockError.java +40 -0
  200. data/java/org/xapian/errors/DatabaseModifiedError.java +40 -0
  201. data/java/org/xapian/errors/DatabaseOpeningError.java +40 -0
  202. data/java/org/xapian/errors/DocNotFoundError.java +40 -0
  203. data/java/org/xapian/errors/FeatureUnavailableError.java +40 -0
  204. data/java/org/xapian/errors/InternalError.java +40 -0
  205. data/java/org/xapian/errors/InvalidArgumentError.java +40 -0
  206. data/java/org/xapian/errors/InvalidOperationError.java +40 -0
  207. data/java/org/xapian/errors/LogicError.java +40 -0
  208. data/java/org/xapian/errors/Makefile +416 -0
  209. data/java/org/xapian/errors/Makefile.am +32 -0
  210. data/java/org/xapian/errors/Makefile.in +416 -0
  211. data/java/org/xapian/errors/NetworkError.java +40 -0
  212. data/java/org/xapian/errors/NetworkTimeoutError.java +40 -0
  213. data/java/org/xapian/errors/RangeError.java +40 -0
  214. data/java/org/xapian/errors/RuntimeError.java +40 -0
  215. data/java/org/xapian/errors/UnimplementedError.java +40 -0
  216. data/java/org/xapian/errors/XapianError.java +40 -0
  217. data/java/org/xapian/errors/XapianRuntimeError.java +49 -0
  218. data/java/org/xapian/examples/Makefile +391 -0
  219. data/java/org/xapian/examples/Makefile.am +8 -0
  220. data/java/org/xapian/examples/Makefile.in +391 -0
  221. data/java/org/xapian/examples/SimpleIndex.java +68 -0
  222. data/java/org/xapian/examples/SimpleSearch.java +71 -0
  223. data/java/run-java-test +6 -0
  224. data/libtool +7618 -0
  225. data/ltmain.sh +6956 -0
  226. data/mhs-xapian.gemspec +368 -0
  227. data/missing +378 -0
  228. data/php/.deps/xapian_wrap.Plo +1 -0
  229. data/php/Makefile +871 -0
  230. data/php/Makefile.am +82 -0
  231. data/php/Makefile.in +871 -0
  232. data/php/docs/Makefile +453 -0
  233. data/php/docs/Makefile.am +19 -0
  234. data/php/docs/Makefile.in +453 -0
  235. data/php/docs/examples/simpleexpand.php4 +108 -0
  236. data/php/docs/examples/simpleexpand.php5 +104 -0
  237. data/php/docs/examples/simpleindex.php4 +76 -0
  238. data/php/docs/examples/simpleindex.php5 +73 -0
  239. data/php/docs/examples/simplesearch.php4 +75 -0
  240. data/php/docs/examples/simplesearch.php5 +72 -0
  241. data/php/docs/index.html +313 -0
  242. data/php/except.i +98 -0
  243. data/php/php4/php_xapian.h +323 -0
  244. data/php/php4/xapian.php +32 -0
  245. data/php/php4/xapian_wrap.cc +27656 -0
  246. data/php/php5/php_xapian.h +319 -0
  247. data/php/php5/xapian.php +1566 -0
  248. data/php/php5/xapian_wrap.cc +24330 -0
  249. data/php/smoketest.php +246 -0
  250. data/php/smoketest4.php +84 -0
  251. data/php/smoketest5.php +79 -0
  252. data/php/util.i +187 -0
  253. data/python/.deps/xapian_wrap.Plo +1 -0
  254. data/python/Makefile +891 -0
  255. data/python/Makefile.am +105 -0
  256. data/python/Makefile.in +891 -0
  257. data/python/doccomments.i +5134 -0
  258. data/python/docs/Makefile +448 -0
  259. data/python/docs/Makefile.am +14 -0
  260. data/python/docs/Makefile.in +448 -0
  261. data/python/docs/examples/simpleexpand.py +98 -0
  262. data/python/docs/examples/simpleindex.py +65 -0
  263. data/python/docs/examples/simplematchdecider.py +78 -0
  264. data/python/docs/examples/simplesearch.py +65 -0
  265. data/python/docs/index.html +420 -0
  266. data/python/except.i +290 -0
  267. data/python/extra.i +1048 -0
  268. data/python/extracomments.i +28 -0
  269. data/python/generate-python-exceptions +189 -0
  270. data/python/generate-python-exceptions.in +189 -0
  271. data/python/modern/xapian.py +5662 -0
  272. data/python/modern/xapian_wrap.cc +35170 -0
  273. data/python/modern/xapian_wrap.h +244 -0
  274. data/python/pythontest.py +1110 -0
  275. data/python/smoketest.py +328 -0
  276. data/python/testsuite.py +382 -0
  277. data/python/util.i +517 -0
  278. data/ruby/.deps/xapian_wrap.Plo +494 -0
  279. data/ruby/.libs/_xapian.bundle +0 -0
  280. data/ruby/.libs/_xapian.bundle.dSYM/Contents/Info.plist +25 -0
  281. data/ruby/.libs/_xapian.bundle.dSYM/Contents/Resources/DWARF/_xapian.bundle +0 -0
  282. data/ruby/.libs/_xapian.la +35 -0
  283. data/ruby/.libs/_xapian.lai +35 -0
  284. data/ruby/Makefile +854 -0
  285. data/ruby/Makefile.am +62 -0
  286. data/ruby/Makefile.in +854 -0
  287. data/ruby/_xapian.la +35 -0
  288. data/ruby/docs/Makefile +487 -0
  289. data/ruby/docs/Makefile.am +50 -0
  290. data/ruby/docs/Makefile.in +487 -0
  291. data/ruby/docs/examples/simpleexpand.rb +98 -0
  292. data/ruby/docs/examples/simpleindex.rb +60 -0
  293. data/ruby/docs/examples/simplematchdecider.rb +74 -0
  294. data/ruby/docs/examples/simplesearch.rb +63 -0
  295. data/ruby/docs/index.html +197 -0
  296. data/ruby/smoketest.rb +211 -0
  297. data/ruby/util.i +232 -0
  298. data/ruby/xapian.rb +280 -0
  299. data/ruby/xapian_wrap.cc +25837 -0
  300. data/ruby/xapian_wrap.h +65 -0
  301. data/ruby/xapian_wrap.lo +12 -0
  302. data/skiptest +2 -0
  303. data/stamp-h1 +1 -0
  304. data/tcl8/.deps/xapian_wrap.Plo +1 -0
  305. data/tcl8/Makefile +835 -0
  306. data/tcl8/Makefile.am +49 -0
  307. data/tcl8/Makefile.in +835 -0
  308. data/tcl8/docs/Makefile +448 -0
  309. data/tcl8/docs/Makefile.am +14 -0
  310. data/tcl8/docs/Makefile.in +448 -0
  311. data/tcl8/docs/examples/simpleexpand.tcl +104 -0
  312. data/tcl8/docs/examples/simpleindex.tcl +68 -0
  313. data/tcl8/docs/examples/simplesearch.tcl +66 -0
  314. data/tcl8/docs/index.html +208 -0
  315. data/tcl8/except.i +48 -0
  316. data/tcl8/pkgIndex.tcl +1 -0
  317. data/tcl8/pkgIndex.tcl.in +1 -0
  318. data/tcl8/run-tcl-test +15 -0
  319. data/tcl8/runtest.tcl +29 -0
  320. data/tcl8/smoketest.tcl +155 -0
  321. data/tcl8/util.i +76 -0
  322. data/tcl8/xapian_wrap.cc +20900 -0
  323. data/xapian-bindings.spec +206 -0
  324. data/xapian-bindings.spec.in +206 -0
  325. data/xapian-version.h +1 -0
  326. data/xapian-version.h.in +1 -0
  327. data/xapian.i +939 -0
  328. metadata +395 -0
data/NEWS ADDED
@@ -0,0 +1,2110 @@
1
+ Xapian-bindings 1.0.18 (2010-02-14):
2
+
3
+ General:
4
+
5
+ * Wrap new C++ API method Document::add_boolean_term().
6
+
7
+ Ruby:
8
+
9
+ * Generate entries in the Ruby rdocs for all classes which aren't documented
10
+ because of Ruby-specific methods. Fixes ticket#417.
11
+
12
+ * Avoid absolute paths in the generated rdocs.
13
+
14
+ Xapian-bindings 1.0.17 (2009-11-18):
15
+
16
+ Packaging:
17
+
18
+ * Improve RPM package summaries - the files are needed to *use* scripts as well
19
+ as to develop them. Use "Tcl" instead of "TCL" as the former is more
20
+ conventional.
21
+
22
+ Portability:
23
+
24
+ * python/Makefile.am: Restore the "./" path to the sourced file
25
+ libtoolconfig.tmp as ksh requires it.
26
+
27
+ Java:
28
+
29
+ * Fix memory leak when passing a MatchDecider to Enquire::get_mset().
30
+
31
+ Xapian-bindings 1.0.16 (2009-09-10):
32
+
33
+ Python:
34
+
35
+ * Improved docstrings for QueryParser::set_default_op() and
36
+ QueryParser::get_default_op() (automatically generated from changes in
37
+ xapian-core).
38
+
39
+ Xapian-bindings 1.0.15 (2009-08-26):
40
+
41
+ Python:
42
+
43
+ * Don't break long words when wrapping text in the generated API documentation
44
+ comments as this was causing identifiers to be broken in two.
45
+
46
+ Xapian-bindings 1.0.14 (2009-07-21):
47
+
48
+ General:
49
+
50
+ * configure: If $CSC is empty, don't try to run it. This was a cosmetic bug
51
+ and the only side-effect was an odd looking message.
52
+
53
+ Python:
54
+
55
+ * Rename methods at build-time using SWIG rather than a run-time in Python, as
56
+ the latter approach adds a small time overhead when the module is being
57
+ loaded.
58
+
59
+ Ruby:
60
+
61
+ * Fix to accept an integer value > MAXINT for a double parameter.
62
+
63
+ Xapian-bindings 1.0.13 (2009-05-23):
64
+
65
+ Packaging:
66
+
67
+ * xapian-bindings.spec: Update C# packaging for rename of XapianSharp.so to
68
+ _XapianSharp.so in 1.0.11.
69
+
70
+ * xapian-bindings.spec: Update Tcl8 packaging for where we now install the
71
+ bindings since 1.0.6.
72
+
73
+ PHP:
74
+
75
+ * Backport fix from SWIG SVN for misuse of formatted error function in
76
+ SWIG-generated code.
77
+
78
+ Python:
79
+
80
+ * Change the SWIG-generated wrapper code so it doesn't attempt to acquire
81
+ Python's Global Interpreter Lock (GIL) in situations where we know that it
82
+ will already be locked. This avoids some dead-locks with mod_python (due to
83
+ mod_python bugs which are apparently unlikely to ever be fixed), and results
84
+ in smaller wrappers which run a little faster (in tests with Xapian on x86-64
85
+ Ubuntu 9.04, the stripped wrapper library was 11% smaller and ran 2.7%
86
+ faster). (ticket#185)
87
+
88
+ * README,python/docs/index.html: Update documentation of the above mod_python
89
+ issue and also document the related mod_wsgi issue. The status is now that
90
+ everything seems to work if you stick to the main interpreter (ticket#364).
91
+
92
+ * Backport fix from SWIG SVN for misuse of formatted error function in
93
+ SWIG-generated code.
94
+
95
+ * python/docs/examples/simplematchdecider.py: Read "avoid_value" from the
96
+ second parameter, not the third.
97
+
98
+ * python/docs/examples/simplematchdecider.py,
99
+ python/docs/examples/simplesearch.py: Make use of str.join() for simpler,
100
+ clearer code.
101
+
102
+ Ruby:
103
+
104
+ * README: Note that the testsuite fails due to a bug in the test/unit module in
105
+ Ruby 1.9.0, but applications using the bindings should work, and that the
106
+ testsuite works with Ruby 1.9.1. Drop all mention of Ruby 1.6.x as that
107
+ appears to be completely dead both upstream and in the wild.
108
+
109
+ Xapian-bindings 1.0.12 (2009-04-19):
110
+
111
+ Documentation:
112
+
113
+ * INSTALL: Add a note about being able to pass variables to configure to pick
114
+ which of several parallel installations of a language to build for.
115
+
116
+ Python:
117
+
118
+ * python/pythontest.py: Round the weights returned for the OP_SCALE_WEIGHT
119
+ test to avoid failing due to rounding differences.
120
+
121
+ * python/testsuite.py: Remove bare except: handlers from testsuite, so Ctrl-C
122
+ stop the whole testsuite, not just the currently running testcase.
123
+
124
+ Xapian-bindings 1.0.11 (2009-03-15):
125
+
126
+ Documentation:
127
+
128
+ * README: Note that 1.0.x doesn't (and isn't currently planned to) support
129
+ Python 3, and possible current issues with Ruby 1.9.
130
+
131
+ Portability:
132
+
133
+ * Merge fixes from Cygwin Ports, so bindings should build out of the box on
134
+ Cygwin.
135
+
136
+ Python:
137
+
138
+ * python/docs/examples/: Use str(obj) rather than obj.get_description() (the
139
+ latter is deprecated, and support was removed in 1.0.0).
140
+
141
+ * Add support for using the new name ("reverse") for the second argument of
142
+ set_sort_by_key() and set_sort_by_value() and friends as a named parameter.
143
+ The old name ("ascending") is still supported, but will be deprecated in
144
+ 1.1.0.
145
+
146
+ * Keep Python references to Sorter, Stopper, and ValueRangeProcessor objects
147
+ which get set on other objects to avoid segmentation faults if they go out
148
+ of scope before the object they are set on does. (ticket#341)
149
+
150
+ Ruby:
151
+
152
+ * Fixes for Ruby 1.9 compatibility (ticket#323). The test harness currently
153
+ fails so "make check" doesn't pass, but code using the bindings should work.
154
+
155
+ Xapian-bindings 1.0.10 (2008-12-23):
156
+
157
+ Python:
158
+
159
+ * Need to clean testsuite.pyc from srcdir since that's where it gets generated
160
+ as things stand (upstream fix for Debian bug 506090).
161
+
162
+ Xapian-bindings 1.0.9 (2008-10-31):
163
+
164
+ General:
165
+
166
+ * configure: Add support for "--enable-quiet" like xapian-core and omega have.
167
+
168
+ * Wrap new Database::metadata_keys_begin() and Database::metadata_keys_end()
169
+ methods.
170
+
171
+ Xapian-bindings 1.0.8 (2008-09-04):
172
+
173
+ General:
174
+
175
+ * configure: Report bug report URL in --help output.
176
+
177
+ Python:
178
+
179
+ * Fix mangling of exceptions thrown from Python subclasses of Xapian classes.
180
+ (bug#289)
181
+
182
+ * Fix memory leaks in the xapian.Query constructor. (bug#294)
183
+
184
+ Xapian-bindings 1.0.7 (2008-07-14):
185
+
186
+ Documentation:
187
+
188
+ * Document how all the database factory functions and library version functions
189
+ are wrapped for all languages.
190
+
191
+ General:
192
+
193
+ * Fix to build against a xapian-core which has quartz and/or flint disabled.
194
+
195
+ * The "program" version of Remote::open() has been wrapped for some time, so
196
+ update the documentation which said it wasn't.
197
+
198
+ Packaging:
199
+
200
+ * xapian-bindings.spec: Remove "www." from xapian.org and oligarchy.co.uk URLs.
201
+
202
+ Portability:
203
+
204
+ * For Java, Python, and Ruby, use the libtool -shrext option to specify a
205
+ different module extension rather than our own ugly bodge.
206
+
207
+ Java:
208
+
209
+ * Make passing string from Java to C++ zero-byte safe. It doesn't appear to be
210
+ simple to make C++ to Java work though.
211
+
212
+ PHP:
213
+
214
+ * Add test that OP_VALUE_GE works for PHP.
215
+
216
+ Python:
217
+
218
+ * Several corrections to the Python documentation.
219
+
220
+ * configure: Fix problem with building under mingw.
221
+
222
+ Ruby:
223
+
224
+ * Include simplematchdecider.rb example.
225
+
226
+ * smoketest.rb: Test the version reporting functions.
227
+
228
+ Tcl:
229
+
230
+ * Include simpleexpand.tcl example.
231
+
232
+ * Fix where the Tcl module gets installed.
233
+
234
+ * README: Note that Tcl 8.3 and earlier are no longer supported by upstream.
235
+
236
+ Xapian-bindings 1.0.6 (2008-03-17):
237
+
238
+ General:
239
+
240
+ * Wrap OP_VALUE_GE and OP_VALUE_LE and the new Query constructor which they are
241
+ used with.
242
+
243
+ * configure: Correct the required SWIG version given in an error message.
244
+
245
+ PHP:
246
+
247
+ * php/smoketest.php: Add note that this script should be run using 'make check'
248
+ in the build tree (rather than trying to copy it to a webserver as someone
249
+ recently tried to).
250
+
251
+ * php/smoketest.php: Fix to work under PHP4.
252
+
253
+ Python:
254
+
255
+ * The Python module now always has the extension which Python expects, which
256
+ fixes a failure on Mac OS X.
257
+
258
+ Ruby:
259
+
260
+ * Automatically install/uninstall the Ruby rdoc-generated documentation along
261
+ with the ruby bindings.
262
+
263
+ Tcl:
264
+
265
+ * configure: Sort out the default value of TCL_LIB, which could end up being
266
+ under /usr/share in xapian-bindings 1.0.4 and 1.0.5.
267
+
268
+ Xapian-bindings 1.0.5 (2007-12-21):
269
+
270
+ General:
271
+
272
+ * Wrap Xapian::Sorter and subclasses.
273
+
274
+ * Wrap Enquire::set_sort_by_key(), Enquire::set_sort_by_key_then_relevance(),
275
+ and Enquire::set_sort_by_relevance_then_key().
276
+
277
+ * Factor out the code to protect multitarget rules against parallel make, and
278
+ fix it to handle the source being changed while the rule is executing, and to
279
+ correctly return an error code if we fail while trying to recover from the
280
+ removal of a target of a multi-target rule.
281
+
282
+ * configure: Improve the clarity of the error given when none of the tools
283
+ needed for any supported language are found.
284
+
285
+ * configure: SWIG 1.3.32 has now been released, so require at least this
286
+ released version for maintainer builds.
287
+
288
+ Java:
289
+
290
+ * Add explicit '#include <cstring>' to fix build with the latest snapshots of
291
+ GCC 4.3.
292
+
293
+ * configure: Log the output of trying to compile conftest.java in config.log;
294
+ if the test fails, report whether the failure was compiling or running the
295
+ test program.
296
+
297
+ * Check for directory existence rather than calling mkdir unconditionally as
298
+ despite the "(ignored)", the error message seems to confuse some people.
299
+
300
+ PHP:
301
+
302
+ * Add feature test for XapianMultiValueSorter.
303
+
304
+ * php/smoketest5.php: Fix use of Database_get_document to new style OO
305
+ interface. Fix the error reported when the PHP5 exception test fails.
306
+
307
+ * php/smoketest.php: Add feature test to confirm that optional arguments to
308
+ XapianQuery's "term" constructor are wrapped.
309
+
310
+ Python:
311
+
312
+ * Don't drop the GIL when calling Xapian.MSet.items and Xapian.ESet.items -
313
+ these properties build a python list, so dropping the GIL isn't safe and
314
+ may cause undefined behaviour in multithreaded environments.
315
+
316
+ * configure: Update error message to reflect requirement for at least python
317
+ 2.2.
318
+
319
+ * configure: Change "print foo" to "print(foo)" in python version checks, for
320
+ compatibility with python 3.0.
321
+
322
+ Ruby:
323
+
324
+ * The Ruby bindings now work on Mac OS X (the Ruby module's extension was
325
+ previously incorrect).
326
+
327
+ * Run "rdoc" to generate HTML for the Ruby-specific API documentation which
328
+ ruby/docs/index.html previously had a dead link to.
329
+
330
+ Tcl:
331
+
332
+ * configure: Overhaul code to find tcl.h since the old version no longer worked
333
+ with Debian unstable.
334
+
335
+ * tcl8/docs/index.html: Update documentation to cover flint and mention that
336
+ quartz is now deprecated.
337
+
338
+ * Remove code to handle `const char *' exceptions - as of 1.0.0 the QueryParser
339
+ throws QueryParserError instead.
340
+
341
+ Xapian-bindings 1.0.4 (2007-10-30):
342
+
343
+ General:
344
+
345
+ * Wrap new OP_SCALE_WEIGHT query operator, and corresponding Query constructor.
346
+ Add feature tests for all languages.
347
+
348
+ * The "bindings.html" file documenting each of the bindings has been renamed to
349
+ "index.html".
350
+
351
+ Packaging:
352
+
353
+ * Fix the PHP Makefile.am to work with autoconf < 2.60 to fix RPM builds for
354
+ older distros.
355
+
356
+ Portability:
357
+
358
+ * Fix warnings when compiling with GCC 4.2.
359
+
360
+ PHP:
361
+
362
+ * Update to newer SWIG SVN snapshot to fix memory leaks in wrapped constructors
363
+ and methods/functions which return a wrapped class.
364
+
365
+ * For PHP4, wrap Xapian::sortable_serialise() as xapian_sortable_serialise()
366
+ and Xapian::sortable_unserialise() as xapian_sortable_unserialise().
367
+
368
+ * Document how non-class functions are wrapped.
369
+
370
+ * Fix wrapping of NumberValueRangeProcessor for PHP4.
371
+
372
+ * smoketest.php: Split the regression test for bug#193 into separate
373
+ versions for PHP4 and PHP5 as the previous version only worked for PHP5.
374
+
375
+ Python:
376
+
377
+ * python/docs/index.html: Promote the Pythonic iterators, and deprecate the
378
+ non-pythonic iterators. Make it clearer that the "sequence API" is
379
+ deprecated.
380
+
381
+ * Add test of a custom ValueRangeProcessor (ie, one written in python).
382
+
383
+ * Update the examples to use the new-style attributes to access MSet item
384
+ values rather than the old-style MSET_* constants.
385
+
386
+ * Document MSET_DOCUMENT.
387
+
388
+ Ruby:
389
+
390
+ * smoketest.rb: Rename test of metadata access methods which had been named the
391
+ same as the matchdecider test due to a copy-and-paste error.
392
+
393
+ Xapian-bindings 1.0.3 (2007-09-28):
394
+
395
+ General:
396
+
397
+ * Wrap new methods Database::get_metadata() and
398
+ WritableDatabase::set_metadata().
399
+
400
+ * "make uninstall" now removes the loadable module we install for each of
401
+ the bindings.
402
+
403
+ * "make distcheck" now works.
404
+
405
+ * Distribution tarballs are now in the POSIX "ustar" format since it saves
406
+ about 40KB and we need to use it for xapian-core anyway.
407
+
408
+ Packaging:
409
+
410
+ * RPMs: Package xapian.php.
411
+
412
+ CSharp:
413
+
414
+ * Remove wrapper for ValueRangeProcessor::operator(), since it can't be
415
+ usefully used currently.
416
+
417
+ Java:
418
+
419
+ * Remove wrappers for the Muscat36 backend, which has now been dropped from the
420
+ C++ library.
421
+
422
+ * "make clean" now removes the class files generated for inner classes.
423
+
424
+ PHP:
425
+
426
+ * Add feature test for DateValueRangeProcessor when used with QueryParser.
427
+
428
+ * ValueRangeProcessor::apply() can now be called from PHP (bug#193). This
429
+ isn't actually very useful, since you can't subclass it in PHP currently.
430
+
431
+ * Fixed wrapping of Enquire::set_cutoff() - previously this would only work
432
+ if the third parameter was specified and a floating point number (e.g. 0.0).
433
+
434
+ * php/docs/bindings.html: Fix errors in example code.
435
+
436
+ Python:
437
+
438
+ * ValueRangeProcessor::operator() is now wrapped as a __call__ method in
439
+ Python which takes two strings and returns a 3-tuple (value_number,
440
+ modified_begin, modified_end). Previously this always failed with a
441
+ type error, so this doesn't break existing code.
442
+
443
+ * python/pythontest.py: Interpret any commandline arguments as a list of
444
+ tests to be run (the default is to run all tests).
445
+
446
+ * README,python/docs/bindings.html: Add a note about the problems with
447
+ mod-python (as described in bug #185).
448
+
449
+ * python/pythontest.py: Delete the database handles before deleting a database
450
+ to fix problems running the Python tests on MS Windows (bug#179).
451
+
452
+ * "make clean" now removes testsuite.pyc.
453
+
454
+ Ruby:
455
+
456
+ * Check for RUBY_INC, RUBY_LIB, and RUBY_LIB_ARCH in the environment or on
457
+ the configure command-line. The defaults for RUBY_LIB and RUBY_LIB_ARCH are
458
+ now the site-specific directories, which is more correct when building
459
+ from source. Debian packages, etc can override this by setting RUBY_LIB and
460
+ RUBY_LIB_ARCH.
461
+
462
+ Tcl:
463
+
464
+ * Check for TCL_LIB in the environment or on the configure command-line to
465
+ allow installing without root access more cleanly.
466
+
467
+ Xapian-bindings 1.0.2 (2007-07-05):
468
+
469
+ Documentation:
470
+
471
+ * Document use of PYTHON_LIB and PHP_EXTENSION_DIR instead of pylibdir and
472
+ phpextdir.
473
+
474
+ * Remove documentation of removed "--with-swig" configure option.
475
+
476
+ General:
477
+
478
+ * Add methods of NumberValueRangeProcessor for serialising and
479
+ unserialising doubles.
480
+
481
+ * Add methods and constants supporting spelling correction and synonyms.
482
+
483
+ * Value of XAPIAN_CONFIG supplied to configure is now passed to distcheck,
484
+ to ensure that it works with uninstalled copies of Xapian.
485
+
486
+ * Value of PYTHON_LIB supplied to configure is now respected - previously
487
+ it was documented, but ignored.
488
+
489
+ * Add support for supplying PHP_EXTENSION_DIR to configure.
490
+
491
+ * Change to using "%include", rather than reproducing contents of header
492
+ files, for "queryparser.h", "document.h" and "postingiterator.h".
493
+
494
+ * Add new form of get_mset() which allows a matchspy matchdecider to be
495
+ set.
496
+
497
+ * RPMs: Don't mention %makeinstall in a .spec file comment as that makes RPM
498
+ explode. Add in a missing "mv" in the command for installing tcl8
499
+ documentation.
500
+
501
+ CSharp:
502
+
503
+ * Fix rule handling parallel make to include xapian_wrap.h
504
+
505
+ PHP:
506
+
507
+ * Install xapian.php as <PREFIX>/share/php<PHPMAJOR>/xapian.php. There
508
+ doesn't seem to be a standard location, but this works for Debian at
509
+ least, and it seems better to at least try to install it.
510
+
511
+ * Rename ValueRangeProcessor and subclasses and TermGenerator to have a Xapian
512
+ prefix for PHP4.
513
+
514
+ Python:
515
+
516
+ * Fix a threading problem: the GIL was not being acquired in the exception
517
+ handling code before setting the Python exception state, leading to
518
+ various memory corruption symptoms in threaded programs.
519
+
520
+ * Add special iterators to Database for synonyms, synonym_keys and
521
+ spellings.
522
+
523
+ * Add test cases for OP_VALUE_RANGE queries, getting spelling corrections,
524
+ synonym iterators and spelling iterators.
525
+
526
+ * In the test suite, expect_query() now adds "Xapian::Query(" and ")" around
527
+ the expected description to make the tests more readable.
528
+
529
+ Xapian-bindings 1.0.1 (2007-06-11):
530
+
531
+ Documentation:
532
+
533
+ * NEWS: Fix the recent headings which said "Xapian-core" to say
534
+ "Xapian-bindings".
535
+
536
+ General:
537
+
538
+ * Wrap Xapian::Query constructor for creating ValueRange queries.
539
+
540
+ * Wrap new forms of Xapian::Database::allterms_begin() and allterms_end()
541
+ which take a prefix.
542
+
543
+ Packaging:
544
+
545
+ * RPMs: Use "make install" instead of %makeinstall to avoid doubled
546
+ %{buildroot} prefix on most files which we then have to work around.
547
+
548
+ CSharp:
549
+
550
+ * SimpleIndex now uses Xapian.TermGenerator.
551
+
552
+ * SimpleSearch now uses Xapian.QueryParser.
553
+
554
+ * New SimpleExpand example.
555
+
556
+ * Document explicitly how STEM_SOME constants are currently wrapped.
557
+
558
+ * Update GetTermName() reference in documentation to GetTerm().
559
+
560
+ * SmokeTest.cs: Update comment about Portable.NET bug - the bug is fixed in
561
+ their CVS repo, and the fix should be in their 0.8.2 release.
562
+
563
+ Java:
564
+
565
+ * `configure --help' documented that environmental variable JNI_INCLUDE_DIR was
566
+ looked at, but in fact its value was read but ignored. We now use it as the
567
+ first place to look for jni.h.
568
+
569
+ * configure will now automatically add an extra "-I" for the
570
+ linux/solaris/win32 subdirectory which Sun's JDK requires.
571
+
572
+ * Document JAVA_HOME and JDK_HOME in ./configure --help and mark them as
573
+ "precious" so their values are preserved for when configure is automatically
574
+ rerun.
575
+
576
+ PHP:
577
+
578
+ * Enquire::get_mset(first, maxitems, omrset) now works for PHP5.
579
+
580
+ * The PHP examples have been rewritten to be clearer and to make use of the
581
+ new XapianTermGenerator class.
582
+
583
+ Python:
584
+
585
+ * Python examples now use xapian.QueryParser and xapian.TermGenerator.
586
+
587
+ * Add support for prefix-restricted pythonic allterms iterators.
588
+
589
+ * Update documentation in a couple of places to refer to updated replacements
590
+ for MSetIterator.
591
+
592
+ * Change testsuite output to be more vim-friendly (vim should be able to jump
593
+ to the right lines now).
594
+
595
+ * __str__ on Xapian::Error now includes extra information in some cases (the
596
+ error_string and context, if they are set).
597
+
598
+ * python/smoketest.py: Eliminate uses of the legacy sequence API.
599
+
600
+ * python/pythontest.py: The legacy sequence API is only supported for Python
601
+ 2.3 and later, so don't run tests for it when running under Python 2.2.
602
+
603
+ * We now generate and install xapian.pyo as well as xapian.pyc.
604
+
605
+ Ruby:
606
+
607
+ * The Ruby examples now use the Xapian::QueryParser and Xapian::TermGenerator
608
+ classes.
609
+
610
+ * Add missing rename for the C++ TermGenerator::set_document() method so it can
611
+ be used as "tg.document = doc" in Ruby.
612
+
613
+ * Fixed compilation on Mac OS X and warning from GCC on 32-bit Linux platforms.
614
+
615
+ Tcl:
616
+
617
+ * tcl8/docs/examples/simpleexpand.tcl: New example to demonstrate relevance
618
+ feedback, based on C++ simpleexpand.cc.
619
+
620
+ * tcl8/docs/example/simpleindex.tcl: New simpler example making use of the
621
+ TermGenerator class.
622
+
623
+ * tcl8/docs/example/simplesearch.tcl: New simpler example making use of the
624
+ QueryParser class.
625
+
626
+ * tcl8/docs/bindings.html: Document how constants are wrapped.
627
+
628
+ * Update smoketest and examples to require version 1.0.0 - previously this
629
+ required 0.9.6, which failed since TCL doesn't accept differing major
630
+ version numbers.
631
+
632
+ * pkgIndex.tcl is now generated by configure.
633
+
634
+ Packaging:
635
+
636
+ * The required automake version has been lowered to 1.8.3, so RPMs can now be
637
+ built on RHEL 4 and SLES 9.
638
+
639
+ Xapian-bindings 1.0.0 (2007-05-17):
640
+
641
+ Documentation:
642
+
643
+ * Document Unicode support for each language.
644
+
645
+ * Assorted minor improvements and typo fixes.
646
+
647
+ General:
648
+
649
+ * Add wrappers for ExpandDecider, and Enquire::get_eset() variants which use
650
+ it, for languages where SWIG supports directors.
651
+
652
+ * Wrap new features: TermGenerator, ValueRangeProcessor hierarchy, the
653
+ OP_VALUE_RANGE query operator, the new overloaded form of parse_query, which
654
+ allows the "default_prefix" argument to be supplied, QueryParser flags
655
+ FLAG_PURE_NOT and FLAG_PARTIAL.
656
+
657
+ * Deprecated Xapian::Stem's stem_word() method in favour of apply().
658
+
659
+ * Remove wrappers for deprecated features removed from the C++ API (see
660
+ docs/deprecation.html in xapian-core for full details and upgrade
661
+ information).
662
+
663
+ * Deprecate ESetIterator::get_termname() in favour of ESetIterator::get_term().
664
+
665
+ * QueryParserError is now a real error, so remove special handling for "const
666
+ char *" exceptions.
667
+
668
+ * Use a stamp file in "make" rules with multiple targets so that parallel
669
+ make works.
670
+
671
+ * configure: Now quotes $PYTHON, etc so that you can specify a program with
672
+ arguments.
673
+
674
+ * configure: If the user specifies a program which doesn't exist (e.g.
675
+ PYTHON=/opt/bin/ptyhon) don't autoprobe after failing to find it.
676
+
677
+ * configure: Disable probes for f77, gcj, and rc completely by preventing
678
+ the probe code from even appearing in configure - this reduces the size of
679
+ configure by 28% and should speed it up significantly.
680
+
681
+ * configure: If the version check against the xapian-core version detects a
682
+ mismatch, we now issue a warning rather than a hard error since if you're
683
+ careful this can work. The warning is issued late on in configure, so it's
684
+ harder for the user to miss.
685
+
686
+ * configure: The --with-swig option has been removed. It no longer has a
687
+ purpose as we now ship the files which are generated by SWIG.
688
+
689
+ Portability:
690
+
691
+ * The PHP bindings can now be built with MSVC for Microsoft Windows.
692
+
693
+ CSharp:
694
+
695
+ * When using Mono 1.2, we must build with gmcs (the C# 2.0 compiler) rather
696
+ than mcs to avoid segmentation faults at runtime due to unimplemented
697
+ features in mcs. Document this, and update configure to prefer gmcs.
698
+
699
+ * The return type of MatchDecider::operator() is now `bool' rather than `int'
700
+ (in line with the same change in the C++ API).
701
+
702
+ * Xapian.Stem.StemWord() deprecated in favour of Xapian.Stem.Apply().
703
+
704
+ Java:
705
+
706
+ * The Java bindings have been updated to use C++ replacements for deprecated
707
+ methods, so they still build. The Java wrappers still provide the old
708
+ deprecated names for now though. The longer term plan is to replace the
709
+ hand-written JNI with SWIG generated wrappers (work has now begun on this)
710
+ which is likely to require some API changes, and it seems more sensible to
711
+ make any changes to align with C++ API changes at the same time.
712
+
713
+ * Enquire.getQuery() is implemented entirely in Java, so strip out the unused
714
+ MyQuery mechanism, and so fix a memory link which it caused (bug#105).
715
+
716
+ PHP:
717
+
718
+ * Fix undefined behaviour in get_matching_terms().
719
+
720
+ * Document the (existing) renaming of methods which are PHP reserved words
721
+ (empty() to is_empty() and clone() to clone_object()).
722
+
723
+ * Deprecated Xapian::Stem's stem_word() method in favour of apply().
724
+
725
+ Python:
726
+
727
+ * The Python bindings now throw exceptions as classes with a hierarchy which
728
+ mirrors that of the C++ Xapian::Error and its subclasses. The xapian.Error
729
+ base class inherits from the standard Python Exception class.
730
+
731
+ * All Python methods which accept strings can now be passed either a unicode
732
+ object or a simple string. Strings are returned as simple strings: unicode
733
+ input will be returned as utf-8 encoded output. The documentation now
734
+ contains a "Unicode" section.
735
+
736
+ * The Python bindings should now be usable more efficiently from threaded
737
+ Python applications since we now use SWIG's -threads option when generating
738
+ them, so that the GIL is released during long-running Xapian operations
739
+ (bug#137).
740
+
741
+ * Most classes, methods, functions, etc now have docstrings which are either
742
+ automatically extracted from the C++ documentation comments, or overridden by
743
+ more appropriate versions.
744
+
745
+ * Most of the Pythonic iterators now return an object instead of a sequence,
746
+ which means they now lazily fetch the information which previously had to be
747
+ fetched to put it in the sequence. The old sequence API is supported for
748
+ compatibility, but is scheduled for removal in Xapian 1.1.0.
749
+
750
+ * Those Python iterators which have skip_to() methods now return the item
751
+ skipped to, and next() will return the following item. Previously, they
752
+ returned None, and next() returned the item skipped to. Several bugs in the
753
+ skip_to() wrappers were fixed.
754
+
755
+ * Because of the lazy access, some objects returned by iterators will raise
756
+ an error if the lazy evaluation happens after the iterator has moved on
757
+ (since the underlying Xapian API doesn't allow efficient access to the
758
+ information in this situation). The exact semantics are defined in the
759
+ docstrings for each iterator.
760
+
761
+ * Those Pythonic iterators which return only a list of terms now return
762
+ simple strings, instead of a sequence or an object containing the term. This
763
+ is an incompatible change with earlier releases. The affected iterators are
764
+ Enquire.matching_terms, Query.__iter__, QueryParser.stoplist and
765
+ QueryParser.unstemlist.
766
+
767
+ * The contents of an MSet can now be iterated in the standard Python way.
768
+ The iteration will return MSetItem objects. The __contains__ and __getitem__
769
+ methods are also implemented, allowing the "in" and [] operators to work.
770
+ MSet.__getitem__ is a synonym for MSet.get_hit.
771
+
772
+ * MSet.get_hit() now returns an MSetItem object instead of an MSetIterator,
773
+ so that lazy access to its attributes is supported. MSetItem has some
774
+ deprecated methods which mimic the MSetIterator interface to allow old code
775
+ to work without modification until release 1.1.0.
776
+
777
+ * MSetItem provides access to the collapse_key and collapse_count, which
778
+ weren't accessible from the sequence returned by the iterators before this
779
+ release.
780
+
781
+ * Out-of-range access to MSets will now raise an IndexError - it used to
782
+ cause undefined behaviour (usually a crash).
783
+
784
+ * The Python testsuite is now much more extensive, and supports colour output
785
+ and verbosity levels, much like the C++ testsuite. Tests of deprecated
786
+ features are separated out, so that they can easily be removed when the
787
+ features are removed. The Python tests currently focus mainly on Python
788
+ specific iterators and related functionality - general Xapian behaviour is
789
+ tested by the C++ testsuite.
790
+
791
+ * The pure Python code in the bindings now uses new-style classes, since we
792
+ have required Python >= 2.2 since Xapian release 0.9.9.
793
+
794
+ * Enquire.get_matching_terms is now deprecated - use Enquire.matching_terms
795
+ instead.
796
+
797
+ * The get_description() method which many classes support has been deprecated
798
+ in favour of new more pythonic __str__ methods, so that the str() builtin can
799
+ be used. get_description() is deprecated and scheduled for removal in 1.1.0.
800
+
801
+ Ruby:
802
+
803
+ * We no longer regard the Ruby bindings as "beta quality", so remove the
804
+ warning from their documentation.
805
+
806
+ * Document that that C++ operator() becomes the method "call" in Ruby.
807
+
808
+ * Don't read termfreq in safe wrapper for Document::termlist_begin(). Don't
809
+ read wdf in safe wrapper for Database::allterms_begin() (bug#133).
810
+
811
+ Tcl:
812
+
813
+ * Deprecated Xapian::Stem's stem_word() method in favour of apply().
814
+
815
+ Xapian-bindings 0.9.10.1 (2007-04-04):
816
+
817
+ PHP:
818
+
819
+ * Fix PHP5 class wrapper generation in a few cases for overloaded methods with
820
+ default parameters. The most notable case was a missing Query constructor
821
+ which meant that QueryParser was unusable.
822
+
823
+ * Fix compilation of the PHP4 bindings with ZTS-enabled versions of PHP
824
+ (which mostly seems to mean the MS Windows version).
825
+
826
+ * Fix PHP5 crash on exit with ZTS-enabled versions of PHP (which mostly
827
+ seems to mean the MS Windows version).
828
+
829
+ * Add note to the documentation that PHP examples are written for CLI version
830
+ of PHP, but that the bindings work with any version.
831
+
832
+ * Add check to all PHP examples that they are being run under a CLI version of
833
+ PHP.
834
+
835
+ Python:
836
+
837
+ * simpleexpand.py: Print each term's expand weight as a floating point value,
838
+ not an integer.
839
+
840
+ Ruby:
841
+
842
+ * INSTALL: document how to install Xapian's Ruby bindings in your home
843
+ directory.
844
+
845
+ Xapian-bindings 0.9.10 (2007-03-04):
846
+
847
+ Java:
848
+
849
+ * Under Mac OS X, automatically look in the standard location for jni.h,
850
+ and automatically rename the JNI library we build to ".jnilib", as is
851
+ required by the OS X JVM.
852
+
853
+ * java/README: Note success with Sun's JDK 1.5.0_06-b05, plus the requirement
854
+ to add the linux header directory to the include path when using this JDK.
855
+
856
+ * Add missing default constructor for RSet class - it's not much use without
857
+ this!
858
+
859
+ * Fix Enquire.getESet() to actually work.
860
+
861
+ * Fix bug in ESetIterator.hasNext().
862
+
863
+ * Fix MatchDecider and ExpandDecider so subclassing in Java actually works.
864
+
865
+ * Fix memory leak with some JVMs in the "Query from array" constructor.
866
+
867
+ * Fix memory leak in Enquire.setQuery().
868
+
869
+ * SmokeTest.java: Add regression tests for RSet default constructor,
870
+ Enquire.getESet(), ESetIterator.hasNext(), MatchDecider, ExpandDecider.
871
+ Add feature tests for Enquire.getQuery(), and to make sure we get passed
872
+ the right document in a java subclass of MatchDecider.
873
+
874
+ * configure: Look for jni.h in $JAVA_HOME/include and $JDK_HOME/include if the
875
+ respective variables are set.
876
+
877
+ PHP:
878
+
879
+ * Update the documentation to fix out-of-date information and document the
880
+ differences between the PHP4 and PHP5 wrappers.
881
+
882
+ * Update the examples to use the new Object Oriented API, and provide versions
883
+ for both PHP4 and PHP5.
884
+
885
+ * Add a "simpleexpand" example.
886
+
887
+ * For PHP4, Xapian::DB_CREATE_OR_OPEN should be wrapped as
888
+ Xapian_DB_CREATE_OR_OPEN not DB_CREATE_OR_OPEN, so wrap it with the
889
+ new name, but keep the old name for now for backward compatibility.
890
+
891
+ * configure: Try `$(PHP_CONFIG) --php-binary` when looking for a PHP
892
+ interpreter - this works with PHP5.
893
+
894
+ * configure: Remove the sanity check for PHP_EXTENSION_DIR added in Xapian
895
+ 0.9.8 - if Xapian is the first PHP extension to be installed, the extension
896
+ directory may not exist and "make install" will create it.
897
+
898
+ * configure: If zend.h isn't found and configure was run with "--with-php",
899
+ exit with an error rather than automatically disabling PHP support.
900
+
901
+ Python:
902
+
903
+ * Fix a problem which preventing building for Python 2.5 on 64 bit platforms.
904
+
905
+ Packaging:
906
+
907
+ * RPMs: Add support for passing "--without python" to rpmbuild. Document the
908
+ various "--without" options in a comment at the start of the .spec file.
909
+
910
+ * RPMs: Remove "." from the end of the Summary.
911
+
912
+ Xapian-bindings 0.9.9 (2006-11-09):
913
+
914
+ Documentation:
915
+
916
+ * Ship our custom INSTALL file rather than the generic one from autoconf which
917
+ we've accidentally been shipping instead since 0.9.5.
918
+
919
+ General:
920
+
921
+ * Wrap Flint::open() and Flint::open_writable().
922
+
923
+ * configure: Require SWIG 1.3.30 (1.3.30 isn't out yet, but 1.3.30rc1 is
924
+ suitable).
925
+
926
+ Python:
927
+
928
+ * Generate the bindings using SWIG 1.3.30rc1 which fixes a build error on 64
929
+ bit platforms with Python 2.5.
930
+
931
+ Packaging:
932
+
933
+ * RPMs: Prevent binaries getting an rpath for /usr/lib64 on FC6.
934
+
935
+ * RPMs: The Python bindings now require Python >= 2.2.
936
+
937
+ Portability:
938
+
939
+ * configure: Remove unnecessary backticks from tclsh version test.
940
+
941
+ Xapian-bindings 0.9.8 (2006-11-02):
942
+
943
+ General:
944
+
945
+ * Wrap the "prog" form of Remote::open() (which is suitable for general purpose
946
+ use as of 0.9.7) and the Remote::open_writable() methods (new in 0.9.7).
947
+
948
+ * The C++ method QueryParser::parse_query() current throws "std:string"
949
+ exceptions if there's a parse error. Previously the bindings didn't catch
950
+ these. Now we catch them and handle them as if they were exceptions of
951
+ type Xapian::QueryParserError (in anticipation of this changing in
952
+ xapian-core). Added testcases for this for PHP, Python, and C#.
953
+
954
+ * configure: Note that SWIG is only useful for Xapian developers in --help
955
+ output.
956
+
957
+ * configure: If we failed to find any languages to build for, give a more
958
+ helpful message.
959
+
960
+ CSharp:
961
+
962
+ * SmokeTest.cs: Fix warning about unused variable in OP_ELITE_SET check.
963
+
964
+ Java:
965
+
966
+ * configure: Fix check for jni.h in /usr/lib/jvm/java-gcj/include to actually
967
+ work rather than using the cached failure of the first jni.h check.
968
+
969
+ * SmokeTest.java: Fix check for value of Query.OP_ELITE_SET.
970
+
971
+ * SmokeTest.java: Avoid gcj "set but not used" warning.
972
+
973
+ PHP:
974
+
975
+ * configure: Sanity check PHP_EXTENSION_DIR and PHP_INC.
976
+
977
+ * smoketest4.php,smoketest5.php: Check the exception message given by the
978
+ DocNotFoundError testcase.
979
+
980
+ Python:
981
+
982
+ * Drop support for Python 2.1.
983
+
984
+ Xapian-bindings 0.9.7 (2006-10-10):
985
+
986
+ Documentation:
987
+
988
+ * NEWS: Fix the recent headings which said "Xapian-core" to say
989
+ "Xapian-bindings".
990
+
991
+ General:
992
+
993
+ * Specify required automake version in the call to AM_INIT_AUTOMAKE in
994
+ configure.ac.
995
+
996
+ * If we're building with GCC 4.0 or higher, pass -fvisibility=hidden when
997
+ compiling SWIG generated code which makes the compiled modules a few percent
998
+ smaller and perhaps a little faster.
999
+
1000
+ * Wrap the newly implemented transaction API.
1001
+
1002
+ * configure: Use "-fno-strict-aliasing" when compiling all the SWIG bindings
1003
+ (this option was supposed to be used to compile the Python bindings from
1004
+ 0.9.3 onwards, but this wasn't actually working correctly).
1005
+
1006
+ * Use CVS snapshot of SWIG to generate files (fixes bugs #83, #85).
1007
+
1008
+ * In maintainer-mode, "make clean" now removes the SWIG generated files
1009
+ which would otherwise only be removed on "make maintainer-clean".
1010
+
1011
+ CSharp:
1012
+
1013
+ * Xapian::MatchDecider can now be subclassed in C#.
1014
+
1015
+ * The value of OP_ELITE_SET was wrong in C# which caused an error if you tried
1016
+ to use it. This has been fixed and a regression test added.
1017
+
1018
+ * SmokeTest.cs: Added exception handling test.
1019
+
1020
+ Java:
1021
+
1022
+ * Correct two misuses of delete to delete[]. Fixes bug#78.
1023
+
1024
+ * configure: We need to look for jni.h in /usr/lib/jvm/java-gcj/include on some
1025
+ Debian and Ubuntu boxes at least.
1026
+
1027
+ PHP:
1028
+
1029
+ * We now generate class wrappers for PHP5.
1030
+
1031
+ * We now generate proxy classes for PHP4, which is an incompatible change
1032
+ from previous versions of xapian-bindings. A perl script to upgrade
1033
+ your scripts is included.
1034
+
1035
+ * smoketest.php:
1036
+
1037
+ + Now that we're throwing PHP exceptions with PHP5 we need separate versions
1038
+ of the exception handling test for PHP4 and PHP5. Fixes bug#76.
1039
+
1040
+ + Rely on xapian.php to load the extension module for us.
1041
+
1042
+ + Fix error messages to show PHP code, not Python code.
1043
+
1044
+ * When running smoketest.php, pass the "-q" option to php, which suppresses
1045
+ HTTP header output for PHP < 4.3 and is ignored for compatibility by more
1046
+ recent versions of PHP.
1047
+
1048
+ * configure: Fix typo - PHP_tried should be PHP_found. This might have caused
1049
+ the PHP interpreter not to be found in some cases when it was actually
1050
+ available, but it's only used to run the smoketest not for building the
1051
+ bindings.
1052
+
1053
+ Python:
1054
+
1055
+ * configure: Fixed check for PYTHON_PATHSEP to use $PYTHON rather than python,
1056
+ and also report the check and its result to the user.
1057
+
1058
+ * python/Makefile.am: xapian.pyc can't be generated until _xapian.la has been
1059
+ built, so add an explicit dependency so that this works reliably in parallel
1060
+ builds. Fixes bug#77.
1061
+
1062
+ * In examples and documentation, don't call the MatchDecider class/object
1063
+ "matcher", since we use the term "matcher" to mean something else in
1064
+ the library documentation.
1065
+
1066
+ * smoketest.py:
1067
+
1068
+ + Add test of exception handling.
1069
+
1070
+ + Add test that MatchDecider can be subclassed successfully.
1071
+
1072
+ * Wrap TermIterator::skip_to() so that it can be used from the TermIter
1073
+ pythonic iterator class.
1074
+
1075
+ Ruby:
1076
+
1077
+ * Xapian::MatchDecider can now be subclassed in Ruby.
1078
+
1079
+ * configure: Look for ruby interpreter as "ruby1.8" since it's called that
1080
+ (with no "ruby" alias) on Ubuntu dapper at least.
1081
+
1082
+ * simplesearch.rb: Lowercase terms before stemming. "First ten" is inaccurate
1083
+ since we may have less than 10 matches, so say "1-<N>" instead.
1084
+
1085
+ * simplematchdecider.rb: Implemented.
1086
+
1087
+ Tcl:
1088
+
1089
+ * Implement saner exception handling for Tcl and document it.
1090
+
1091
+ * smoketest.tcl:
1092
+
1093
+ + Add check that xapian::Query_OP_ELITE_SET has the right value.
1094
+
1095
+ + Rework how the smoketest gets run to eliminate special code for using
1096
+ uninstalled bindings from smoketest.tcl itself. This allows the smoketest
1097
+ to be run using installed bindings, and also makes it a better example
1098
+ program.
1099
+
1100
+ + Add test for exception handling.
1101
+
1102
+ + Send error messages to stderr.
1103
+
1104
+ + Add comment about Tcl storing zero bytes as \xc0\x80.
1105
+
1106
+ * simpleindex.tcl,simplesearch.tcl: Print $errorCode in the exception handler.
1107
+
1108
+ * For SVN snapshots, remove any _svn6789 suffix from the Xapian version number
1109
+ used for the Tcl bindings.
1110
+
1111
+ Xapian-bindings 0.9.6 (2006-05-15):
1112
+
1113
+ Documentation:
1114
+
1115
+ * INSTALL: Add section describing how to install without root access.
1116
+
1117
+ General:
1118
+
1119
+ * Updated to reflect the renaming of Xapian::xapian_version_string and
1120
+ companions to Xapian::version_string.
1121
+
1122
+ * Wrap optional length parameter to Enquire::set_query().
1123
+
1124
+ * In PHP, Python, and Tcl bindings, rename get_document_id to get_docid for
1125
+ consistency. Keep get_document_id as an alias for now for backward
1126
+ compatibility.
1127
+
1128
+ * Fixed ESet::empty() to return bool instead of Xapian::termcount (this was
1129
+ probably a largely harmless error).
1130
+
1131
+ * Stop SWIG from adding exception handling wrappers to the calls which return
1132
+ version strings, since they can't throw exceptions.
1133
+
1134
+ * xapian.i: Removed superfluous "const" from return type "docid" which is just
1135
+ a typedef for an unsigned integer type.
1136
+
1137
+ * configure: Add some missing "checking ..." messages so the user has more idea
1138
+ what is going on.
1139
+
1140
+ * Language specific util.i files can now define
1141
+ XAPIAN_TERMITERATOR_PAIR_OUTPUT_TYPEMAP and
1142
+ XAPIAN_MIXED_VECTOR_QUERY_INPUT_TYPEMAP to indicate which optional typemaps
1143
+ are provided for each language. This avoids needing to keep this
1144
+ information in two different places.
1145
+
1146
+ * xapian.i: Uncomment commented-out parameter names and fix duplicate
1147
+ parameter names (for the benefit of bindings which use the parameter names,
1148
+ like the OO PHP5 patch for SWIG I'm working on...)
1149
+
1150
+ Portability:
1151
+
1152
+ * configure: Fix warning flags passed for Intel C++ compiler.
1153
+
1154
+ CSharp:
1155
+
1156
+ * We now support building with Portable.NET.
1157
+
1158
+ * Note that the passing of strings from C# into Xapian and back isn't currently
1159
+ zero byte safe. If you try to handle string containing zero bytes, you'll
1160
+ find they get truncated at the zero byte.
1161
+
1162
+ * C# bindings now build and pass tests when srcdir != builddir.
1163
+
1164
+ * In configure.ac, the "#" in "C#" seems to sometimes confuse autoconf so
1165
+ always say "CSharp" instead.
1166
+
1167
+ * Not all machines are set up to run compiled C# programs when invoked
1168
+ directly, so get configure to check if we can, and otherwise see if using
1169
+ mono or ilrun works. If not, just skip the C# tests.
1170
+
1171
+ * configure: If "mcs" isn't found, we now look for a CSharp compiler as "gmcs"
1172
+ (alternative name for "mcs"), "cscc" (Portable.NET), and then "csc"
1173
+ (Microsoft, but we check it isn't the unrelated Chicken csc program.)
1174
+
1175
+ * Move the C# specific %rename list to csharp/util.i.
1176
+
1177
+ * Store the strong name key in the key container so we reuse it for later
1178
+ builds.
1179
+
1180
+ * Wrap the version functions as more sensible names and document them (and
1181
+ continue to provide the older undocumented names for now just in case anyone
1182
+ was using them.)
1183
+
1184
+ * Set the version of XapianSharp.dll correctly when building a snapshot from
1185
+ SVN and set informational attributes (which e.g. MS Windows Explorer shows.)
1186
+
1187
+ * SmokeTest.cs: Add test of version functions.
1188
+
1189
+ Guile:
1190
+
1191
+ * The Guile bindings don't work and aren't being actively worked on, so we're
1192
+ no longer including them in the distributed tarball to avoid disappointing
1193
+ users who notice a "guile" subdirectory. It also makes the download smaller.
1194
+
1195
+ Java:
1196
+
1197
+ * Simplify (and improve portability of) run-java-test by using "libtool
1198
+ --mode=execute"'s -dlopen option.
1199
+
1200
+ * Need to make sure "built" subdirectory exists or building from clean fails.
1201
+
1202
+ * Fix "make check" to work when srcdir != builddir.
1203
+
1204
+ PHP:
1205
+
1206
+ * Using "php -c myphp.ini" still loads the system php.ini (at least for PHP
1207
+ 4.3.10), so use "php -n" and then set the options we specifically want using
1208
+ "-d".
1209
+
1210
+ * Fix the smoketest invocation to work better when srcdir != builddir.
1211
+
1212
+ * Look for PHP interpreter first in prefix given by "php-config --prefix".
1213
+
1214
+ * Fix SWIG_RuntimeError to be handled as an exception in PHP5.
1215
+
1216
+ * simplesearch.php: MAX_PROB_TERM_LENGTH isn't used here so remove it.
1217
+
1218
+ * smoketest.php:
1219
+
1220
+ + Add test for version reporting functions
1221
+
1222
+ + If a test fails, say which one to aid debugging.
1223
+
1224
+ + Added simple test that zero-bytes are handled correctly when passing
1225
+ strings to and from Xapian.
1226
+
1227
+ Python:
1228
+
1229
+ * README: Note that Python bindings have been built with MSVC.
1230
+
1231
+ * Install xapian.py and xapian.pyc as _DATA not _SCRIPTS because we don't want
1232
+ to make them executable (they don't have a #! line).
1233
+
1234
+ * simplematchdecider.py: Rename confusingly-named "mymatcher" to
1235
+ "mymatchdecider". Add description of what this example does.
1236
+
1237
+ * simpleexpand.py: Don't define MAX_PROB_TERM_LENGTH as it isn't used.
1238
+
1239
+ * smoketest.py: Added simple test that zero-bytes are handled when passing
1240
+ strings to and from Xapian.
1241
+
1242
+ Ruby:
1243
+
1244
+ * Added new Ruby bindings from Paul Legato.
1245
+
1246
+ Tcl:
1247
+
1248
+ * smoketest.tcl:
1249
+
1250
+ + Add test for version reporting functions
1251
+
1252
+ + If a test fails, say which one to aid debugging.
1253
+
1254
+ + Added simple test that zero-bytes are handled correctly when passing
1255
+ strings to and from Xapian.
1256
+
1257
+ Xapian-bindings 0.9.5 (2006-04-08):
1258
+
1259
+ Documentation:
1260
+
1261
+ * HACKING,README: Split off HACKING to contain information which is only
1262
+ relevant to those wishing to modify the bindings.
1263
+
1264
+ General:
1265
+
1266
+ * SWIG-based bindings are now built with SWIG 1.3.29.
1267
+
1268
+ * configure: Report which languages we're building bindings for just before
1269
+ configure finishes.
1270
+
1271
+ * xapian.i: Make the stub definitions for disabled backends static.
1272
+
1273
+ * configure: Don't quote $PHP in AC_PATH_PROGS to avoid "checking for ... no"
1274
+ message.
1275
+
1276
+ * xapian.i: Wrap new method Enquire::set_sort_by_relevance_then_value().
1277
+
1278
+ Packaging:
1279
+
1280
+ * RPMs: xapian-bindings.spec.in: Use "%{_libdir}" instead of "/usr/lib" for
1281
+ Python bindings to support 64 bit systems.
1282
+
1283
+ * RPMs: Package the C# bindings.
1284
+
1285
+ Portability:
1286
+
1287
+ * java/run-java-test: Fix to work on platforms where LD_LIBRARY_PATH has a
1288
+ different name.
1289
+
1290
+ * configure: Detect Intel's C++ compiler and set suitable warning flags to
1291
+ avoid noise from compiling generated code.
1292
+
1293
+ CSharp:
1294
+
1295
+ * Rename Database::GetDoccount() to Database::GetDocCount() for consistency.
1296
+
1297
+ Guile:
1298
+
1299
+ * configure: Disable --with-guile since Guile support doesn't currently work.
1300
+
1301
+ Java:
1302
+
1303
+ * Override deprecation warnings for Xapian methods/functions/etc.
1304
+
1305
+ * SmokeTest.java: Write a helpful diagnostic to stderr if a check fails so we
1306
+ have some idea what went wrong!
1307
+
1308
+ * Rework how we include headers to get hash_map to avoid compiler warnings
1309
+ since it's usually not in the std namespace nowadays.
1310
+
1311
+ * Previously the "all" target also ran the "install" target, but this has
1312
+ proved very problematic, so change "make check" to use the uninstalled JNI
1313
+ glue library, and update the instructions to say that "make install" is now
1314
+ required.
1315
+
1316
+ * Use JAVA_PATHSEP when specifying the classpath for compiling .java files to
1317
+ .class files.
1318
+
1319
+ * README: Note that some platforms need "-pthread" or similar flags.
1320
+
1321
+ * Add a new Query constructor wrapper which take an OP_xxx and an array of
1322
+ Query objects.
1323
+
1324
+ * Compiling a .java file to a .class file now deletes the .jar file to ensure
1325
+ it gets updated.
1326
+
1327
+ PHP:
1328
+
1329
+ * php -n avoids reading any php.ini, but the compiled in default may be to
1330
+ enable the dubiously named "safe_mode" which prevents dl() being used so
1331
+ "make check" fails. So instead provide a very simple php.ini which turns off
1332
+ safe_mode and makes sure enable_dl is on.
1333
+
1334
+ * Fix handling of bool parameters when resolving overloaded methods and/or
1335
+ default arguments. This fixes Enquire_sort_by_value() to work when the
1336
+ second argument is specified. Added regression test for this case.
1337
+
1338
+ * simpleindex.php: Lowercase terms before stemming. Fixes bug#73.
1339
+
1340
+ * Fix segmentation fault when PHP "Null" is passed where C++ wants an object
1341
+ passed by reference. Fixes bug#74.
1342
+
1343
+ * simpleindex.php: Flushing after every call to WritableDatabase_add_document
1344
+ isn't required and will kill performance, so stop doing it. Fixes bug#75.
1345
+
1346
+ Python:
1347
+
1348
+ * Use the fairly new "swig -O" option for the "modern" python bindings as
1349
+ it generates a smaller glue library and runs faster. Some of the features
1350
+ enabled also work on python 2.1, so enable these for the "olde" bindings.
1351
+
1352
+ * configure: Catch the case where the user has python installed but not the
1353
+ module "distutils.sysconfig" and explain that they probably need to install a
1354
+ python-dev or python-devel package.
1355
+
1356
+ * "make check" now works in VPATH builds.
1357
+
1358
+ * smoketest.py: If a check fails, write a diagnostic message to stderr so we
1359
+ know which check it was!
1360
+
1361
+ * smoketest.py: catch Exception objects and print them.
1362
+
1363
+ * smoketest.py: Add feature tests for the various pythonic iterator
1364
+ wrappers
1365
+
1366
+ * python/docs/bindings.html: Document the Pythonic iterators.
1367
+
1368
+ * Fix TermIter not to try to read termfreqs or positions if they aren't
1369
+ meaningful for the current TermIter.
1370
+
1371
+ Xapian-bindings 0.9.4 (2006-02-21):
1372
+
1373
+ Documentation:
1374
+
1375
+ * COPYING: Updated FSF address.
1376
+
1377
+ General:
1378
+
1379
+ * Wrap Stopper::get_description().
1380
+
1381
+ * Wrap xapian_version_string() and related functions.
1382
+
1383
+ Portability:
1384
+
1385
+ * If we're overriding MACOSX_DEPLOYMENT_TARGET then override it for commands
1386
+ run from "make" too.
1387
+
1388
+ PHP:
1389
+
1390
+ * Fix so that generated code compiles with ZTS-enabled PHP (which is the
1391
+ default on Windows).
1392
+
1393
+ Python:
1394
+
1395
+ * smoketest.py: Test wrapping of xapian_version_string() and related functions.
1396
+
1397
+ Xapian-bindings 0.9.3 (2006-02-16):
1398
+
1399
+ Documentation:
1400
+
1401
+ * README: Updated and expanded (now covers supported platforms, and lists
1402
+ criteria which bindings for an additional language need to fulfil before
1403
+ we're likely to accept them).
1404
+
1405
+ * INSTALL: Updated and improved.
1406
+
1407
+ * TODO: Move C#-specific TODO to top level so we can track to-do items for
1408
+ all languages.
1409
+
1410
+ General:
1411
+
1412
+ * configure: Change how the user selects which bindings to build. If no
1413
+ --with* arguments are passed, then we default to building bindings we detect
1414
+ the required tools for (as before). But instead of requiring the user to
1415
+ deselect all bindings they don't actually want, we now let them select the
1416
+ bindings they do want. So "./configure --with-python" will only build the
1417
+ python bindings (and will fail if the required tools aren't installed).
1418
+
1419
+ * Every wrapped method contains exception handling code. The bulk of this
1420
+ is now factored out into a single helper function, which cuts the compile
1421
+ time by around a factor of 3 and halves the size of the stripped library
1422
+ (figures are for Tcl on x86_64).
1423
+
1424
+ * configure: Rework how XAPIAN_CXXFLAGS is passed through so that the user can
1425
+ override CXXFLAGS in the make invocation like so: make CXXFLAGS=-g
1426
+
1427
+ * configure: Bump required SWIG version to 1.3.28 and drop the special
1428
+ requirement for 1.3.22 for PHP (hurrah!) Note that you don't need
1429
+ SWIG to install the bindings - SWIG is run by the Xapian developers
1430
+ so these updated requirements are only relevant if you want to modify
1431
+ the bindings.
1432
+
1433
+ * Eliminate separate Makefile in each examples subdirectory, which makes the
1434
+ build system simpler, smaller, and a little faster.
1435
+
1436
+ * xapian.i: Include default constructors for all classes so that SWIG knows it
1437
+ doesn't have to use SwigValueWrapper for them, which makes the bindings code
1438
+ a bit smaller and faster. Also stop SWIG using SwigValueWrapper for
1439
+ std::pair<...>.
1440
+
1441
+ * configure: Document special environmental variables which configure
1442
+ recognises. Enhance handling of environmental variables so you can
1443
+ e.g. './configure PYTHON=python23' (previously you had to give a full
1444
+ path in such environmental variables or they would be ignored.
1445
+
1446
+ Packaging:
1447
+
1448
+ * RPM spec file:
1449
+
1450
+ + Automatically detect the python version.
1451
+
1452
+ + Rename "php4" references to "php".
1453
+
1454
+ + Automatically detect the PHP extension directory.
1455
+
1456
+ + Relax Tcl requirement to >= 8.1, since that's what we actually require.
1457
+
1458
+ + Add support for "--without php" and --without tcl8" options to rpmbuild.
1459
+
1460
+ Portability:
1461
+
1462
+ * configure: On Mac OS X, ensure MACOSX_DEPLOYMENT_TARGET is set to at least
1463
+ 10.3. This is required to link the bindings, and it doesn't seem to be
1464
+ possible to link them on 10.1 or 10.2 anyway.
1465
+
1466
+ * configure: Add -lstdc++ to XAPIAN_LIBS if we're using GCC. OpenBSD needs it
1467
+ to be explicitly specified and libtool correctly handles platforms where it
1468
+ would have been implicitly linked with anyway.
1469
+
1470
+ * Try to enable PHP bindings to build out of the box on cygwin (needs testing).
1471
+
1472
+ * configure: Add missing ";;" on the last alternative in some case statements.
1473
+
1474
+ * Only pass -no-undefined on platforms where it is required in order to link a
1475
+ shared library at all (it causes problems on Mac OS X in some cases).
1476
+
1477
+ CSharp:
1478
+
1479
+ * This release includes a lot of improvements for the C# bindings. They're
1480
+ now pretty much on a par with the other language bindings.
1481
+
1482
+ * Added documentation and examples.
1483
+
1484
+ * Method and function names are now renamed to match C# conventions
1485
+ (e.g. from get_description() to GetDescription()). This is obviously an
1486
+ incompatible change, but the C# bindings haven't been suitable for real world
1487
+ use prior to this release.
1488
+
1489
+ * Optional parameters are now wrapped so no longer need be specified
1490
+ explicitly.
1491
+
1492
+ * Overload ++ and -- for iterators.
1493
+
1494
+ * Overload == and != for iterators. Now comparisons with the end iterator
1495
+ work as expected, and SmokeTest passes.
1496
+
1497
+ * SmokeTest now reports exceptions verbosely.
1498
+
1499
+ * Xapian::InMemory::open() is now wrapped as Xapian.InMemory.Open(), and
1500
+ similarly for other database factory functions.
1501
+
1502
+ * Heed compatibility warnings from mcs and use different forms for
1503
+ command-line switches to the C# compiler (presumably for compatibility with
1504
+ Microsoft's compiler, though the warnings don't actually say that
1505
+ explicitly).
1506
+
1507
+ Guile:
1508
+
1509
+ * Rewrote guile/util.i. The old version caused SWIG warnings and wasn't
1510
+ zero-byte safe. The guile bindings are still a long way from actually
1511
+ working though.
1512
+
1513
+ Java:
1514
+
1515
+ * Wrap optional second parameter (query length) to Enquire::set_query().
1516
+
1517
+ * configure now probes for the Java path separator, which we then use to
1518
+ separate entries in the java -classpath command line option so we can
1519
+ build on platforms where it isn't ":".
1520
+
1521
+ * SmokeTest.java: Expand to test more features.
1522
+
1523
+ * java/README:
1524
+
1525
+ + Note that the bindings work with the Eclipse javac and GIJ 4.0.1.
1526
+
1527
+ + Add note about how wrapped methods are named.
1528
+
1529
+ * Query.java: OP_* code 9 no longer exists, so add it to those rejected by the
1530
+ validity check.
1531
+
1532
+ * Query.java: Comment out unused code.
1533
+
1534
+ * Fixed memory leak in Query-from-array-of-strings constructor.
1535
+
1536
+ * Eliminate the "_errormap" hashmap - we don't need to use RTTI here, since
1537
+ Xapian::Error subclasses can tell you their typename directly (using
1538
+ get_type()).
1539
+
1540
+ PHP:
1541
+
1542
+ * Some problems with overloaded methods in PHP have been fixed by a major
1543
+ overhaul of SWIG's PHP support. So we no longer rename such methods
1544
+ for PHP. This is an incompatible change, but it's easy to update your
1545
+ PHP scripts (just change new_Query_from_term_pair -> new_Query, etc).
1546
+
1547
+ * Previously the documentation and simpleindex.php suggested that you
1548
+ should call delete_CLASS(). This was incorrect and resulted in a
1549
+ double-free() in some cases, so we've fixed the documentation and
1550
+ examples and eliminated the delete_CLASS() wrappers. This is another
1551
+ incompatible change, but again easy to update for.
1552
+
1553
+ * We now support PHP5 as well as PHP4, so the configure test now looks
1554
+ for either and all references to "PHP4" or "php4" have been adjusted.
1555
+
1556
+ * PHP5 supports exceptions, so throw exceptions under PHP5. For PHP4
1557
+ we now handle DocNotFoundError and FeatureUnavailableError by issuing a
1558
+ warning and making the method return "Null". This isn't ideal, but it's
1559
+ the best we can easily do without proper exceptions.
1560
+
1561
+ * For the smoketest, instead of using "$(PHP) -c $(srcdir)" and having an
1562
+ empty php.ini in srcdir (which we were failing to distribute anyway), use
1563
+ "$(PHP) -n" which tells PHP not to use any php.ini file.
1564
+
1565
+ * Update PHP documentation to include new features.
1566
+
1567
+ * Redo Xapian section in phpinfo() to look more like most other modules.
1568
+
1569
+ * You can now construct a Query object from an array of strings or Query
1570
+ objects (or even a mixture).
1571
+
1572
+ * PHP examples now give a more useful error message if a database can't be
1573
+ opened.
1574
+
1575
+ * smoketest.php: Expanded the tests performed, including feature tests for
1576
+ the new Query-from-list constuctor.
1577
+
1578
+ * simplesearch.php: Use newly wrapped Query-from-list constructor.
1579
+
1580
+ * Use std::string::data() instead of c_str() as it may be more efficient for
1581
+ some STL implementations.
1582
+
1583
+ * Enquire::get_matching_terms() now generates the PHP list directly from the
1584
+ TermIterator rather than constructing a temporary C++ std::list, which is
1585
+ faster and requires less temporary memory.
1586
+
1587
+ Python:
1588
+
1589
+ * The Python constructor xapian.Query(OP, LIST_OF_STRINGS [, PARAM]) works
1590
+ once again (it has been broken since 0.9.0). Added a regression test to
1591
+ help keep this working.
1592
+
1593
+ * Enhance the above constructor to accept any Python sequence (e.g. a tuple
1594
+ instead of a list). Also the sequence can contain xapian.Query objects or
1595
+ strings or a mixture. Documented these enhancements.
1596
+
1597
+ * smoketest.py: Expanded the tests performed.
1598
+
1599
+ * Convert C++ strings to python ones in a zero-byte clean way.
1600
+
1601
+ * Added more error checking of the results of calls into the python
1602
+ interpreter.
1603
+
1604
+ * If using GCC, compile the python bindings with -fno-strict-aliasing (python
1605
+ itself is compiled with this option to avoid problems and it appears we ought
1606
+ to use it too to avoid the risk of hitting the same problems, although I'm
1607
+ not aware of anyone actually encountering such problems).
1608
+
1609
+ * When making xapian.pyc, "import _xapian;" before we "import xapian;" to
1610
+ avoid creating a broken xapian.pyc is the shared library can't be loaded for
1611
+ some reason.
1612
+
1613
+ * Enquire::get_matching_terms() now generates the Python list directly from the
1614
+ TermIterator rather than constructing a temporary C++ std::list, which is
1615
+ faster and requires less temporary memory.
1616
+
1617
+ Tcl:
1618
+
1619
+ * Terms with a leading underscore now work (thanks to changes in SWIG).
1620
+
1621
+ * Implement custom typemaps for Tcl, so that you can now construct a Query from
1622
+ a list of Query objects and/or strings, and Enquire::get_matching_terms is
1623
+ now wrapped.
1624
+
1625
+ * simplesearch.tcl: Use the new Query from list constructor.
1626
+
1627
+ * simplesearch.tcl: Fix to lowercase and stem query terms.
1628
+
1629
+ * simpleindex.tcl: Tweak regex to not tokenise "foo--bar" as "foo-" and "bar".
1630
+
1631
+ * simpleindex.tcl,simplesearch.tcl: Need explicit "xapian::" on constants.
1632
+
1633
+ Xapian-bindings 0.9.2 (2005-07-15):
1634
+
1635
+ General:
1636
+
1637
+ * Added wrappers for new optional flags argument to QueryParser::parse_query().
1638
+
1639
+ CSharp:
1640
+
1641
+ * Enhance configure to check that "mcs" is actually GNU Mono mcs and not
1642
+ another tool with the same name.
1643
+
1644
+ Java:
1645
+
1646
+ * Include SmokeTest.java in the distribution so "make check" works.
1647
+
1648
+ * Added success report for Sun java 1.4.1_01a.
1649
+
1650
+ Python:
1651
+
1652
+ * When converting a python list to vector<string> we know the number of elements
1653
+ so reserve that number in the vector.
1654
+
1655
+ Xapian-bindings 0.9.1 (2005-06-06):
1656
+
1657
+ General:
1658
+
1659
+ * Releases are now created using libtool 1.5.18 and automake 1.9.5.
1660
+
1661
+ Tcl:
1662
+
1663
+ * Updated documentation to include information from Michael Schlenker about how
1664
+ to delete a database object such that the destructor gets called.
1665
+
1666
+ Xapian-bindings 0.9.0 (2005-05-13):
1667
+
1668
+ General:
1669
+
1670
+ * Updated SWIG-based bindings to latest Xapian API
1671
+
1672
+ * Improve support for building the bindings on MS Windows:
1673
+
1674
+ + Provide stub versions of any backend functions which are disabled in the
1675
+ library we're wrapping to avoid a link failure on MS Windows (where the
1676
+ remote backend is automatically disabled). These stubs just throw
1677
+ Xapian::FeatureUnavailableError.
1678
+
1679
+ + Add -no-undefined to *_la_LDFLAGS.
1680
+
1681
+ + Use $(PATH_SEPARATOR) or Python's os.pathsep instead of ':' where
1682
+ appropriate.
1683
+
1684
+ + For python, paths for finding headers and installing libraries are now
1685
+ handled so they work on MS Windows; an extra static library needs to be
1686
+ linked in too.
1687
+
1688
+ * Wrap the Muscat36 Database factory functions (easy to do now we have stubs
1689
+ for disabled backends).
1690
+
1691
+ * Don't wrap MSet::max_size() as it's there for STL compatibility rather than
1692
+ being useful functionality.
1693
+
1694
+ * configure: Fix all SWIG warnings and pass -Werror to SWIG so any which get
1695
+ introduced in future get fixed.
1696
+
1697
+ * configure: Fix version test to allow for _svn6789 suffix which SVN snapshots
1698
+ have.
1699
+
1700
+ * Generate SWIG bindings with SWIG 1.3.24 (except for PHP which we still use
1701
+ 1.3.22 for as more recent versions don't work with methods with optional
1702
+ arguments - the arguments become non-optional!)
1703
+
1704
+ Guile:
1705
+
1706
+ * configure: Disable guile by default, as it needs more work.
1707
+
1708
+ Java:
1709
+
1710
+ * Updated to compile against 0.9.0 API.
1711
+
1712
+ * Added missing make rule to build SmokeTestWrap.class to "make check" works.
1713
+
1714
+ * Wrap optional parameters to Query(term) constructor.
1715
+
1716
+ PHP4:
1717
+
1718
+ * For PHP4, rename default Database constructor to Database_empty
1719
+ instead of suppressing the much more useful Database(const string &path)
1720
+ constructor.
1721
+
1722
+ * Use a blank config file when running PHP4 tests to avoid problems
1723
+ when the bindings are already installed as an extension which is
1724
+ loaded automatically in the default config.
1725
+
1726
+ * configure.ac: If configure can't find the PHP interpreter (as php4 or php),
1727
+ it probably just means it's not in PATH. We only need it for running tests,
1728
+ so substitute a trivial shell script which just exits with code 77 so PHP
1729
+ tests are skipped (previously we substituted "missing" which caused the tests
1730
+ to fail).
1731
+
1732
+ Python:
1733
+
1734
+ * Added Python-style iterators ESetIter, TermIter, PostingIter, PositionIter,
1735
+ and ValueIter.
1736
+
1737
+ * configure: If python is found, also check that Python.h exists (it may not be
1738
+ if the python-dev package (or similar) isn't installed).
1739
+
1740
+ Xapian-bindings 0.8.5.1 (2005-02-23):
1741
+
1742
+ General:
1743
+
1744
+ * configure: Run compiler feature tests using the C++ compiler, not the C
1745
+ compiler.
1746
+
1747
+ * Allow bindings version to have an extra "patchlevel", yet still match with
1748
+ corresponding xapian-core version (e.g. 0.8.5.1 and 0.8.5);
1749
+
1750
+ Java:
1751
+
1752
+ * Added a missing .java source file and removed several unused ones.
1753
+
1754
+ * Fixed several glitches in the java bindings automake build system.
1755
+
1756
+ * Use "-Wno-unused" when compiling JNI C++ code to ignore harmless
1757
+ warnings in generated code (we were carefully passing "-Wunused"
1758
+ which is the opposite of what is needed!)
1759
+
1760
+ * Fixed a couple of warnings from GCJ.
1761
+
1762
+ * Wrapped a few missing methods added since Eric created the bindings. There
1763
+ are still some missing methods - there's now a (probably incomplete) list in
1764
+ java/README.
1765
+
1766
+ * Added various useful bits of information to java/README.
1767
+
1768
+ * Tweaked SimpleSearch.java to be more like the C++ version.
1769
+
1770
+ PHP4:
1771
+
1772
+ * 0.8.5 was generated with SWIG 1.3.24, but PHP support is broken there so
1773
+ we now generate the PHP bindings with SWIG 1.3.22 and everything else with
1774
+ a more recent version.
1775
+
1776
+ * configure: Check for "php" as a program name as well as "php4", and
1777
+ fall-back to missing so the error message from "make check" is better.
1778
+
1779
+ Xapian-bindings 0.8.5 (2004-12-23):
1780
+
1781
+ General:
1782
+
1783
+ * INSTALL: Added non-generic installation instructions.
1784
+
1785
+ Python:
1786
+
1787
+ * Fixed bytecode compilation of xapian.py. xapian.pyc was being generated in
1788
+ the same directory as xapian.py, but Makefile.am was looking in current
1789
+ directory when installing it. Additionally, VPATH builds were broken.
1790
+ These problems were introduced by changes in 0.8.4.
1791
+
1792
+ Xapian-bindings 0.8.4 (2004-12-08):
1793
+
1794
+ General:
1795
+
1796
+ * README: Now clearly says which languages we currently support, which people
1797
+ are working on, etc.
1798
+
1799
+ * Instead of requiring the user to have a really recent SWIG installed, ship
1800
+ the files SWIG generates. Disable all the SWIG rules unless configure is run
1801
+ with --enable-maintainer-mode to make sure they aren't triggered accidentally
1802
+ (e.g. by make with dodgy VPATH).
1803
+
1804
+ * configure: Require SWIG 1.3.22 or higher (but note that SWIG is no longer
1805
+ needed if you just want to install the bindings).
1806
+
1807
+ * Wrap the new Database and WritableDatabase constructors which replace
1808
+ Auto::open().
1809
+
1810
+ * It turns out that we do need to wrap MSet::MSet() (wrapping removed in 0.8.2)
1811
+ (for example, simpleexpand.py needs it).
1812
+
1813
+ * In the Query constructor which takes a vector of terms, only call set_window
1814
+ if window is non-zero. Otherwise things go wrong if we're passed an empty
1815
+ vector.
1816
+
1817
+ * Second argument to Document::add_posting() isn't optional, but xapian.i
1818
+ indicated that it was.
1819
+
1820
+ * xapian.i: Added wrappers for Xapian::Weight and standard subclasses.
1821
+ Deriving your own weight class in the scripting language isn't currently
1822
+ supported.
1823
+
1824
+ * xapian.i: %name is deprecated, so use %rename instead. This also works
1825
+ around a bug in SWIG 1.3.23.
1826
+
1827
+ * configure: Removed pointless probe for a C compiler - everything we compile
1828
+ is C++.
1829
+
1830
+ * configure: Reinstated the check that the bindings version matches the version
1831
+ of the xapian library. It was added in 0.8.2, but accidentally removed in
1832
+ 0.8.3.
1833
+
1834
+ * Use newly added option `xapian-config --swigflags` which (a) avoids always
1835
+ passing -I/usr/include which could cause problems if we're using a Xapian
1836
+ install not in /usr and there's another one in /usr and (b) avoids problems
1837
+ if `xapian-config --cxxflags` contains flags other than -I<something>.
1838
+
1839
+ CSharp:
1840
+
1841
+ * Richard Boulton has put together bindings for C#. These build successfully
1842
+ with the Mono tools, but the smoketest currently fails. Unclear if the
1843
+ problem is the bindings or the smoketest code.
1844
+
1845
+ Guile:
1846
+
1847
+ * The guile bindings now build successfully, so we've enabled the guile
1848
+ detection machinery in configure. They're untested though (we don't
1849
+ know guile!) so success or failure reports are encouraged!
1850
+
1851
+ PHP4:
1852
+
1853
+ * Mention the example scripts near the start of the documentation, not right at
1854
+ the end.
1855
+
1856
+ * Remove documentation explicitly saying how we wrap Xapian::QueryParser and
1857
+ Xapian::Stem since we wrap them exactly as we wrap everything else we don't
1858
+ mention!
1859
+
1860
+ Python:
1861
+
1862
+ * Make overloaded Query(Query::op, vector<string>*, termpos) constructor
1863
+ work in Python.
1864
+
1865
+ * Changed examples to use the newly wrapped Query from list of terms ctor.
1866
+
1867
+ * Mention the example scripts near the start of the documentation, not right at
1868
+ the end.
1869
+
1870
+ * python/Makefile.am: Added xapian_wrap.h as a target for the rule which runs
1871
+ SWIG.
1872
+
1873
+ * Remove documentation explicitly saying how we wrap Xapian::QueryParser and
1874
+ Xapian::Stem since we wrap them exactly as we wrap everything else we don't
1875
+ mention!
1876
+
1877
+ * Mention simpleexpand example in documentation.
1878
+
1879
+ * Examples now report messages for Xapian exceptions.
1880
+
1881
+ * Removed MAX_PROB_TERM_LENGTH from example scripts which don't use it.
1882
+
1883
+ * Make the example MatchDecider exclude documents matching a value, rather than
1884
+ a term. The latter is a very inefficient way to do what AND_NOT does, and we
1885
+ don't want examples to mislead like that.
1886
+
1887
+ * python/docs/bindings.html: Note that you can construct a query
1888
+ from a list of terms, even if you can't from a list of queries.
1889
+ Add HTML links to the examples.
1890
+
1891
+ * simpleindex.py: Trim spaces from the start as well as from the end of each
1892
+ line. Simplify the loop slightly.
1893
+
1894
+ Tcl:
1895
+
1896
+ * Wrap in a tcl8 namespace "Xapian".
1897
+
1898
+ * Added a smoketest.
1899
+
1900
+ * Translated simpleindex and simplesearch into Tcl.
1901
+
1902
+ * Set the Tcl package version.
1903
+
1904
+ * Create pkgIndex.tcl so the package can be loaded in the usual Tcl way.
1905
+
1906
+ * Install in "xapian<VERSION>" directory in the conventional Tcl way.
1907
+
1908
+ * Added documentation for tcl8 bindings.
1909
+
1910
+ * Use the TCL_STUBS mechanism so that compiled extensions are portable between
1911
+ different versions of Tcl. This needs Tcl 8.1, so bump the required Tcl
1912
+ version (was 8.0).
1913
+
1914
+ * configure.ac: Noted that the bindings can easily be compiled for use with
1915
+ Tcl 8.0, in case anybody needs that for some reason.
1916
+
1917
+ * Don't wrap the factory functions which return a quartz WritableDatabase as
1918
+ the destructor never gets called so changes aren't flushed and the lock file
1919
+ isn't removed.
1920
+
1921
+ Xapian-bindings 0.8.3 (2004-09-20):
1922
+
1923
+ General:
1924
+
1925
+ * Fixed mismatching versions of libtool used to produce configure and
1926
+ ltmain.sh. The obvious symptom was ".so" missing from the shared object
1927
+ names.
1928
+
1929
+ * RPM spec file contributed by Fabrice Colin. Currently this packages Python,
1930
+ PHP4, and Tcl bindings.
1931
+
1932
+ Java:
1933
+
1934
+ * Pass -classpath to javac to fix build problems.
1935
+
1936
+ * Make sure errors subdirectory is built before we try to build the jar file.
1937
+
1938
+ * Fixed "make install" to not give libtool error.
1939
+
1940
+ PHP4:
1941
+
1942
+ * Include PHP4 documentation and exmples in the tarball.
1943
+
1944
+ * Reverted "Use special SWIG PHP ldflags when linking the PHP glue library."
1945
+ change from 0.8.2 - it turns out we only need to pass these flags if we use
1946
+ swig's -noruntime option (which we don't do).
1947
+
1948
+ Python:
1949
+
1950
+ * Use swig's -modern switch for Python 2.2 and up - it gives cleaner, leaner,
1951
+ faster Python wrapper code.
1952
+
1953
+ Tcl:
1954
+
1955
+ * Don't install xapian.la.
1956
+
1957
+ * Improved configure check for tcl.h to work with Fedora Core 2.
1958
+
1959
+ Xapian-bindings 0.8.2 (2004-09-13):
1960
+
1961
+ General:
1962
+
1963
+ * Added wrappers for recently added methods: ESet::back() and
1964
+ Database::get_lastdocid(), and wrap the new optional third parameter
1965
+ to Enquire::set_sorting().
1966
+
1967
+ * No longer wrap MSet::MSet() - it's not of use in scripting languages.
1968
+
1969
+ * Wrap operator-- as prev() for MSetIterator and ESetIterator.
1970
+
1971
+ * Wrap Quartz, InMemory, and Remote database factory functions as
1972
+ quartz_open(), inmemory_open(), and remote_open().
1973
+
1974
+ * Added missing wrappers for static Stem::get_available_languages() and
1975
+ Stem::get_description().
1976
+
1977
+ * Wrap renamed method Query::empty() (was Query::is_empty()).
1978
+
1979
+ * Remove renaming of other empty() methods to is_empty() (but keep is_empty()
1980
+ as an alias for now).
1981
+
1982
+ * Require autoconf 2.59 and automake 1.8.5.
1983
+
1984
+ * configure: Added check that the bindings version matches the version of
1985
+ the xapian library.
1986
+
1987
+ * configure: Check if we're using GCC and only pass GCC specific warning
1988
+ control options if we are.
1989
+
1990
+ * configure: When running with GCC, also pass -Wno-uninitialized so the
1991
+ SWIG glue builds without warnings.
1992
+
1993
+ * README: Updated list of languages which SWIG supports.
1994
+
1995
+ PHP4:
1996
+
1997
+ * Document that the 2 argument form of Xapian::Auto::open() for opening a
1998
+ writable database is wrapped as open_writable() (bug #32).
1999
+
2000
+ * Include Xapian version in output from phpinfo().
2001
+
2002
+ * Build the SWIG glue library like we build the others rather than using
2003
+ SWIG's -phpfull option. This avoids problems with newer automake versions
2004
+ and means we can build against an uninstalled xapian library.
2005
+
2006
+ * Corrected documentation to refer to Xapian::DB_* not Xapian::Auto::DB_*.
2007
+ Fixed documentation of how Xapian::Query::OP_* are wrapped.
2008
+
2009
+ * Use special SWIG PHP ldflags when linking the PHP glue library.
2010
+
2011
+ * simplesearch.py now works with multi-term queries.
2012
+
2013
+ * Added documentation on how to install the PHP4 bindings.
2014
+
2015
+ * Added a simple testcase to at least ensure the PHP4 bindings can be
2016
+ initialised and some simple operations work.
2017
+
2018
+ Python:
2019
+
2020
+ * configure: Now checks for Python >= 2.1 which we need for __cmp__ and __eq__.
2021
+
2022
+ * Don't install _xapian.la and _xapian.a.
2023
+
2024
+ * Byte compile xapian.py to xapian.pyc and install it.
2025
+
2026
+ * Suppress SWIG warning about MatchDecider::operator() director discarding
2027
+ const.
2028
+
2029
+ * "make clean" no longer leaves "xapian_wrap.h" behind.
2030
+
2031
+ * Added a simple testcase to at least ensure the python bindings can be
2032
+ initialised and some simple operations work.
2033
+
2034
+ Tcl8:
2035
+
2036
+ * configure: Disable building tcl8 bindings if the headers are missing
2037
+ (probably because the tcl8.X-dev package isn't installed).
2038
+
2039
+ Xapian-bindings 0.8.1 (2004-06-30):
2040
+
2041
+ General:
2042
+
2043
+ * configure: Require SWIG 1.3.20 or higher (previously was 1.3.14).
2044
+
2045
+ * Add "-I/usr/include" to the swig line. This is needed when xapian is
2046
+ installed with a prefix of /usr, since "xapian-config --cxxflags" carefully
2047
+ doesn't emit -I/usr/include in this situation (because it causes problems
2048
+ with some GCC versions).
2049
+
2050
+ * Fixed the %exception handler to cover all the exceptions Xapian can throw,
2051
+ not just a subset.
2052
+
2053
+ Java:
2054
+
2055
+ * Removed wrappers for unused error classes which have been pruned from C++.
2056
+
2057
+ * Make finalize() methods of Database and WritableDatabase public so they can
2058
+ be called from by the user.
2059
+
2060
+ * Document Document.add_term_nopos() as deprecated.
2061
+
2062
+ PHP4:
2063
+
2064
+ * Make sure that PHP bindings build a module which exports get_module() so PHP
2065
+ is able to load it.
2066
+
2067
+ * Configure now checks that phpize can actually be run, rather than just that
2068
+ it's executable (test -x isn't portable anyhow).
2069
+
2070
+ * Added basic documentation and examples to PHP4 bindings.
2071
+
2072
+ * Rename overloaded methods and constructors.
2073
+
2074
+ * Add simple access to the prefixes map in QueryParser.
2075
+
2076
+ * Correct simpleindex ports to never generate empty termnames.
2077
+
2078
+ Python:
2079
+
2080
+ * configure: Use $PYTHON instead of python when running python to determine
2081
+ library and include paths and version number.
2082
+
2083
+ * Actually ship python examples and documentation.
2084
+
2085
+ Xapian-bindings 0.8.0 (2004-04-20):
2086
+
2087
+ * README: Started collecting information on supporting Xapian from even
2088
+ more languages.
2089
+
2090
+ * Added configure tests to enable bindings only where the necessary tools
2091
+ are installed and have a supported version. ./configure --without-LANGUAGE
2092
+ allows particular languages to be forcibly disabled.
2093
+
2094
+ * Added Xapian::Document::add_term() - the new name for add_term_nopos().
2095
+
2096
+ * A couple of Xapian::Query constructors weren't being wrapped - fixed.
2097
+
2098
+ * Added Eric B. Ridge's JNI bindings for Java. The JNI bindings themselves
2099
+ have been well tested, but integration with the xapian-bindings configure
2100
+ system hasn't been tested at all - please alert us to any problems.
2101
+
2102
+ * Xapian can now be used from TCL.
2103
+
2104
+ * Python: MSet now provides a Python iterator.
2105
+
2106
+ * Python: OMMSET_* and OMESET_* renamed to MSET_* and ESET_*.
2107
+
2108
+ * Python: enable directors for MatchDecider, to allow subclassing in Python.
2109
+
2110
+ * Python: Added basic documentation, and some examples.