Skip to content

Commit

Permalink
chore(docs): update README.md to add java support policy (#1152)
Browse files Browse the repository at this point in the history
  • Loading branch information
lesv authored Jul 13, 2021
1 parent 1620b2c commit 959d4f8
Showing 1 changed file with 47 additions and 1 deletion.
48 changes: 47 additions & 1 deletion synthtool/gcp/templates/java_library/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,50 @@ To get help, follow the instructions in the [shared Troubleshooting document][tr
{% endif %}
{% endif -%}

## Java Versions
## Supported Java Versions

Java {{ metadata['min_java_version'] }} or above is required for using this client.

Google's Java client libraries,
[Google Cloud Client Libraries][cloudlibs]
and
[Google Cloud API Libraries][apilibs],
follow the
[Oracle Java SE support roadmap][oracle]
(see the Oracle Java SE Product Releases section).

### For new development

In general, new feature development occurs with support for the lowest Java
LTS version covered by Oracle's Premier Support (which typically lasts 5 years
from initial General Availability). If the minimum required JVM for a given
library is changed, it is accompanied by a [semver][semver] major release.

Java 11 and (in September 2021) Java 17 are the best choices for new
development.

### Keeping production systems current

Google tests its client libraries with all current LTS versions covered by
Oracle's Extended Support (which typically lasts 8 years from initial
General Availability).

#### Legacy support

Google's client libraries support legacy versions of Java runtimes with long
term stable libraries that don't receive feature updates on a best efforts basis
as it may not be possible to backport all patches.

Google provides updates on a best efforts basis to apps that continue to use
Java 7, though apps might need to upgrade to current versions of the library
that supports their JVM.

#### Where to find specific information

The latest versions and the supported Java versions are identified on
the individual GitHub repository `github.com/GoogleAPIs/java-SERVICENAME`
and on [google-cloud-java][g-c-j].

## Versioning

{% if 'partials' in metadata and metadata['partials']['versioning'] -%}
Expand Down Expand Up @@ -192,3 +232,9 @@ Java is a registered trademark of Oracle and/or its affiliates.
{% if metadata['repo']['api_id'] %}[enable-api]: https://console.cloud.google.com/flows/enableapi?apiid={{ metadata['repo']['api_id'] }}{% endif %}
[libraries-bom]: https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM
[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png

[semver]: https://semver.org/
[cloudlibs]: https://cloud.google.com/apis/docs/client-libraries-explained
[apilibs]: https://cloud.google.com/apis/docs/client-libraries-explained#google_api_client_libraries
[oracle]: https://www.oracle.com/java/technologies/java-se-support-roadmap.html
[g-c-j]: http://github.com/googleapis/google-cloud-java

0 comments on commit 959d4f8

Please sign in to comment.