Hi David, My feedback is that this inconsistency makes it hard to automate the testing and the upgrades. The hash makes it even harder. Instead of replacing a number in a template string one has to parse the HTML...
If the url of an EA could be without the hash then I don't see a problem the RC to use the same implementation. I remember the same discussion with adoptjdk urls in the past. IIRC SDK_MAN project reported the inconvenience and adoptjdk/temurin improved it. We also use Temurin for stable releases and it is easy now. I hope java.net improves the usability too. P.S. the CC-ed email (jdk-download-help...@oracle.com) seems to non-existing. It is listed as contact email address on the download pages at java.net Regards, Martin On Tue, Aug 23, 2022, 17:34 David Delabassee <david.delabas...@oracle.com> wrote: > Hi Martin, > > Unless I miss something, this pattern is not new. Those hash codes are > embedded in URL for all builds, except for EA builds, for some time. > > - 19b32 was an EA build so their URLs didn't embed a hash > - 19b36 is a RC1 build so their URLs embed a hash > - the current JDK 18 GA build on Linux/Arm64 URL has a hash too, > > https://download.java.net/java/GA/jdk18.0.2.1/db379da656dc47308e138f21b33976fa/1/GPL/openjdk-18.0.2.1_linux-aarch64_bin.tar.gz > > Or is it something else? > > Regards, > > --David > > On 23/08/2022 08:27, Martin Grigorov wrote: > > Hello David, > > > > Do you know why the download link for JDK 19 b36 has changed its > structure ? > > > > - JDK 19 b32: > > > https://urldefense.com/v3/__https://download.java.net/java/early_access/jdk19/32/GPL/openjdk-19-ea*32_linux-x64_bin.tar.gz__;Kw!!ACWV5N9M2RV99hQ!LeHwoNnQZEUYxVlbV-K6BZquBap9xhdoDAC7vtl3TfhY9zruMRpurVm_vOLau2z0_QB_1E5i841LizNUQnf6F-kb$ > > - JDK 19 b36: > > > https://urldefense.com/v3/__https://download.java.net/java/GA/jdk19/877d6127e982470ba2a7faa31cc93d04/36/GPL/openjdk-19_linux-x64_bin.tar.gz__;!!ACWV5N9M2RV99hQ!LeHwoNnQZEUYxVlbV-K6BZquBap9xhdoDAC7vtl3TfhY9zruMRpurVm_vOLau2z0_QB_1E5i841LizNUQjp9QTv9$ > > - JDK 20: > > > https://urldefense.com/v3/__https://download.java.net/java/early_access/jdk20/11/GPL/openjdk-20-ea*11_linux-x64_bin.tar.gz__;Kw!!ACWV5N9M2RV99hQ!LeHwoNnQZEUYxVlbV-K6BZquBap9xhdoDAC7vtl3TfhY9zruMRpurVm_vOLau2z0_QB_1E5i841LizNUQnQyUiO0$ > > > > The introduction of hash/SHA in the middle breaks bad our/any automation. > > Is there a chance this change to be reverted ? > > > > Regards, > > Martin > > > > On Mon, Aug 22, 2022 at 4:13 PM David Delabassee < > > david.delabas...@oracle.com> wrote: > > > >> Greetings! > >> > >> I hope you had a chance to take some time off. On our side, and despite > >> the summer vacation, everything is on track for the Java 19 GA release > >> on September 20th with JDK 19 now in the Release Candidate Phase [1]. If > >> you haven't done so yet, it is time to start testing your project(s) > >> using the JDK 20 Early-Access builds. Speaking of Early-Access builds, > >> there is now a new set of EA builds, i.e., the jextract EA builds. > >> jextract is a tool developed under the Project Panama umbrella whose > >> goal is to mechanically generates Java bindings from native library > >> headers. If you are using the Foreign Function & Memory API (Preview > >> Feature in JDK 19), make sure to check jextract too (see the jextract > >> section below). > >> > >> [1] https://mail.openjdk.org/pipermail/jdk-dev/2022-August/006861.html > >> > >> > >> ## Heads-up - New system properties for `System.out` and `System.err` in > >> JDK 19 > >> > >> Two new system properties, `stdout.encoding` and `stderr.encoding`, have > >> been introduced. The value of these system properties is the encoding > >> used by the standard output (`System.out`) and standard error > >> (`System.err`) streams. The default values of these system properties > >> depend on the platform. The values take on the value of the > >> `native.encoding` property when the platform does not provide streams > >> for the console. The properties can be overridden on the launcher's > >> command line option, with `-D`, to set them to UTF-8 where required. For > >> more details see https://bugs.openjdk.org/browse/JDK-8283620 > >> > >> > >> ## Heads-up - SSLSocketImpl finalizer implementation removed in JDK 19 > >> > >> The finalizer implementation in SSLSocket has been removed, with the > >> underlying native resource releases now done by the Socket > >> implementation. With this update, the TLS close_notify messages will no > >> longer be emitted if SSLSocket is not explicitly closed. Not closing > >> Sockets properly is an error condition that should be avoided. > >> Applications should always close sockets and not rely on garbage > >> collection. For more details see > >> https://bugs.openjdk.org/browse/JDK-8212136 > >> > >> > >> ## Heads-up - New providerPath jarsigner option in JDK 19 > >> > >> A new `-providerPath` option has been added to the jarsigner. This > >> option is used to specify the class path of an alternate keystore > >> implementation, it can be used together with the -providerClass option. > >> For more details see https://bugs.openjdk.org/browse/JDK-8281175 > >> > >> > >> ## JDK 19 Release Candidate builds > >> > >> JDK 19 first Release Candidates (builds 36) are now available [2], and > >> are provided under the GNU General Public License v2, with the Classpath > >> Exception. The Release Notes are available here [3]. > >> > >> [2] > https://urldefense.com/v3/__https://jdk.java.net/19/__;!!ACWV5N9M2RV99hQ!LeHwoNnQZEUYxVlbV-K6BZquBap9xhdoDAC7vtl3TfhY9zruMRpurVm_vOLau2z0_QB_1E5i841LizNUQhd1pHOT$ > >> [3] > https://urldefense.com/v3/__https://jdk.java.net/19/release-notes__;!!ACWV5N9M2RV99hQ!LeHwoNnQZEUYxVlbV-K6BZquBap9xhdoDAC7vtl3TfhY9zruMRpurVm_vOLau2z0_QB_1E5i841LizNUQgaJCR7D$ > >> > >> > >> ## JDK 20 Early-Access builds > >> > >> JDK 20 Early-Access builds 11 are now available [4], and are provided > >> under the GNU General Public License v2, with the Classpath Exception. > >> The Release Notes are available here [5]. > >> > >> [4] > https://urldefense.com/v3/__https://jdk.java.net/20/__;!!ACWV5N9M2RV99hQ!LeHwoNnQZEUYxVlbV-K6BZquBap9xhdoDAC7vtl3TfhY9zruMRpurVm_vOLau2z0_QB_1E5i841LizNUQqtgooGv$ > >> [5] > https://urldefense.com/v3/__https://jdk.java.net/20/release-notes__;!!ACWV5N9M2RV99hQ!LeHwoNnQZEUYxVlbV-K6BZquBap9xhdoDAC7vtl3TfhY9zruMRpurVm_vOLau2z0_QB_1E5i841LizNUQuvRvS8l$ > >> > >> ### Recent changes that maybe of interest: > >> > >> - JDK-8282730: LdapLoginModule throw NPE from logout method after login > >> failure > >> - JDK-8290706: Remove the support for inline contiguous allocations > >> - JDK-8289551: Conversions between bit representations of half precision > >> values and floats > >> - JDK-8290485: [vector] REVERSE_BYTES for byte type should not emit any > >> instructions > >> - JDK-8289137: Automatically adapt Young/OldPLABSize and when setting > >> only MinTLABSize > >> - JDK-8290034: Auto vectorize reverse bit operations. > >> - JDK-8290868: NMT: MallocSiteTable statistics improvements > >> - JDK-8291822: ARM32: Build errors with GCC 11 in > >> frame::saved_oop_result [Reported by JaCoCo] > >> - JDK-8289249: Add methods to Elements for record constructors > >> - JDK-8283232: x86: Improve vector broadcast operations > >> - JDK-8288327: Executable.hasRealParameterData should not be volatile > >> - JDK-8291360: Create entry points to expose low-level class file > >> information > >> - JDK-8290840: Refactor the "os" class > >> - JDK-8292327: InflaterInputStream.read throws EOFException > >> - JDK-8155246: Throw error if default java.security file is missing > >> - JDK-8289332: Auto-generate ids for user-defined headings > >> - JDK-8292153: x86: Represent Registers as values > >> > >> > >> ## Jextract Early-Access Builds > >> > >> Early Access Builds 19-jextract+2-3 (2022/7/19) are now available [6]. > >> These open-source builds are provided under the GNU General Public > >> License, version 2, with the Classpath Exception. > >> > >> These builds are from the OpenJDK jextract project [7] which is part of > >> Code Tools [8]. jextract is a tool developed under the Panama umbrealla > >> whose goal is to mechanically generate Java bindings from native library > >> headers. These EA builds are intended for advanced users, and are > >> provided as a convenience so that they don't need to build it from the > >> sources. Additional notes on builds, documentation and known issues are > >> available at [6]. > >> > >> Please subscribe to the jextract mailing list [9] to share feedback. > >> > >> [6] > https://urldefense.com/v3/__https://jdk.java.net/jextract/__;!!ACWV5N9M2RV99hQ!LeHwoNnQZEUYxVlbV-K6BZquBap9xhdoDAC7vtl3TfhY9zruMRpurVm_vOLau2z0_QB_1E5i841LizNUQvxUyJxt$ > >> [7] > https://urldefense.com/v3/__https://github.com/openjdk/jextract__;!!ACWV5N9M2RV99hQ!LeHwoNnQZEUYxVlbV-K6BZquBap9xhdoDAC7vtl3TfhY9zruMRpurVm_vOLau2z0_QB_1E5i841LizNUQrF_XYXs$ > >> [8] https://openjdk.org/projects/code-tools/ > >> [9] http://mail.openjdk.org/mailman/listinfo/jextract-dev > >> > >> > >> ## Topics of Interest > >> > >> * Podcast: “JavaOne is Back!” > >> > https://urldefense.com/v3/__https://inside.java/2022/08/03/podcast-025/__;!!ACWV5N9M2RV99hQ!LeHwoNnQZEUYxVlbV-K6BZquBap9xhdoDAC7vtl3TfhY9zruMRpurVm_vOLau2z0_QB_1E5i841LizNUQtxgEfSM$ > >> > >> * Sequenced Collections, Purity, and more at JavaOne > >> > https://urldefense.com/v3/__https://inside.java/2022/08/11/insidejava-newscast-031/__;!!ACWV5N9M2RV99hQ!LeHwoNnQZEUYxVlbV-K6BZquBap9xhdoDAC7vtl3TfhY9zruMRpurVm_vOLau2z0_QB_1E5i841LizNUQnMwgGDN$ > >> > >> * Concurrent Marking in G1 > >> > https://urldefense.com/v3/__https://tschatzl.github.io/2022/08/04/concurrent-marking.html__;!!ACWV5N9M2RV99hQ!LeHwoNnQZEUYxVlbV-K6BZquBap9xhdoDAC7vtl3TfhY9zruMRpurVm_vOLau2z0_QB_1E5i841LizNUQvlNJUoD$ > >> > >> * Java Asynchronous Programming Full Tutorial with Loom and Structured > >> Concurrency - JEP Café > >> > https://urldefense.com/v3/__https://inside.java/2022/08/02/jepcafe13/__;!!ACWV5N9M2RV99hQ!LeHwoNnQZEUYxVlbV-K6BZquBap9xhdoDAC7vtl3TfhY9zruMRpurVm_vOLau2z0_QB_1E5i841LizNUQkG073Tb$ > >> > >> * New candidate JEP: 429: Extent-Local Variables (Incubator) > >> https://openjdk.org/jeps/429 > >> > >> > >> ## JDK Update Patch Release > >> > >> To fix a regression (JDK-8292260) in the C2 JIT compiler, we have > >> produced update patch releases for the impacted supported Java SE > >> versions. The new versions are JDK 18.0.2.1 (publicly available), > >> 17.0.4.1 (publicly available), 11.0.16.1.1, and OpenJDK 18.0.2.1 > >> (publicly available). > >> > >> > >> > >> As usual, let us know if you find any issues while testing your > >> project(s) on the latest JDK early-access builds. Thanks for your > support! > >> > >> --David > >> > >> >