We're happy to announce the release of Akka Projections 1.1.0.
Changes since 1.0.0
This release includes some changes on for the JDBC and Slick schema for PostgresSQL and H2 databases. The previous version was generating the schema using quoted and uppercased table and column names.
Although, it doesn't make any difference on how projections work, it is inconvennient to create schemas as such because it force queries to always use quoted and uppercased statements, eg: select * from "AKKA_PROJECTION_OFFSET_STORE"
.
The PostgresSQL schema defaults now to unquoted lowercase, which allows queries as in select * from akka_projection_offset_store
.
H2 requires the usage of quotes, but are now using lowercase, allowing queries as in select * from "akka_projection_offset_store"
.
There is a backward compatibility mode in case you prefer to stay on the old schema. See migration section below.
In addtition to that, and in the same spirit of improving the develop expericence, JdbcProjection
and SlickProjection
now include a dropOffsetTableIfExists
to drop the database. Useful for testing purposes.
Migration
As of version 1.1.0, the schema for PostgreSQL and H2 databases has changed. It now defaults to lowercase table and column names.
If you have a schema in production, we recommend applying an ALTER table script to change it accordingly.
Alternatively, if you prefer to keep using uppercase quoted names you can fallback to the legacy format.
Users of akka-projection-jdbc
can revert to legacy format with the following configuration settings:
akka.projection.jdbc.offset-store {
table = "AKKA_PROJECTION_OFFSET_STORE"
use-lowercase-schema = false
}
Users of akka-projection-slick
can revert to legacy format with the following configuration settings:
akka.projection.slick.offset-store {
table = "AKKA_PROJECTION_OFFSET_STORE"
use-lowercase-schema = false
}
The full documentation can be found at https://doc.akka.io/docs/akka-projection/current/.
API stability
We consider the API stable even though we’re still not making any bincompat promise and you should consider all the public API as ApiMayChange. It might be changed based on feedback from initial usage.
Changes
- Table and column names in lowercase #499 by @octonato
- fix strange config syntax for jdbc and slick #502 by @patriknw
- Update headers #500 by @octonato
- Include 'if not exists' when creating index #490 by @octonato
Updates
- mysql-connector-java 8.0.22 (was 8.0.21) #473 by @scala-steward
- jackson-databind 2.10.5.1 (was 2.10.5) #495 by @scala-steward
- Alpakka Kafka 2.0.6 #498 by @seglo
- sbt 1.4.6 (was 1.4.5) #506 by @scala-steward
- paradox-theme-akka, ... 0.36 (was 0.35) #496 by @scala-steward
- hibernate-core 5.4.26.Final (was 5.4.23.Final) #497 by @scala-steward
- sbt 1.4.5 (was 1.4.0) #485 by @scala-steward
- Bump alpakka-kafka to fix cp-kafka image changes #492 by @seglo
- sbt-site 1.4.1 (was 1.4.0) #482 by @scala-steward
- sbt-bintray 0.6.1 (was 0.5.6) #483 by @scala-steward
- hibernate-core 5.4.23.Final (was 5.4.21.Final) #484 by @scala-steward
- sbt-mima-plugin 0.8.1 (was 0.8.0) #481 by @scala-steward
- junit 4.13.1 (was 4.13) #472 by @scala-steward
- postgresql 42.2.18 (was 42.2.16) #475 by @scala-steward
- sbt 1.4.0 (was 1.3.13) #476 by @scala-steward
- Akka 2.6.10, and use akka.stream.RestartSettings, #466 #467 by @patriknw
- Update akka-persistence-cassandra to 1.0.3 #451 by @scala-steward
- Alpakka Cassandra 2.0.2 #456 by @scala-steward
- Alpakka 2.0.2 (Netty override) #457 by @ennru
Documentation
- Add warning about schema change #507 by @octonato
- warn about too many tags for Cassandra #469 by @patriknw
- clarify that Slick module is community-driven #464 by @patriknw
- clarify tagging and hide EventGeneratorApp, #449 #463 by @patriknw
- links to platform guide #487 by @patriknw
- update use case images #468 by @patriknw
- Change readiness level to Supported #453 by @ennru
- Akka Projections plural #452 by @patriknw
Build
- Enable header check for it tests #503 by @octonato
- Adds release drafter #478 by @ignasi35
- Assert Option where assertion not retried #461 by @seglo
- Wait for onError stream event #460 by @seglo
- MiMa configuration #450 by @octonato
- added scala steward config #446 by @octonato
- improve test resume in KafkaToSlickIntegrationSpec #442 by @patriknw
Contributing
Feedback, bug reports and feature requests are welcome as issues in akka-projection/issues.
Credits
For this release we had the help of 5 committers – thank you all very much!
commits added removed
9 184 111 Patrik Nordwall
7 676 381 Renato Cavalcanti
4 139 73 Sean Glover
2 37 7 Enno
1 27 0 Ignasi Marimon-Clos
The Akka core team is employed by Lightbend. If you're looking to take your Akka systems to the next level, let's set up a time to discuss our enterprise-grade expert support, self-paced education courses, and technology enhancements that help you manage, monitor and secure your Akka systems - from development to production.
Happy hakking!
– The Akka Team