See code changes and v4.0 upgrade guide for any breaking changes.
clientv3.Client.KeepAlive(ctx context.Context, id LeaseID) (<-chan *LeaseKeepAliveResponse, error) is now clientv4.Client.KeepAlive(ctx context.Context, id LeaseID) <-chan *LeaseKeepAliveResponse.
Watch, KeepAlive does not return errors.KeepAlive call.