By now all modules have been worked with to follow a similar structure so that both the user experience and the contributor experience are transferable across the many modules in Alpakka. The recommended structure for connectors is illustrated by the Reference connector.
Having that said, a few parts make use of the
@ApiMayChange annotation to keep the door open for API changes, so that they can evolve more rapidly than other modules within Alpakka.
If you have kept to older versions of Alpakka to avoid multiple upgrades, now is the time to migrate to what it offers with 1.0.
Most artifacts of Alpakka are available for Scala 2.11, 2.12 and 2.13.0-M5.
A major goal before turning to 1.0 was to improve chances all Alpakka modules can evolve without breaking users’ code. There are two sides to that: One is binary-compatibility which effectively means you can replace just the jar with a later version’s jar in your installation and everything will work. This becomes extremely important as soon as you use other libraries that rely on the same jar. They will continue to work without recompilation. The other is source-compatibility which, when upgrading to a later minor version, would not require any code changes. Akka and Alpakka strive for binary-compatibility and source-compatibility, but we do not guarantee source-compatibility.
All modules of Alpakka can be used independently, you may mix Alpakka versions for different libraries. With Akka though, it is important though to be strictly using one version (never blend eg.
akka-actor 2.5.21 and
akka-stream 2.5.12), and do not use an Akka version lower than the one the Alpakka dependency requires (sometimes Alpakka modules depend on features of the latest Akka release).
- Official support is now available via Lightbend Platform Subscription for the first modules: Couchbase and CSV (Alpakka Kafka has been supported for a while)
- MQTT Streaming has been further stabilized
- AWS SQS has been marked “API may change” as there are some improvements coming up (see #1604)
|Author||Commits||Lines added||Lines removed|
- Apache Kudu
- Apache Solr
- Dynamo DB
- AWS Kinesis
- AWS Lambda
- AWS S3
- AWS SNS
- AWS SQS
- Azure Storage Queue
- Comma-separated Values (CSV)
- Google Cloud Pub/Sub
- Google Cloud Pub/Sub gRPC
- Google FCM
- Apache HDFS
- Json streaming
- MQTT Streaming
- Server-sent events (SSE)
- Simple codecs (RecordIO)
- Spring Web
- Unix Domain Socket