@@ -157,6 +157,67 @@ source (.txt, .xml)
157157* Java source: { at end of line, 4 space indents
158158* XML source: 2 space indents
159159
160+ ## Changelog Entries
161+
162+ Every code change that affects functionality, behavior, or user-visible features should have a corresponding entry in ` webapps/docs/changelog.xml ` .
163+
164+ ### When Changelog Entries Are Needed
165+
166+ Add a changelog entry for:
167+ - New features or APIs
168+ - Bug fixes
169+ - Changes to defaults or existing behavior
170+ - Removals or deprecations
171+ - Significant refactoring that affects performance or behavior
172+ - Documentation updates to public APIs
173+
174+ Skip changelog entries for:
175+ - Test-only changes (unless fixing a test infrastructure issue)
176+ - Build script maintenance
177+ - Internal code cleanup with no user impact
178+
179+ ### Entry Types
180+
181+ Use the appropriate XML element based on the nature of your change:
182+
183+ - ` <add> ` - New features, APIs, or capabilities. Start with "Add" or "Implement".
184+ Example: ` Add support for Jakarta EE 12 XML schemas. `
185+
186+ - ` <update> ` - Changes to existing features, defaults, or removals. Start with "Change", "Remove", or "Update".
187+ Example: ` Change the default for encodedSolidusHandling from decode to reject. `
188+
189+ - ` <fix> ` - Bug fixes. Start with "Fix". Include ` <bug>NUMBER</bug> ` if applicable.
190+ Example: ` <bug>70000</bug>: Fix duplication of special headers in the response after commit. `
191+
192+ - ` <scode> ` - Internal refactoring or code structure changes. Explain the benefit, not just the change.
193+ Example: ` Refactor generation of the remote user element in the access log to remove unnecessary code. `
194+
195+ - ` <docs> ` - Documentation-only updates (Javadoc, configuration docs).
196+ Example: ` Add Javadoc for the Common Annotations API implementation. `
197+
198+ ### Style and Formatting
199+
200+ - Write in present tense, imperative mood ("Add support" not "Added support")
201+ - Keep entries concise (1-3 sentences)
202+ - Use ` <code> ` tags for class names, method names, and configuration attributes
203+ - Use ` <bug>NUMBER</bug> ` for Bugzilla references
204+ - For default changes, show before -> after: "from ` false ` to ` true ` "
205+ - End with attribution in parentheses: ` (username) `
206+ - For community patches: "Patch submitted by Name. (committer)"
207+
208+ ### Subsection Placement
209+
210+ Place entries in the appropriate subsection following this order:
211+ General, Catalina, Coyote, Jasper, Cluster, WebSocket, Web applications, Extras, Tribes, jdbc-pool, Other
212+
213+ ### Common Pitfalls to Avoid
214+
215+ - Don't use past tense ("Fixed" -> use "Fix")
216+ - Don't omit ` <code> ` tags for technical terms
217+ - Don't forget attribution at the end
218+ - Don't be vague ("Fix bug" -> "Fix NPE when processing empty request headers")
219+ - Don't include implementation details unless relevant to users
220+
160221## Did we miss something?
161222
162223Have you reviewed this guide and found it lacking? Or are you confused about
0 commit comments