You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TL;DR; if my go module/project imports https://github.com/aws/session-manager-plugin and I update all my go deps with go get -u ./..., the library github.com/twinj/uuid (indirect dependency of my project via github.com/aws/session-manager-plugin) will upgrade from v0.0.0-20151029044442-89173bcdda19 (the version used by the ssm plugin lib) to v1.0.0 which introduces breaking changes (the aws ssm plugin library can't build with that version).
Example:
Bumping the version of the uuid library for my project/module (same effect as just running go get -u ./...)
14:36 $ go get -u github.com/twinj/uuid
go: upgraded github.com/twinj/uuid v0.0.0-20151029044442-89173bcdda19 => v1.0.0
Building the binary for my project/module
14:36 $ go build -o my_binary
# github.com/aws/session-manager-plugin/src/message
../../../../pkg/mod/github.com/aws/session-manager-plugin@v0.0.0-20230315220744-7b544e9f381d/src/message/messageparser.go:170:10: cannot use nil as uuid.UUID value in return statement
../../../../pkg/mod/github.com/aws/session-manager-plugin@v0.0.0-20230315220744-7b544e9f381d/src/message/messageparser.go:176:10: cannot use nil as uuid.UUID value in return statement
../../../../pkg/mod/github.com/aws/session-manager-plugin@v0.0.0-20230315220744-7b544e9f381d/src/message/messageparser.go:182:10: cannot use nil as uuid.UUID value in return statement
../../../../pkg/mod/github.com/aws/session-manager-plugin@v0.0.0-20230315220744-7b544e9f381d/src/message/messageparser.go:188:10: cannot use nil as uuid.UUID value in return statement
../../../../pkg/mod/github.com/aws/session-manager-plugin@v0.0.0-20230315220744-7b544e9f381d/src/message/messageparser.go:194:10: cannot use nil as uuid.UUID value in return statement
../../../../pkg/mod/github.com/aws/session-manager-plugin@v0.0.0-20230315220744-7b544e9f381d/src/message/messageparser.go:417:14: invalid operation: input == nil (mismatched types uuid.UUID and untyped nil)
../../../../pkg/mod/github.com/aws/session-manager-plugin@v0.0.0-20230315220744-7b544e9f381d/src/message/messageparser.go:497:25: undefined: uuid.CleanHyphen
The Problem:
This library imports and vendors an old version of github.com/twinj/uuid.
The AWS session manager plugin library is importing and vendoring version v0.0.0-20151029044442-89173bcdda19 of github.com/twinj/uuid.
Running a go get -u ./... on a go project that imports the aws session manager plugin (this repo) and its libraries will break the build of that project.
This is because the UUID library introduced a breaking change and the aws ssm plugin library does not use go modules.
TL;DR; if my go module/project imports https://github.com/aws/session-manager-plugin and I update all my go deps with
go get -u ./...
, the librarygithub.com/twinj/uuid
(indirect dependency of my project viagithub.com/aws/session-manager-plugin
) will upgrade fromv0.0.0-20151029044442-89173bcdda19
(the version used by the ssm plugin lib) tov1.0.0
which introduces breaking changes (the aws ssm plugin library can't build with that version).Example:
Bumping the version of the uuid library for my project/module (same effect as just running
go get -u ./...
)Building the binary for my project/module
The Problem:
This library imports and vendors an old version of github.com/twinj/uuid.
The AWS session manager plugin library is importing and vendoring version
v0.0.0-20151029044442-89173bcdda19
ofgithub.com/twinj/uuid
.Running a
go get -u ./...
on a go project that imports the aws session manager plugin (this repo) and its libraries will break the build of that project.This is because the UUID library introduced a breaking change and the aws ssm plugin library does not use go modules.
This uuid lib is also deprecated... consider using google's uuid library instead https://github.com/google/uuid.
The Fix:
OR
OR
The text was updated successfully, but these errors were encountered: