#Version 1.1.0 (March 2026)
Major update focused on standards compliance, streaming, and API completeness.
#XSLT Engine
-
Streaming execution: XmlReader-based forward-only processing for
xsl:source-document streamable="yes"andxsl:mode streamable="yes" -
Stream API:
TransformAsync(TextReader),TransformAsync(Stream),TransformAsync(TextWriter),TransformAsync(Stream, Stream),ResultDocumentHandler -
Serialization:
indent="yes"(XML, HTML, XHTML), DOCTYPE generation,suppress-indentation,byte-order-mark,escape-uri-attributes -
xsl:record: Proper XDM map construction
-
xsl:expose: Full package visibility control (conformance tests enabled)
-
Error handling: Proper XTSE0020 for invalid
on-no-match/on-multiple-matchvalues -
System properties:
supports-streaming=yes,supports-namespace-axis=yes,xpath-version=4.0
#XQuery Engine
-
Direct element constructors:
<element>text {expr}</element>with ANTLR lexer modes -
XQuery Update Facility: Full execution (insert, delete, replace, rename, transform copy-modify-return)
-
Annotations:
%public,%private,%updatingon function/variable declarations -
String constructors:
[Hello{$name}!]backtick interpolation -
Module imports: Parsed with XQST0059 error when resolver not configured
-
UCA collations: Unicode Collation Algorithm with lang/strength/fallback parameters
-
External variables:
SetExternalVariable()API with XPDY0002 for unbound -
JSON serialization: Maps/arrays serialize as JSON,
declare option output:method "json"support -
Node constructors: All constructor types (element, attribute, text, comment, PI, document) fully operational
#CLI Tools
-
xslt CLI:
--streamflag for large file processing, version 1.1.0 -
xquery CLI:
--output jsonflag, auto-detect serialization options, version 1.1.0 -
CLI tools moved into engine repos (same CI, same release)
#Quality
-
843 XQuery tests (including 30 integration tests through XQueryFacade)
-
300 XSLT tests (including 36 integration tests through XsltTransformer)
-
Zero TODOs in source
-
Zero silent exception swallowing
-
All README claims verified by tests
#Version 1.0.0
Release Date: 2025
The initial release of PhoenixmlDb, a modern embedded XML/JSON document database for .NET.
#Features
#Core Database
-
Embedded database with LMDB storage
-
ACID transactions with MVCC
-
Multiple containers per database
-
XML and JSON document storage
-
Document metadata support
#Query Engine
-
Full XQuery 3.1 implementation
-
XQuery 4.0 features (partial)
-
XPath 3.1 support
-
XSLT 3.0/4.0 transformations
-
Query optimization
-
Prepared queries
#Indexing
-
Path indexes for element/attribute lookup
-
Value indexes for range queries
-
Full-text indexes with stemming
-
Structural indexes for navigation
-
Metadata indexes
#Server Mode
-
gRPC-based server
-
TLS support
-
Authentication (basic, API keys)
-
Role-based access control
-
Health monitoring
#Cluster Mode
-
Raft consensus for leader election
-
Automatic failover
-
Sharding with consistent hashing
-
Replication for fault tolerance
-
Distributed transactions (2PC)
#System Requirements
-
.NET 10.0 or later
-
Windows 10+, Linux (Ubuntu 20.04+, RHEL 8+), macOS 12+
#Known Limitations
-
XQuery full-text extension not yet implemented
-
Schema validation is basic (planned for 1.1)
-
XSLT streaming limited to certain patterns
-
Maximum database size limited by LMDB (depends on platform)
#Upgrade Notes
This is the initial release. No upgrade path needed.
#Roadmap
#Version 1.2 (Planned)
-
Full XML Schema validation
-
XQuery Full-Text extension
-
Improved query optimizer
-
GraphQL API
-
More XSLT 4.0 features
#Version 1.3 (Planned)
-
Change data capture (CDC)
-
Event sourcing support
-
Improved cluster rebalancing
-
Admin UI
#Future
-
Geographic replication
-
Column-oriented storage for analytics
-
Machine learning integration
-
Cloud-native deployment options
#Deprecation Policy
-
Major versions supported for 3 years
-
Minor versions supported for 1 year
-
Security patches for supported versions
-
Migration guides provided for breaking changes
#Contributing
We welcome contributions! See our Contributing Guide for details.
#License
PhoenixmlDb is licensed under the Apache 2.0 License.
#Acknowledgments
PhoenixmlDb builds on these excellent projects:
-
LMDB - Lightning Memory-Mapped Database
-
LightningDB - .NET bindings for LMDB
-
ANTLR4 - Parser generator
Special thanks to the W3C for the XQuery, XPath, XSLT, and XDM specifications.