forked from BaseXdb/basex
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
1040 lines (803 loc) · 37.8 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 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)
- tail call handling in built-in higher order functions fixed
API
- Russian translation added (thanks to Oleksandr Shpak, Max Shamaev)
- command-line arguments starting with '<' are interpreted as XQuery
INDEXING
- bug fixed in updatable index structure
VERSION 7.7.1 (September 16, 2013) -------------------------------------
XQUERY
- new map syntax: { 'key' : 'value' }
- tail call optimization for dynamic functions
- optimize fn:subsequence() calls and sequence casts
- db:optimize(): original options are preserved
WEBDAV
- return non-breakable spaces as  
CORE
- avoid OutOfMemory exception when building large databases
VERSION 7.7 (August 7, 2013) -------------------------------------------
XQUERY
- Our XQuery 3.0 support is now complete!
http://docs.basex.org/wiki/XQuery_3.0
- the Unit Module allows standardized testing of XQuery applications
http://docs.basex.org/wiki/Unit_Module
- the Streaming Module speeds up operations on large files
http://docs.basex.org/wiki/Streaming_Module
- the Inspection Module provides reflection and documentation features
http://docs.basex.org/wiki/Inspection_Module
- we have added support for XQuery collations
http://docs.basex.org/wiki/Full-Text#Collations
- we have extended the Database, Archive, File and other Modules
http://docs.basex.org/wiki/Module_Library
COMMANDS
- database names have got more flexible
http://docs.basex.org/wiki/Commands#Valid_Names
- we have new options for simplifying the creation of large databases
http://docs.basex.org/wiki/Options
WEB/HTTP SERVICES
- WebDAV has been enriched with locking features (sponsored feature!)
http://docs.basex.org/wiki/WebDAV#Locking
- RESTXQ has been improved and extended:
http://docs.basex.org/wiki/RESTXQ
VERSION 7.6 (February 5, 2013) -----------------------------------------
DATABASE LOCKING:
- updates on different databases can now be executed in parallel and
won't lock your read-only queries anymore:
http://docs.basex.org/wiki/Transaction_Management
XQUERY
- when errors are raised, the full stack trace is now returned
- the EXPath Geo Module, Fetch Module and HTML Module have been added:
http://docs.basex.org/wiki/Module_Library
- the Validation, XSLT, Database and Profiling Module have been updated
GUI
- error messages are now clickable and linked with the text editor
- trace/profiling output is redirected to the info view in realtime
VERSION 7.5 (December 21, 2012) ----------------------------------------
XQUERY UPDATE
- bulk updates are now much faster than before
- insert and replace operations take much less memory
- databases can now be created via XQuery and db:create()
GUI TEXT EDITOR
- a fast and flexible search/replace panel has been added
- error highlighting has been extended to XML files
- the editor was improved for editing arbitrary text files
XQUERY 3.0
- the code has been aligned with latest changes in the specs
- HTML5 support has been updated
WEB APPLICATIONS
- new modules have been added: Request, Session, Sessions
- logging has been revised and extended to HTTP requests
- SSL support added, switched to Jetty 8
- all operation modes have been unified and simplified
- RESTXQ elements added to simplify forwarding and redirects
CORE FEATURES
- improved stability of concurrent read/write operations
- the INSPECT command performs database sanity checks
- EXECUTE triggers the execution of command scripts
VERSION 7.3 (June 18, 2012) --------------------------------------------
- Many new internal XQuery Modules have been added, and existing
ones have been revised to ensure long-term stability of your future
XQuery applications: http://docs.basex.org/wiki/Module_Library
- A new powerful Command API is provided to specify BaseX commands
and scripts as XML: http://docs.basex.org/wiki/Commands#Basics
- The full-text fuzzy index was extended to also support wildcard
queries: http://docs.basex.org/wiki/Full-Text
- The XQuery 3.0 simple map operator gives you a compact syntax to
process items of sequences: http://docs.basex.org/wiki/XQuery_3.0
- BaseX as Web Application can now start its own server instance:
http://docs.basex.org/wiki/Web_Application
- All command-line options will now be executed in the given order:
http://docs.basex.org/wiki/Startup_Options
- Charles Foster's latest XQJ Driver supports XQuery 3.0 and the
Update and Full Text extensions: http://xqj.net/basex/
VERSION 7.2.1 (April 27, 2012) -----------------------------------------
- Our value indexes now support string-based range queries:
http://docs.basex.org/wiki/Indexes#Value_Indexes
- Our new XQJ API is based on Charles Foster's implementation.
It fully utilizes the client/server architecture:
http://xqj.net/basex
- Import of XQuery modules has been simplified:
http://docs.basex.org/wiki/Repository
- Better Java code integration:
http://docs.basex.org/wiki/Java_Bindings
- Full support for the XQuery 3.0 Regular Expressions syntax:
http://www.w3.org/TR/xpath-functions-30/#regex-syntax
- Updating functions can now return values:
http://docs.basex.org/wiki/Database_Module#db:output
- Unified handling of document and database URIs:
http://docs.basex.org/wiki/Databases#Access_Resources
- Pinning of opened database replaced by filesystem locking:
http://docs.basex.org/wiki/Transaction_Management#Locking
- REST, RESTXQ, WebDav: concurrency issues fixed
VERSION 7.2 (March 24, 2012) -------------------------------------------
- support for the new RESTXQ API for building XQuery web services
- improved support for running BaseX as web application
- XQuery: higher order functions added to speed up Top-K queries
- proxy server settings added
- advanced TagSoup options added for importing HTML files
- XQuery: faster traversal of full-text index entries: ft:tokens()
- Command-line: embedded readline and history support via JLine
- XQuery 3.0: annotation added, updated EQName syntax (Q{uri}name)
- opened databases are now pinned OS-wide to reduce write conflicts
- HTML5 serialization of query results
- a printable version of our Wiki documentation
VERSION 7.1.1 (February 19, 2012) --------------------------------------
GUI:
- new "Package" dialog: to list, install and delete XQuery Packages
- "New/Add" dialog: "RAW" input format allows import of raw files;
automatic detection of input formats, increased usability
- "Export" dialog enhanced to support other methods like JSON,
and various serialization parameters
Command-Line:
- new option -L: add trailing newline after query result
- new option -C: execute commands from batch script
REST:
- new "option" parameter: set options before executing request
Full-Text:
- Indonesian Stemmer (thanks Andria Arisal!)
IO:
- faster read/write access to byte arrays
VERSION 7.1 (February 8, 2012) -----------------------------------------
GUI
- improved document management: hierarchical view of db resources
- easier index creation/removal and database optimization
- JSON/JsonML parser added
- editor: updated and reopened files are reverted from disk
REST
- automatic XML conversion of popular content types
(JSON/JsonML, CSV, HTML)
XQUERY
- new index module for directly accessing database index structures
- new repository module to manage EXPath packages via XQuery
- db:list-details() returns information on the database resources
- db:content-type() retrieves content-type of a specific resource
- ft:tokens() returns full-text tokens stored in the index
- ft:tokenize() tokenizes a given input string
- util:path() returns the path to the executed query file
- util:time() prints the time needed to evaluate a given expression
- util:mem() prints allocated memory for evaluating an expression
- expanded QNames, computed namespace constructors
COMMAND-LINE
- multiple query files and -c/-i/-q flags can now be specified
INDEXING
- ID/Pre mapping, incremental indexing of value index structures
- document index fix: correct replacement of existing documents
- document index: faster updates
OPTIONS
- ADDRAW: add raw files if not filtered by CREATEFILTER
- MAXLEN: max. length of strings to be added to the index structures
- MAXCATS: max. number of distinct values stored in statistics
- UPDINDEX: turn on incremental index updates for value indexes
- improved BINDINGS option
CLIENT/SERVER
- improved log output if query iterator is used
- new ActionScript API (thanks to Manfred Knobloch!)
SERIALIZATION
- "newline" parameter specifies the type of newline to be used
COMMANDS
- KILL command accepts IP:port combination to specify target
TRANSLATIONS
- Bahasa Indonesian: thanks to Andria Arisal!
- Mongolian: thanks to Tuguldur Jamiyansharav!
VERSION 7.0.2 (November 11, 2011) --------------------------------------
FULL TEXT
- Stemming support for Japanese text corpora
(thanks to Toshio HIRAI!)
STARTUP
- Updated start scripts (thanks to Ralf Jung!)
- System property "org.basex.path" added to specify
project's home directory (thanks to malamut2!)
XQUERY
- Numerous minor XQuery 3.0 enhancements and fixes
- Fix for db:optimize() calls (thanks to Martin Hillert!)
STORAGE
- Fix to retain newly introduced namespaces
(thanks to Laurent Chevalier!)
USERS
- Default privileges for new users set to "none"
(thanks to Pascal Heus!)
REST
- query base URI for evaluated queries is now $HTTPPATH
(thanks to Florent Georges!)
VERSION 7.0.1 (October 23, 2011) ---------------------------------------
DISTRIBUTIONS
- Windows installer was updated to support latest features
- ZIP file was updated (initial config & directories added)
- Short directory names are chosen if config file resides in app.dir.
- Start scripts have been improved
XQUERY
- much faster execution of count() when applied to opened databases
SERVER
- Flag -c connects to an existing database server
- Flag -s specifies a port for stopping the HTTP server (Jetty)
- Flag -S starts the HTTP server as a service
- running write operations will be completed before server is stopped
API
- Ruby, Python, PHP, Java: clients updated
VERSION 7.0 (October 14, 2010) TEI EDITION -----------------------------
API
- Native and tightly integrated REST implementation replaces JAXRX
- WebDAV provides a file system like access to BaseX databases
XQUERY
- Parsing and serializing JSON documents
- SQL module builds a JDBC bridge to access relational databases
- EXPath Cryptographic Module for encryption and XML Signatures
- Full text engine tokenizes Japanese texts (thx to Toshio Hirai!)
- db:retrieve() and db:store() handle raw data
- util:uuid() to create random universally unique identifier
- db:content-type() retrieves the content type of a resource
- db:exists() checks if the specified database or resource exists
- db:is-raw(), db:is-xml() check existence and type of a resource
- db:list(), db:open() uses two separate arguments to specify
database and resource path
- further modifications: db:add(),
SERVER
- BaseX HTTP Server activates the REST and WebDAV services
- ITER command returns all results in one go and the client
handles the iterative execution
COMMANDS
- FLUSH command to write all database buffers to disk
- STORE command to store raw data in a database
- RETRIEVE command to get raw data from the database
- modified ADD command
OPTIONS
- SERVERHOST: to specify a server
- KEEPALIVE: optional timeout to close inactive client sessions
- AUTOFLUSH database buffers
- QUERYPATH: path to executed query
VERSION 6.7.1 (July 28, 2011) BALISAGE EDITION -------------------------
XQuery:
- New database functions for adding, deleting, renaming
and replacing documents, and optimizing databases:
http://docs.basex.org/wiki/Database_Functions
- XSLT transformations via Java or Saxon:
http://docs.basex.org/wiki/XSLT_Functions
- All XQuery 3.0 functions are now supported:
http://docs.basex.org/wiki/XQuery_3.0
- Tail-call optimizations to speed up recursive functions
Storage:
- Use ADDARCHIVES to parse files within archives
- Use SKIPCORRUPT to skip non-well-formed files when
creating a database: http://docs.basex.org/wiki/Options
- Max. level depth limit (256) removed
- The document index is now incrementally updated
GUI:
- "Manage Database" dialog now supports operations on
multiple databases and the command-line glob syntax:
http://docs.basex.org/wiki/Commands#Glob_Syntax
- Drag and drop operations introduced for opening new files
and copying file paths
Client/Server:
- Delay clients that repeatedly fail to login
- All remaining plain-text password operations now use
MD5 to send and log passwords
VERSION 6.7 (June 30, 2011) --------------------------------------------
Main Features:
[ADD] Native support for the EXPath Packaging system:
http://docs.basex.org/wiki/Packaging
[ADD] Client/server event notification:
http://docs.basex.org/wiki/Events
[ADD] Persistent document index added to speed up
access to large collections
XQuery:
[ADD] New database and full-text functions:
http://docs.basex.org/wiki/Database_Functions
http://docs.basex.org/wiki/Full-Text_Functions
[ADD] Event function added to fire events
[MOD] Index optimizations, better cost estimations
Commands:
[ADD] Glob syntax introduced to database commands:
http://docs.basex.org/wiki/Commands
[ADD] New commands added: REPLACE, RENAME,
REPO DELETE/INSTALL/LIST, CREATE/DROP EVENT
[MOD] BACKUP optimized, renamed to CREATE BACKUP
VERSION 6.6.2 (May 13, 2011) LINUXTAG RELEASE --------------------------
API:
[ADD] JAX-RX API now supports basic user authentication:
http://docs.basex.org/wiki/JAX-RX_API
[ADD] The COPY creates identical database copies:
http://docs.basex.org/wiki/Commands#COPY
[ADD] The OPTIMIZE ALL command minimizes all database structures:
http://docs.basex.org/wiki/Commands#OPTIMIZE
XQuery:
[ADD] map expressions and functions added:
http://docs.basex.org/wiki/Map_Functions
[MOD] File module aligned with latest EXPath specification:
http://docs.basex.org/wiki/File_Functions
[MOD] Speedup of full-text queries with keyword lists.
Example: $x contains text { 'a', 'b', 'c', ...}
[MOD] XQuery Update optimizations for replacing nodes;
tree-aware updates.
[MOD] XQuery optimizations to avoid materialization of sequences.
GUI:
[ADD] Multiple editor tabs added
[ADD] Database management: copy databases
Core:
[ADD] Internal XML parser: HTML entities added
[FIX] Glob syntax: support for multiple file suffixes
VERSION 6.6.1 (March 30, 2011) XML PRAGUE RELEASE ----------------------
XQuery: