I'd like to understand the expectations of library maintainers better. I am 
particularly thinking about the reference to setting major versions through 
import paths, like github.com/go-yaml/yaml/v2.

Is the expectation that library owners would need to change the structure 
of their project like this when making breaking changes, or is it that vgo 
will handle this for users behind the scenes?

Second, I'd like to understand the proposed workflow when one repo has many 
subpackages that should be independently versioned. For example, a repo 
might have a exp/ subdirectory for experimental libraries that are 
available for adventurous users. Git tags can only identify the version of 
the whole repo; how will library maintainers signal that different packages 
have different versions?

I think the exp/ case is important but not the only case worth thinking 
about. It's also important in repos that provide both an installable main 
package and library code, like github.com/golang/protobuf. They might want 
to use tags and releases for distributing their binary, and might want to 
make breaking changes to their command-line API without a breaking version 
bump for the libraries, or vice-versa.

On Tuesday, February 20, 2018 at 9:20:54 AM UTC-8, Russ Cox wrote:
>
> Hi everyone,
>
> I have a new blog post you might be interested in.
> https://research.swtch.com/vgo.
>
> I'll try to watch this thread to answer any questions.
>
> Best,
> Russ
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to