Hi all, A quick follow-up on these changes. Based on feedback we have received, we will *no longer be changing protoc artifact names. *Maven renames will stay the same.
The news page has been updated accordingly: https://developers.google.com/protocol-buffers/docs/news/2022-08-03. Please reach out with any questions/concerns! On Wednesday, August 3, 2022 at 3:20:28 PM UTC-7 Matthew Fowles Kulukundis wrote: > All~ > > The protobuf team is planning a variety of changes to our supported > platforms as we bring the project forward into a more sustainable cadence. > The following applies to our not yet released 22.x line. Also, these are > just plans right now, so they are subject to change. > > https://developers.google.com/protocol-buffers/docs/news/2022-08-03 > > Cheers, > Matt > > > Platform Support Changes > > We've added guidance about the platforms that we support in this section > <https://developers.google.com/protocol-buffers/docs/proto#platforms> of > the documentation. The section currently covers C++ and PHP, but may be > expanded with information about other platforms in the future. > C++ Changes > > Following the announcement of our new major version and breaking changes > policy > <https://developers.google.com/protocol-buffers/docs/news/2022-07-06>, we > are planning a major version bump for C++. We plan to make some changes to > the assets that we release starting with our 22.x release line. > > The following sections outline the set of breaking changes that we plan to > include in the 22.0 release of protocol buffers. Note that plans can and do > change. These are potential breaking changes to be aware of, but they may > not happen in this particular release, or they may not happen at all. > Adding C++20 Support > > Because of the addition of new keywords to the C++ language, adding > support for C++20 is a breaking change for users even if they do not > currently use C++20. > > Mitigations for this to conditionally change names only in certain > compiler modes would break projects that support multiple language > standards. > Dropping C++11 Support > > Per our C++ support policy > <https://opensource.google/documentation/policies/cplusplus-support#4_c_language_standard>, > > we plan to drop C++11 support. This is a breaking change. > Dropping Autotools Support > > Per our build systems support policy > <https://opensource.google/documentation/policies/cplusplus-support#3_build_systems>, > > we plan to drop autotools support. This is a breaking change. After > autotools support is dropped, protobuf will support only CMake and Bazel. > Dropping Support for PHP <7.4 > > Per our PHP support policy > <https://cloud.google.com/php/getting-started/supported-php-versions>, we > plan to drop support for EOL versions of PHP. This is not considered a > breaking change since these versions are already EOL in the broader > ecosystem. > Adding an Abseil Dependency > > In order to reduce the Google vs. OSS differences between protobuf and to > simplify our own project, we plan to take a formal dependency on Abseil. In > time, we plan to start using Abseil types in our public APIs, but simply > adding the dependency is a breaking change. > Dropping Language-Specific Source Distributions > > To reduce dependence on autotools and minimize the number of artifacts we > release, we plan to stop publishing language-specific source distributions > on our GitHub release page > <https://github.com/protocolbuffers/protobuf/releases>. Instead, we > advise users to download the source code distribution > <https://github.com/protocolbuffers/protobuf/releases> automatically > generated by GitHub on the release page. > Changing Release Artifact Names to Be More Idiomatic > > Currently, some assets that we release have names that don’t conform to > their respective language or package idioms. In 22.0 we plan to perform the > following name changes to be more conformant to language and package > standards: > > - Rename Maven artifacts to use “RC” instead of “rc-” as the release > candidate prefix. > - Rename protoc artifacts to: > - Use “darwin” instead of “osx” to specify the darwin operating > system. > - Make the following substitutions to specify machine architectures: > - aarch_64 -> arm64 > - ppcle_64 -> ppc64le > - x86_32 -> i686 > > Releasing Only Ruby Source Gems > > We currently release multiple Ruby gems that are compiled for different > architectures. Starting in 22.0, we plan to release only a single ruby > source gem that contains source code and will be compiled on the host > system. > > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/protobuf/0bf31896-6ef9-4e49-9d1e-578b8475949fn%40googlegroups.com.
