Skip to content

Commit 6c92347

Browse files
authored
Merge pull request #534 from Channyboy/relaseNotes_update
reorganize change log to conform with other mp spec change logs/release notes
2 parents 9d78101 + 5bcfd0a commit 6c92347

File tree

1 file changed

+137
-47
lines changed

1 file changed

+137
-47
lines changed

spec/src/main/asciidoc/changelog.adoc

Lines changed: 137 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -19,75 +19,165 @@
1919
// SPDX-License-Identifier: Apache-2.0
2020
//
2121

22-
== Major changes to previous versions
22+
= Release Notes
23+
2324

2425
Changes marked with icon:bolt[role="red"] are breaking changes relative to previous versions of the spec.
2526

26-
* Changes in 2.3
27+
[[release_notes_2_3]]
28+
== Changes in 2.3
29+
30+
A full list of changes may be found on the link:https://github.com/eclipse/microprofile-metrics/milestone/9[MicroProfile Metrics 2.3 Milestone]
31+
32+
=== API/SPI Changes
33+
** Introduced the simple timer (`@SimplyTimed`) metric. (https://github.com/eclipse/microprofile-metrics/issues/496[#496])
34+
** Added `withOptional*` methods to the `MetadataBuilder`, they don't fail when null values are passed to them (https://github.com/eclipse/microprofile-metrics/issues/464[#464])
35+
** Added the `MetricID.getTagsAsArray()` method to the API. (https://github.com/eclipse/microprofile-metrics/issues/457[#457])
36+
** Added the method `MetricType.fromClassName` (https://github.com/eclipse/microprofile-metrics/issues/455[#455])
37+
38+
=== Functional Changes
2739
** Introduced a new base metric derived from RESTful stats into the base scope.
28-
*** `rest.request` : Tracks the total count of requests and total elapsed time spent at the REST endpoint
29-
** Introduced the simple timer (`@SimplyTimed`) metric.
30-
** The API code no longer requires a correctly configured MP Config implementation to be available at runtime, so it is possible to slim down deployments if MP Config is not necessary
31-
** Added ProcessCpuTime as a new optional base metric.
32-
** Added `withOptional*` methods to the `MetadataBuilder`, they don't fail when null values are passed to them
33-
** Added the `MetricID.getTagsAsArray()` method to the API.
34-
** Added the method `MetricType.fromClassName`
40+
*** `REST.request` : Tracks the total count of requests and total elapsed time spent at the REST endpoint
41+
** Introduced the simple timer (`@SimplyTimed`) metric. (https://github.com/eclipse/microprofile-metrics/issues/496[#496])
42+
** The API code no longer requires a correctly configured MP Config implementation to be available at runtime, so it is possible to slim down deployments if MP Config is not necessary (https://github.com/eclipse/microprofile-metrics/pull/466[#466])
43+
44+
=== Specification Changes
45+
** Introduced a new base metric derived from RESTful stats into the base scope.
46+
*** `REST.request` : Tracks the total count of requests and total elapsed time spent at the REST endpoint
47+
** Introduced the simple timer (`@SimplyTimed`) metric. (https://github.com/eclipse/microprofile-metrics/issues/496[#496])
48+
** Added ProcessCpuTime as a new optional base metric. (https://github.com/eclipse/microprofile-metrics/issues/442[#442])
49+
50+
=== TCK enhancement
3551
** Improved TCK - Use WebArchive for deployment
3652

53+
[[release_notes_2_2]]
54+
== Changes in 2.2
55+
56+
A full list of changes may be found on the link:https://github.com/eclipse/microprofile-metrics/milestone/12[MicroProfile Metrics 2.2.1 Milestone]
57+
58+
=== API/SPI Changes
59+
** Reverted a problematic change from 2.1 where Gauges were required to return subclasses of `java.lang.Number`
3760

61+
=== Functional Changes
62+
** Reverted a problematic change from 2.1 where Gauges were required to return subclasses of `java.lang.Number`
63+
** (2.2.1) Added ProcessCpuTime as a new optional base metric. (https://github.com/eclipse/microprofile-metrics/issues/480[#480])
3864

39-
* Changes in 2.2
40-
** Reverted a problematic change from 2.1 where Gauges were required to return subclasses of `java.lang.Number`
65+
=== Specification Changes
66+
** (2.2.1) Added ProcessCpuTime as a new optional base metric. (https://github.com/eclipse/microprofile-metrics/issues/480[#480])
4167

42-
* Changes in 2.1
43-
** (2.1.1) Added ProcessCpuTime as a new optional base metric.
44-
** Clarified that metric registry implementations are required to be thread-safe.
45-
** Clarified in the API code that Gauges must return values that extend `java.lang.Number`. [NOTE: this caused issues with backward compatibility and was reverted in 2.2]
46-
** Clarified that implementations can, for JSON export of scopes containing no metrics, omit them, or that they can be present with an empty value.
47-
** Clarified that metrics should not be created for private methods when a class is annotated (the TCK asserted this in 2.0 anyway)
68+
69+
[[release_notes_2_1]]
70+
== Changes in 2.1
71+
72+
A full list of changes may be found on the link:https://github.com/eclipse/microprofile-metrics/milestone/5[MicroProfile Metrics 2.1 Milestone] and link:https://github.com/eclipse/microprofile-metrics/milestone/11[MicroProfile Metrics 2.1.1 Milestone]
73+
74+
=== API/SPI Changes
75+
** Clarified in the API code that Gauges must return values that extend `java.lang.Number`. [NOTE: this caused issues with backward compatibility and was reverted in 2.2] (https://github.com/eclipse/microprofile-metrics/issues/304[#304])
76+
** Added the `reusable(boolean)` method for MetadataBuilder (https://github.com/eclipse/microprofile-metrics/issues/407[#407])
77+
78+
=== Functional Changes
79+
** (2.1.1) Added ProcessCpuTime as a new optional base metric. (https://github.com/eclipse/microprofile-metrics/issues/454[#454])
80+
** Clarified in the API code that Gauges must return values that extend `java.lang.Number`. [NOTE: this caused issues with backward compatibility and was reverted in 2.2] (https://github.com/eclipse/microprofile-metrics/issues/304[#304])
81+
** Clarified that implementations can, for JSON export of scopes containing no metrics, omit them, or that they can be present with an empty value. (https://github.com/eclipse/microprofile-metrics/issues/416[#416])
82+
** Clarified that metrics should not be created for private methods when a class is annotated (the TCK asserted this in 2.0 anyway) (https://github.com/eclipse/microprofile-metrics/issues/416[#416])
83+
** Added the `reusable(boolean)` method for MetadataBuilder (https://github.com/eclipse/microprofile-metrics/issues/407[#407])
84+
85+
=== Specification Changes
86+
** (2.1.1) Added ProcessCpuTime as a new optional base metric. (https://github.com/eclipse/microprofile-metrics/issues/454[#454])
87+
** Clarified that metric registry implementations are required to be thread-safe. (https://github.com/eclipse/microprofile-metrics/issues/300[#300])
88+
** Clarified that implementations can, for JSON export of scopes containing no metrics, omit them, or that they can be present with an empty value. (https://github.com/eclipse/microprofile-metrics/issues/416[#416])
89+
** Clarified that metrics should not be created for private methods when a class is annotated (the TCK asserted this in 2.0 anyway) (https://github.com/eclipse/microprofile-metrics/issues/416[#416])
90+
** Added some text to the specification about programmatic creation of metrics (without annotations) (https://github.com/eclipse/microprofile-metrics/issues/399[#399])
91+
92+
=== TCK enhancement
4893
** TCKs are updated to use RestAssured 4.0
49-
** Added the `reusable(boolean)` method for MetadataBuilder
94+
95+
=== Miscellaneous
5096
** Explicitly excluded the transitive dependency on `javax.el-api` from the build of the specification. It wasn't actually used anywhere in the build so there should be no impact.
51-
Implementations can still support the Expression Language if they choose to.
52-
** Added some text to the specification about programmatic creation of metrics (without annotations)
97+
Implementations can still support the Expression Language if they choose to. (https://github.com/eclipse/microprofile-metrics/issues/417[#417])
98+
99+
[[release_notes_2_0]]
100+
== Changes in 2.0
53101

102+
A full list of changes may be found on the link:https://github.com/eclipse/microprofile-metrics/milestone/4[MicroProfile Metrics 2.0 Milestone] and link:https://github.com/eclipse/microprofile-metrics/milestone/7[MicroProfile Metrics 2.0.1 Milestone] and link:https://github.com/eclipse/microprofile-metrics/milestone/8[MicroProfile Metrics 2.0.2 Milestone]
54103

55-
* Changes in 2.0
56-
** (2.0.3) Added ProcessCpuTime as a new optional base metric.
57-
** icon:bolt[role="red"] Refactoring of Counters, as the old `@Counted` was misleading in practice.
104+
=== API/SPI Changes
105+
** icon:bolt[role="red"] Refactoring of Counters, as the old `@Counted` was misleading in practice. (https://github.com/eclipse/microprofile-metrics/issues/290[#290])
58106
*** Counters via `@Counted` are now always monotonic, the `monotonic` attribute is gone.
59107
The `Counted` interface lost the `dec()` methods.
60-
*** Former non-monotonic counters are now <<app-programming-model#ConcurrentGaugeDef,`@ConcurrentGauge`>> and also in the output reported as gauges.
61-
*** See <<appendix#migration-hint-to-20, Migration hints>> about migration of applications using MicroProfile Metrics.
62-
** Removed unnecessary `@InterceptorBinding` annotation from `org.eclipse.microprofile.metrics.annotation.Metric`.
63-
** icon:bolt[role="red"] Removed deprecated `org.eclipse.microprofile.metrics.MetricRegistry.register(String name, Metric, Metadata)`
64-
** icon:bolt[role="red"] `Metadata` is now immutable and built via a <<app-programming-model#pgm-metadata,`MetadataBuilder`>>.
65-
** Introduced a Tag object which represents a singular tag key/value pair.
66-
** icon:bolt[role="red"] Metrics are now uniquely identified by a <<architecture#metricid-data-def,MetricID>> (combination of the metric's name and tags).
67-
** MetricFilter modified to filter with MetricID instead of name
68-
** The 'Metadata' is mapped to a unique metric name in the `MetricRegistry` and this relationship is immutable.
69-
** Tag key names for labels are restricted to match the regex `[a-zA-Z_][a-zA-Z0-9_]*`.
70-
** Tag values defined through MP_METRICS_TAGS must escape equal signs `=` and commas `,` with a backslash `\`.
108+
*** Former non-monotonic counters are now <<app-programming-model#ConcurrentGaugeDef,`@ConcurrentGauge`>> and also in the output reported as gauges. (https://github.com/eclipse/microprofile-metrics/issues/290[#290])
109+
*** See <<appendix#migration-hint-to-20, Migration hints>> about migration of applications using MicroProfile Metrics. (https://github.com/eclipse/microprofile-metrics/issues/290[#290])
110+
** Removed unnecessary `@InterceptorBinding` annotation from `org.eclipse.microprofile.metrics.annotation.Metric`. (https://github.com/eclipse/microprofile-metrics/issues/188[#188])
111+
** icon:bolt[role="red"] Removed deprecated `org.eclipse.microprofile.metrics.MetricRegistry.register(String name, Metric, Metadata)` (https://github.com/eclipse/microprofile-metrics/issues/268[#268])
112+
** icon:bolt[role="red"] `Metadata` is now immutable and built via a <<app-programming-model#pgm-metadata,`MetadataBuilder`>>. (https://github.com/eclipse/microprofile-metrics/issues/228[#228])
113+
** Introduced a Tag object which represents a singular tag key/value pair. (https://github.com/eclipse/microprofile-metrics/issues/238[#238])
114+
** MetricFilter modified to filter with MetricID instead of name. (https://github.com/eclipse/microprofile-metrics/issues/238[#238])
115+
116+
=== Functional Changes
117+
** (2.0.3) Added ProcessCpuTime as a new optional base metric. (https://github.com/eclipse/microprofile-metrics/issues/454[#454])
118+
** icon:bolt[role="red"] `Metadata` is now immutable and built via a <<app-programming-model#pgm-metadata,`MetadataBuilder`>>. (https://github.com/eclipse/microprofile-metrics/issues/228[#228])
119+
** icon:bolt[role="red"] Metrics are now uniquely identified by a <<architecture#metricid-data-def,MetricID>> (combination of the metric's name and tags). (https://github.com/eclipse/microprofile-metrics/issues/238[#238])
120+
** MetricFilter modified to filter with MetricID instead of name. (https://github.com/eclipse/microprofile-metrics/issues/238[#238])
121+
** The 'Metadata' is mapped to a unique metric name in the `MetricRegistry` and this relationship is immutable. (https://github.com/eclipse/microprofile-metrics/issues/238[#238])
122+
** Tag key names for labels are restricted to match the regex `[a-zA-Z_][a-zA-Z0-9_]*`. (https://github.com/eclipse/microprofile-metrics/issues/238[#238])
123+
** Tag values defined through MP_METRICS_TAGS must escape equal signs `=` and commas `,` with a backslash `\`. (https://github.com/eclipse/microprofile-metrics/issues/238[#238])
71124
** icon:bolt[role="red"] <<rest-endpoints#json-format-def,JSON output format>> for GET requests now appends tags along with the metric in `metricName;tag=value;tag=value` format.
72125
JSON format for OPTIONS requests have been modified such that the 'tags' attribute is a list of nested lists which holds tags from different metrics that
73-
are associated with the metadata.
126+
are associated with the metadata. (https://github.com/eclipse/microprofile-metrics/issues/331[#381])
74127
** OpenMetrics format - formerly called Prometheus format
75-
*** Reserved characters in OpenMetrics format must be escaped.
76-
*** icon:bolt[role="red"] In OpenMetrics output format, the separator between scope and metric name is now a `_` instead of a `:`.
77-
*** icon:bolt[role="red"] Metric names with camelCase are no longer converted to snake_case for OpenMetrics output.
78-
** icon:bolt[role="red"] The default value of the `reusable` attribute for metric objects created programmatically (not via annotations) is now `true`
79-
** icon:bolt[role="red"] Some base metrics' names have changed to follow the convention of ending the name of accumulating counters with `total`.
80-
** icon:bolt[role="red"] Some base metrics' types have changed from Counter to Gauge since Counters must now count monotonically.
128+
*** Reserved characters in OpenMetrics format must be escaped. (https://github.com/eclipse/microprofile-metrics/issues/238[#238])
129+
*** icon:bolt[role="red"] In OpenMetrics output format, the separator between scope and metric name is now a `_` instead of a `:`. (https://github.com/eclipse/microprofile-metrics/issues/279[#279])
130+
*** icon:bolt[role="red"] Metric names with camelCase are no longer converted to snake_case for OpenMetrics output. (https://github.com/eclipse/microprofile-metrics/issues/357[#357])
131+
** icon:bolt[role="red"] The default value of the `reusable` attribute for metric objects created programmatically (not via annotations) is now `true` (https://github.com/eclipse/microprofile-metrics/issues/328[#328])
132+
** icon:bolt[role="red"] Some base metrics' names have changed to follow the convention of ending the name of accumulating counters with `total`. (https://github.com/eclipse/microprofile-metrics/issues/375[#375])
133+
** icon:bolt[role="red"] Some base metrics' types have changed from Counter to Gauge since Counters must now count monotonically. (https://github.com/eclipse/microprofile-metrics/issues/375[#375])
81134
** icon:bolt[role="red"] Some base metrics' names have changed because they now use tags to distinguish metrics for multiple JVM objects. For example,
82-
each existing garbage collector now has its own `gc.total` metric with the name of the garbage collector being in a tag. Names
83-
of some base metrics in the OpenMetrics output are also affected by the removal of conversion from camelCase to snake_case.
84-
** Added a set of recommendations how application servers with multiple deployed applications should behave if they support MP Metrics.
135+
each existing garbage collector now has its own `gc.total` metric with the name of the garbage collector being in a tag. Names
136+
of some base metrics in the OpenMetrics output are also affected by the removal of conversion from camelCase to snake_case. (https://github.com/eclipse/microprofile-metrics/issues/375[#375])
85137

86-
* Changes in 1.1
87-
** Improved TCK
138+
=== Specification Changes
139+
** (2.0.3) Added ProcessCpuTime as a new optional base metric. (https://github.com/eclipse/microprofile-metrics/issues/454[#454])
140+
** icon:bolt[role="red"] Refactoring of Counters, as the old `@Counted` was misleading in practice. (https://github.com/eclipse/microprofile-metrics/issues/290[#290])
141+
*** Counters via `@Counted` are now always monotonic, the `monotonic` attribute is gone.
142+
The `Counted` interface lost the `dec()` methods.
143+
*** Former non-monotonic counters are now <<app-programming-model#ConcurrentGaugeDef,`@ConcurrentGauge`>> and also in the output reported as gauges. (https://github.com/eclipse/microprofile-metrics/issues/290[#290])
144+
*** See <<appendix#migration-hint-to-20, Migration hints>> about migration of applications using MicroProfile Metrics. (https://github.com/eclipse/microprofile-metrics/issues/290[#290])
145+
** icon:bolt[role="red"] Metrics are now uniquely identified by a <<architecture#metricid-data-def,MetricID>> (combination of the metric's name and tags). (https://github.com/eclipse/microprofile-metrics/issues/238[#238])
146+
** The 'Metadata' is mapped to a unique metric name in the `MetricRegistry` and this relationship is immutable. (https://github.com/eclipse/microprofile-metrics/issues/238[#238])
147+
** Tag key names for labels are restricted to match the regex `[a-zA-Z_][a-zA-Z0-9_]*`. (https://github.com/eclipse/microprofile-metrics/issues/238[#238])
148+
** Tag values defined through MP_METRICS_TAGS must escape equal signs `=` and commas `,` with a backslash `\`. (https://github.com/eclipse/microprofile-metrics/issues/238[#238])
149+
** OpenMetrics format - formerly called Prometheus format
150+
*** Reserved characters in OpenMetrics format must be escaped. (https://github.com/eclipse/microprofile-metrics/issues/238[#238])
151+
*** icon:bolt[role="red"] In OpenMetrics output format, the separator between scope and metric name is now a `_` instead of a `:`. (https://github.com/eclipse/microprofile-metrics/issues/279[#279])
152+
*** icon:bolt[role="red"] Metric names with camelCase are no longer converted to snake_case for OpenMetrics output. (https://github.com/eclipse/microprofile-metrics/issues/357[#357])
153+
** icon:bolt[role="red"] The default value of the `reusable` attribute for metric objects created programmatically (not via annotations) is now `true` (https://github.com/eclipse/microprofile-metrics/issues/328[#328])
154+
** icon:bolt[role="red"] Some base metrics' names have changed to follow the convention of ending the name of accumulating counters with `total`. (https://github.com/eclipse/microprofile-metrics/issues/375[#375])
155+
** icon:bolt[role="red"] Some base metrics' types have changed from Counter to Gauge since Counters must now count monotonically. (https://github.com/eclipse/microprofile-metrics/issues/375[#375])
156+
** icon:bolt[role="red"] Some base metrics' names have changed because they now use tags to distinguish metrics for multiple JVM objects. For example,
157+
each existing garbage collector now has its own `gc.total` metric with the name of the garbage collector being in a tag. Names
158+
of some base metrics in the OpenMetrics output are also affected by the removal of conversion from camelCase to snake_case. (https://github.com/eclipse/microprofile-metrics/issues/375[#375])
159+
** Added a set of recommendations how application servers with multiple deployed applications should behave if they support MP Metrics. (https://github.com/eclipse/microprofile-metrics/issues/240[#240])
160+
161+
162+
[[release_notes_1_1]]
163+
== Changes in 1.1
164+
165+
A full list of changes may be found on the link:https://github.com/eclipse/microprofile-metrics/milestone/1[MicroProfile Metrics 1.1 Milestone]
166+
167+
=== API/SPI Changes
168+
** `org.eclipse.microprofile.metrics.MetricRegistry.register(String name, Metric, Metadata)` is deprecated.
169+
Use `org.eclipse.microprofile.metrics.MetricRegistry.register(Metadata, Metric)` instead, where `Metadata`
170+
already has a field for the name.
171+
172+
=== Functional Changes
88173
** `org.eclipse.microprofile.metrics.MetricRegistry.register(String name, Metric, Metadata)` is deprecated.
89174
Use `org.eclipse.microprofile.metrics.MetricRegistry.register(Metadata, Metric)` instead, where `Metadata`
90175
already has a field for the name.
91-
** Global tags are now supplied via the means of MicroProfile Config (the env variable is still valid).
176+
** Global tags are now supplied via the means of MicroProfile Config (the env variable is still valid). (https://github.com/eclipse/microprofile-metrics/issues/165[#165])
177+
178+
=== Specification Changes
92179
** Annotations and `Metadata` can now have a flag `reusable` that indicates that the metric name can be registered
93180
more than once. Default is `false` as in Metrics 1.0. See <<architecture#reusing_metrics>>.
181+
182+
=== TCK enhancement
183+
** Improved TCK

0 commit comments

Comments
 (0)