Release Notes » History » Version 89
Kyle Knoepfel, 07/13/2020 04:19 PM
1 | 1 | Lynn Garren | h1. Release Notes |
---|---|---|---|
2 | 1 | Lynn Garren | |
3 | 46 | Kyle Knoepfel | These notes are intended to serve as a guide to the user-visible features in a particular _art_ suite release. As such, only versions included in _art_ suite releases, or those with substantive changes, are included. |
4 | 46 | Kyle Knoepfel | |
5 | 88 | Kyle Knoepfel | h2(#31000). canvas version:"3.10.00" (2020/07/07) |
6 | 88 | Kyle Knoepfel | |
7 | 88 | Kyle Knoepfel | * _art_ suites: [[art:Release Notes 30600|3.06.00]] |
8 | 88 | Kyle Knoepfel | * _critic_ suites: [[critic:Release Notes|2.04.00]] |
9 | 88 | Kyle Knoepfel | * _gallery_ suites: [[gallery:Release Notes 11500|1.15.00]] |
10 | 88 | Kyle Knoepfel | |
11 | 89 | Kyle Knoepfel | This version only supports Python 3 and SLF7. The @e20@ qualifier (GCC 9.3 with C++17 enabled) has been added. |
12 | 88 | Kyle Knoepfel | |
13 | 86 | Kyle Knoepfel | h2(#30901). canvas version:"3.09.01" (2020/03/02) |
14 | 86 | Kyle Knoepfel | |
15 | 87 | Kyle Knoepfel | * _art_ suites: [[art:Release Notes 30500|3.05.00]], [[art:Release Notes 30501|3.05.01]] |
16 | 87 | Kyle Knoepfel | * _critic_ suites: [[critic:Release Notes|2.03.00]], [[critic:Release Notes|2.03.01]] |
17 | 86 | Kyle Knoepfel | * _gallery_ suites: [[gallery:Release Notes 11402|1.14.02]] |
18 | 86 | Kyle Knoepfel | |
19 | 82 | Kyle Knoepfel | h2(#30900). canvas version:"3.09.00" (2019/11/12) |
20 | 82 | Kyle Knoepfel | |
21 | 82 | Kyle Knoepfel | * _art_ suites: [[art:Release Notes 30400|3.04.00]] |
22 | 85 | Kyle Knoepfel | * _critic_ suites: [[critic:Release Notes|2.02.00]], [[critic:Release Notes|2.02.01]] |
23 | 85 | Kyle Knoepfel | * _gallery_ suites: [[gallery:Release Notes 11400|1.14.00]], [[gallery:Release Notes 11401|1.14.01]] |
24 | 82 | Kyle Knoepfel | |
25 | 83 | Kyle Knoepfel | This version includes the following new features: |
26 | 83 | Kyle Knoepfel | |
27 | 83 | Kyle Knoepfel | * The ability to create associative containers using the @art::InputTag@ key type (resolves issue #23320). |
28 | 83 | Kyle Knoepfel | * The @art::Assns::addMany@ overload set, which can be used for easily creating one-to-many associations. |
29 | 82 | Kyle Knoepfel | |
30 | 84 | Kyle Knoepfel | This version only supports qualifiers @e19@ and @c7@. In addition, Python 3 is enabled by default. To use Python 2, the @'py2'@ qualifier must be specified when setting up the @canvas@ UPS product. |
31 | 84 | Kyle Knoepfel | |
32 | 74 | Kyle Knoepfel | h2(#30800). canvas version:"3.08.00" (2019/06/21) |
33 | 74 | Kyle Knoepfel | |
34 | 77 | Kyle Knoepfel | * _art_ suites: [[art:Release Notes 30300|3.03.00]], [[art:Release Notes 30301|3.03.01]] |
35 | 81 | Kyle Knoepfel | * _critic_ suites: [[critic:Release Notes#20100|2.01.00]], [[critic:Release Notes#20102|2.01.02]], [[critic:Release Notes#20103|2.01.03]], [[critic:Release Notes#20104|2.01.04]] |
36 | 81 | Kyle Knoepfel | * _gallery_ suites: [[gallery:Release Notes 11300|1.13.00]], [[gallery:Release Notes 11301|1.13.01]] |
37 | 77 | Kyle Knoepfel | |
38 | 74 | Kyle Knoepfel | |
39 | 76 | Kyle Knoepfel | Smart-query objects constructed with an @art::ProductToken@ now ensure C++ type consistency (resolves issue #20579). |
40 | 76 | Kyle Knoepfel | |
41 | 70 | Kyle Knoepfel | h2(#30704). canvas version:"3.07.04" (2019/05/29) |
42 | 70 | Kyle Knoepfel | |
43 | 80 | Kyle Knoepfel | * _art_ suites: [[art:Release Notes 30206|3.02.06]] |
44 | 80 | Kyle Knoepfel | * _critic_ suites: [[critic:Release Notes#20006|2.00.06]], [[critic:Release Notes#20007|2.00.07]], [[critic:Release Notes#20009|2.00.09]], [[critic:Release Notes#20010|2.00.10]] |
45 | 80 | Kyle Knoepfel | * _gallery_ suites: [[gallery:Release Notes 11204|1.12.04]], [[gallery:Release Notes 11206|1.12.06]], [[gallery:Release Notes 11207|1.12.07]] |
46 | 70 | Kyle Knoepfel | |
47 | 72 | Kyle Knoepfel | The @setPtr@ and @getElementAddresses@ customization points for @art::Ptr@ were unintentionally disabled for _art_ 3. These have been restored with this version of @canvas@ (resolves issue #22643). |
48 | 72 | Kyle Knoepfel | |
49 | 66 | Kyle Knoepfel | h2(#30703). canvas version:"3.07.03" (2019/03/07) |
50 | 69 | Kyle Knoepfel | |
51 | 69 | Kyle Knoepfel | * _art_ suites: [[art:Release Notes 30203|3.02.03]], [[art:Release Notes 30204|3.02.04]], [[art:Release Notes 30205|3.02.05]] |
52 | 67 | Kyle Knoepfel | * _critic_ suites: [[critic:Release Notes#20003|2.00.03]], [[critic:Release Notes#20004|2.00.04]], [[critic:Release Notes#20005|2.00.05]] |
53 | 68 | Kyle Knoepfel | * _gallery_ suites: [[gallery:Release Notes 11203|1.12.03]] |
54 | 66 | Kyle Knoepfel | |
55 | 65 | Kyle Knoepfel | h2(#30702). canvas version:"3.07.02" (2019/03/05) |
56 | 65 | Kyle Knoepfel | |
57 | 65 | Kyle Knoepfel | * _art_ suites: [[art:Release Notes 30202|3.02.02]] |
58 | 67 | Kyle Knoepfel | * _critic_ suites: [[critic:Release Notes#20002|2.00.02]] |
59 | 65 | Kyle Knoepfel | * _gallery_ suites: [[gallery:Release Notes 11202|1.12.02]] |
60 | 65 | Kyle Knoepfel | |
61 | 65 | Kyle Knoepfel | |
62 | 64 | Kyle Knoepfel | h2(#30701). canvas version:"3.07.01" (2019/02/07) |
63 | 1 | Lynn Garren | |
64 | 64 | Kyle Knoepfel | * _art_ suites: [[art:Release Notes 30201|3.02.01]] |
65 | 64 | Kyle Knoepfel | * _critic_ suites: [[critic:Release Notes#20001|2.00.01]] |
66 | 64 | Kyle Knoepfel | * _gallery_ suites: [[gallery:Release Notes 11201|1.12.01]] |
67 | 64 | Kyle Knoepfel | |
68 | 64 | Kyle Knoepfel | h2(#30700). canvas version:"3.07.00" (2019/01/30) |
69 | 64 | Kyle Knoepfel | |
70 | 64 | Kyle Knoepfel | * _art_ suites: [[art:Release Notes 30200|3.02.00]] |
71 | 64 | Kyle Knoepfel | * _critic_ suites: [[critic:Release Notes#20000|2.00.00]] |
72 | 64 | Kyle Knoepfel | * _gallery_ suites: [[gallery:Release Notes 11200|1.12.00]] |
73 | 64 | Kyle Knoepfel | |
74 | 64 | Kyle Knoepfel | |
75 | 64 | Kyle Knoepfel | ---- |
76 | 60 | Kyle Knoepfel | |
77 | 63 | Kyle Knoepfel | h2. %(#30501)canvas% version:"3.05.01", 2019/01/29 ([[art:Release Notes 3.01.01|art suite 3.01.01]], [[art:Release Notes 3.01.02|art suite 3.01.02]]) |
78 | 60 | Kyle Knoepfel | |
79 | 54 | Kyle Knoepfel | h2. %(#30500)canvas% version:"3.05.00", 2018/09/25 ([[art:Release Notes 3.01.00|art suite 3.01.00]]) |
80 | 54 | Kyle Knoepfel | |
81 | 55 | Kyle Knoepfel | * C++17 only |
82 | 55 | Kyle Knoepfel | |
83 | 48 | Kyle Knoepfel | h2. %(#30400)canvas% version:"3.04.00", 2018/06/05 ([[art:Release Notes 3.00.00|art suite 3.00.00]]) |
84 | 48 | Kyle Knoepfel | |
85 | 52 | Kyle Knoepfel | {{collapse(New features) |
86 | 49 | Kyle Knoepfel | * A helper facility for looping over each @art::BranchType@ value has been added: |
87 | 49 | Kyle Knoepfel | <pre><code class="cpp"> |
88 | 50 | Kyle Knoepfel | art::for_each_branch_type([](art::BranchType const bt) { std::cout << bt << '\n'; }); |
89 | 1 | Lynn Garren | </code></pre> |
90 | 1 | Lynn Garren | * The ability to debug TBB task execution within _art_ can be enabled by the user specifying the environment variable @ART_DEBUG_TASKS=<NUM>@, where the value of @<NUM>@ is an integer threshold. |
91 | 1 | Lynn Garren | |
92 | 52 | Kyle Knoepfel | ---- |
93 | 1 | Lynn Garren | |
94 | 52 | Kyle Knoepfel | }} |
95 | 52 | Kyle Knoepfel | |
96 | 52 | Kyle Knoepfel | {{collapse(Breaking changes) |
97 | 49 | Kyle Knoepfel | {{include(30400 breaking changes)}} |
98 | 52 | Kyle Knoepfel | }} |
99 | 49 | Kyle Knoepfel | |
100 | 58 | Kyle Knoepfel | ---- |
101 | 58 | Kyle Knoepfel | |
102 | 73 | Kyle Knoepfel | h2. %(#30601)canvas% version:"3.06.01", 2019/06/07 ([[art:Release Notes 2.13.00|art suite 2.13.00]]) |
103 | 73 | Kyle Knoepfel | |
104 | 73 | Kyle Knoepfel | h2. %(#30600)canvas% version:"3.06.00", 2019/01/22 ([[art:Release Notes 2.12.00|art suite 2.12.00]], [[art:Release Notes 2.12.01|art suite 2.12.01]]) |
105 | 59 | Kyle Knoepfel | |
106 | 58 | Kyle Knoepfel | h2. %(#30304)canvas% version:"3.03.04", 2018/11/19 ([[art:Release Notes 2.11.05|art suite 2.11.05]]) |
107 | 58 | Kyle Knoepfel | |
108 | 57 | Kyle Knoepfel | h2. %(#30303)canvas% version:"3.03.03", 2018/07/16 ([[art:Release Notes 2.11.03|art suite 2.11.03]], [[art:Release Notes 2.11.04|art suite 2.11.04]]) |
109 | 53 | Kyle Knoepfel | |
110 | 47 | Kyle Knoepfel | h2. %(#30302)canvas% version:"3.03.02", 2018/05/04 ([[art:Release Notes 2.11.02|art suite 2.11.02]]) |
111 | 47 | Kyle Knoepfel | |
112 | 42 | Kyle Knoepfel | h2. %(#30301)canvas% version:"3.03.01", 2018/04/02 ([[art:Release Notes 2.11.01|art suite 2.11.01]]) |
113 | 42 | Kyle Knoepfel | |
114 | 41 | Kyle Knoepfel | h2. %(#30300)canvas% version:"3.03.00", 2018/03/30 ([[art:Release Notes 2.11.00|art suite 2.11.00]]) |
115 | 41 | Kyle Knoepfel | |
116 | 44 | Kyle Knoepfel | * This version supports GCC 7.3 with C++17 enabled. |
117 | 43 | Kyle Knoepfel | * In past versions of project:canvas, @RangeSet@ representations for a full run, and for a completely empty run have been the same under the assumption that it is not possible to create a completely empty run. Although this assumption is correct for all newly created products/runs in versions of _art_ that support the concept of a @RangeSet@, it is incorrect when reading files that do not have @RangeSet@ information. To be able to disambiguate between empty range sets and full-run range sets, we have changed the representation of the full-run @RangeSet@ (resolves bug #18996). |
118 | 45 | Kyle Knoepfel | * During the dereferencing of an @art::Ptr<T>@, a check is made that the @art::Ptr@ index is valid. This happens during the first dereference of the product for a given event (or subrun/run). Subsequent dereferences incur no additional run-time overhead. (Resolves issue #18849.) |
119 | 43 | Kyle Knoepfel | |
120 | 43 | Kyle Knoepfel | To support the above changes, two breaking changes were added: |
121 | 43 | Kyle Knoepfel | |
122 | 43 | Kyle Knoepfel | {{include(30300 breaking changes)}} |
123 | 43 | Kyle Knoepfel | |
124 | 40 | Kyle Knoepfel | h2. %(#30203)canvas% version:"3.02.03", 2018/03/16 ([[art:Release Notes 2.10.04|art suite 2.10.04]]) |
125 | 40 | Kyle Knoepfel | |
126 | 39 | Kyle Knoepfel | h2. %(#30202)canvas% version:"3.02.02", 2018/02/15 ([[art:Release Notes 2.10.02|art suite 2.10.02]], [[art:Release Notes 2.10.03|art suite 2.10.03]]) |
127 | 38 | Kyle Knoepfel | |
128 | 38 | Kyle Knoepfel | * Change the fluffing of the @wrappedName_@ transient data member of @BranchDescription@ to the @BranchDescription@ constructor (resolves bug #18925). |
129 | 38 | Kyle Knoepfel | |
130 | 36 | Kyle Knoepfel | h2. %(#30201)canvas% version:"3.02.01", 2018/01/23 ([[art:Release Notes 2.10.01|art suite 2.10.01]]) |
131 | 36 | Kyle Knoepfel | |
132 | 36 | Kyle Knoepfel | h2. %(#30200)canvas% version:"3.02.00", 2018/01/22 ([[art:Release Notes 2.10.00|art suite 2.10.00]]) |
133 | 36 | Kyle Knoepfel | |
134 | 37 | Kyle Knoepfel | * Add @AssnsAlgorithms.h@, which provides means of grouping @Assns@ elements based on the "left" element values of an @Assns<L,R(,D)>@ object. |
135 | 37 | Kyle Knoepfel | * Support Clang 5.0.1; involves introducing a dependency on ROOT for @c2@ builds. |
136 | 37 | Kyle Knoepfel | * Introduce dependency on the header-only @range@ library. |
137 | 37 | Kyle Knoepfel | * Provide specialization for @std::hash<art::Ptr<T>>@ (resolves issue #18655). |
138 | 37 | Kyle Knoepfel | |
139 | 35 | Kyle Knoepfel | h2. %(#30103)canvas% version:"3.01.03", 2017/12/06 ([[art:Release Notes 2.09.03|art suite 2.09.03]], [[art:Release Notes 2.09.04|art suite 2.09.04]], [[art:Release Notes 2.09.05|art suite 2.09.05]], [[art:Release Notes 2.09.06|art suite 2.09.06]]) |
140 | 33 | Kyle Knoepfel | %(#10502)canvas% version:"1.05.02", 2017/12/04 ([[art:Release Notes 2.05.01|art suite 2.05.01]]) |
141 | 31 | Kyle Knoepfel | |
142 | 31 | Kyle Knoepfel | * Fix empty @RangeSet@ handling |
143 | 31 | Kyle Knoepfel | |
144 | 32 | Kyle Knoepfel | h2. %(#30101)canvas% version:"3.01.01", 2017/11/07 ([[art:Release Notes 2.09.02|art suite 2.09.02]]) |
145 | 32 | Kyle Knoepfel | |
146 | 29 | Kyle Knoepfel | h2. %(#30100)canvas% version:"3.01.00", 2017/10/17 ([[art:Release Notes 2.09.00|art suite 2.09.00]], [[art:Release Notes 2.09.01|art suite 2.09.01]]). |
147 | 29 | Kyle Knoepfel | |
148 | 30 | Kyle Knoepfel | h2. %(#30003)canvas% version:"3.00.03", 2017/10/20 ([[art:Release Notes 2.08.04|art suite 2.08.04]]). |
149 | 30 | Kyle Knoepfel | |
150 | 30 | Kyle Knoepfel | * Fix schema evolution rules implemented in @ProductIDStreamer@ (resolves bug #17898). |
151 | 28 | Kyle Knoepfel | |
152 | 27 | Kyle Knoepfel | h2. %(#30002)canvas% version:"3.00.02", 2017/08/30 ([[art:Release Notes 2.08.03|art suite 2.08.03]]). |
153 | 25 | Kyle Knoepfel | |
154 | 26 | Kyle Knoepfel | * Fix stale reference error in @IPRHelper@, introduced by using @art::detail::input_tag@ (resolves bug #17609). |
155 | 26 | Kyle Knoepfel | |
156 | 27 | Kyle Knoepfel | h2. %(#30001)canvas% version:"3.00.01", 2017/08/04 ([[art:Release Notes 2.08.02|art suite 2.08.02]]). |
157 | 25 | Kyle Knoepfel | |
158 | 26 | Kyle Knoepfel | * Upgrade to ROOT 6.10.04d. |
159 | 26 | Kyle Knoepfel | |
160 | 27 | Kyle Knoepfel | h2. %(#30000)canvas% version:"3.00.00", 2017/08/01 ([[art:Release Notes 2.08.00|art suite 2.08.00]], [[art:Release Notes 2.08.01|art suite 2.08.01]]). |
161 | 21 | Kyle Knoepfel | |
162 | 23 | Kyle Knoepfel | {{include(30000 breaking changes)}} |
163 | 21 | Kyle Knoepfel | |
164 | 27 | Kyle Knoepfel | h2. %(#20002)canvas% version:2.00.02, 2017/05/26 ([[art:Release Notes 2.07.03|art suite 2.07.03]]). |
165 | 19 | Kyle Knoepfel | |
166 | 27 | Kyle Knoepfel | h2. %(#20001)canvas% version:2.00.01, 2017/05/25 ([[art:Release Notes 2.07.01|art suite 2.07.01]], [[art:Release Notes 2.07.02|art suite 2.07.02]]). |
167 | 18 | Kyle Knoepfel | |
168 | 20 | Kyle Knoepfel | * Added the @art::EventIDMatcher@ class, which allows for selection of @EventID@<notextile></notextile>s based on a set of patterns. |
169 | 20 | Kyle Knoepfel | * Added a forward iterator to the @art::Assns<A,B,D>@ class template to allow iteration over the collection. |
170 | 20 | Kyle Knoepfel | * @art::thread_safe_registry_via_id@ container added to support concurrent insertion of elements. |
171 | 20 | Kyle Knoepfel | * Improved exception message in the case of a failure to merge @RangeSet@<notextile></notextile>. |
172 | 20 | Kyle Knoepfel | * Significant compile-time improvements to @art::Timestamp@. |
173 | 20 | Kyle Knoepfel | * C++ changes to accommodate compilation with Clang. |
174 | 27 | Kyle Knoepfel | * %{color:red}Breaking changes:% |
175 | 20 | Kyle Knoepfel | ** Removed @art::BranchType@ from @art::TypeLabel@ class to avoid duplication downstream. |
176 | 20 | Kyle Knoepfel | ** Removed @art::DoNotRecordParents@ base class. |
177 | 20 | Kyle Knoepfel | |
178 | 20 | Kyle Knoepfel | |
179 | 27 | Kyle Knoepfel | h2. %(#10604)canvas% version:1.06.04, 2017/03/22 ([[art:Release Notes 2.06.03|art suite 2.06.03]]). |
180 | 17 | Kyle Knoepfel | |
181 | 27 | Kyle Knoepfel | h2. %(#10603)canvas% version:1.06.03, 2017/02/27 ([[art:Release Notes 2.06.02|art suite 2.06.02]]). |
182 | 16 | Kyle Knoepfel | |
183 | 16 | Kyle Knoepfel | * Depends on patched version of ROOT that supports @gPad->WaitForPrimitive@ (resolves issue #15665). |
184 | 16 | Kyle Knoepfel | |
185 | 27 | Kyle Knoepfel | h2. %(#10602)canvas% version:1.06.02, 2017/02/08 ([[art:Release Notes 2.06.01|art suite 2.06.01]]). |
186 | 1 | Lynn Garren | |
187 | 27 | Kyle Knoepfel | h2. %(#10601)canvas% version:1.06.01, 2017/02/07 ([[art:Release Notes 2.06.00|art suite 2.06.00]]). |
188 | 1 | Lynn Garren | |
189 | 26 | Kyle Knoepfel | * Merge libraries into one @canvas@ library (resolves issue #12995). |
190 | 26 | Kyle Knoepfel | * Replace ambiguous error code with two more descriptive codes (resolves issue #14664). |
191 | 26 | Kyle Knoepfel | * Further develop @art::Level@ enumeration infrastructure to support non-state-machine @art@ (related to issue #15398). |
192 | 26 | Kyle Knoepfel | * Enhance @art::Assns@ functionality (issues #10539). |
193 | 26 | Kyle Knoepfel | * Improve consistency of @art::Ptr@ handling (resolves issue #14763). |
194 | 26 | Kyle Knoepfel | * Allow for @const@ qualification of the `size()` member function during type introspection, which @art::Wrapper@ relies on for @Assns@ products (resolves issue #14378). |
195 | 15 | Kyle Knoepfel | |
196 | 27 | Kyle Knoepfel | h2. %(#10501)canvas% version:1.05.01, 2016/10/19 ([[art:Release Notes 2.05.00|art suite 2.05.00]]). |
197 | 11 | Kyle Knoepfel | |
198 | 12 | Kyle Knoepfel | * Minor bug fixes. |
199 | 12 | Kyle Knoepfel | |
200 | 27 | Kyle Knoepfel | h2. %(#10500)canvas% version:1.05.00, 2016/09/14 ([[art:Release Notes 2.04.00|art suite 2.04.00]], [[art:Release Notes 2.04.01|art suite 2.04.01]]). |
201 | 9 | Kyle Knoepfel | |
202 | 10 | Kyle Knoepfel | * Substantially improve @RangeSet@ merging efficiency (resolves issue #13765). |
203 | 10 | Kyle Knoepfel | * Move @canvas/Utilities/detail/metaprogramming.h@ to @cetlib/detail/metaprogramming.h@. |
204 | 10 | Kyle Knoepfel | * Update to CLHEP 2.3.3.2 and ROOT 6.06.08. |
205 | 10 | Kyle Knoepfel | |
206 | 27 | Kyle Knoepfel | h2. %(#10406)canvas% version:1.04.06, 2016/08/17 ([[art:Release Notes 2.03.00|art suite 2.03.00]]). |
207 | 8 | Kyle Knoepfel | |
208 | 8 | Kyle Knoepfel | * Remove link-time dependency of @aggregate.h@ on @TH1@. |
209 | 8 | Kyle Knoepfel | |
210 | 27 | Kyle Knoepfel | h2. %(#10405)canvas% version:1.04.05, 2016/08/08 ([[art:Release Notes 2.02.02|art suite 2.02.02]]). |
211 | 7 | Kyle Knoepfel | |
212 | 7 | Kyle Knoepfel | * Remove dependency on @rapidjson@, which is not used in @canvas@ (resolves issue #12990). |
213 | 7 | Kyle Knoepfel | * Fix exception message whenever a dictionary is not found (resolves issue #13459). |
214 | 7 | Kyle Knoepfel | |
215 | 27 | Kyle Knoepfel | h2. %(#10404)canvas% version:1.04.04, 2016/08/02 ([[art:Release Notes 2.02.01|art suite 2.02.01]]). |
216 | 5 | Kyle Knoepfel | |
217 | 6 | Kyle Knoepfel | * Upgrade to ROOT 6.06.04b, which includes fixes to some memory leaks. |
218 | 6 | Kyle Knoepfel | |
219 | 27 | Kyle Knoepfel | h2. %(#10403)canvas% version:1.04.03, 2016/08/02 ([[art:Release Notes 2.02.00|art suite 2.02.00]]). |
220 | 6 | Kyle Knoepfel | |
221 | 6 | Kyle Knoepfel | * Remove explicit template instantiations in @classes.h@ files. |
222 | 5 | Kyle Knoepfel | |
223 | 27 | Kyle Knoepfel | h2. %(#10402)canvas% version:1.04.02, 2016/06/08 ([[art:Release Notes 2.01.02|art suite 2.01.02]]). |
224 | 4 | Kyle Knoepfel | |
225 | 4 | Kyle Knoepfel | * Fix comparison of unsigned and signed integers in aggregation test suite. |
226 | 4 | Kyle Knoepfel | |
227 | 27 | Kyle Knoepfel | h2. %(#10401)canvas% version:1.04.01, 2016/06/07 ([[art:Release Notes 2.01.01|art suite 2.01.01]]). |
228 | 2 | Kyle Knoepfel | |
229 | 27 | Kyle Knoepfel | h2. %(#10400)canvas% version:1.04.00, 2016/06/06 ([[art:Release Notes 2.01.00|art suite 2.01.00]]). |
230 | 2 | Kyle Knoepfel | |
231 | 3 | Kyle Knoepfel | * @art::Wrapper<T>@ includes an additional datum called @rangeSetID@ that corresponds to the @rowid@ of the appropriate SQLite range-set table. |
232 | 3 | Kyle Knoepfel | * Product aggregation supported for @art::Wrapper<T>@. |
233 | 3 | Kyle Knoepfel | |
234 | 27 | Kyle Knoepfel | h2. %(#10302)canvas% version:1.03.02, 2016/05/24 ([[art:Release Notes 2.00.02|art suite 2.00.02]]). |
235 | 1 | Lynn Garren | |
236 | 27 | Kyle Knoepfel | h2. %(#10301)canvas% version:1.03.01, 2016/05/16 ([[art:Release Notes 2.00.01|art suite 2.00.01]]). |