# Upgrading to v2.0 The following breaking changes were introduced in version 1.0: * Lag reporting is now optional, and controlled by `config.report_lag`. To re-enable it, you must set `config.report_lag` to true. We recommend you only set this to true on production or staging environments and not development or test. * Topics that have no keys now must use `key_config none: true` instead of `key_config plain: true`. * `KafkaPublishFailure` has been removed - any code that relies on it must likewise be removed, and the database table can also be dropped. You can also remove any reference to the `payloads_for_resend` method defined on your producers. * Its replacement is the new `db` [publish backend](../README.md#database-backend). Note that to use this option, you need to have [activerecord-import](https://github.com/zdennis/activerecord-import) in your Gemfile. * `KafkaSource` will now send messages inside a transaction rather than after a commit. Any code (e.g. RSpecs) that relies on the previous behavior must be modified. * `TestHelpers` no longer automatically stub producers and consumers, to aid in the integration testing scenario. Instead, you should add a `before(:each)` hook that calls `stub_producers_and_consumers!` Along with this, the `kafka_integration` metadata key that used to check for this behavior is no longer supported or needed, and can be removed from any tests that use it. This allows for more flexibility and explicitness in how to determine if tests are integration tests. * The `PlatformSchemaValidation` class has moved to the `Utils` module, so it is now `FlippRubyKafka::Utils::PlatformSchemaValidation`. Additional changes introduced in v2.0 (which uses Deimos under the hood): * Removed the `sync_produce` option as it's now redundant with the `publish_backend` option. `publish_backend` can be set to either `:kafka` or `:kafka_async` to reproduce this option. * Changed the name of `rake phobos:start` to `rake deimos:start`. * Configuration is now mostly handled by flipp-ruby-kafka, including defaults for the MS platform. See README for how configuration should look now.