A simple Event-store based on PostgreSQL.

This is work in progress and neither the Documentation, nor the code is in a “released” state. Please keep that in mind when poking around.

Source Code is available as github repository.

Actions Status codecov CodeFactor MavenCentral Docker Image Version (latest semver) Dependabot Status

see changelog

Important Releases




  • high-level API called Factus that should make application code MUCH easier when using FactCast
  • plenty of new modules:
    • factcast-test
    • factcast-factus
    • factcast-factus-event
    • factcast-factus-bin-snapser
    • factcast-itests-factus
    • factcast-snapshotcache-redisson
  • locking now based on arbitrary FactSpecs rather than only aggIds

Fix / Maint

  • fix important bug screwing with the Fact order in catchup phase if you have >1000 Facts to catch up to (thx, @dibimer)
  • the usual dependency upgrades
  • added switch to allow updates of SchemaRegistry (not a good idea in production, but handy on other stages)

see changelog


  • important fix for detecting disappearing clients
  • self defense agains spinngin clients by refusing excessive reoccuring subscription requests
  • added PID to subscription requests (compatible change)

see changelog



see changelog



see changelog


0.2.0 (milestone)

major features


  • Factcast-core does not include shaded jackson anymore
  • dropped Spring Boot1 support
  • dropped InMem impl of FactCast
  • FactCast Server includes lz4 by default

Past Releases

2019-06-24 0.1.0 (release)

  • Optimistic locking
  • GRPC dynamic compression
  • BASIC_AUTH based secret exchange
  • Spring Security (Reader role)

2018-12-08 0.0.34 (milestone)

  • Automatic retries via (Read)FactCast::retry (thx @henningwendt)

2018-11-21 0.0.32 (milestone)

  • new example projects for TLS usage

2018-11-18 0.0.31 (milestone)

  • Introduces / switches to: JUnit5, Spring Boot 2, Testcontainers
  • new example projects
  • Not a drop-in replacement: See Migration Guide

2018-10-21 0.0.20 (milestone)

  • added CLI

2018-10-16 0.0.17 (minor bugfix release)

  • added some constraints on facts

2018-10-16 0.0.15 (emergency release)

  • fixed a potential NPE when using RDS

2018-10-09 0.0.14 (milestone)

  • GRPC API has changed to enable non-breaking changes later.

2018-10-03 0.0.12 (milestone)

  • Note that the jersey impl of the REST interface has its own place on github now. and got new coordinates: org.factcast:factcast-server-rest-jersey:0.0.12. If you use the REST Server, you'll need to change your dependencies accordingly
  • There is a BOM within factcast at org.factcast:factcast-bom:0.0.12 you can use to conveniently pin versions - remember that factcast-server-rest-jersey might not be available for every milestone and is not part of the BOM
This project is sponsored by PRISMA European Capacity Platform GmbH