CHANGELOG
What's New in version 9.4.6:
- Performance tweaks, minor bug fixes
What's New in version 9.4.5:
- Minor bug fixes.
What's New in version 9.4.3:
- New compile-time optimizations and performance tweaks
What's New in version 9.3.3:
- Minor bug fixes, performance tweaks, new query optimizations
What's New in version 9.3.2:
- Minor bug fixes, numerous performance tweaks
What's New in version 9.3.1:
- Minor bug fixes and performance tweaks
What's New in version 9.3:
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
What's New in version 9.2.4:
- Minor bug fixes
- Preview implementations of new 9.3 features
What's New in version 9.2.3:
- Numerous query optimization tweaks (paths, simple maps, try/catch)
- Minor bug fixes
What's New in version 9.2.1:
- 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
What's New in version 9.2:
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 feautres:
- Stemmer for Arabic texts added
User interfaces:
- GUI: better support for latest JDK versions (incl. OpenJDK)
- DBA: revised search features in log panel
What's New in version 9.1.1:
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
What's New in version 9.0.2:
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
What's New in version 9.0.1:
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!
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
What's New in version 9.0:
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
What's New in version 8.0.2:
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
What's New in version 8.0.1:
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
What's New in version 7.9:
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
What's New in version 7.8.1:
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
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