Skip to content

Add 2026 to the list of valid apichanges years - #9693

Closed
slachiewicz wants to merge 1 commit into
apache:masterfrom
slachiewicz:apichanges-year-2026
Closed

slachiewicz wants to merge 1 commit into
apache:masterfrom
slachiewicz:apichanges-year-2026

Conversation

@slachiewicz

Copy link
Copy Markdown
Member

apichanges.dtd lists every allowed year value, and the list ends at 2025. Modules whose build validates apichanges.xml, such as java/maven.embedder, fail on any entry dated 2026:

[xmlvalidate] java/maven.embedder/apichanges.xml:90:51: Attribute "year" with value "2026" must have a value from the list "1998 ... 2025"

The same one-line change was made for 2018 in d2d2213.

Verified: ant -f java/maven.embedder build with a 2026 entry → BUILD FAILED on master, BUILD SUCCESSFUL with this change.

Assisted-by: Claude Opus 5.5

Modules that validate apichanges.xml during the build reject any entry dated 2026.

Assisted-by: Claude Opus 5.5
@mbien

mbien commented Oct 9, 2026

Copy link
Copy Markdown
Member

i forgot why we can't change this. But there is an updated apichanges-1.1.dtd in the same folder with more years on it.

@matthiasblaesing

Copy link
Copy Markdown
Contributor

i forgot why we can't change this. But there is an updated apichanges-1.1.dtd in the same folder with more years on it.

dtds are a contract between multiple parties. Consider a code generator that builds a parser based on the grammar. When you change the list of accepted values the parser will suddenly fail at point it should not even be able to reach. You can think of a dtd as in interface the document have to implement.

The solution as rightly pointed out is to create a new revision of the DTD and use that. That way users can opt in to the change.

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.

3 participants