forked from indexdata/yaz
/
NEWS
4384 lines (2862 loc) · 149 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
--- 5.16.0 2016/04/29
Allow multi-byte indicators for MARC subsystem. GitHub #11.
--- 5.15.3 2016/04/06
Fix yaz_query2xml aborts for attribute type 0. GitHub #9.
backtrace: exit with same signal as original fired
Until now with backtrace any signal would end up being an SIGABRT.
backtrace: cancel alarm if backtrace succeeds
This is to avoid "backtrace hangs" message that should not be
printed and gdb be invoked twice.
Fix some broken URLs in documentation and code.
yaz_marc_write_iso2709: truncate if 99,999 limit is reached.
--- 5.15.2 2016/01/11
Re-organize Windows build. Use ICU compiled with VS 2015 to use
same runtime as rest of components (YAZ, Libxml2, etc).
Move YAZ and many other software components to GitHub.
--- 5.15.1 2015/11/12
Bundle sha1 rather than use libgcrypt/nettle. This means that
configure no longer accepts --with-gcrypt and --with-nettle.
Fix rpn2cql fails for Bib-1 set in qry+conf YAZ-865
--- 5.15.0 2015/11/11
CCL: fix r=o, r=r WRT inherited attributes YAZ-864
--- 5.14.12 2015/11/09
Build with nettle on Debian/Ubuntu
test system calls yaz_deinit_globals for better memory leak detection
cs_get_host_args: allow unix:path:args notation
Windows: build YAZ with VC 2015 and bundle it with runtime
version 14.0.23026.
--- 5.14.11 2015/10/09
Fix RPN to CQL rejects local Bib-1 attribute set YAZ-861
ZOOM C: tweak when connection failed is returned
For cases with multiple socket addresses for some hostname, eg
localhost IPV4+IPV6, the code now properly returns "connection
failed" rather than "connection lost".
Various minor documenation tweaks from David Crossley. Thanks.
Fix windows uninstall does not remove start menu shortcuts YAZ-860
--- 5.14.10 2015/09/16
Prevent huge expansions in CCL s=sl YAZ-859
--- 5.14.9 2015/09/15
Fix segv in ZOOM_connection_fire_event_socket YAZ-858
The odr_in memory taken by handle_srw_response, and, thus if result
set is destructed before we expect the HTTP response (hres) it may
be come invalid. Therefore we inspect hres before the call to
ZOOM_handle_sru.
Fix possible deadlock in backtrace (2nd attempt) YAZ-856
An alarm is set up so that backtrace is terminated if it hangs.
Even if backtrace the handler also attempts to spawn gdb.
--- 5.14.8 2015/09/14
Fix SEGV for s=sl for 3 terms and syntax error YAZ-857
--- 5.14.7 2015/09/13
Fix possible deadlock in backtrace YAZ-856
Various minor text tweaks in documentation
--- 5.14.6 2015/08/17
Fix yaz-client command args parsing broken YAZ-855
Bug introduced in 5be87e7a04c7219b31cefc0a3 - version 5.14.5
--- 5.14.5 2015/08/06
Stop building packages for obsolete Debian squeeze and use DH
version 9. YAZ-854
rpn2cql diagnostics: provide use attribute addinfo YAZ-853
deb: deprecated substitution ${Source-Version} YAZ-852
Fix yaz-client: semicolon terminates arguments YAZ-851
--- 5.14.4 2015/07/29
Windows: Bundle VC runtime exe YAZ-848
Omit Content-Type for HTTP requests to Solr YAZ-850
--- 5.14.3 2015/06/29
Fix rpn2cql: structure, relation problem for serverChoice YAZ-849
Problem was that for things mapped to cql.serverChoice the relation
would sometimes be omitted when it should not. Eg for relation "all".
--- 5.14.2 2015/06/15
Document zoom extraArgs YAZ-817
Fix ZOOM: crash extended services diagnostics YAZ-846
The immediate fix is to prevent ZOOM_set_dset_error from removing
current task from connection. This, however, has been assumed in a
number of places so this fix is rather large unfortunately.
--- 5.14.1 2015/06/11
Make yaz_log_reopen async-signal YAZ-845
Fixes potential dead-lock issue with YAZ_DAEMON_LOG_REOPEN flags for
daemon API.
--- 5.14.0 2015/06/08
CCL: new feature s=spl (split-list) that splits terms in a search into
sub-phrases of all sizes (from 1 up to the number of terms) with order
preserved. For 3 terms the CCL search
a b c
is turned into PQF:
@or @or @or @and @and a b c @and "a b" c @and a "b c" "a b c"
Solr: don't set defType=lucene in URLs if extraArgs already defines it.
--- 5.13.0 2015/05/29
Add lock/unlock for YAZ log writes YAZ-843
--- 5.12.2 2015/05/22
Fix incorrect parsing of URLs @:9999/somebase&url=http://some.host YAZ-842
--- 5.12.1 2015/05/13
yaz-client: deal with excess bytes HTTPS case YAZ-833
ZOOM C: deal with excess bytes HTTPS case YAZ-833
Allow Windows installer for PATH to be updated YAZ-841
Add Ubuntu Vivid 15.04 to list of Deb's to built
--- 5.12.0 2015/05/08
Allow Content-Type application/sru+xml YAZ-840
New yaz_xml_get_prop utility YAZ-839
Fix zebrasrv [warn] ir_session (exception) YAZ-838
Document itemorder-setname and list all ILL options
--- 5.11.0 2015/03/31
Extend get_org_info (snippets) to return original string YAZ-836
Two new functions have appeared: icu_chain_get_org_info2 and
icu_iter_get_org_info2 with a 4th parameter being a pointer
to the original string.
Fix tcpip.c compilation failure on VC9 YAZ-835
Fix icu_iter_get_norm returns invalid size for some input YAZ-834
The icu_iter_get_org_info returns information based on string
as it appears on tokenize step.
--- 5.10.2 2015/03/13
Deal with excess bytes in HTTP response for keepalive YAZ-830
Refactor ssl_put and tcpip_put to one function YAZ-832
Refactor ssl_get and tcpip_get to one function YAZ-831
Fix SEGV yaz-client for HTTP decoding error YAZ-829
Fix buffer overflow in cmd_elements in yaz-client YAZ-828
--- 5.10.1 2015/03/03
Fix test_sru.sh fails in pazpar2 YAZ-826
Unfortunately a regression occurred with YAZ 5.10.0 that would make
Pazpar2 fail for HTTP connections.
--- 5.10.0 2015/03/03
Use CONNECT for SSL backends and for Z39.50 thru HTTP proxy YAZ-825
Introduce cs_create_host2 which returns if connection should be
proxy aware (HTTP:absoluteUri or Z39.50 proxy:vhost in init).. For CONNECT,
the connection is NOT proxy aware (no absoluteUri and no Z39.50 vhost).
Fix http proxy fails with yaz-client YAZ-824
--- 5.9.1 2015/02/06
Fix 0 ptr reference for OPAC records from XML YAZ-822
--- 5.9.0 2015/02/02
Extend yaz daemon facility to assist int log rotation YAZ-818 YAZ-819
--- 5.8.1 2015/01/13
record conv: 'select' return org record if no x-path match YAZ-814
retrieval: pick matched element-set rule YAZ-813
Fix crash in record conv rule 'select' YAZ-812
--- 5.8.0 2015/01/09
record_conv: selection by X-Path YAZ-811
That's a new step in record conversion system (<select path=".."/>)
Document record render parameters for ZOOM - including base64
--- 5.7.3 2015/01/06
Fix application/x-www-form-urlencoded + empty YAZ-810
A SEGV occurred if Content-Type was "application/x-www-form-urlencoded"
and empty content was supplied.
Fix yaz-iconv man page for typos and incorrect example. YAZ-809
Fail hard if Bison is not found and is needed YAZ-808
--- 5.7.2 2014/12/16
Enable YAZ backtrace for programs YAZ-802
Update NMAKE makefile to use Visual Studio 2013 along with ICU 54.1,
Libxml2 2.9.2, Libxslt 1.1.28.
Fix daemon: parent process stops before child YAZ-806
Try to fix the situation where parent process stops before
child has acknowledged it .. SIGUSR2 back!
daemon: log message when keepalive stops.
--- 5.7.1 2014/12/03
Fix yaz-marcdump segfault YAZ-801. Problem in YAZ 5.6.0/5.7.0 and
would make yaz-marcdump crash when from-character set was issued.
--- 5.7.0 2014/11/24
Dump backtrace in case of SIGABRT, SIGSEGV YAZ-787
New function yaz_enable_panic_backtrace which enables backtrace
handler for current process. The handler will call backtrace always,
then gdb to provide as much detail as possible.
--- 5.6.0 2014/11/17
When marc-8 charset is specified when decoding MARC records, yaz-marcdump
and ZOOM record render will inspect leader 9 and switch to UTF-8
(Unicode) if that holds 'a'. This changes behavior, but is considered
safe because only MARC21 with leader 9='a' are Unicode. YAZ-800
Fix cs_put may reconnect if send fails. YAZ-798
--- 5.5.1 2014/11/03
Fix cannot build YAZ on jessie : libgnutls-dev is gone YAZ-797
--- 5.5.0 2014/10/27
Extended comstack with outgoing IP YAZ-795.
For cs_create_host + cs_create_host_proxy the vhost may be followed
by a outgoing host/IP. Separator is blank.
--- 5.4.4 2014/10/20
Add YAZ_EXPORT to cql_transform_r fixes YAZ-793 . This issue fixes
linker error with yazpp on Windows.
--- 5.4.3 2014/10/08
Fix uri array may overflow in yaz_solr_encode_request YAZ-775
Fix PQF to Solr conversion may produce invalid Solr query YAZ-792
0 ptr reference in handling Solr response with error YAZ-791
Fix annoying warning about wrbuf_putc on newer GCC YAZ-789
Fix documentation about --installa option YAZ-788
--- 5.4.2 2014/08/26
daemon: properly report when receiving SIGUSR2 from child YAZ-785
--- 5.4.1 2014/08/21
xmalloc: throw assert for clearly invalid calls to malloc and
improve diagnostics YAZ-783 YAZ-784
--- 5.4.0 2014/08/19
Stop building debs for Ubuntu raring, quantal, oneiric.
CCL YAZ-781: for multiple use attributes in a specification the
generated RPN will perform @or on each term.
For spec: term u=31 u=1016
the CCL: t will generate: @or @attr 1=31 t @attr 1=1016 t
log YAZ-780: avoid mixed log files by perform only one write(2) per log entry.
CCL YAZ-779: combo qualifier should allow for forward references
Fix buildconf.sh, automake too old on centos5 YAZ-778
Achieved by adding AM_PROG_CC_C_O and requiring AM 1.9 instead.
The AM_PROG_CC_C_O is obsolete for newer AM, but 1.14 (Debian jessie)
accepts it without a warning.
--- 5.3.0 2014/07/11
GFS: client_query_charset conversion YAZ-777
This is a feature for Z39.50 clients that sends queries that are not
UTF-8 encoded. WIth client_query_charset, GFS will convert from the
encoding given to UTF-8.
Echoed SRU arguments support YAZ-776
This is achieved with new function yaz_srw_get_pdu_e.
ZOOM: expire times set for redis/memcached YAZ-772
For both redis and memcached option --expire=seconds sets expire
time for a result-set/search. Default time is 600 seconds (10 minutes).
--- 5.2.1 2014/06/26
No [rest of output is omitted] limit for yaz_log YAZ-774
Optimize icu_iter_get_org_info. Reduce calls to u_strToUTF8.
For ICU testing, pass -o to yaz-icu. This will test the
icu_iter_get_org_info function.
Fix null ptr reference for freeReplyObject YAZ-773
--- 5.2.0 2014/06/12
Allow ZOOM caching using redis. New ZOOM option "redis" controls it.
RPM: do not build with libmemcached support. The libmemcached library
on CentOS 5/6 does not work reliably for us (redis to the rescue).
configure: only allow libmemcached version 0.40 or later. That's the version
on Debian squeeze. We recommend libmemcached version 1.0 or later. If
that's not an option, consider redis.
--- 5.1.3 2014/06/04
Fix dup ZOOM_EVENT_RECV_RECORD events for SRU/Solr YAZ-768
Fix zoom+memcached: present request out of range YAZ-767
--- 5.1.2 2014/05/30
CCL: add new qualifier r=omiteq which will omit relation=equals
for ordered relations. This should be used in combination with either
r=r or r=o. YAZ-766
GFS: prevent truncation/overflow in retrieval phase. YAZ-763
Solr: simplify yaz_solr_decode_response
Solr: use different local var for string manipulation
Solr: Get rid of hardcoded limit of extra_args
Solr: encode lucene query type YAZ-736
Make sure the queries are treated as traditional "lucene", because that's
what YAZ generates.
Fix ZOOM HTTP redirect failing on Windows+Solaris YAZ-755
--- 5.1.1 2014/04/22
Build packages for Ubuntu Trusty Tahr 14.04 LTS
wrbuf_cstr: fix off by one error.
wrbuf_buf: make it always return non-NULL
Also, wrbuf_buf will return same buffer as previous call to wrbuf_cstr.
--- 5.1.0 2014/04/17
Doc: move main YAZ manual to book.xml; use nxml YAZ-758
zoomsh: offer option -a apdulog
As we're used to from yaz-client and GFS based servers.
ZOOM: new setting apdufile. Sets name of APDU file. If not given,
existing setting apdulog takes effect.
Add odr_setprint_noclose. It's like odr_setprint, but does not fclose at
odr_destroy.
Add wrbuf_cstr_null.
Add re-entrant CQL/Solr/RPN query conversion functions.
The re-entrant functions are: cql_transform_r,
cql_transform_rpn2cql_stream_r, solr_transform_rpn2solr_stream_r.
These have same functionality as cql_transform,
cql_transform_rpn2cql_stream, solr_transform_rpn2solr_stream. They
return the additional infomration as WRBUF to make them re-entrant.
Remove CQL to Solr conversion and base solr_transform_t on
cql_transform_t. The RPN to Solr is indeed in use. It uses exact same
data structure as cql_transform_t.
cql2pqf utility allows RPN to Solr conversion
Fix assert in ZOOM when http connect fails YAZ-757
--- 5.0.22 2014/04/09
ZOOM: Call cs_rcvconnect during HTTP redirect YAZ-754
wrbuf_cstr: make it thread safe YAZ-753
yaz_log_init_file may take fd=<no> to open log file at the FD given.
--- 5.0.21 2014/03/21
Offer new utility function zget_AttributeList_use_string.
New conversion step, solrmarc, for record conversion module.
--- 5.0.20 2014/03/13
Fix gcrypt initialization for threaded mode. On systems were GnuTLS
did not initialize gcrypt for threaded mode, wrbuf_sha1_write could
throw an assert.
--- 5.0.19 2014/03/10
Fix ZOOM_connection_Z3950_search: Assertion YAZ-750
The standalone ZOOM sort was completely broken since 5.0.13.
ZOOM: generate event Connect rather than None for partial connect
(in fact getaddrinfo resolving).
ZOOM: only supply clientIP for InitRequest. Rather than for all
APDU types.
GFS: peer_name adds X-Forwarded/Client-IP to value YAZ-749
COMSTACK flag CS_FLAGS_DNS_NO_BLOCK. This will enable non-blocking
getaddrinfo . This flag is passed to cs_create macro and cs_create_host,
cs_create_host_proxy functions. ZOOM C uses this flag. YAZ-744
New "Facets" section in the documentation.
--- 5.0.18 2014/02/27
Call exsltRegisterAll in yaz_init_globals, so that all applications
using YAZ will have EXSLT things enabled.
Use extraArgs in key for memcached ZOOM C caching YAZ-747.
Update various URLs to the re-organized SRU pages at LoC.
--- 5.0.17 2014/02/26
Fix ZOOM_connection_connect SEGVs if host==NULL YAZ-746. Problem
introduced in 5.0.12.
Fix: Setting env YAZ_LOG makes YAZ hang YAZ-745
yaz_init_gloabsl calls yaz_log_init_globals calls yaz_log_mask_str_x .
Do not call yaz_init_globals from log_mask_str_x. Problem introduce
in 5.0.15.
--- 5.0.16 2014/02/25
tcpip/SSL COMSTACK: connect tries all getaddrinfo addresses YAZ-743
--- 5.0.15 2014/02/24
Fix gcrypt not properly initialized YAZ-740.
--- 5.0.14 2014/02/19
Describe memcached option for ZOOM.
ZOOM: throw present request out of range again YAZ-739
Was removed in YAZ 5.0.13.
--- 5.0.13 2014/02/18
yaz_log MUTEX protected and pthread_atfork is used to avoid dead-lock
with localtime_r when threads + fork is used (such as Metaproxy).
yaz-config: quote some RHS values (that might include blanks)
zoomsh: shows SearchResult-1
zoomsh: sortby command
zoomsh: use proper list of connections and result sets YAZ-725
Avoid yaz_log in sigterm handler for GFS YAZ-737
Logging is still performed, but outside sig handler.
New ZOOM C feature: result-set caching with memcached. Example:
zoomsh "set memcached --server=memcachehost" "connect zurl" "search query"
Remove SSL via OpenSSL support YAZ-732
Also deprecate two functions from comstack that aren't working with
GnuTLS: cs_get_ssl, cs_set_ssl_ctx.
Revert "Bison: use %name-prefix directive rather than -p option"
--- 5.0.12 2014/01/22
Prefix URL with http:// if sru setting hints SRU/Solr mode YAZ-731
SRU GET/Solr base URLs may hold additional ?args YAZ-729
ZOOM option extraArgs already does this, though. It seems useful
when dealing with Solr targets to limit by filter, eg.
http://lui.indexdata.com:8080/solr4/select?fq=database:3902
Remove #fragment for HTTP request encoding YAZ-730
Doc: Update list of DLLs/LIBs
Doc: update href link to Unix utils and Git.
--- 5.0.11 2014/01/15
ZOOM: fix "lost connection" problem with servers that uses both squid
and another proxy behind it that returns Location headers with relative
URIs. YAZ-724
zoomsh: do not use readline for stdin (no tty) YAZ-724
Just use fgets in that case. If the user hits Ctrl-D a new-line
is also printed.
zoomsh: empty command ignored YAZ-723
rather than performing exit of zoomsh.
yaz-url utility offers option -v to enable verbose mode.
yaz_url uses yaz_check_location and offers verbose mode.
Add new function yaz_check_location.
This function gets an absolute URI from Location (HTTP redirect).
cookie API: introduce yaz_cookies_reset
Update cql.y for newer bison YAZ-720
The important part is that YYLEX_PARAM and YYPARSE_PARAM are no
longer supported. Instead one must use %lex-param and %parse-param .
--- 5.0.10 2014/01/09
ZOOM/yaz-client: Cookie handling; deal with relative URI in Location
header. YAZ-719
rpn2solr: support truncation left(2), left&right(3) YAZ-718
Mention SRU version 2.0 in yaz-client man page.
--- 5.0.9 2013/12/20
ZOOM/yaz-client: allow SRU searchRetrieveResponse with incorrect
namespace.
--- 5.0.8 2013/12/20
Make cs_parse_host public.A
Fix double HTTP dump (-a log would show HTTP packages twice). Bug
introduced in YAZ 5.0.6.
--- 5.0.7 2013/12/17
Fix buffer corruption for yaz-ztest record fetch.
--- 5.0.6 2013/12/17
Allow yaz-ztest to return user-defined records (one record per file).
This is enabled by defining environment variable YAZ_ZTEST_XML_FETCH.
Prevent early truncatin of HTTP log. (ODR_PRINT for HTTP streams).
Use the stream write instead of odr_printf which has a 4K tmp buffer.
Fix encoding of 0x00a4 (unicode to danmarc) YAZ-713
--- 5.0.5 2013/12/09
Add support for MARC-in-JSON. yaz-marcdump and the record conversion module
can read and write this format. For record format JSON, yaz-ztest returns
MARC-in-JSON records.
iconv: fixes and more tests for danmarc character set encoding. 0xa733 is
converted to @å , 0xa732 is converted to @Å instead of @a733, @a732 .
--- 5.0.4 2013/11/22
Improve error reporting for ICU chains YAZ-707
Report config element+rule when ICU status is "failure".
ZOOM: stop fetching if present response has no records YAZ-710
Some targets return less records than their hit count would suggest.
This prevents ZOOM from continuing to fetch records if any present
response has 0 records in the response.
Ensure that GFS calls exit if any listener fails YAZ-710
Before, if XML config was in use, it would start the default
listener @:9999!
--- 5.0.3 2013/11/19
yaz-ztest: -V shows version (like yaz-client -V)
New iconv encoding: danmarc YAZ-692
yaz-client: lslb, ssub, mspn are Odr_ints now YAZ-705
daemon: only wait for immediate child rather than all children. YAZ-704
yaz-client: fix setting of SRU record schema. If scheme was unset, it
could lead to invalid memory reference.
--- 5.0.2 2013/10/16
yaz-ztest returns schema for MARCXML test records. SRU require that
recordSchema for records.
GFS: make surrogate diagnostic when yaz_record_conv_record fails -
instead of non-surrogate diagnostic. This is a per-record failure.
GFS: Allow multiple listenrefs YAZ-554. A server in yazgfs configuration
may refer to multiple listeners now. Attribute listenref is a comma separated
list of listen IDs.
GFS: Use xmlconfig path as prefix for fnames YAZ-702. When -f
option is given for GFS, the dirname of filename (for -f) is used
as prefix for options such as cql2rpn, ccl2rpn, etc.
Content-Type charset fixes YAZ-701 . Do not inspect charset in
Content-Type header for SOAP when decoding SRU. The payload (XML)
itself tells what encoding it is. In response, never supply encoding
in Content-Type. The response payload (XML) tells what it is (with no
encoding in XML it's UTF-8).
HTTP decoding: allow blanks in URL paths YAZ-700
--- 5.0.1 2013/10/04
Various fixes for how SRU 2.0 is encoded. Fix NS for SRU 2.0 diagnostics
and facets. Ensure recordData and recordSchema are always present in
record element, because they are required.
Remove deprecated functions yaz_uri_val .. and yaz_uri_val_int. Never used
outside YAZ.
Simplify in a lot of places using odr_strdupn.
odr_create_Odr_oct: null terminate the buffer. Some applications rely on it.
--- 5.0.0 2013/10/01
Increase various buffers in GFS's statserv_options_block
Change many 'unsigned char *' to 'char *' for ODR-related utilties.
This change makes many type-casts redundant, and, thus simplifies code.
Remove last bits of WAIS support.
Remove member 'size' from Odr_oct.
Slim down the public part of 'struct odr'. Most elements are not part
of struct Odr_private.
Add support for SRU 2.0. Since SRU 2.0 is incompatible with earlier
versions of SRU, yaz-client and zoom C are using SRU 1.2 by default.
In particular facets are supported in both client - and server side.
Facets are also supported for Z39.50 and is carried in additionalSearchInfo
of searchRequest/searchResponse with OID 1.2.840.10003.10.1000.81.5 AKA
"Facet-1" in oid.csv. The info is defined in facet.asn (which covers
both request/response). This is what a search handler in the GFS
will see (regardless of whether operating in SRU mode or Z39.50).
Changes to the srw.h (SRU/Solr) definitions include:
- New element in Z_SRW_searchRetrieveRequest, queryType (char*) and query
(char*), which replace union query and query_type (int). This is because
SRU 2.0 supports a queryType parameter. This also means that, to carry
PQF, in SRU we can now use queryType=pqf and query=PQFstring , rather than
x-pquery=PQFstring (extention parameter). The extension parameter
is still supported.
- New element, packing, that has information about SRU
2.0 recordPacking (not to be confused with SRU 2.0 recordXMLEscaping).
New element in Z_SRW_searchRetrieveResponse, resultCountPrecision.
New element, packing, in Z_SRW_explainRequest.
New elements in Z_SRW_scanRequest, queryType and scanClause.
These replace query_type and scanClase untion. This is similar to what
happend to search.
--- 4.2.69 2013/10/01
GFS: log when closing down - at least SIGTERM YAZ-684
Also change formatting WRT PID logging a bit.
Improve display of MARC records with multi-byte subfield IDs YAZ-695
In some rare cases subfield identifiers are multi-byte characters.
This will try to deterime length of those and split accordingly.
This affects display in line mode as MARCXML/MarcXchange. The encoding
of ISO2709 is the same.
Change inp argument to const for yaz_read_UTF8_char.
yaz-marcdump: fix leaks for MARCXML parsing. YAZ-694
MARCXML parsing: avoid skipping 1st field if no leader. YAZ-693
Better check of marc leader info YAZ-691
Problem is that some systems generate MARCXML/MarcXchange with
funny headers. These will not work if encoded as ISO2709.
Some tests produce new output, due to updated warning messages
cql2pqf: allow PQF queries from stdin (because CQL is also allowed)
yaz-client: display MAB records YAZ-689.
Thanks for Heiko Jansen for this patch.
New utility z_get_HTTP_Response_server which allows both HTTP server name
and HTTP server URL to be given in response.
Debian: do not depend on obs tcl8.3.
Debian: do not depend on obs libicu36-dev.
--- 4.2.68 2013/09/23
GFS: pass additionalSearchInfo to search memeber search_input if
given. Otherwise pass otherInfo. Request for facets and other search
related things will be passed there in future versions of YAZ.
New ZOOM setting, authenticationMode, which allows authentication
paramters to be encoded in the URL rather than via HTTP Basic auth.
YAZ-686
rpn2solr: fix nested AND/OR handling. YAZ-685
Add comparison routines for some Z-types, such as NamePlusRecord,
RPNQuery, Query, RecordComposition and OtherInformation.
--- 4.2.67 2013/09/19
Don't decode MAB as MARC. Just like we don't attempt to decode
HTML/XML as MARC. Fixes MAB display problem that was introduced in 4.2.64.
CCL: allow quoted terms for date ranges. YAZ-681
Introduce ccl_parser_qual_search. This function makes old function
ccl_qual_search, from YAZ 2, available again.
Add yaz_facet_list_to_wrbuf. YAZ-683
--- 4.2.66 2013/09/11
ZOOM: fix record handling for Solr. ZOOM_record_get would return 0, if
schema was given for search. YAZ-675
Add Solr date range searches. YAZ-621
--- 4.2.65 2013/08/22
ZOOM: another fix for record caching (introduced in YAZ 4.2.64).
--- 4.2.64 2013/08/21 (Broken WRT ZOOM C, do not use)
ISO2709/MARC parse most octet aligned records; not just those that
are known to be ISO2709/MARC. This makes ZOOM and yaz-client
MARC parse more records instead of just dumping as is. YAZ-670
ZOOM: proper caching for variations of record schema. YAZ-671
Solr: Check for enging / and perhaps commands (select/term) YAZ-651
--- 4.2.63 2013/07/17
Add yaz_strcmp_null
--- 4.2.62 2013/07/11
New utility z_get_HTTP_Response_details - an extended version of
z_get_HTTP_Response.
New utility yaz_url_get_error which returns error message of last
failed yaz_url_exec call.
yaz-url and url functions: allow max HTTP redirects to be controlled.
New functions yaz_file_glob2, yaz_xml_include_glob.
These functions takes a flags parameter, which, for now only controls
whether to fail inclusion of a non-existing file (without glob
pattern) - flags YAZ_FILE_GLOB_FAIL_NOTEXIST.
--- 4.2.61 2013/06/20
For MARC XML parsing, allow record without leader. A fake/default leader
is inserted and a warning is tagged with the record.
ICU: fix leak in in icu_iter_get_org_info.
--- 4.2.60 2013/06/14
ICU: fix bug in icu_iter_get_org_info (un-init variable).
--- 4.2.59 2013/06/11
Implement z_HTTP_header_remove.
--- 4.2.58 2013/06/11
ICU: Disallow 0 ptrs for some ICU string utilities.
ICU: new utilities icu_iter_get_org_info and icu_chain_get_org_info:
returns original tokens (before normalization).
CCL: avoid z39.58/regex truncation when not needed. Apply only the
conversion of those masks, when absolutely necessary.
CCL: configurable masking character - @mask. Default masking character
is # for CCL.
HTTP encoding: remove Transfer-Encoding header. YAZ uses content_len and
full response anyway, so a Transfer-Encoding header will obstruct the
response.
--- 4.2.57 2013/05/15
COMSTACK: @ uses AF_UNSPEC . But we prefer AF_INET6 over others when
picking a socket. Problem is that some systems has IPV6 support, but
we can't create sockets for them, so we pick AF_UNSPEC first.
HTTP encode. Proper Content-Length YAZ-660. For yaz_encode_http_response
use content_len to determine resulting Content-Length in HTTP response
and NOT Content-Length supplied in headers by user.
z_HTTP_header_add_basic_auth uses z_HTTP_header_set rather than
z_HTTP_header_add, to avoid having two Authorization headers by mistake.
Fix problem with HTTP decoding. For HTTP 1XX, 204, 304 assume no
content-length.
Fix yaz_base64decode to use proper signed. Problem occurred on platforms
with big endian and unsigned char (by default).
--- 4.2.56 2013/04/26
Fix yaz-client connect (crash in 4.2.55).
--- 4.2.55 2013/04/26
Fix proxy/host problem for ZOOM that could occur if unix sockets
was in use.
New Debian package libyaz4-dbg.
Fix problem with cs_close hang/wait in SSL mode. Invoke gnutls_bye
differently in tcpip_close.
--- 4.2.54 2013/04/17
Windows installer of YAZ includes YAZ4J as a component.
CQL: allow "extra terms" again, by default. Thus, the CQL parser
accepts a superset the standard. This reverts to CQL as of YAZ 4.2.51
and earlier. CQL parser may operate in strict mode where queries
not conforming to the standard BNF are rejected (syntax error).
Whether the CQL parser operates in strict mode is controlled with
cql_parser_strict . Strict mode enabled with option -S for utilities
cql2pqf and cql2xcql .
yaz-ztest: returns OPACXML records for syntax=XML and element set=OP.
--- 4.2.53 2013/04/10
New charset, MARC-8c, which is like MARC-8 but allows control characters
0x01 through 0x1F, except ESC to be passed through verbatim.
Fix a problem with duplicate sub field character in MARC output. Problem
happened only when output was MARC-8 encoded.
--- 4.2.52 2013/04/03
yaz-ztest: Use hash for fake hit count. Before, random number was used.
This is problematic for unit tests using yaz-ztest. This patch also makes
a hash for CQL queries. For RPN, any term with a leading digit will be
treated as pseudu hit count (to force any particular hit count by a client).
yaz-ztest: return unique MARC dummy records. Beyond record offset
24, the author surname is patched with offset to make all records
unique.
COMSTACK: make @ bind to IPV6+IPV4 consistenly and avoid depending
on system wide default (/proc/sys/net/ipv6/bindv6only).
@4 binds to IPV4 only. @6 binds to IPV6 only.
Update CQL API documentation a bit
CQL: don't accept extra terms for queries. Makes the CQL parser
stricly conformant to the standard.
--- 4.2.51 2013/02/12
GFS: scan handler gets extra_args from request and may return extra
response data . That's for SRU only.
Solr scan support for ZOOM and yaz-client. Patch from Simon Jacob.
--- 4.2.50 2013/01/30
New function, yaz_xml_to_opac, to convert from OPACXML to Z39.50 OPAC.
OPACXML: sync spelling of availabilityDate in XML to that of Schema
opacxml.xsd. The schema had the correct spelling of this member always.
The ASN.1 was mis-spelled and still is (API change) - we are
not changing this. However, the OPAC to XML conversion had yet
*another* typo.
GFS: Allow conversion between Z39.50 OPAC and OPACXML via retrieval
element.
New function, z_ext_record_oid_nmem, which is similar to
z_ext_record_oid but takes NMEM rather than ODR
--- 4.2.49 2013/01/18
ICU: New conversion element 'join' which joins tokens into one
with a custom character given by rule attribute.
--- 4.2.48 2013/01/10
New GFS search member: present_number. This is a hint to the
search handler how many records are going to be fetched immediately
following search. There's no guarantee that it's going to be the case,
since it depends on hit count (for Z39.50 piggyback) and whether errors
turn up.
Make a few functions static (private). The functions getbyte_stream,
ungetbyte_stream and yaz_gets are now private. They were never declared
in a header file.
yaz-marcdump: exit(5) for serious decoding errors
ISO2709 decoding: be more picky WRT header
GFS: bail out of fetch if last_in_set is set. Until now, last_in_set,
was only used as to indicate that next-result-set-position should be
set to zero.
http://www.loc.gov/z3950/agency/markup/04.html#Next-result-set-position
Based on patch from Ashley Sanders.
Make some functions static/private in PQF parsing. Those functions were
never declared in a public header and so should not be in use by
applications based on YAZ.
--- 4.2.47 2012/11/23
ZOOM: special options to control APDU logging.
Using ZOOM_connection_option_set(c, "saveAPDU", "1") will enable
logging of APDUs until "saveAPDU" option is set again. If logging is
already enabled the effect is that current APDU buffer is cleared.
Using ZOOM_connection_option_set(c, "saveAPDU", "0") disables
logging (default behavior on new connection).
The APDUs sent/received can be obtained by using
Using ZOOM_connection_option_get(c, "APDU") or
ZOOM_connection_option_getl(c, "APDU", &l).
GFS: relay implementation_version from backend
From 3.0.40 and later, implementation_version from backend was
not used in init response at all.
--- 4.2.46 2012/11/15
Fix cs_rcvconnect for SSL comstack GNUTLS. Did not work in non-blocking
mode at all. Probably never did.