Skip to content

Monday, 06 January, 2020

Development Diary #3

Jeremy Taylor

2019 was a pivotal year for XTDB that surpassed our reasonable expectations, leaving us with an abundance of reasons to be excited for the roadmap and year ahead.

Whether you are a client, a partner, or just someone with a passion for simpler technology, we hope you find XTDB to be an empowering database option for your upcoming projects.

Releasing 1.6

Just before the holidays began we released 1.6 (specifically 19.12-1.6.1-alpha) which included a broad mix of changes. If you’re looking for the complete list, see the CHANGELOG, but these are the highlights:

  • A new Docker Hub image of an XTDB HTTP node built and deployed using the xtdb-docker module

  • Following a change to the sorting of tx-id we have bumped the node index version to 5 which means a re-index of all XTDB nodes using the source transaction and document logs from Kafka (or JDBC) is required. Therefore any index backups/snapshots will need archiving otherwise restored nodes will fail to start. If you need help or guidance please get in touch. See issue #441

  • We have removed the ability to specify time ranges when using the evict command. Instead the full timeline of document versions for a given entity will be evicted by default. When attempting to re-index previous evict commands that do include time ranges, the indexer will simply stop and give you the opportunity to consider migration of document versions that you wish to keep. We intend to expand the possibilities and improve the user experience for any future implementation of time ranges for eviction. If you relied on this functionality then please let us know so we can re-prioritise the new solution. See PR#438

  • The start and end valid-time semantics for put and delete have been made consistent and intuitive. This now means that specifying an end valid-time with these operations will slice the entire section of the timeline instead of only taking effect up until the last document version within that range. See issue #326

  • Support for Java collection types with submitTx has been added which should improve productivity when using XTDB from Java. See issue #372

Looking ahead

Upcoming priorities for the next release include:

  • Prometheus metrics

  • Transaction ingestion hooks that can be used for validation and subscription processing

  • A new await-tx API to augment and partially replace sync

  • Incremental changes to the evict operation behaviour

  • Ingestion performance improvements

Anyone who read our site:/blog/dev-diary-oct-19/[previous post] may be curious for news about the Beta programme and General Availability plans - I will be covering that in a subsequent post very shortly.

We also started running our development showcases publicly which gives you an opportunity to meet the team, see what we’ve been busy thinking about and discuss new features whilst we’re still building them. Recordings are available on our YouTube channel. Follow us on Twitter or join the 'Discuss XTDB' forum to stay notified about upcoming showcases.

Finally, thank you to everyone that has supported the project and expressed excitement about XTDB and bitemporality - your feedback is always invaluable! In particular, thank you to the wonderful contributors who have been sharing their experiences:

p.s. the banner photo of Jon speaking on the "Dealing with Data" panel was taken during Clojure/north, where XTDB was first unveiled last April (back when it was still known as "Crux"). Clojure/north is happening again this year 25-26th June, in Toronto. Incidentally, I hear there’s a once-in-a-lifetime conference happening in London on 10th July…

See you around!