Tuesday, August 21, 2018

The future of prooph components

There is much development going on in the prooph team at the moment. The new event-store-client is more stable every day and development of event-store v8 is beginning soon (a lot of planning and experimenting is done already).

So naturally it was time to check if other components could need some new major version as well. There was a bit of a discussion on changes to prooph/common (#70, #71#72) and a new prototype for snapshotter and event-sourcing component was created as well.

This was the point, where I stopped and started rethinking it completely. After I could put my thoughts together I spoke with Alexander Miertsch (the other prooph maintainer). As usual, even though we are two different people, we share the same mind and could agree pretty fast on how to proceed further.

So here's the deal...

Prooph hereby announces that the development of prooph/service-bus and prooph/event-sourcing will be dropped. This also includes all snapshot-store implementations as well as message producers.

Here is the full list of the components:

- https://github.com/prooph/service-bus
- https://github.com/prooph/event-sourcing
- https://github.com/prooph/common
- https://github.com/prooph/event-store-bus-bridge
- https://github.com/prooph/snapshotter
- https://github.com/prooph/http-middleware
- https://github.com/prooph/psb-bernard-producer
- https://github.com/prooph/pdo-snapshot-store
- https://github.com/prooph/memcached-snapshot-store
- https://github.com/prooph/mongodb-snapshot-store
- https://github.com/prooph/humus-amqp-producer
- https://github.com/prooph/annotations
- https://github.com/prooph/psb-http-producer
- https://github.com/prooph/psb-enqueue-producer
- https://github.com/prooph/snapshot-store
- https://github.com/prooph/arangodb-snapshot-store
- https://github.com/prooph/psb-zeromq-producer
- https://github.com/prooph/service-bus-zfc-rbac-bridge

All components will receive support until December 31, 2019 and will then be marked as deprecated and receive no further support from the prooph core team.

Let me explain why we decided this:

In fact, we recommend not using any framework or library as part of your domain model, and building the few lines of code needed to implement a left fold yourself - partly to ensure understanding and partly to keep your domain model dependency-free. The event-sourcing component was always meant to be a blueprint for a homegrown implementation but most people installed and used it as is, thus the prooph core team was complicit in advertising bad practices.

Don't worry, we will also ship some blueprints as inspiration on how to implement an aggregate root and aggregate repository, but this time, it's part of the documentation and not a repository that you could install again. You can still copy / paste from it and make it run, it's your choice.

When it was originally developed, there was no good alternative out there. In the meantime symfony shipped its own messenger component (I looked into it, it looks really great!) and sooner or later, it will probably have more downloads then our famous service-bus implementation.

This also means we now have a clear focus on developing prooph/event-store and provide even better documentation for it. The next goals are first to stabilize the new event-store-client and write documentation and more tests for it, and then start with the development of prooph/event-store v8.


  1. Great to hear it. Can't wait to test new features and ways to make es. Hope it will be documented even better.

  2. Great to read 1) your shared PoV (best being no framework) on the Event Sourcing piece and 2) that you will focus on the event-store, it's a much needed piece 👏

  3. Hi Sascha, thank you very much for sharing your precious thoughts. I still don't look inside the Symfony messenger component, but i will do soon. Do you suggest to use messenger package or Enqueue package?

    1. I have no real favorite, pick whatever suits your use case best.

  4. sasaprolic, you really made me think in ES ways now. I spent a wonderful summer in 2018, learning and exploring all bits of prooph code. There are great things coming out of your code.

  5. This post is easy to peruse and acknowledge without forgetting about any subtleties. Extraordinary work!pmp certification in malaysia

  6. I think this is the minimum value to earn more than just commitwhat is hrdf

  7. Especially superb!!! Exactly when I search for this I found this webpage at the top of every single online diary in web crawler.

  8. I think I have never watched such online diaries ever that has absolute things with all nuances which I need. So thoughtfully update this ever for us.
    supply chain analytics using r

  9. I'm trusting you continue composing this way. I love the amazing way cautious and top to bottom you go on this theme. Keep up the extraordinary work
    hrdf scheme

  10. You totally coordinate our desire and the assortment of our data.
    HRDF Claimable

  11. Thanks for Sharing This Article.It is very so much valuable content. I hope these Commenting lists will help to my website
    best machine learning course in aurangabad

  12. I have been surfing online for more than three hours today, yet I never found any interesting article like yours. It’s pretty worth enough for me. Personally, if all webmasters and bloggers made good content as you did, the web will be much more useful than ever before.