marchof / java-almanac Goto Github PK
View Code? Open in Web Editor NEWThe history and future of Java.
Home Page: https://javaalmanac.io/
License: Creative Commons Attribution Share Alike 4.0 International
The history and future of Java.
Home Page: https://javaalmanac.io/
License: Creative Commons Attribution Share Alike 4.0 International
The Javadoc for Java 17 is not https://download.java.net/java/early_access/jdk17/docs/api/ but https://docs.oracle.com/en/java/javase/17/docs/api/. The outdated links are in the API diff.
Hello, I would like to propose the following improvement on this page:
update Release to Java 22, JEP 443 to JEP 456
The References section already mention JEP 443
I have a copy of JDK 1.0 beta 2 for Windows. The COPYRIGHT file is dated 1995-12-11. Does it help your website?
A comment on this page:
Several Java APIs have been changed recently to be sealed classes. When using the "Compare" views it looks like the pages are showing the complete list of permitted classes. This includes a lot of non-accessible implementation classes. Maybe you could filter the list of permitted classes to those that are public and in exported classes, I think that would reduce the noise and make the pages more readable.
Hello, I would like to propose the following improvement on this page:
I've written something similar at https://robtimus.github.io/whats-new-in-java/, but your UI is nicer, and it includes information I didn't know how to render yet (like new implements clauses). Your site combined with https://docs.oracle.com/en/java/javase/17/docs/api/new-list.html means that I'm probably going to cease work on that.
Hi,
first I'd like to thank you very much for this tool. It's really useful.
If you have some spare time to waste, it would be great to implement filtering of packages in UI (for example I don't really care about changes in java.awt or javax packages, IMHO it would be really useful to be able to filter them out).
Just my 2 cents.
Again thank you very much, you did a really great job already.
Hello, I would like to propose the following improvement on this page:
All of the suggestions go under the "The Four Forms of Switch":
switch
statement without fall through. However, it showcases a switch
expression. I think this was likely a copy-paste issue, as this example has the same code as the example preceding it in the previous section ("Statements in Branches").switch
expressions, but it includes a yield
in every case, thus not actually demonstrating the fall through.Hello, I would like to propose the following improvement on this page:
There are also Liberica JDK builds for alpine-x64 https://bell-sw.com/pages/downloads/#/java-15-current
Can we have an RSS feed of https://javaalmanac.io/ ?
Or what is the suggested way to be notified of new content?
Hello, I would like to propose the following improvement on this page:
In the Downloads table, for "Red Hat build of OpenJDK 11", only windows-x64
is listed as a supported configuration. Several others are missing:
See also https://access.redhat.com/articles/1299013 (section "What hardware architectures are supported by the Red Hat build of OpenJDK for RHEL?").
Hello, I would like to propose the following improvement on this page:
Microsoft also has a Java 16 distribution. I used the ARM version on my M1 Mac. Please add it to the page.
IBM Semeru Runtime Certified Edition, Version 11 is the new name for the IBM SDK, Java Technology Edition, Version 11. Downloads of IBM Semeru Runtimes are available on the IBM Semeru Runtimes Downloads site. To enable our customers to transition to the new location this page will be maintained up to and including the Oracle January 2022 CPU.
https://www.ibm.com/support/pages/java-sdk-downloads-version-110
Hello, I would like to propose the following improvement on this page:
A filter mechanism to filter out "Added" modifications (or just filter based on modification types)
When planning to do an upgrade it's more important to know what will break than know what new API features there are.
The .deb link doesn't work.
Please could you check the EOL dates for JDK 12 and 13? Not sure but I think they may not be correct.
https://javaalmanac.io/jdk/12/
https://javaalmanac.io/jdk/13/
Hello, I would like to propose the following improvement on this page:
java.lang.String.stripIndent()
was promoted from "preview" in JDK 15. It shows up in JDK 13 where it was introduced as a preview feature. I think it would be great, to have a distinction between "preview" and "added", so ideally it would show up as "preview" in JDK 13 and then again as either "added" or "promoted" in JDK 15.
I haven't checked how the almanac works behind the scenes, but it might be possible to detect "promoted" API changes by evaluating the "@SInCE" tag of the new version. stripIndent()
had "@SInCE 13" in Java 13 and 14, and "@SInCE 15" in Java 15.
BTW: Great project!!!
The Javadoc for Java 14 is not https://download.java.net/java/early_access/jdk14/docs/api/ but https://docs.oracle.com/en/java/javase/14/docs/api/ or https://download.java.net/java/GA/jdk14/docs/api/.
Hello, I would like to propose the following improvement on this page:
list module name changes/removals/adds?
just found that "jdk.naming.ldap" is a module name only showing up in Java 11 - not 9 nor 12 and wondered if that was documented somewhere.
for i in {11..17}; do echo "$i"; eval "$(jbang jdk java-env $i)" && java --list-modules | grep naming.ldap; done
was what I used to spot it. would've been nice if javaalamanc could capture similar.
where is javaee api diff ?
I also want for example javax.servlet.* diff between javaee7 and 8 or Jakarta EE
thanks
Hello, I would like to propose the following improvement on this page:
Currently, there are the versions 8, 11 and 16. The 17 should be coming soon. The Open Edition is not TCK tested.
https://developer.ibm.com/languages/java/semeru-runtimes/downloads
Hello, I would like to propose the following improvement on this page: The list of features to be sorted in descending order based on the Java version first, then alphabetically based on the feature name. The reason is that I visit this page to look for the newest features, and I have to hunt up and down the Release column to find what I'm interested in. Generally speaking, the older the Java release is, the less interest a feature page would have, so it makes sense to keep latest releases on top.
Just a curiosity that isn't clear from first read. How are the api diffs generated? Is it manual or is there a tool that could be used for other libraries?
Hi,
This is a nicely compiled wiki, I see that JAVAFX removal is not mentioned in your documentation.
As per my knowledge, "JavaFX was removed from JDK since JDK 11." Could this be validated and added in your documentation please?
Thanks
Narasimha
An aggregates search should be added to quickly find various Java resources. An experimental deployment is available at https://javaalmanac.io/find/.
Hello, I would like to propose the following improvement on this page: Make the list of features sortable by the Release column. When upgrading from Java 11 to 17 for example, it is easier to see which features were introduced between these two releases if the features could be sorted by release.
Basically I wanted to click on the package icon on https://javaalmanac.io/jdk/17/apidiff/8/ and have it collapse all the changes for that package.
related: #45 (comment)
Hello, I would like to propose the following improvement on this page:
The page reports that the following methods were added to CompletableFuture in Java 19:
But these have been added to the interface Future instead. The links to the documentation also point to the wrong page (the one about CompletableFuture, should be Futur).
Looking at this page:
https://javaalmanac.io/jdk/22/apidiff/21/
where it shows a new method added to java.awt.peer.WindowPeer. This is confusing to see because this is an internal class, the java.awt.peer package is not an exported/documented/supported interface. The diff tool shouldn't be looking at APIs in non-exported packages.
Hello, I would like to propose the following improvement on this page:
Please mention JEP 226: UTF-8 Property Resource Bundles.
*.properties
files defaulting to UTF-8 is a big change.
No more:
.editorconfig
[*.properties]
charset = latin1
or similar configuration of source formatters.
Just came across this project and looking at the diff reports on the github page.
It appears that non-public classes are showing up as "new", e.g. the Java SE 8 -> 11 report lists WeakPairMap classes but they are not public and should not be shown.
Non-public super classes or interfaces are showing up, e.g. java.lang.Package extends a non-public class in java.lang that is not part of the API. You don't see it in the javadoc but it is showing up in the diffs.
Proxy.newProxyInterface is an example where the diffs suggests is no longer throw IllegalArgumentException but it hasn't changed, it still throws this exception but you need to read it in the javadoc. It might be better to ignore unchecked exceptions when doing diffs as they may or may not appear in the declaration.
There are several examples where it appears that methods have been removed but there is no source or binary compatibility issue because the methods are overrides of methods defined in a super class, e.g. the diff report suggest ECGenParameterSpec.getName has been removed but it's defined by the super class. Another example is Adler32.update(byte[]) where the method is now a default method in the interface implemented by Adler32. Not easy to convey this time of change in a diffs report.
Hello, I would like to propose the following improvement on this page:
The link to the release notes pages is invalid. It should be https://www.oracle.com/java/technologies/javase/11-relnote-issues.html
Hello, I would like to propose the following improvement on this page: Please describe how the "bytecode" line in 18.json
(for example) is populated. Thank you!!
Hello, the "New APIs in Java 22" page is still using early access javadoc links.
eg. https://download.java.net/java/early_access/jdk22/docs/api/java.base/java/io/Console.html#isTerminal()
Thanks
Hello, I would like to propose the following improvement on this page:
The information about Liberica JDK is not complete. For example Alpine (musl) x64 linux builds are available.
https://bell-sw.com/pages/downloads/#/java-8-lts
Hello, I would like to propose the following improvement on this page:
There are also Liberica JDK builds for alpine-x64 https://bell-sw.com/pages/downloads/#/java-11-lts
Hello, I would like to propose the following improvement on this page:
Typo: JMPS -> JPMS
Currently, there are the 8, 11 and 16 versions. The 17 should be coming soon. The Adoptium JDKs are TCK tested.
https://adoptium.net
Hello, I would like to propose the following improvement on this page:
The data source for the table lists both Azul Prime and Azul Zulu, but the table only lists Azul Zulu. Please add the row for Prime!
Can it show up on the site, please? ❤️
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.