Skip to content

Commit 92c1ca1

Browse files
committed
Added Macros section to CG Release Notes topic
1 parent bc70447 commit 92c1ca1

File tree

1 file changed

+34
-20
lines changed

1 file changed

+34
-20
lines changed

contributor-guide/modules/ROOT/pages/release-notes.adoc

Lines changed: 34 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ For the latter, you will need to update a Boost history file with a succinct ver
2020
[square]
2121
* <<Checklist>>
2222
* <<Consistency and Formatting>>
23-
* <<Examples>>
23+
* <<Release Note Macros>>
24+
* <<Release Note Examples>>
2425
* <<Update Boost History>>
2526
* <<Best Practices>>
2627
* <<See Also>>
@@ -29,57 +30,57 @@ For the latter, you will need to update a Boost history file with a succinct ver
2930

3031
When writing release notes for your library remember that the main goal is to effectively communicate the changes to the end-users. It's always a good practice to put yourself in the mind set of your developers, and think about what information they would need and appreciate. Be brief, but not so brief that only a seasoned user of your library will understand the context.
3132

32-
=== Header Information
33+
=== 1. Header Information
3334

3435
Make sure the version number, and date of release are mentioned.
3536

36-
=== Summary
37+
=== 2. Summary
3738

3839
If this release addresses particular topics, provide a brief overview of the main changes, enhancements, or the theme of this release if there's one.
3940

40-
=== Breaking Changes
41+
=== 3. Breaking Changes
4142

4243
Before detailing other updates, immediately inform users of any backward-incompatible changes. This is crucial as these changes can directly impact existing code. The process for breaking changes is covered in detail in xref:version-control.adoc[].
4344

44-
=== API Parameters
45+
=== 4. API Parameters
4546

4647
If you have added additional parameters (or changed a return value, or similar API change) to a function that are not breaking changes, then list them separately. If an API change might break an existing application, then ensure to list it under <<_breaking_changes>>.
4748

48-
=== New Features
49+
=== 5. New Features
4950

5051
Describe any new features or major enhancements. For complex features, consider adding a brief example or pointing to updated documentation. If the feature is referenced in an *Issue*, then consider adding a link to that issue.
5152

52-
=== Bug Fixes
53+
=== 6. Bug Fixes
5354

5455
List the fixed bugs, ideally with a brief description. If you're using a bug tracking system (like GitHub issues), provide links to the bug reports described in the issues. Include the identifier or number of the bug if available.
5556

56-
=== Deprecations
57+
=== 7. Deprecations
5758

5859
Mention any functions, classes, or features that are deprecated and might be removed in future releases.
5960

60-
=== Performance Improvements
61+
=== 8. Performance Improvements
6162

6263
Detail any optimizations or performance-related changes, ideally with metrics or benchmarks if they are significant.
6364

64-
=== Documentation Updates
65+
=== 9. Documentation Updates
6566

6667
Highlight and link to any significant updates in documentation, new examples, or tutorials.
6768

68-
=== Acknowledgements
69+
=== 10. Acknowledgements
6970

7071
Credit contributors or those who reported crucial bugs. Recognize any person or organization that played a special role in this release.
7172

72-
=== Known Issues
73+
=== 11. Known Issues
7374

7475
Briefly describe any known limitations or issues that are still unresolved in the current release. Include known compatibility issues - including with compilers and tools, and other libraries.
7576

76-
=== Upgrade Notes
77+
=== 12. Upgrade Notes
7778

7879
Provide any specific instructions or recommendations for users upgrading from a previous version, especially if there are any manual steps involved.
7980

8081
== Consistency and Formatting
8182

82-
* Use clear and concise language. Experience has shown that short release notes are read, long files much less so. Do not add into release notes extensive text that should be in your main library documentation.
83+
Use clear and concise language. Experience has shown that short release notes are read, long files much less so. Do not add into release notes extensive text that should be in your main library documentation.
8384

8485
* Be consistent in the formatting. If you're using bullet points for one section, maintain that for others.
8586
* Use headers and sub-headers to clearly differentiate sections.
@@ -88,14 +89,25 @@ Provide any specific instructions or recommendations for users upgrading from a
8889
** Your main library documentation, if there is updated text, examples or tutorials
8990
** Relevant issues, discussions or threads
9091

91-
== Examples
92+
== Release Note Macros
9293

93-
The following examples show some different approaches. Note how many rely on links to issues to provide the detailed information.
94+
Various macros are available to library authors and maintainers to help keep release notes consistent between libraries, and easier to both write and read. Absolute links _can_ be added to release notes, if necessary, though use of the following macros is encouraged and recommended.
95+
96+
[cols="1,3,1",options="header",stripes=even,frame=none]
97+
|===
98+
| *Macro* | *Description* | *Examples*
99+
| `boost_phrase:library[ <library name> , <library path>]` | Shows the library title in a consistent format, and links to the library on Git. | `boost_phrase:library[Asio,/libs/asio/]`, `boost_phrase:library[Beast,/libs/beast/]`, `boost_phrase:library[OpenMethod,/libs/openmethod]`
100+
| `boost_at:<path to file>[ <title>]` | The specified "title" becomes a link to the file. | `Consult the boost_at:/doc/libs/1_90_0/doc/html/boost_asio/history.html[Revision History] for further details.`, `boost_at:/doc/libs/1_90_0/[Documentation]`
101+
| `boost_gh:pr[ <library name>, <PR number]` | Provides a link to a GitHub PR for the specified library. | `Conform to std::pointer_traits requirements (boost_gh:pr[interprocess,32]).`, `boost_gh:pr[core,205]`
102+
| `boost_gh:issue[<library name>, <ISSUE number>]` | Provides a link to the GitHub Issue for the specified library. | `Fixed named_condition_any fails to notify (boost_gh:issue[interprocess,62]).`
103+
|===
104+
105+
== Release Note Examples
106+
107+
Checking out the release notes from fellow library authors and maintainers is good practice:
108+
109+
* https://github.com/boostorg/website-v2-docs/blob/develop/release-notes/boost_1_90_0.adoc[Boost 1.90 Release Notes]
94110

95-
* https://www.boost.org/doc/libs/latest/libs/json/doc/html/release_notes.html[JSON Release Notes]
96-
* https://www.boost.org/doc/libs/latest/libs/nowide/doc/html/changelog_page.html[NoWide Change Log]
97-
* https://www.boost.org/doc/libs/latest/libs/type_traits/doc/html/boost_typetraits/history.html[Type Traits History]
98-
* https://www.boost.org/doc/libs/latest/libs/variant2/doc/html/variant2.html#changelog[Variant2 Revision History]
99111

100112
== Update Boost History
101113

@@ -138,6 +150,8 @@ The examples below come from the https://github.com/boostorg/website/blob/master
138150
[endsect]
139151
----
140152

153+
Note:: The macros used in Quickbook format for the history sections differ in detail from the macros available for the Release Notes.
154+
141155
== Best Practices
142156

143157
Experience has shown the following layout works well when writing release notes and having your users actually read them.

0 commit comments

Comments
 (0)