Repository navigation
Conversation
baltzell
approved these changes
Oct 29, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We expect to see no change here. Note that
6.2-SNAPSHOTis a different major version 6 than the one upstream. I call the version oncode.jlab.orgas5.99.0, and it is effectively the same as our6.2-SNAPHOTfromclasweb.The details get confusing, but this PR should cause no change here!
For redundancy and hopefully clarity, here is a copy of those details below:
What is
5.99.0??It's an attempt to reproduce
6.2-SNAPSHOTfromclasweb/clas12mavenfrom our forked
eviorepo source code.Based on comparing the decompiled
6.2-SNAPSHOTJAR and the source code history, I find that:6.2-SNAPSHOTJAR was deployed on 23 December 20206.2-SNAPSHOTJAR, I find that this JAR must have been:d5694f57or sometime later, since this commit addedCompactReaderTest.javamethodmain333b72af6e4or sometime earlier, since this is the last commit whereRecordViewer.javawas presentd5694f57..b72af6e4), other than minor changes such as@Deprecateddecoratorsb72af6e4and added a CI config, updated the POM file, and added asettings.xmlfile, all for package-registry deployment5.99.0, since:b72af6e4isv6.0.0(and it's even a number that's semantically later than that of the6.2-SNAPSHOTJAR)claswebofjeviowith major version5(skips from4.4to6.2-SNAPSHOT, the6.2-SNAPSHOTJAR)6.2, since the current latest tag in the source code repo is6.2.1, which includes about 5 years of changes beyond the6.2-SNAPSHOTJAR versionDifferences between
6.2-SNAPSHOTand5.99.0In summary:
6.2-SNAPSHOTused Java 75.99.0uses Java 8 (since OpenJDK 21 dropped support for Java 7)Detailed details are given in the following sections.
Java Versions
Looking at the manifests, we have:
Inspecting a class within, we have:
So,
6.2-SNAPSHOTwas built with Java 7, whereas5.99.0was built with Java 8.JAR file contents
jar tfof the6.2-SNAPSHOTJAR includes the following line, which the5.99.0JAR does not have:CFR Decompilation
To compare decompilations, clone this repo and run
These are tags for the
6.2-SNAPSHOTand5.99.0JAR decompilations, respectively.jevioonly, so the dependencies in the uber JAR are exactly the same between6.2-SNAPSHOTand5.99.0.hipo/WriterMT.java6.2-SNAPSHOT:5.99.0:bytesToWriteis anint, and the cast tolongis gone; sincewriterBytesWrittenislong, andlongis wider thanint, these should behave the samejevio/BaseStructure.java:6.2-SNAPSHOT:5.99.0:jevio/CompositeData.javashows what appear to be non-trivial differences6.2-SNAPSHOThas CFR placeholders (e.g.,void var9_16)6.2-SNAPSHOTversion being built with major version 51 (i.e., Java 7)and the
5.99.0version being built with major version 52 (Java 8)5.99.0with Java 7 (and OpenJDK 11), and decompiling that, but I get the same thing I get with Java 8jevio/DataType.javaseems to show differences in some switch statements, but they are indeed the same; details:6.2-SNAPSHOTversion uses enumerator names, whereas the5.99.0version uses enumerator numbers (ordinals)6.2-SNAPSHOT, with the enumerator ordinal numbers added by me as comments (note: CFR strips comments);casestatements are sorted by ordinal number:5.99.0, with the enumerator names added by me as comments:@Deprecateddecorators