Usage of Suricata as a Library

With the Suricata version 7.0.4 we see that there is an option to build Suricata as a .SO (shared object).
We wanted to get your help understand how this is being used. Suricata as a library. Is there a guidance on how to use Suricata as a library/.SO.

Building Suricata as a SO in 6.0.4 seems not possible. Is our understanding correct on this.

6.0.4 is not usable as a shared library, 7.0 is.

Note that the developer experience of 7.0 as a library is a little raw. 8.0 will include the ability to essentially embed Suricata in your own application where your own application can provide the packets to be analyzed.

The master branch of Suricata already has an example, but work continues in this area.