25 lines
1.6 KiB
Markdown
25 lines
1.6 KiB
Markdown
# Upgrade instructions from v0.4.X
|
|
|
|
In v1.0.0 we introduced a couple of breaking changes, to keep a stable API until version v2.
|
|
|
|
## Migrating Pub/Subs
|
|
|
|
All Pub/Subs (excluding go-channel implementation) were moved to separated repositories.
|
|
You can replace all import paths, with provided `sed`:
|
|
|
|
find . -type f -iname '*.go' -exec sed -i -E "s/github\.com\/ThreeDotsLabs\/watermill\/message\/infrastructure\/(amqp|googlecloud|http|io|kafka|nats|sql)/github.com\/ThreeDotsLabs\/watermill-\1\/pkg\/\1/" "{}" +;
|
|
find . -type f -iname '*.go' -exec sed -i -E "s/github\.com\/ThreeDotsLabs\/watermill\/message\/infrastructure\/gochannel/github\.com\/ThreeDotsLabs\/watermill\/pubsub\/gochannel/" "{}" +;
|
|
|
|
# Breaking changes
|
|
- `message.PubSub` interface was removed
|
|
- `message.NewPubSub` constructor was removed
|
|
- `message.NoPublishHandlerFunc` is now passed to `message.Router.AddNoPublisherHandler`, instead of `message.HandlerFunc`.
|
|
- `message.Router.Run` now requires `context.Context` in parameter
|
|
- `PrometheusMetricsBuilder.DecoratePubSub` was removed (because of `message.PubSub` interface removal)
|
|
- `cars.ObjectName` was renamed to `cqrs.FullyQualifiedStructName`
|
|
- `github.com/ThreeDotsLabs/watermill/message/infrastructure/gochannel` was moved to `github.com/ThreeDotsLabs/watermill/pubsub/gochannel`
|
|
- `middleware.Retry` configuration parameters have been renamed
|
|
- Universal Pub/Sub tests have been moved from `github.com/ThreeDotsLabs/watermill/message/infrastructure` to `github.com/ThreeDotsLabs/watermill/pubsub/tests`
|
|
- All universal tests require now `TestContext`.
|
|
- Removed `context` from `googlecloud.NewPublisher`
|