Hi there! I have code that uses the `transport.StreamFromContext` method. It's used the function since mid-2015. I haven't been following gRPC development lately, but found this after my build broke.

Today, there's a warning in the docs for the transport package that it's for internal use only; it was added [five months ago](https://github.com/grpc/grpc-go/commit/8ff8683602df4fb6a85c22f2da944bfc8fc73c50#diff-fa3fe0c81c67082780f26a237879b514), first appearing in the v1.8.0 release.

The [versioning document](https://github.com/grpc/grpc-go/blob/master/Documentation/versioning.md) has a carve-out for "An API was marked as EXPERIMENTAL upon its introduction", but doesn't mention packages meant for (or transitioning to) "grpc-internal usage".

Neither change shows up in the release notes as an API breakage.

It's good that gRPC development is progressing quickly. There's maybe even an easy fix for this change in individual applications. But synchronizing applications' updates to my library with updates to gRPC will be significantly more difficult.

What's the right way to write libraries that build on top of gRPC?
