In v1.0.0 we introduced a couple of breaking changes, to keep a stable API until version v2.
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/" "{}" +;
message.PubSub
interface was removedmessage.NewPubSub
constructor was removedmessage.NoPublishHandlerFunc
is now passed tomessage.Router.AddNoPublisherHandler
, instead ofmessage.HandlerFunc
.message.Router.Run
now requirescontext.Context
in parameterPrometheusMetricsBuilder.DecoratePubSub
was removed (because ofmessage.PubSub
interface removal)cars.ObjectName
was renamed tocqrs.FullyQualifiedStructName
github.com/ThreeDotsLabs/watermill/message/infrastructure/gochannel
was moved togithub.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
togithub.com/ThreeDotsLabs/watermill/pubsub/tests
- All universal tests require now
TestContext
. - Removed
context
fromgooglecloud.NewPublisher