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

Current Version: 0.3.3

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