Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document all API changes in log4j-api #3339

Merged
merged 31 commits into from
Dec 30, 2024
Merged

Document all API changes in log4j-api #3339

merged 31 commits into from
Dec 30, 2024

Conversation

ppkarwasz
Copy link
Contributor

This PR uses japicmp to compare all 53 stable 2.x releases and document the changes in the public API of the log4j-api artifact.
The basic invocation of japicmp is:

java -jar japicmp.jar \
  --old-classpath org.osgi.core.jar -o log4j-api-<old_version>.jar \
  --new-classpath org.osgi.core.jar -n log4j-api-<new_version>.jar \
  -m

The resulting report was used to create or fix Javadoc @since tags.

Part of #1867

ppkarwasz added a commit that referenced this pull request Dec 29, 2024
The Java 9 version of `StackLocator` has an additional public `getCallerClass(String)` method. This method makes the Java 8 and 9 versions of `StackLocator` expose different APIs to the user. To prevent API compatibility problems, we remove the additional method.

This incompatibility was accidentally discovered during the work in #3339: `japicmp` did randomly compare a `StackLocator` class from the old version with a `StackLocator` class from the new version.

This is part of #1867.
Copy link
Member

@vy vy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job @ppkarwasz! 💯

The `entry()/exit()` methods were deprecated in 2.6, when `o.a.l.l.Logger` was annotated with `@Deprecated`.
Their `AbstractLogger` implementations became deprecated at the same time.
Internal classes are not used by external artifacts and their Javadoc is not published.
ppkarwasz added a commit that referenced this pull request Dec 30, 2024
The Java 9 version of `StackLocator` has an additional public `getCallerClass(String)` method. This method makes the Java 8 and 9 versions of `StackLocator` expose different APIs to the user. To prevent API compatibility problems, we remove the additional method.

This incompatibility was accidentally discovered during the work in #3339: `japicmp` did randomly compare a `StackLocator` class from the old version with a `StackLocator` class from the new version.

This is part of #1867.
@ppkarwasz ppkarwasz merged commit f72c843 into 2.x Dec 30, 2024
9 checks passed
@ppkarwasz ppkarwasz deleted the doc/2.x/since-tag branch December 30, 2024 11:43
ppkarwasz added a commit that referenced this pull request Dec 30, 2024
Add missing `@since` and `@deprecated since` tags to `log4j-api`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants