forked from BaseXdb/basex
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
1435 lines (1106 loc) · 52.7 KB
/
CHANGELOG
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
VERSION 11.6 (November 28, 2024) ---------------------------------------
- [ADD] New XQuery 4 features (sibling axes, civil-timezone, etc)
- [ADD] job:execute: Run XQuery scripts
- [ADD] Permissions: Access to request headers and query parameters
- [ADD] New options: LOGEXCLUDE, LOGCUT
- [ADD] JSON serialization: Improved double representation
- [ADD] JSON serialization: json-lines support
- [FIX] Tomcat: improved job handling
VERSION 11.5 (October 29, 2024) ----------------------------------------
- [ADD] New XQuery 4 features (support for named record type, etc)
- [MOD] XQuery: tweaked rules for swapping comparison operands
- [FIX] Logging: Whitespace normalized
- [FIX] XQuery: transitive module imports
VERSION 11.4 (October 2, 2024) -----------------------------------------
- [ADD] New XQuery 4 features (fn:element-number, others)
- [FIX] XQuery: Inlining of sequences
- [FIX] XQuery: better support for JSON payloads in HTTP requests
- [FIX] XQuery: improved processing of serialization parameters
- [FIX] Core: concurrent string caching
VERSION 11.3 (September 19, 2024) --------------------------------------
- [ADD] New XQuery 4 features
- [ADD] Options: LOG, support for stdout/stderr/slf4j targets
- [ADD] XQuery: focus expression (A -> B; experimental)
- [MOD] XQuery, processing single chars: reduced memory consumption
- [MOD] XQuery, db:node-id, db:node-pre: faster retrieval
- [FIX] XQuery: self-recursiveness of functions and variables revised
- [FIX] XQuery: inspect:function has become more robust
VERSION 11.2 (August 15, 2024) -----------------------------------------
- [ADD] New XQuery 4 features
- [ADD] XQuery: proc:system: new 'environment' option
- [MOD] GUI: Global Ctrl-ENTER shortcut
- [MOD] XQuery: faster evaluation of recursive functions
- [MOD] XQuery: faster invocation of HOF function parameters
- [MOD] XQuery: distinct-values: faster processing of numeric input
- [MOD] XQuery: fewer redundant type checks
- [FIX] XQuery: circularity/self-dependency checks revised
- [FIX] WebSockets (Jetty 11): Idle timeout increased to 1 hour
VERSION 11.1 (July 10, 2024) -------------------------------------------
- [FIX] Duplicate libraries removed from distribution packages
- [FIX] XQuery, inspect:module and inspect:xqdoc
- [FIX] WebSocket, ws:broadcast, ws:emit: send maps and arrays
- [FIX] HTTP Payloads: handling multipart messages
- [ADD] XQuery: support for union node tests
- [MOD] XQuery: Better coercion for arrays and maps
- [MIN] Updated to Jetty 11.0.22 and Markup Blitz 1.4
VERSION 11.0 (June 6, 2024) --------------------------------------------
STORAGE
- Key/value Store: Better compactification when storing values
- CSV/JSON/XML parsing: reduced memory consumption
XQUERY
- First release with new 4.0 features
- Numerous new built-in functions (standard, maps, arrays, math)
- Updates: Multiple targets in rename/replace/insert expressions
- New custom functions: archive:refresh, validate:xsd-init, xslt:init
- Full support for Invisible XML.
GENERAL
- GUI: Full Unicode character support
- Web Server: Upgrade to Jetty 11
- Command-Line: New options -C, -Q, -W
- Options: WRITESTORE, writes store to disk at shutdown time
VERSION 10.7 (August 4, 2023) ------------------------------------------
- GUI, Editor: Full support for Unicode characters
- GUI, Editor: Faster font rendering (font dialog: anti-aliasing)
- XQuery 4: New features, functions, operators
- BaseX 11 preview features (see the documentation)
- bug fix: web:forward, write concluding log entry
- bug fix: job:eval, re-initialize scheduled jobs
- various other bug fixes
VERSION 10.6 (May 4, 2023) ---------------------------------------------
- XQuery: Much more memory-efficient representation of XML fragments
- XQuery: Faster access to substrings and single characters
- XQuery: Faster iterations with the simple map operator
- XQuery 4: more preview features available
- CSV/JSON conversions: Less memory consumption
- CSV parsing: option for skipping empty fields
- GUI, editor: better code completion
- Less reflection: Direct acccess to TagSoup, iXml, JLine
- Minor bug fixes
VERSION 10.5 (March 23, 2023) ------------------------------------------
- new XQuery 4 features
- numerous performance tweaks
- minor bug fixes
VERSION 10.4 (December 1, 2022) ----------------------------------------
- minor bug fixes
- DBA, settings: enable indentation
- XQuery 4 preview features updated
VERSION 10.3 (October 11, 2022) ----------------------------------------
- better pooling of HTTP requests
- new command-line option -W for indenting results
- minor bug fixes
VERSION 10.2 (September 28, 2022) --------------------------------------
- new undocumented XQuery 4 preview features
- optimization: better rewritings of positional tests
- optimization: simplifying arithmetic expressions
- optimization: consistent propagation of data reference
- optimization: faster invocation of function items
VERSION 10.1 (August 18, 2022) -----------------------------------------
- Bug fix: HTTP Requests, sending headers
- Bug fix: Storage handling of main-memory databases
- Bug fix: GUI editor, double clicks
- Bug fix: function items and mixed updates
- undocumented XQuery 4 preview features
VERSION 10.0 (August 1, 2022) ------------------------------------------
STORAGE
- Three resources types: XML, binary, XQuery Values
- When importing XML, whitespaces are now preserved
- Backups enhanced for general data (users, services, store)
XQUERY
- Multiple compilation steps for improved locking!
- New Store Module: persistent main-memory key-value storage
- Database Module: store values (db:put-value, db:get-value)
- When serializing XML, indentation is now turned off
GENERAL
- GUI revised: HiDPI support, new icons, improved consistency
- All HTTP requests based on new Java HTTP client
- Universal catalog support, based on new XML Catalog API
- Responses of standard REST API use default namespace
- Default ports for web applications: 8984/8985 -> 8080/8081
- Default admin password was removed
VERSION 9.7.3 (June 30, 2022) ------------------------------------------
- DBA: Improved support for database backups
- Performance tweaks and bug fixes
- BaseX 10 preview: Store Module (before: Caching Module)
- BaseX 10 preview: Backup of general data (users, jobs, stores)
VERSION 9.7.2 (May 14, 2022) -------------------------------------------
- English Stemmer: dictionary for irregular forms added
- Preview implementations of BaseX 10 features
- Performance tweaks, minor fixes
VERSION 9.7.1 (April 26, 2022) -----------------------------------------
- RESTXQ: improved caching for unmodified modules
- GUI: improved support for middle mouse button
- GUI, editor: list opened files (Ctrl-F6)
- Backups: support for comments added
- XQuery: inspect:functions: parse modules only once
- XQuery: db:delete: Faster deletion of binary resources
- XQuery: jobs:eval: handling of large job numbers revised
- XQuery optimizations: rewrite value to general comparisons
VERSION 9.7 (March 23, 2022) -------------------------------------------
XQUERY
- numerous performance tweaks and optimizations
- support for formatting integers and dates in French
- xslt:transform-report: support for xsl:messages
- util:strip-namespaces: remove namespaces from elements
- XSD validation: improved support for XML catalogs
VERSION 9.6.4 (December 17, 2021) --------------------------------------
- Performance tweaks, minor fixes
VERSION 9.6.3 (October 21, 2021) ---------------------------------------
- Minor fixes, Performance tweaks
VERSION 9.6.2 (September 30, 2021) -------------------------------------
- Performance tweaks, minor bug fixes
VERSION 9.6.1 (August 26, 2021) ----------------------------------------
- GUI bug fix, XQuery performance tweaks
VERSION 9.6 (August 19, 2021) ------------------------------------------
XQUERY: MODULES, FEATURES
- Archive Module, archive:write: stream large archives to file
- SQL Module: support for more SQL types
- Full-Text Module, ft:thesaurus: perform Thesaurus queries
- Fulltext, fuzzy search: specify Levenshtein limit
- UNROLLLIMIT option: controll limit for unrolling loops
XQUERY: JAVA BINDINGS
- Java objects of unknown type are wrapped into function items
- results of constructor calls are returned as function items
- the standard package java.lang. has become optional
- array arguments can be specified with the middle dot notation
- conversion can be controlled with the WRAPJAVA option
- better support for XQuery arrays and maps
WEB APPLICATIONS
- RESTXQ: Server-Timing HTTP headers are attached to the reponse
VERSION 9.5.2 (May 27, 2021) -------------------------------------------
- Performance tweaks, minor bug fixes
VERSION 9.5.1 (April 2, 2021) ------------------------------------------
- Performance tweaks, minor bug fixes
VERSION 9.5 (February 25, 2021) ----------------------------------------
RESTXQ
- the client IP address behind a proxy is added to the logs
- stack traces in the error message can now be suppressed
- the default error code has been changed from 400 to 500
- error messages are more user-friendly now (#1708)
- content negotiation was improved (#1991)
- inline arguments of called function (#1982)
XQUERY FUNCTIONS
- Utility: new functions for sequences, arrays and maps
- Higher-Order Functions: hof:drop-while
- Jobs: More options for job intervals
XQUERY PERFORMANCE
- revised scoring propagation (all items will take less memory)
- default function inlining limit reduced from 100 to 50
- axis path rewritings, better typing (#1910, #1976, #1979)
- better typing (#1906, #1908, #1909, #1944, #1945)
- faster data()/string() checks (#1975)
- rewrite map:merge to map:put (#1969)
- rewrite order by to fn:sort (#1966)
- rewrite group by to fn:distinct-values (#1932)
- rewrite quantifiers to FLWOR expressions (#1961)
- optimizations of arithmetic expressions (#1938, #1972)
- optimizations of lookup operator (#1929, #1984)
- optimizations of counts (#1965, #1973, #1974)
- optimizations of regular lists (#1919, #1924)
- optimizations of switch expression (#1920)
- optimizations of instance of (#1939)
- distinct values (#1930, #1967)
- positional checks (#1937)
- existence checks (#1971)
VERSION 9.4.6 (January 7, 2021) ----------------------------------------
- Performance tweaks, minor bug fixes
VERSION 9.4.5 (November 24, 2020) --------------------------------------
- Minor bug fixes
VERSION 9.4.4 (November 6, 2020) ---------------------------------------
- Performance tweaks, minor bug fixes
VERSION 9.4.3 (September 11, 2020) -------------------------------------
- New compile-time optimizations and performance tweaks
VERSION 9.4.2 (August 21, 2020) ----------------------------------------
- Performance tweaks, bug fixes
VERSION 9.4.1 (July 26, 2020) ------------------------------------------
- Minor bug fixes and performance tweaks
VERSION 9.4 (July 14, 2020) --------------------------------------------
WEB APPLICATIONS
- DBA: support for millions of log entries
- LOGTRACE option: write trace output to logs or STDERR
- rest:init: Full or partial initialization of RESTXQ cache
- basexhttp: register job services
GUI
- result view: show number of results and result size
- Shift F4-F7: toggle search options (case, regeex, ..)
- Ctrl-Shift-B: jump to matching bracket
XQUERY LOCKING
- single lock option for reading and updating queries
- Java bindings: annotation added for updating functions
XQUERY FUNCTIONS
- convenience functions: json:doc, csv:doc, html:doc
- element names: convert:encode-key, convert:decode-key
- jobs:eval: option added for writing log entries
- session module: only create new sessions if required
XQUERY PERFORMANCE
- boolean comparisons: flatten nested expressions
- boolean expressions: merge conjunctions
- comparisons: simplify operands with if expression
- database functions: always open at compile time
- databases: propagate to more expressions at compile time
- filters: inline context for single items
- filters: rewrite to simple maps
- FLWOR: inline where clauses into let clauses
- FLWOR: merge last with return clause, rewrite to simple map
- FLWOR: rewrite "return if ..." to "where ... return"
- fn:for-each, fn:filter: rewrite to FLWORs and filters
- if expression, EBV tests: simplify boolean tests
- lists, sets, logical expressions: flatten expressions
- lists: rewrite to union expressions
- logical expressions: apply more boolean algebra rules
- paths: remove redundant predicates
- predicates with name functions: rewrite to name tests
- predicates: merge expressions, discard redundant tests
- predicates: remove of superfluous and redundant tests
- set expressions: merge operands
- simple map: inline cast expressions
- simple maps: faster evaluation
- simple maps: merge operands
- simple maps: rewrite to paths, optimize for index access
- switch: rewrite to if expression
- types: skip redundant checks, promotions and conversions
VERSION 9.3.3 (May 15, 2020) -------------------------------------------
- Minor bug fixes, performance tweaks, new query optimizations
VERSION 9.3.2 (March 10, 2020) -----------------------------------------
- Minor bug fixes, numerous performance tweaks
VERSION 9.3.1 (December 19, 2019) --------------------------------------
- Minor bug fixes and performance tweaks
VERSION 9.3 (November 29, 2019) ----------------------------------------
RESTXQ
- seamless streaming of custom responses to the client
- Request Module: bind attributes to current request
- better support for the OPTIONS and HEAD methods
- enforce premature HTTP response with web:error
- optional GZIP compression of HTTP responses
- trace output is now stored in database logs
- server-side forwarding with web:forward
USER INTERFACES
- GUI: project view: skip directories with .ignore file
- GUI: project view: do now follow symbolic links
- DBA: user panel updated to show user info
- DBA: faster processing of log entries
STORAGE
- hot fix for replacing single documents with namespaces
- improved XQuery processing of binary resources
- ADDCACHE: faster caching of single documents
- WITHDB: less locking when using fn:doc
XQUERY FUNCTIONS
- user:info/user:update-info: process user-specific data
- db:open-id, db:open-pre: support for multiple ids
- file:descendants: return descendant file paths
- inspect:type: return type of a value as string
- db:alter-backup: rename database backups
- xsl:transform: support for catalog files
XQUERY PERFORMANCE
- merge of adjacent/redundant steps in paths and predicates
- removal of redundant switch, typeswitch and catch clauses
- interruption of side-effecting code (Files Modul etc.)
- fn:count: pre-evaluation of zero-or-one arguments
- faster processing of alternative steps: a/(b,c)
- rewriting of paths to simple map expressions
- inlining of values in simple map expressions
- flattening of nested simple map expressions
- rewriting of lists to union expressions
- removal of superfluous predicates
VERSION 9.2.4 (July 26, 2019) ------------------------------------------
- Minor bug fixes
- Preview implementations of new 9.3 features
VERSION 9.2.3 (July 5, 2019) -------------------------------------------
- Numerous query optimization tweaks (paths, simple maps, try/catch)
- Minor bug fixes
VERSION 9.2.2 (May 21, 2019) -------------------------------------------
- Windows installer: Shortcuts fixed
- Bug fixes (Unit tests; sessions:ids; status code from XQuery error)
- Web Module: Anchor arguments added
- WITHDB option: fn:doc, consider or exclude database documents
VERSION 9.2.1 (May 7, 2019) --------------------------------------------
- GUI: faster and smarter parsing of project files
- RESTXQ: custom reponses are now sent as streams
- Performance tweaks (static typing: typeswitch, instance of)
- Minor bug fixes
VERSION 9.2 (April 16, 2019) -------------------------------------------
XQUERY PERFORMANCE
- comparisons will more often be rewritten to hash joins
- optimized access to subsequences and single sequence items
- consistent propagation of static types to evaluation results
- improved static typing of function items (maps, arrays)
- more aggressive pre-evaluation at compile time
STORAGE PERFORMANCE
- large databases will be opened faster
- regular storage offset will be computed at runtime
GENERAL XQUERY FEATURES
- no need to import basex-api modules anymore!
- Archive Module: archive:create-from, new options
- Database Module: directory-based access via db:dir
- Profiling Module: new functions (prof:gc, prof:runtime)
- Validation Module: assign XSD validation features
- WebSocket Module: query scheduling via ws:eval
- Utility Module: various new helper functions
- XSLT Module: support for XML Catalogs (thank you Liam)
NEW OPTIONS
- RESTXQERRORS: Suppress parsing errors at runtime
- FULLPLAN: comprehensive query plan information
FULLTEXT FEATURES
- stemmer for Arabic texts added
USER INTERFACES
- GUI: better support for latest JDK versions (incl. OpenJDK)
- DBA: revised search features in log panel
VERSION 9.1.2 (January 22, 2019) ---------------------------------------
Minor bug fixes; performance tweaks (faster WebDAV access).
VERSION 9.1.1 (December 14, 2018) --------------------------------------
XQuery:
- Comprehensive rewritings of positional predicates and functions
- Higher-order functions: Improved type inference
- Improved rewriting of context-based and/or nested predicates
Java Bindings:
- Faster access to and evaluation of Java functions and variables
- Improved pre-selection of function candidates at compile time
- Better error messages (incl. function arity and similar names)
DBA:
- Settings: user-defined pattern for ignoring log entries
- Login: pass on URL query strings
Minor improvements:
- Import: detect epub files as ZIP archives
- Digest Authentication: No delay after first request
- GUI, Preferences: user-defined choice of XML suffixes
VERSION 9.1 (October 31, 2018) -----------------------------------------
WebSockets:
- New web service for full-duplex client/server communication
- WebSocket Module: functions for organizing WebSocket connections
- Embedded sample chat application
XQuery:
- syntax extensions: Elvis operator, ternary if, if without else
- local locks via pragmas and function annotations
- Jobs Module: record and return registration times
- Database Module: faster processing of value index functions
- Update Module, update:output: support for caching maps and arrays
- ENFORCEINDEX option: support for predicates with dynamic values
GUI:
- Mac, Windows: Improved rendering support for latest Java versions
- Choose and display context for XQuery editor expressions
VERSION 9.0.2 (May 31, 2018) -------------------------------------------
Critical bug fixes:
- XQuery: Node ordering of mixed database/fragment instances
- XQuery: Index rewritings of paths with nested positional predicates
Improvements:
- WebDAV: Much faster locking of database resources
- XQuery: Enable ENFORCEINDEX for variable predicate arguments
- GUI: Larger interaction components, unified font sizes
Minor Bug fixes:
- DBA: Suppress menu on login page
- Commands: Nested evaluation with variable bindings
- XQuery: Static typing of lookup expressions
VERSION 9.0.1 (April 24, 2018) -----------------------------------------
Critical bug fixes:
- Storage: Short strings with extended Unicode characters fixed
- XQuery: Nested path optimizations reenabled (e.g. in functions)
- XQuery: map:merge, size computation fixed
- XQuery: node ordering across multiple database instances fixed
Improvements:
- GUI: Better Java 9 support (DPI scaling, font rendering)
- XQuery, collections: faster document root tests
- New R client. Thanks Ben Engbers!
- Linux: exec command used in startup scripts
Minor Bug fixes:
- XQuery: Allow interruption of tail-call function calls
- XQuery, HTTP parsing of content-type parameters
- XQuery, restrict rewriting of filter to path expression
- GUI: progress feedback when creating databases via double-click
VERSION 9.0 (March 23, 2018) -------------------------------------------
XQUERY
- Comprehensive extensions in the internal XQuery optimizer framework
- Dynamic hash joins rewritings of general comparisons
- Register query jobs as persistent services
- Process very large CSV files via the new CSV 'xquery' format
- Update Module: higher-order functions for performing updates
- Unified static typing, including maps, arrays and function items
- COPYNODE: Lightweight copying of XML fragments
- ENFORCEINDEX: Enforce rewriting for index access
STORAGE
- Improved database compression (short strings, whitespaces)
WEB APPLICATIONS
- Permissions layer: Unified definition of RESTXQ access patterns
- RESTXQ: Full support for client- and server-side quality factors
- REST: Run BaseX command scripts
- Web server upgrade to Jetty 9
REPOSITORIES
- Combined packaging mechanism (XQuery and Java)
- Java Packaging: Bundling of additional libraries
DISTRIBUTIONS
- Revised detection and configuration of BaseX home directory
- Windows executable: better detection of Java libraries
DBA: BASEX DATABASE ADMINISTRATION
- Improved editing and evaluation of XQuery modules
- Revised file, session and job management
MINOR UPDATES
- NEW: convert:binary-to-integers: return binary data as octets
- NEW: db:option: return value of system option
- NEW: fetch:xml-binary: retrieve XML from binary data
- NEW: jobs:invoke: schedule job based on input file
- NEW: out:cr: return carriage return
- NEW: proc:fork: execute command in separate thread
- NEW: prof:track: measure runtime and memory
- NEW: util:replicate: return results multiple times
- NEW: IGNOREHOSTNAME (certificates verification)
- UPDATE: convert:integers-to-(base64|hex) renamed
- UPDATE: file:read-text-lines: new $offset/$length arguments
- UPDATE: fn:put: specify serialization parameters
- UPDATE: http:send-request: support for compressed responses
- UPDATE: proc:system, new input option: pass on stdin
- UPDATE: prof:time, prof:memory: signatures updated
- UPDATE: sql:execute(-prepared) returns update count
- UPDATE: update:output(-cache) renamed; before: db:output(-cache)
- UPDATE: web:response-header: status/message attributes
- UPDATE: xquery:eval: new pass option (pass on error info)
- UPDATE: xquery:eval-update renamed; before: xquery:update
- UPDATE: xquery:parse(-uri): base-uri option added
- UPDATE: xslt:transform(-text): cache XSLT transformer
- UPDATE: JSON Module, 'xquery' format renamed; before: 'map'
- UPDATE: Lazy Module renamed; before: Streaming Module
- UPDATE: GUI: serialization parameters for result output
- UPDATE: XQuery: numeric errors replaced with descriptive names
- UPDATE: BaseXServer option -c accepts URLs and file references
VERSION 8.6.7 (September 21, 2017) -------------------------------------
Bug fixes, performance (fn:tail, static typing in group by clauses).
VERSION 8.6.6 (August 24, 2017) ----------------------------------------
Bug fixes (map:merge, where clauses), performance tweaks.
VERSION 8.6.5 (July 28, 2017) ------------------------------------------
Various performance tweaks, minor fixes.
VERSION 8.6.4 (May 18, 2017) -------------------------------------------
Bug fixes (one critical), various performance tweaks.
VERSION 8.6.3 (April 6, 2017) ------------------------------------------
Bug fixes, performance enhancements.
VERSION 8.6.2 (March 13, 2017) -----------------------------------------
Minor bug fixes and performance tweaks.
VERSION 8.6.1 (February 24, 2017) --------------------------------------
Minor bug fixes and improvements:
- Core, locking: revised locking of jobs exceeding PARALLEL limit
- Client/Server: improved logging of unexpected exceptions
- XQuery optimization: faster iteration of atomized values
- GUI, Project View: only repaint relevant sub tree after updates
- GUI, Project View: improved file search
- GUI, Editor: revised rendering of whitespaces and long strings
- GUI, Info View: limit size of evaluation cache
VERSION 8.6 (January 24, 2017) -----------------------------------------
LOCKING
- jobs without database access will never be locked
- read transactions are now favored (adjustable via FAIRLOCK)
RESTXQ
- file monitoring was improved (adjustable via PARSERESTXQ)
- authentication was reintroduced (no passwords anymore in web.xml)
- id session attributes will show up in log data
DBA
- always accessible, even if job queue is full
- pagination of table results
INDEXING
- path index improved: distinct values storage for numeric types
XQUERY
- aligned with latest version of XQuery 3.1
- updated functions: map:find, map:merge, fn:sort, array:sort, ...
- enhancements in User, Process, Jobs, REST and Database Module
CSV DATA
- improved import/export compatibility with Excel data
VERSION 8.5.3 (August 15, 2016) ----------------------------------------
Minor bug fixes, improved thread-safety.
VERSION 8.5.2 (July 21, 2016) ------------------------------------------
Minor bug fixes and performance tweaks.
VERSION 8.5.1 (July 11, 2016) ------------------------------------------
Bug fixes, experimental 8.6 features.
VERSION 8.5 (July 4, 2016) ---------------------------------------------
DATABASE JOBS
- all registered database jobs are now centrally administered
- jobs can be scheduled (periodical execution, start/end time)
- job results can be cached and retrieved later on
- new Jobs Module: XQuery functions for managing jobs
- new commands: JOBS [LIST|RESULT|STOP]
- DBA: visualization of currently registered jobs
XQUERY
- parallel execution via xquery:fork-join (thank you, James Wright!)
- alignments with the latest changes in the XQuery 3.1 specification
- easy chaining of update operations with the 'update' keyword
- numerous optimizations, smarter rewritings and heuristics
XQUERY MODULES
- File, Conversion, Fetch Module: handling of invalid XML characters
- Inspection Module: inspect:function-annotations added
OPTIONS
- LOGPATH: custom path for logging data
- CACHETIMEOUT: timeout for dropping cached job results
- AUTHMETHOD: `custom` added to skip authentication
VERSION 8.4.4 (May 3, 2016) --------------------------------------------
Minor bug fixes and tweaks.
VERSION 8.4.3 (April 13, 2016) -----------------------------------------
Minor bug fixes, experimental 8.5 features.
VERSION 8.4.2 (March 30, 2016) -----------------------------------------
Minor bug fixes, performance tweaks, experimental 8.5 features.
VERSION 8.4.1 (March 3, 2016) ------------------------------------------
Minor bug fixes, experimental support for 8.5 features.
VERSION 8.4 (February 8, 2016) -----------------------------------------
GUI
- Project View: parse all modules in a project in the background
- Create Database, Properties: access to advanced database options
- Sort Dialog: order by column positions and locale collation
INDEXING
- New Token Index: speedy token lookups in DITA and HTML documents
- Including full support for incremental and main-memory databases
- XQuery optimizations for fn:contains-token, fn:tokenize, fn:idref
WEB APPLICATIONS
- Cancel server-side queries via %rest:single annotation
- DBA query editor: faster querying, better responsivity
XQUERY
- Database Module: ADDCACHE support (caching of large results)
- Direct output of binary data with new 'basex' serialization method
- Better XQuery 3.1 compliance: string constructors, new functions
- Java bindings: address specific Java function signatures
- User Module: create users and grant permissions in one step
DOCUMENTATION
- Many Wiki articles have been revised and updated
VERSION 8.3.1 (October 29, 2015) ---------------------------------------
- XQuery 3.1: alignments with latest spec
- Bug fixes (GUI errors, XPath optimizations)
VERSION 8.3 (September 23, 2015) ---------------------------------------
SELECTIVE INDEXING
- restrict value indexing to given elements and attributes
- support extended to updatable and main-memory databases
VALIDATION
- support for RelaxNG validation (XML and compact syntax)
- optional XML Schema 1.1 support
- new function for creating validation reports
XQUERY MODULES
- Strings Module: Levenshtein, Soundex, Cologne Phonetic
- updates in the Archive, Database, Admin and Process modules
DBA
- File panel: upload and download files
BUG FIXES
- automatic database optimization if node id turns negative
- XQuery optimizations, performance tweaks, WebDAV issues
VERSION 8.2.3 (July 14, 2015) ------------------------------------------
Bug fixes (DBA, admin:write-log; namespaces)
VERSION 8.2.2 (July 6, 2015) -------------------------------------------
Various bug fixes (all minor)
VERSION 8.2.1 (June 9, 2015) -------------------------------------------
DBA
- code highlighting (thanks, James Ball!)
- new panel for up- and downloading files
- queries and files are now stored in a temporary directory
GENERAL
- various bug fixes
VERSION 8.2 (May 21, 2015) ---------------------------------------------
XQUERY
- much faster sequence modification via finger trees
- improved compliance with XQuery 3.1
DBA
- open, save and delete queries
- better Tomcat support
STORAGE
- updatable index structures: reduced disk space consumption
XQUERY FUNCTIONS
- Standard Module: fn:json-to-xml, fn:xml-to-json
- Web Module: web:encode-url, web:decode-url
- File Module: file:is-absolute, file:resolve-path
- Admin Module: admin:delete-logs
- Database Module: db:output-cache
BUG FIXES
- locking, full-text requests, stemming
REMOVED FEATURES
- event handling (will be replaced by database triggers)
VERSION 8.1.1 (April 16, 2015) -----------------------------------------
Various bug fixes (all minor)
VERSION 8.1 (March 28, 2015) -------------------------------------------
XQUERY
- efficient Finger Tree algorithm for arrays
- prof:variables() outputs list of currently bound variables
- new higher-order functions: hof:scan-left, hof:take-while
WEB APPLICATIONS
- Web Module offers convenience functions for building web apps
- RESTXQ: %input annotation; input-specific content-type parameters
OPTIONS
- RESTPATH: specify server path for queries and command scripts
- IGNORECERT: ignore untrusted certificates when connecting to servers
COMMAND-LINE
- Bind input strings to the query context with -I
VERSION 8.0.3 (March 19, 2015) -----------------------------------------
Various bug fixes (all minor)
VERSION 8.0.2 (March 9, 2015) ------------------------------------------
REST
- Better support for concurrent read and write operations
XQUERY
- Speed up wildcard queries without wildcards
- XQUnit: compare error codes as QNames
- Fix: process each single flwor clause when removing variables
- Fix: consider xml:space='preserve' during serialization
CORE
- Fix: consider case when pinning databases
HTTP:
- Fix: digest authentication, correct quoting
VERSION 8.0.1 (February 22, 2015) --------------------------------------
XQUERY
- Faster execution of single, index-based results
- Iterative evaluation of steps with multiple predicates
Minor bug fixes:
- WebDAV locking
- Archive Module
- Adaptive serialization of arrays and maps
- Digest Authentication
- Save command-line history
VERSION 8.0 (February 9, 2015) -----------------------------------------
XQUERY
- Support for XQuery 3.1 (nearly complete)
- New default serialization ("adaptive")
- MIXUPDATES option: update items and return results at the same time
- Improved index rewritings, more precise cost estimations
- New modules: Array and User Module
- New annotations: %basex:inline, %basex:lazy
- 13 of our modules were updated and extended
STORAGE
- Existing documents will be overwritten in-place whenever possible
- Updatable index structures now take much less space
- Faster document index (storing paths to all XML documents)
- AUTOOPTIMIZE option: optimize after each update
- XINCLUDE option: resolve or ignore XInclude tags
SECURITY
- Revised user management; users are stored as XML
- Digest authentication, Salted SHA256
- Language bindings updated
WEB APPLICATIONS
- Integrated application: DBA, Database Administration
- AUTHMETHOD option: Basic vs. Digest authentication
- RESTXQ: regular expressions in paths, quality factor support
GUI
- Better code completions
VERSION 7.9 (June 27, 2014) --------------------------------------------
XQUNIT
- Unit testing has been improved a lot. All test functions will now be
evaluated separately; this way, updates can be performed within test.
- with the new TEST command, all test modules in a specified directory
can be evaluated.
- tests can be invoked from within the GUI editor and project view.
- on command-line, the -t flag can be used for the same purpose.
RESTXQ
- Custom HTTP methods can be defined via %rest:method
- Error handling has been improved and aligned with try/catch
XQUERY MODULES
- Database Module: parsing options for db:create/db:add
REST
- The "run" operation allows execution of server-side command scripts
VERSION 7.8.2 (April 4, 2014) ------------------------------------------
GUI
- Ctrl-U: efficiently sort large texts
- Ctrl-H, Ctrl-J: context-sensitive behavior
- tweaked code automatisms
STORAGE, UPDATES
- faster processing of documents with namespaces
XQUERY MODULES
- Database Module: alter, copy, create-backup, drop-backup, restore
- Admin Module: new merge option, existing functions revised
- XQuery Module: new evaluation options (memory, timeout, permissions)
XQUERY OPTIMIZATIONS
- always show full stack trace (enforce it with INLINELIMIT=0)
- show stack trace again
- better error messages
- improved function inlining
- prevent pre-evaluation of try/catch
- Easter egg: partial sums (little Gauss) calculation
API
- WebDAV: improved password processing
- Client/Server: reduce waiting time if password is wrong
VERSION 7.8.1 (February 26, 2014) --------------------------------------
ADDED
- Editor, Ctrl-H: filter by opened file type and selected text
- XML Parsing: support for TAR & TGZ
UPDATED
- XQuery errors: function not found -> suggest similar one
- Commands: improved parsing (allow more whitespaces)
- French translation (thanks to Maud Ingarao!)
FIXED
- XQuery Update: nested transform expressions
- XQuery: always return boolean when calling doc-available()
- XQuery: disallow impossible casts before removing variables
- Binary Module: iterative evaluation of bin:octets()
- Commands, REPO INSTALL: install packages in same directory
- CSV/JSON: serialization of underscores
VERSION 7.8 (February 12, 2014) ----------------------------------------
GUI
- new project view for organizing and opening project files
- realtime search of project files and contents
- various new editor shortcuts and code completions, code formatting
UPDATES
- improved performance of delete and insert operations
- faster in-place value updates
- 'update': convenience keyword for transform expressions
XQUERY OPTIMIZATIONS
- XQuery functions are now inlined and further optimized
- closure optimizations, better static typing
- improved detection and rewriting of tail calls
- faster processing of (sub)sequences
XQUERY MODULES
- JSON and CSV Module: updated and enhanced conversion rules
- Unit Module: enhanced test report output
- Map Module: map:serialize added; syntax aligned with latest spec.
- File Module: aligned with changes in EXPath spec.
- XQuery Module: xquery:evaluate (operates on opened databases)
- Full-Text Module: ft:contains added, ft:search: more options
- EXPath Binary Module added
- Java modules: support for locking annotations
API
- New options: INLINELIMIT, TAILCALLS, DEFAULTDB, RUNQUERY
- New command-line flag: -R only parse query
- Russian translation added (thanks to Oleksandr Shpak!)
- Spanish translation added (thanks to Carlos Marcos!)
VERSION 7.7.2 (October 7, 2013) ----------------------------------------
XQUERY
- CSV Module and serialization added
- JSON serializer updated (more to follow)
- update checks in modify clause fixed
- parsing of new map syntax fixed (ignoring spaces)