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

Updating from 1.5.3 to 2.2.0 breaks #886

Closed
SElab2019 opened this issue Dec 28, 2019 · 7 comments
Closed

Updating from 1.5.3 to 2.2.0 breaks #886

SElab2019 opened this issue Dec 28, 2019 · 7 comments

Comments

@SElab2019
Copy link

When I try to upgrade asciidoctorj from 1.5.3 to version after 1.5.7. The following code breaks.

public class ConcordionNullMacro extends InlineMacroProcessor {

    public ConcordionNullMacro(String macroName, Map<String, Object> config) {
        super(macroName, config);
    }

    @Override
    protected Object process(AbstractBlock parent, String target, Map<String, Object> attributes) {
        return CommandType.commandForName(target).process(attributes);
    }
}

The code should pass, but it throws an error:

ConcordionNullMacro.java:[16,22] process(AbstractBlock,java.lang.String,java.util.Map<java.lang.String,java.lang.Object>) in org.concordion.jtechlog.asciidoc.nullmacro.ConcordionNullMacro cannot override process(T,java.lang.String,java.util.Map<java.lang.String,java.lang.Object>) in org.asciidoctor.extension.MacroProcessor
[ERROR] attempting to assign weaker access privileges; was public
@robertpanzer
Copy link
Member

Could you please clarify your issue?
The title mentions a change to 2.2.0, the description mentions 1.5.7.

@robertpanzer
Copy link
Member

That said, 2.0.0 is really the version from which we want to start following the rules of semantic versioning.
If sth like this hit you between 1.5.3 and 1.5.7 that’s honestly sad, but I am reluctant to release anything 1.5.x right now.

@SElab2019
Copy link
Author

That said, 2.0.0 is really the version from which we want to start following the rules of semantic versioning.
If sth like this hit you between 1.5.3 and 1.5.7 that’s honestly sad, but I am reluctant to release anything 1.5.x right now.

Thanks for your quick replying.

Yes. I was trying to upgrade asciidoctorj to the latest version 2.2.0 and my code breaks. Then I went to check which version of this backwards incompatibility issue starts. It starts from version 1.5.7.

@robertpanzer
Copy link
Member

That change was necessary to allow running with JRuby 9.1.14.0.
Please check #624 and #625

So there was a trade off for this change, and I think it made more sense to change the visibility to public – which it should have had in the first place – and allow running with the latest JRuby versions instead of keeping the strange visibility of this method.

@SElab2019
Copy link
Author

Alright. That makes sense. Would it be better to add a breaking announcement in the release note? Then all other developers who use asciidoctorj can know it.

@robertpanzer
Copy link
Member

You are completely right!
The 1.5.x releases always stayed in sync with Asciidoctor Core, so from that perspective it had to be named 1.5.7 because it packaged Asciidoctor Ruby 1.5.7.
Now that we do our best to follow Semantic Versioning since 2.2.0 this would definitely require an update of the major version.

Now this has happened and I hope we can leave that behind and do better in the future.

@robertpanzer
Copy link
Member

Closing, as we won't or can't fix this.
We're definitely trying to avoid such situations in the future.

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

No branches or pull requests

2 participants