]> git.evergreen-ils.org Git - Evergreen.git/blob - docs/RELEASE_NOTES_3_8.adoc
LP1615805 No inputs after submit in patron search (AngularJS)
[Evergreen.git] / docs / RELEASE_NOTES_3_8.adoc
1 = Evergreen 3.8 Release Notes =
2 :toc:
3 :numbered:
4 :toclevels: 3
5
6 == Evergreen 3.8.3 ==
7
8 This release contains bug fixes improving on Evergreen 3.8.2. This release includes
9 fixes for two security bugs.
10
11 === Security Fixes ===
12
13 ==== Protect qtype CGI Parameter ====
14
15 Malicious DoS attempts have been witnessed in the wild making use of
16 the fact that Evergreen does not check the contents of the `qtype` CGI
17 parameter.  While these fail their intent, it would be better to
18 simply drop such searches on the floor when they're seen.
19
20 Evergreen will now confirm that the search class in the `qtype` parameter
21 is valid, and that the remainder of the value is structured correctly,
22 before processing the search request.
23
24 This is https://bugs.launchpad.net/evergreen/+bug/1811685[Bug 1811685].
25
26 ==== Catalog Search Denial of Service Protection ====
27
28 Here we add two ways to protect against denial of service attacks:
29
30  * Limit concurrent search requests per client IP address
31   ** This helps address issues of accidental spamming from a malfunctioning OPAC workstation, or web crawlers of various types.  The limit is controlled by a global flag called *opac.max_concurrent_search.ip*.  By default there is no limit set.
32  * Limit the global concurrent search requests for the same query
33   ** This helps address both simple and distributed DoS that send the same search request over and over.  The limit is controlled by a global flag called *opac.max_concurrent_search.query*, and defaults to 20.
34
35 When a limit is exceeded the client receives an HTTP 429 "Too many requests" response from the web server, and the connection is ended.
36
37 This is https://bugs.launchpad.net/evergreen/+bug/1361782[Bug 1361782].
38
39 === Upgrade notes ===
40
41 * https://bugs.launchpad.net/evergreen/+bug/2003707[Bug 2003707] - During upgrade, if you're running with `opensrf_core.xml` located anywhere other than `/openils/conf` in a single-tenant manner, make sure that `SYSCONFDIR` as set in `autogen.sh` matches what's set in the installed `Cronscript.pm`
42 * https://bugs.launchpad.net/evergreen/+bug/1361782[Bug 1361782] includes a schema upgrade
43
44 === Bug Fixes ===
45
46 ==== Administration ====
47
48 * `autogen.sh` can now accept a `-c` switch to specify the location of `opensrf_core.xml`. This is useful for certain multi-tenant setups of Evergreen. (https://bugs.launchpad.net/evergreen/+bug/2003707[Bug 2003707])
49 * Avoids permission lookup when there's no authtoken (https://bugs.launchpad.net/evergreen/+bug/1990306[Bug 1990306])
50
51
52 ==== Documentation ====
53
54 * Updates to Standing Penalties and Group Penalty Thresholds documentation
55
56 === Acknowledgements ===
57
58 We would like to thank the following individuals who contributed code, testing, and documentation to the 3.8.3 point release of Evergreen:
59
60 * Jason Boyer
61 * Galen Charlton
62 * Jeff Davis
63 * Andrea Buntz Neiman
64 * Jane Sandberg
65 * Chris Sharp
66 * Josh Stompro
67
68 == Evergreen 3.8.2 ==
69
70 This release contains bug fixes improving on Evergreen 3.8.1.
71
72 === Upgrade notes ===
73
74 * https://bugs.launchpad.net/evergreen/+bug/1980409[Bug 18980409] introduces a new library setting - "Require call number labels in Copy Editor"
75 * https://bugs.launchpad.net/evergreen/+bug/1771636[Bug 1771636] introduces a workstation setting to show full library name in addition to library shortname 
76
77 === Bug Fixes ===
78
79 ==== Administration ====
80
81 * Fixes a memory leak when performing fleshed Fieldmapper search (https://bugs.launchpad.net/evergreen/+bug/1974195[Bug 1974195])
82 * No Holdings View Loaded For the Pre-cat Bib (https://bugs.launchpad.net/evergreen/+bug/1976557[Bug 1976557])
83 * Permission Groups editor now indicates when a permission overrides a parent permission (https://bugs.launchpad.net/evergreen/+bug/1891375[Bug 1891375]) 
84 * Adds sorting and filtering to the Circ Limit Sets interface (https://bugs.launchpad.net/evergreen/+bug/1945385[Bug 1945385])
85 * Blocks deletion of Shelving Locations that have items attached (https://bugs.launchpad.net/evergreen/+bug/1910546[Bug 1910546])
86
87 ==== Catalog ==== 
88 * Adds independent Org Unit Admin Scrolling for separate navigation of org unit tree and configuration form (https://bugs.launchpad.net/evergreen/+bug/1884950[Bug 1884950])
89
90 ==== Cataloging ====
91
92 * Reduce parallel requests initiated by AngularJS holdings editor (https://bugs.launchpad.net/evergreen/+bug/1930617[Bug 1930617])
93 * Angular editor is now used when accessed from item status and item buckets (https://bugs.launchpad.net/evergreen/+bug/1956619[Bug 1956619])
94 * Holdings editor now enforcing required stat cats (https://bugs.launchpad.net/evergreen/+bug/1965448[Bug 1965448]) 
95 * Fixes an issue where creating new copy alerts / notes and item tags failed for brand
96 new copies (https://bugs.launchpad.net/evergreen/+bug/1959716[Bug 1959716])
97 * Fixes several bugs that prevent item notes from being correctly deleted by the Angular item attributes editor (https://bugs.launchpad.net/evergreen/+bug/1955065[Bug 1955065])
98 * Fixes a regression that required a call number label in order to save an item. A new library setting determines whether call number labels are required or not. (https://bugs.launchpad.net/evergreen/+bug/1980409[Bug 18980409])
99 * Fixes issues preventing creation of item alerts / notes and management of existing copies in the copy editor (https://bugs.launchpad.net/evergreen/+bug/1959716[Bug 1959716])
100 * Fixes several bugs that prevented item tags from being correctly deleted by the Angular item attributes editor (https://bugs.launchpad.net/evergreen/+bug/1981095[Bug 1981095])
101 * Fixes an issue where item alerts contained within copy templates failed to apply when using the new Angular holdings editor. (https://bugs.launchpad.net/evergreen/+bug/1956790[Bug 1956790])
102 * Improves the saving of holdings templates in the Angular holdings editor. (https://bugs.launchpad.net/evergreen/+bug/1957179[Bug 1957179])
103 * Fixes an issue where shelving locations for ancestor org units weren’t included in the shelving location drop down menu in the holdings editor. (https://bugs.launchpad.net/evergreen/+bug/1976002[Bug 1976002])
104 * Adds the full organizational unit path to the Copy Location Selector (https://bugs.launchpad.net/evergreen/+bug/1956627[Bug 1955627])
105 * Fixes an issue where item alert types did not display in the Angular item attributes editor (https://bugs.launchpad.net/evergreen/+bug/1978889[Bug 1978889])
106 * Fixes an issue where creating item alerts would fail in the Angular item attributes editor (https://bugs.launchpad.net/evergreen/+bug/1956986[Bug 1956986])
107
108 ==== Circulation ====
109
110 * Fixes an issue where item alerts prevented hold capture when Hold Capture Delay Verification was used (https://bugs.launchpad.net/evergreen/+bug/1735221[Bug 1735221]) 
111 * Performance fix to add request serialization to Edit Due Date in Items Out tab (https://bugs.launchpad.net/evergreen/+bug/1932203[Bug 1932203])
112 * Fixes Holds Pull List to show Library Shortnames instead of Library IDs in Requesting Library and Selecting Library columns (https://bugs.launchpad.net/evergreen/+bug/1978839[Bug 1978839])
113 * On the Holds Shelf the “User Display Name” and “User Alias or Display Name” fields will now use the preferred name if present. (https://bugs.launchpad.net/evergreen/+bug/1838553[Bug 1838553])
114 * Adds manual refresh for patron penalties (https://bugs.launchpad.net/evergreen/+bug/1823225[Bug 1823225])
115 * Adds a missing patron-visibility flag to messages created for the patron message center by notification action triggers (https://bugs.launchpad.net/evergreen/+bug/1958573[Bug 1958573])
116 * Fixes a typo on the Holds Details screen of View Holds (https://bugs.launchpad.net/evergreen/+bug/1979099[Bug 1979099])
117 * Fixes issues with printing from Angular.  The option to print landscape is restored and the size of the text is no longer scaled down. This affected printing of the Holds Pull List. (https://bugs.launchpad.net/evergreen/+bug/1986725[Bug 1986725])
118 * Changes the patron print bills page label from select "items" to select "copies" (https://bugs.launchpad.net/evergreen/+bug/1980692[Bug 1980692])
119
120 ==== Client ====
121
122 * Fixes an issue where Angular comboboxes would attempt to fetch all rows from a linked table (https://bugs.launchpad.net/evergreen/+bug/1851884[Bug 1851884])
123 * Adds a workstation setting to show full library name in addition to library shortname (https://bugs.launchpad.net/evergreen/+bug/1771636[Bug 1771636])
124 * Fixes an issue where the shelving location selector didn’t work in several interfaces including adding course materials, circulation limit sets, and distribution formulas in acquisitions. (https://bugs.launchpad.net/evergreen/+bug/1980887[Bug 1980887])
125
126 ==== Course Materials ====
127
128 * Adds a user visible warning when deleting a Term linked to Courses (https://bugs.launchpad.net/evergreen/+bug/1942647[Bug 1942647])
129 * Fixes an issue where the carriage return activated the Add Materials and Add User buttons (https://bugs.launchpad.net/evergreen/+bug/1930896[Bug 1930896])
130 * Fixes a display issue where the updated call number is not reflected in the grid when adding materials to courses. (https://bugs.launchpad.net/evergreen/+bug/1907974[Bug 1907974])
131 * Fixes issues with the Course Details page display of an archived course. (https://bugs.launchpad.net/evergreen/+bug/1939994[Bug 1939994])
132
133 ==== Documentation ====
134
135 * Updates to the Holds Management page documentation
136 * Updates to Authorities documentation
137 * Adds Group Penalty Threshold documentation
138 * Updates to Carousels documentation (https://bugs.launchpad.net/evergreen/+bug/1901895[Bug 1901895])
139 * Updates to My Accounts section to reflect changes in Bootstrap
140
141 ==== OPAC ====
142
143 * Fixes formatting in Current Holds Group table in MyAccount (Bootstrap OPAC) (https://bugs.launchpad.net/evergreen/+bug/1950345[Bug 1950345])
144 * Fixes formatting in Holds Groups Table in MyAccount (TPAC) (https://bugs.launchpad.net/evergreen/+bug/1950514[Bug 1950514])
145 * If DOB is marked required, blocks self-registration form from submitting with a blank DOB (https://bugs.launchpad.net/evergreen/+bug/1950166[Bug 1950166])
146 * Fixes an issue where DOB field would auto populate with the current date (https://bugs.launchpad.net/evergreen/+bug/1951642[Bug 1951642])
147 * Fixes an issue where payments made in the OPAC via Stripe were not credited in Evergreen for circulation bills as well as making minor display tweaks to Bootstrap. (https://bugs.launchpad.net/evergreen/+bug/1981628[Bug 1981628])
148 * Adds a missing patron-visibility flag to messages created for the patron message center by notification action triggers (https://bugs.launchpad.net/evergreen/+bug/1958573[Bug 1958573])
149 * Fixes an issue in Bootstrap where the headers in advanced search couldn’t be translated. (https://bugs.launchpad.net/evergreen/+bug/1991395[Bug 1991395])
150 * Fixes an issue in Bootstrap where list titles and descriptions couldn’t be edited. (https://bugs.launchpad.net/evergreen/+bug/1909583[Bug 1909583])
151 * Other Formats and Editions now displays more prominently in Bootstrap. (https://bugs.launchpad.net/evergreen/+bug/1903767[Bug 1903767])
152 * Restores the ability to update existing holds if a patron changes certain notification preferences or contact information. Evergreen will detect these changes and ask ther patron if they want to update existing holds with the new contact information and/or notification preferences. (https://bugs.launchpad.net/evergreen/+bug/1902272[Bug 1902272])
153 * Adds the 'add basket to bucket' functionality in Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1898775[Bug 1898775])
154 * Fixes an issue with SSO Shibboleth logout and re-login. (https://bugs.launchpad.net/evergreen/+bug/1989209[Bug 1989209])
155
156
157 === Acknowledgements ===
158
159 We would like to thank the following individuals who contributed code,
160 testing, and documentation to the 3.8.2 point release of Evergreen:
161
162 * John Amundson
163 * Jason Boyer
164 * Dan Briem
165 * Eva Cerninakova 
166 * Galen Charlton
167 * Garry Collum
168 * Dawn Dale
169 * Jeff Davis
170 * Ryan Eby
171 * Jason Etheridge
172 * Bill Erickson
173 * Elaine Hardy
174 * Kyle Huckins
175 * Stephanie Leary
176 * Tiffany Little
177 * Mary Llewellyn
178 * Terran McCanna
179 * Gina Monti
180 * Christine Morgan 
181 * Michele Morgan
182 * Andrea Buntz Neiman
183 * New Developers Working Group
184 * Jennifer Pringle
185 * Mike Rylander
186 * Jane Sandberg 
187 * Chris Sharp
188 * Jason Stephenson
189 * Jennifer Weston
190 * Beth Willis
191 * Carol Witt
192
193
194 == Evergreen 3.8.1 ==
195
196 This release contains bug fixes improving on Evergreen 3.8.0
197
198 === Upgrade notes ===
199
200 The fix for https://bugs.launchpad.net/evergreen/+bug/1939338[Launchpad bug 1939338] modifies the `fm_IDL.xml` file.  To ensure that everything is up-to-date, existing Evergreen sites should run `autogen.sh` after restarting OpenSRF services and before restarting Apache.
201
202 === Bug Fixes ===
203
204 ==== Acquisitions ====
205
206 * Protects real copies from deletion by an acqusitions line item cancel 
207 (https://bugs.launchpad.net/evergreen/+bug/1928003[Bug 1928003])
208 * Fixes an issue where EDIWriter.pm was not correctly applying some attribute types (https://bugs.launchpad.net/evergreen/+bug/1930740[Bug 1930740])
209 * Fixes the Providers form to be more friendly to screenreaders (https://bugs.launchpad.net/evergreen/+bug/1950507[Bug 1950507])
210
211
212 ==== Administration ====
213
214 * Adds rdeleted parameter to the pingest.pl script (https://bugs.launchpad.net/evergreen/+bug/1862652[Bug 1862652])
215 * Fixes bug where Carousels could only be viewed & edited by their creating user (https://bugs.launchpad.net/evergreen/+bug/1939338[Bug 1939338])
216 * Updates Hopeless Holds interface so Title links open in a new tab (https://bugs.launchpad.net/evergreen/+bug/1909681[Bug 1909681])
217 * Fixes an issue where specific 'opensrf' user is required in oils_ctl.sh and autogen.sh https://bugs.launchpad.net/evergreen/+bug/1900005[Bug 1900005])
218 * Adds MARC_NAMESPACE to Const.pm (https://bugs.launchpad.net/evergreen/+bug/1930747[Bug 1930747])
219 * Fixes an issue preventng correct MADS processing of field 755 (https://bugs.launchpad.net/evergreen/+bug/1800871[Bug 1800871])
220 * Adds default columns in the Angular staff catalog View Holds tab (https://bugs.launchpad.net/evergreen/+bug/1907123[Bug 1907123])
221 * Adds filters to MARC Coded Value Map grid (https://bugs.launchpad.net/evergreen/+bug/1843970[Bug 1843970])
222
223 ==== API ====
224
225 * Makes changes to the eBook API to support Overdrive's updated Checkouts API (https://bugs.launchpad.net/evergreen/+bug/1951021[Bug 1951021])
226 * Fixes issue where loading records with located URIs deleted and recreated call_numbers (https://bugs.launchpad.net/evergreen/+bug/1482757[Bug 1482757])
227
228
229 ==== Architecture ====
230
231 * Fixes typo in fm_idl.xml (https://bugs.launchpad.net/evergreen/+bug/1957840[Bug 1957840])
232 * Fixes an issue where retrieving a title via SuperCat can crash if the title has a serial unit with statcats (https://bugs.launchpad.net/evergreen/+bug/1970486[Bug 1970486])
233 * Upgrades karma in NPM dependencies (https://bugs.launchpad.net/evergreen/+bug/1965432[Bug 1965432])
234 * Fixes variable in log_me sub (https://bugs.launchpad.net/evergreen/+bug/1778783[Bug 1778783])
235 * Fixes material icons package error in NPM install (https://bugs.launchpad.net/evergreen/+bug/1969232[Bug 1969232])
236
237
238 ==== Catalog ==== 
239
240 * Fixes an issue in the traditional staff catalog where PLACE_UNFILLABLE_HOLD override fails if there are no items available (https://bugs.launchpad.net/evergreen/+bug/1906842[Bug 1906842])
241 * Fixes an issue in the Patron Search from Place Holds modal where barcode search was failing (https://bugs.launchpad.net/evergreen/+bug/1955927[Bug 1955927])
242 * Restores Hold links in the staff catalog detail page that were broken by a Chrome update (https://bugs.launchpad.net/evergreen/+bug/1964019[Bug 1964019])
243 * Fixes an issue in the traditional staff catalog where user settings wouldn't load in the Place Holds interface (https://bugs.launchpad.net/evergreen/+bug/1939426[Bug 1939426])
244 * Excludes empty bibs with transcendent=f from location limited staff searches (https://bugs.launchpad.net/evergreen/+bug/1746800[Bug 1746800])
245 * Fixes issue in the traditional staff catalog where Patron Barcode Completion didn't populate correctly in the Place Holds interface (https://bugs.launchpad.net/evergreen/+bug/1965317[Bug 1965317])
246 * Fixes an issue in the Angular staff catalog where monograph parts were sorting incorrectly in the Place Holds interface (https://bugs.launchpad.net/evergreen/+bug/1965161[Bug 1965161])
247 * Adds default columns in the Angular staff catalog View Holds tab (https://bugs.launchpad.net/evergreen/+bug/1907123[Bug 1907123])
248
249 ==== Cataloging ====
250
251 * Fixes a regression where owning libraries were not indicated in the Holdings View dropdown (https://bugs.launchpad.net/evergreen/+bug/1739277[Bug 1739277])
252 * Fixes an issue where batch deletes from an item bucket exhausted drones (https://bugs.launchpad.net/evergreen/+bug/1949910[Bug 1949910])
253 * Fixes an issue where the Holdings View showed incorrect item counts (https://bugs.launchpad.net/evergreen/+bug/1933275[Bug 1933275])
254 * Adds Author field to Item Buckets (https://bugs.launchpad.net/evergreen/+bug/1800474[Bug 1800474])
255 * Fixes an issue where batch removal of items from an item bucket exhausted drones (https://bugs.launchpad.net/evergreen/+bug/1968082[Bug 1968082])
256 * Splits Active Date and Create Date into separate columns in Angular Holdings View (https://bugs.launchpad.net/evergreen/+bug/1916600[Bug 1916600])
257 * Adds Author field to Item Buckets (https://bugs.launchpad.net/evergreen/+bug/1800474[Bug 1800474])
258 * Fixes copy templates setting to allow migration of copy templates from AngularJS to Angular (https://bugs.launchpad.net/evergreen/+bug/1951162[Bug 1951162])
259 * Angular copy location editor can now pass multiple context org unit IDs (https://bugs.launchpad.net/evergreen/+bug/1956626[Bug 1956626])
260
261
262 ==== Circulation ====
263
264 * Excludes child organizational units when fleshing standing penalties (https://bugs.launchpad.net/evergreen/+bug/1959461[Bug 1959461])
265 * Fixes invalidate email regression (https://bugs.launchpad.net/evergreen/+bug/1950826[Bug 1950826])
266 * Fixes a bug where Patron Search could cause the browser to become unresponsive (https://bugs.launchpad.net/evergreen/+bug/1959904[Bug 1959904])
267 * Fixes issue with slow user merging or deleting (https://bugs.launchpad.net/evergreen/+bug/1960956[Bug 1960956])
268 * Fixes display issue in Hold Shelf Record Summary Detail View (https://bugs.launchpad.net/evergreen/+bug/1838580[Bug 1838580])
269 * Adds server-side saving for Holds Groups grids (https://bugs.launchpad.net/evergreen/+bug/1956003[Bug 1956003])
270 * Fixes download & print issue with Angular Holds Pull List (https://bugs.launchpad.net/evergreen/+bug/1958265[Bug 1958265])
271 * Adds duplicate barcode check to Item Status Replace Barcode (https://bugs.launchpad.net/evergreen/+bug/1950468[Bug 1950468])
272
273
274 ==== Client ====
275
276 * Improved filtering on egBasicComboBox typeaheads (https://bugs.launchpad.net/evergreen/+bug/1819233[Bug 1819233])
277 * Corrects print template data field names for Items Out template (https://bugs.launchpad.net/evergreen/+bug/1766726[Bug 1766726])
278 * Implements batch method for adding users to a bucket (https://bugs.launchpad.net/evergreen/+bug/1946531[Bug 1946531])
279 * Fixes untranslatable strings in the Historical Bills print template (https://bugs.launchpad.net/evergreen/+bug/1772631[Bug 1772631])
280
281 ==== Course Materials ====
282
283 * Adds owning library check to Course Terms uniqueness constraint 
284 (https://bugs.launchpad.net/evergreen/+bug/1942645[LP1942645])
285 * Fixes course search issue (https://bugs.launchpad.net/evergreen/+bug/1913340[Bug 1913340])
286
287 ==== Documentation ====
288
289 * Updates to Print Template Export documentation (https://bugs.launchpad.net/evergreen/+bug/1929592[Bug 1929592])
290 * Added Advanced Authorities documentation (https://bugs.launchpad.net/evergreen/+bug/1944205[Bug 1944205])
291 * Corrections to Override Actions documentation
292 * Updates to Barcode Completion documentation
293 * Added Course Materials documentation
294 * Updates to Holds documentation
295 * Updates to z39.50 documentation
296 * Updates to OPAC Lists documentation
297 * Added relevant Conference videos to some documentation pages
298 * Updates to Using the Public Access Catalog documentation
299 * Updates to Billing documentation
300
301 ==== OPAC ====
302
303 * Fixes an issue in the Bootstrap OPAC where changing a branch did not clear the shelving location list (https://bugs.launchpad.net/evergreen/+bug/1946019[Bug 1946019])
304 * Restores line breaks in Patron Messages (https://bugs.launchpad.net/evergreen/+bug/1927990[Bug 1927990])
305 * Fixes an issue where some electronic resource links would not display in the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1950394[Bug 1950394])
306 * Fixes an issue in the Bootstrap OPAC where the 'More Details' button was not translatable (https://bugs.launchpad.net/evergreen/+bug/1919494[Bug 1919494])
307 * Fixes an issue where a hold in the status "Hold Shelf Delay" displayed blank in the OPAC (https://bugs.launchpad.net/evergreen/+bug/1959405[Bug 1959405])
308 * Fixes Bootstrap OPAC 'More Details' button so it toggles to 'Less Details' when clicked (https://bugs.launchpad.net/evergreen/+bug/1920039[Bug 1920039])
309 * Fixes circ history CSV export in the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1954923[Bug 1954923])
310 * Fixes color contrast on Bootstrap OPAC forms (https://bugs.launchpad.net/evergreen/+bug/1942240[Bug 1942240])
311 * Fixes formatting in Bootstrap OPAC My Lists (https://bugs.launchpad.net/evergreen/+bug/1907863[Bug 1907863])
312 * Fixes a bug in the Bootstrap OPAC where the self-registration library setting wasn't honored (https://bugs.launchpad.net/evergreen/+bug/1958163[Bug 1958163])
313 * Adds Matomo support to the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1966802[Bug 19668020])
314 * Stopgap fix to prevent OPAC payment when zero-dollar or negative bills are present on a patron's account (https://bugs.launchpad.net/evergreen/+bug/1965579[Bug 19965579])
315
316
317 ==== Serials ====
318
319 * Fixes an issue where subscription manager fetched too many parallel requests (https://bugs.launchpad.net/evergreen/+bug/1949389[Bug 1949389])
320
321 ==== Self Check ====
322
323 * Adds Preferred Name to self checkout (https://bugs.launchpad.net/evergreen/+bug/1847827[Bug1847827])
324
325
326 === Acknowledgements ===
327
328 We would like to thank the following individuals who contributed code,
329 testing and documentation patches to the 3.8.1 point release of Evergreen:
330
331 * MaryAnn Alexander
332 * John Amundson
333 * Jason Boyer
334 * Dan Briem
335 * Jennifer Bruch
336 * Christine Burns
337 * Steve Callender
338 * Galen Charlton
339 * Garry Collum
340 * Jeff Davis
341 * Bill Erickson
342 * Jason Etheridge
343 * Lynn Floyd
344 * Ruth Frasur
345 * Jeff Godin
346 * Elaine Hardy
347 * Blake Graham Henderson
348 * Kyle Huckins
349 * Tiffany Little
350 * Shula Link
351 * Mary Llewellyn
352 * Terran McCanna
353 * Gina Monti
354 * Michele Morgan
355 * Andrea Buntz Neiman
356 * Jennifer Pringle
357 * Mike Risher
358 * Mike Rylander
359 * Jane Sandberg
360 * Chris Sharp
361 * Jason Stephenson
362 * Josh Stompro
363 * Jennifer Weston
364 * Beth Willis
365 * Jessica Woolford
366
367
368 == Evergreen 3.8.0 ==
369
370 === Upgrade notes ===
371
372 ==== New Permissions ====
373
374 * UPDATE_USER_PHOTO_URL
375 * CREATE_RECORD_NOTE
376 * UPDATE_RECORD_NOTE
377 * DELETE_RECORD_NOTE
378
379 ==== Removed Permissions ====
380
381 * VIEW_STANDING_PENALTY
382
383 ==== New Library Settings ====
384
385 * Pickup Library Soft stalling interval
386 * Pickup Library Hard stalling interval
387 * Void item deposit fee on checkin
388 * Require Photo URL field on patron registration
389 * Show Photo URL field on patron registration
390 * Suggest Photo URL field on patron registration
391 * My Account URL
392 * Maximum number of spelling suggestions that may be offered
393 * Stripe ISO 4217 currency code
394 * Use Item Price or Cost as Primary Item Value
395 * Use Item Price or Cost as Backup Item Value
396 * Staff Catalog Search Filters
397 * Workstation OU is the default for staff-placed holds
398
399 ==== Backing Up Auditor `alert_message` Column ====
400
401 WARNING: The upgrade script will remove the alert_message field from the
402 auditor table, so if you care about preserving those you should run a query to
403 create a backup.
404
405 For example:
406
407 [source,sql]
408 ----
409 CREATE TABLE auditor.backup_usr_alert_msg AS
410    SELECT audit_id, audit_time, audit_action, audit_user,
411           audit_ws, id as "usr_id", last_update_time,
412           alert_message
413    FROM auditor.actor_usr_history
414    WHERE alert_message IS NOT NULL;
415 ----
416
417 ==== Reindexing for Search Suggestions ====
418
419 The upgrade includes a partial reindexing to update search suggestions. After
420 running the schema upgrade script, e.g., `version-upgrade/3.7.1-3.8.0-upgrade-db.sql`,
421 the reindexing can be done as follows.
422
423 First, in a `psql` session connected to your Evergreen database, run:
424
425 [source,sql]
426 ----
427 \a
428 \t
429
430 \o title
431 select value from metabib.title_field_entry where source in (select id from biblio.record_entry where not deleted);
432 \o author
433 select value from metabib.author_field_entry where source in (select id from biblio.record_entry where not deleted);
434 \o subject
435 select value from metabib.subject_field_entry where source in (select id from biblio.record_entry where not deleted);
436 \o series
437 select value from metabib.series_field_entry where source in (select id from biblio.record_entry where not deleted);
438 \o identifier
439 select value from metabib.identifier_field_entry where source in (select id from biblio.record_entry where not deleted);
440 \o keyword
441 select value from metabib.keyword_field_entry where source in (select id from biblio.record_entry where not deleted);
442
443 \o
444 \a
445 \t
446 \q
447 ----
448
449 Then, from the command line:
450
451 [source,sh]
452 ----
453 $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl title > title.sql
454 $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl author > author.sql
455 $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl subject > subject.sql
456 $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl series > series.sql
457 $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl identifier > identifier.sql
458 $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl keyword > keyword.sql
459 ----
460
461 Then finally, back in `psql`:
462
463 [source,sql]
464 ----
465 ALTER TABLE search.symspell_dictionary SET UNLOGGED;
466 TRUNCATE search.symspell_dictionary;
467
468 \i identifier.sql
469 \i author.sql
470 \i title.sql
471 \i subject.sql
472 \i series.sql
473 \i keyword.sql
474
475 CLUSTER search.symspell_dictionary USING symspell_dictionary_pkey;
476 REINDEX TABLE search.symspell_dictionary;
477 ALTER TABLE search.symspell_dictionary SET LOGGED;
478 VACUUM ANALYZE search.symspell_dictionary;
479
480 DROP TABLE search.symspell_dictionary_partial_title;
481 DROP TABLE search.symspell_dictionary_partial_author;
482 DROP TABLE search.symspell_dictionary_partial_subject;
483 DROP TABLE search.symspell_dictionary_partial_series;
484 DROP TABLE search.symspell_dictionary_partial_identifier;
485 DROP TABLE search.symspell_dictionary_partial_keyword;
486 ----
487
488 ==== Updating Reports on Patron Notes ====
489
490 The underlying data structure for patron notes has changed with all notes
491 living in the `actor.usr_message` table, so report writers will need to change
492 the following paths in existing reports:
493
494  * `actor.usr_note` -> all columns
495  * `actor.usr` -> `alert_message`
496  * `actor.usr_standing_penalty` -> note
497
498 And for `actor.usr_message`, there is now both a `pub` column and a `deleted` column.
499
500 ==== Holdings Editor Preferences ====
501
502 Given the number of changes between the AngJS holdings editor and the
503 new Angular interfaces, preferences stored for the AngJS interface will
504 not be honored by the new interface.  New preferences will have to be
505 applied by staff as needed.
506
507 === New Features ===
508
509 ==== Acquisitions ====
510
511 ===== Angular Rewrite of Acquisitions Administration Interfaces =====
512
513 Several administrative interfaces for acquisitions have been rewritten
514 to use the Angular framework:
515
516   * Claiming
517   * Currencies and Exchange Rates
518   * Distribution Formulas
519   * EDI Attribute Sets
520   * Fund Administration
521
522 ====== Claiming ======
523
524 The interface for managing claim policies is now a single multi-tabbed
525 page that combines the previous interfaces for:
526
527   * Claim Policies
528   * Claim Policy Actions
529   * Claim Types
530   * Claim Event Types
531
532 The new interface can be found in Administration > Acquisitions
533 Administration > Claiming.
534
535 ====== Currencies and Exchange Rates ======
536
537 The previous two interfaces for managing currencies and exchange
538 rates have been consolidated into one. The new interface allows
539 users to create, modify, and delete currency types. In addition,
540 the list of currencies now has 'Manage Exchange Rates' buttons
541 to allow specifying the exchange rate from the selected currency
542 to another one.
543
544 If an exchange is set in one direction, e.g., from USD to EUR,
545 opening the 'Manage Exchange Rates' for EUR will show the inverse
546 of the exchange rate for USD as a read-only field.
547
548 The new interface can be found in Administration > Acquisitions
549 Administration > Currencies and Exchange Rates.
550
551 ====== Distribution Formulas ======
552
553 The Angular interface for managing distribution formulas displays
554 a grid of existing formulas and allows authorized users to create,
555 modify, and delete formulas. The dialog for editing a formula
556 allows the user to define one or more entries containing
557 owning library, number of items, and optionally shelving location, fund,
558 circulation modifier, and collection code.
559
560 The new interface can be found in Administration > Acquisitions
561 Administration > Distribution Formulas.
562
563 ====== EDI Attribute Sets ======
564
565 The Angular EDI attribute sets interface is similar to the previous
566 one. However, it includes enhancements to display the number of
567 providers using an attribute set as well as a 'View Providers' button
568 to navigate to those providers.
569
570 The new interface can be found in Administration > Acquisitions
571 Administration > EDI Attribute Sets.
572
573 ====== Fund Administration ======
574
575 The new fund administration interface unifies configuration of funding
576 sources, purchasing funds, and fund tags. The interface has three tabs:
577
578   * Funds
579   * Funding Sources
580   * Fund Tags
581
582 The Funds tab displays a filterable list of funds that allows the
583 user to create, modify, and remove funds. The fund name is hyperlinked;
584 clicking that hyperlink opens a dialog that has the following tabs:
585
586   * Summary: this contains summary information about the fund,
587     including various balances.
588   * Allocations: this lists allocations to and from the fund.
589   * Transfers: this lists fund transfers to and from the fund.
590   * Debits: this lists debits against the fund. As an enhancement
591     from the previous version of the funds interface, the grid
592     of debits now has links to the line item, purchase order,
593     and/or invoice associated with the debit.
594   * Tags: this lists the tags associated with the funds and allows
595     the user to add or remove tag associations.
596
597 The fund management dialog also allows the user to create allocations
598 into the fund and transfer money away from the fund.
599
600 The funds tab also has a 'Fiscal Propagation and Rollover' button.
601 The library from the selector on the funds tab is used to set the
602 context org unit for the propagation and rollover. Upon clicking the
603 button, a dialog box appears that allows the user to select the fiscal
604 year to propagate or rollover, checkboxes to specify whether to also
605 perform a fiscal year close-out and whether to limit a close-out to
606 encumbrances, and a checkbox to specify whether or not to do a dry run.
607 Upon completion of the propagation, the dialog will display summary
608 results.
609
610
611 The Funding Sources tab displays a filterable list of funding
612 sources and allows the user to create funding sources, apply and view
613 credits, allocate money to funds, and view allocations.
614
615 The Fund Tags tab presents a grid that allows users view view,
616 create, modify, and delete fund tags. Assigning a tag to a fund is
617 done using the fund management dialog.
618
619 The new interface can be found in Administration > Acquisitions
620 Administration > Fund Administration.
621
622 ====== Other Changes ======
623
624 The following miscellaneous changes are included in this work:
625
626 * Funds are now displayed in Angular selectors with the pattern
627   "CODE (YEAR) (OWNING_LIBRARY)"
628 * The automatically generated fund allocation note associated with
629   fund transfers now reads "Transfer to/form fund CODE (YEAR) (OWNER)".
630   Previously, the fund was identified only by its numeric fund ID.
631 * A new style was added for display of negative money amounts. By
632   default, these amounts display with red text.
633 * The fund propagation and rollover report now includes the total
634   amount of encumbrances that were rolled over.
635 * Various dynamic Angular comboboxes will now display up to 100
636   entries upon a click without requiring that the user submit a
637   search term.
638 * Various Angular record editing forms will now complain if
639   the user tries to save a field value that contains only whitespace.
640 * Currency amounts in Angular are no longer displayed with a currency
641   symbol. Prior to this change, monetary amounts were displayed with
642   a dollar sign regardless of the intended currency.
643 * Various changes were made in the IDL to adjust field labels and
644   to mark certain fields as required.
645
646 ===== Fund Debit Auditor Table =====
647
648 A new auditor table now exists for the `acq.fund_debit` table. This
649 allows detailed reporting on changes to encumbrances and expenditures
650 over time.
651
652
653 ===== Miscellaneous =====
654
655 * Funding sources now have an active flag. If a funding source is marked
656   as inactive, adding credits to it or allocating from it is disabled, and
657   it will not show up in the list of possible funding sources when allocating
658   to a fund.
659
660 ==== Administration ====
661
662 ===== Case Insensitive Browse Entries =====
663
664 It is now possible for a system administrator to select whether
665 a particular browse entry field's case should be considered when
666 determining uniqueness.  A new "Browse Folding is Case-Insensitive"
667 column has been added to the Administration -> Server Administration
668 -> MARC Search/Facet Fields interface.  Note that a bib record reingest
669 will be required for changes to take effect.
670
671 ===== Miscellaneous =====
672
673 * The 'Search Filter Groups' administration interface is now ported
674   to Angular.
675
676 ==== Cataloging ====
677
678 ===== Holdings Maintenance & Item Attributes Editor Angular Port =====
679
680 Key differences from the AngularJS Holdings and Item Attr. editor 
681 interfaces include the following:
682
683 * Tabbed Holdings vs. Item Attr. interfaces.
684 ** With option to display as a unified interface without tabs.
685 * Item Attr. fields retain position when showing/hiding
686 * Improve keyboard navigation of Item Attr. editor.
687 * Templates are once again managed directly in the Item Attr. editor.
688 * Item Attr. displays values as counts summaries with option to edit by
689   clicking on a field (or tabbing + Enter) a la XUL.
690 * Item Attr batch values support changing only items with selected values.
691 * Batch value display limit vertical expansion of long lists with option for 
692   manual expansion.
693 * All fields are visible by default; hidden by modifying preferences. 
694 * Owning Library is managed in the Item Attr editor a la XUL.
695 * New feature called "Change Circ Lib When Owning Lib Changes"
696 * Generate Barcodes and Use Checkdigit are visible in the main holdings
697   form with option to hide.
698 * Print Labels checkbox moved from Preferences to the save actions toolbar.
699 * Option to hide various Holdings interface columns for extra horizontal space.
700 * Option to temporarily expand columns in the Holdings interface for reviewing
701   wide columns of text.
702
703 ===== Fix for Authority Records with Long Subfields =====
704
705 Importing or updating authority records with long subfields, i.e. in
706 the vicinity of 5,000 characters or more in length, can cause database
707 errors that will prevent the update or import from happening.  The
708 error occurs because non-full text indexes in PostgreSQL have a
709 limited length, and long fields sometimes lead to index entries that
710 exceed this maximum value.
711
712 In order to rectify this issue, two database indexes on the
713 `authority.full_rec` table's `value` column have been redefined to
714 match their counterparts in the `metabib.real_full_rec` table.  After
715 this update, only the first 1024 characters of an authority field or
716 subfield will be considered by these indexes.
717
718 NOTE: These indexes are not used for authority record search, though
719 they are used for sorting and paging.
720
721 ===== Bib Record -1 Can No Longer Be Edited =====
722
723 Now when retrieving the bibliographic record with the id of -1 the
724 delete button will be missing and the save button is disabled.
725
726 In addition, new database rules now protect bib record ID -1,
727 call number ID -1 and copy location ID 1 from editing.
728
729 ===== MARC Batch Import/Export Separate Edit Date/Editor Toggle =====
730
731 Adds a new field "Update Bib Edit Date" to Vandelay merge profiles which
732 allows users to update the edit date and editor information on a
733 merged/overlaid bib record without also having to modify the bib source.
734
735 For backwards compatibility, any existing merge profiles that have 
736 "Update Bib Source" applied will also get "Update Bib Edit Date" applied.
737
738 ===== Browse Heading Navigation =====
739
740 In the Angular staff catalog, when viewing the list of bib records linked
741 to a heading, it's now possible to navigate to the previous or next heading
742 directly on the bib list page without having to return to the original
743 browse search.
744
745 ===== Bibliographic Record Notes =====
746
747 Bibliographic record notes (i.e., administrative notes stored in the
748 `biblio.record_note` table, not 5XX fields in the MARC record) can now
749 be edited from the Record Notes tab.  Three new permissions manage this
750 and should be added to cataloging accounts and permission groups as
751 appropriate:  `CREATE_RECORD_NOTE`, `UPDATE_RECORD_NOTE`, and
752 `DELETE_RECORD_NOTE`. There is an optional public display flag that is
753 not yet supported in the public catalog but included to support future functionality.
754
755 ==== Circulation ====
756
757 ===== Granular control over how to use price and acquisition cost to determine item value  =====
758
759 This feature adds two new library settings:
760
761  * Use Item Price or Cost as Primary Item Value
762  * Use Item Price or Cost as Backup Item Value
763
764 Which intersect the behavior of these existing settings:
765
766  * Charge lost on zero
767  * Default Item Price
768  * Minimum Item Price
769  * Maximum Item Price
770
771 Each of these settings affect how item price is used in
772 various contexts and is not limited to "lost" items, but
773 can affect notices, fine rules, and billings for long
774 overdue and damaged items (as well as lost items).
775
776 By default, the price field on items is the only field
777 considered by these various uses, but if we set, for
778 example, "Use Item Price or Cost as Primary Item Value" to
779 "cost", then we'll use the cost field instead of the price
780 field.
781
782 Alternately, if we set the "Backup Item Value" to "cost"
783 and either leave the "Primary Item Value" setting unset or
784 set to "price", then we'll consider the price field first,
785 and if it is either unset/null or equal to 0 (and
786 "Charge lost on zero" is true), then it'll fall-through to
787 the cost field.  We can also flip the behavior with these
788 settings and consider cost first and then price second.
789
790 The primary intended use case for this feature is:
791
792  - If there's an acquisition cost, charge this as the lost value.
793  - If there's not an acquisition cost, but there's a price, charge the price.
794  - If neither, charge the default value.
795
796 ===== Library selector on the holds pull list =====
797
798 The holds pull list screen now includes a library/org unit selector.
799 This allows staff to view the pull list of any library where they have
800 VIEW_HOLDS permissions, rather than having to log in to a workstation
801 at that library.
802
803 ===== Angular Holds Pull List =====
804
805 The holds pull list now uses Angular and has an address of `/eg2/en-US/staff/circ/holds/pull-list`.
806
807 ===== New Item Triggered Events Log =====
808
809 A reimplementation of the Item Triggered Events Log interface, building
810 on the Patron Triggered Events Log Angular reimplementation.
811
812 ===== Template Support for Information and My Account URLs =====
813
814 A new setting has been added named `lib.my_account_url` to provide a
815 path usable in templates to a patron's account login. Both this and
816 the existing `lib.info_url` settings are now available in the
817 server-side processed templates, action triggers and traditional print
818 receipts.
819
820 Web side processed templates can be found in 
821 Administration -> Server Administration -> Print Templates.
822
823 You can add settings using the following syntax:
824
825 [source,html]
826 ----
827 <div>[% helpers.get_org_setting(staff_org.id, 'lib.info_url'); %]</div>
828 <div>[% helpers.get_org_setting(staff_org.id, 'lib.my_account_url'); %]</div>
829 ----
830
831 Print Receipts found in Administration -> Workstation -> Print Templates
832 can be added with these includes:
833
834 [source,conf]
835 ----
836 {{includes.info_url}}
837 {{includes.my_account_url}}
838 ----
839
840 Action triggers can use both values with the `helpers.get_org_setting`
841 include.  Example:
842
843 [source,conf]
844 ----
845 [% helpers.get_org_setting(circ_lib.id, 'lib.my_account_url') %]
846 ----
847
848
849 ===== Override Dialogs  =====
850
851 This reworks the override action dialogs in the patron display for Check Out
852 and Items Out, and in the Circulation -> Renew Items interface.  It exposes the
853 auto-override behavior as checkboxes giving staff more fine-grained control
854 over which events are auto-forced or skipped upon subsequent encounters.  It
855 also changes the Cancel action for batch renewals to abort the remaining
856 renewals in the batch, and makes it so that new authorization credentials
857 provided during such a batch will be treated as an operator change for the
858 entire batch.  We also fix an existing bug where events marked as already
859 encountered for auto-override could leak into other patron contexts via Patron
860 Search.
861
862 ===== New Patron Triggered Events Log =====
863
864 A reimplementation of the Patron Triggered Events Log interface along with
865 supporting infrastructure for speedier results with large datasets.
866
867 ===== Photo URL  =====
868
869 Editing of the patron's photo URL can now be done in the staff client's patron
870 registration and edit screen. A new permission UPDATE_USER_PHOTO_URL controls
871 the ability to actually edit the field.
872
873 ===== `open-ils.circ.renew.auto` Removed =====
874
875 The deprecated `open-ils.circ.renew.auto` API was removed.  You will
876 want to use `open-ils.circ.renew` with the `auto_renewal` option set
877 to 1.  This mainly affects those who have written custom code using
878 the open-ils.circ backend.
879
880 ===== Void Deposit Billing at Checkin =====
881
882 There is a new setting called "Void item deposit fee on checkin"
883 that, when enabled, will cause items that have deposit billings
884 to be automatically voided.
885
886 ===== Miscellaneous =====
887
888 * The patron record editor now has a button to send a password
889   reset email to the patron's email address.
890 * Add a new pair of library settings to support pickup library-based
891   hold stalling. 'Pickup Library Soft stalling interval', when set for,
892   the pickup library, specifies that for holds with a request time age
893   smaller than the specified interval only items scanned at the pickup
894   library can be opportunistically captured. Example "5 days". This setting
895   takes precedence over "Soft stalling interval" (circ.hold_stalling.soft)
896   when the interval is in force. 'Pickup Library Hard stalling interval',
897   when set for the pickup library, specifies that no items with a
898   calculated proximity greater than 0 from the pickup library can be
899   directly targeted for this time period if there are local available
900   copies.
901 * Add a new library setting, 'Workstation OU is the default for staff-placed holds',
902   to indicate that the workstation OU should be set as the default pickup
903   location for hold requests that are placed via the staff interface. The
904   process for setting the default pickup location is now:
905   . Workstation if the 'Workstation OU is the default for staff-placed holds' setting
906     is turned on
907   . The user's preferred pickup location, if set
908   . if the user's preferred pickup location is not set, the
909     Workstation if the 'Workstation OU fallback for staff-placed holds'
910     setting is turned on
911   . Otherwise, it defaults to the user's home library.
912
913 ==== Client ====
914
915 ===== Consolidate Patron Notes, Alerts, and Messages =====
916
917 Patron notes, messages, alert messages, and standing penalties have been folded
918 into one Notes interface.  Notes designated as public will show in the My
919 Account -> Message Center in the public catalog for patrons.
920
921 The underlying data structure has also changed with all notes living in the
922 `actor.usr_message` table, so report writers will need to change the following
923 paths in existing reports:
924
925  * `actor.usr_note` -> all columns
926  * `actor.usr` -> `alert_message`
927  * `actor.usr_standing_penalty` -> note
928
929 And for `actor.usr_message`, there is now both a `pub` column and a `deleted` column.
930
931 Depending on privacy policies, system administrators may wish to set up a
932 recurring process to truly delete older entries in `actor.usr_message` that have
933 been flagged as deleted.
934
935 WARNING: The upgrade script will remove the alert_message field from the
936 auditor table, so if you care about preserving those you should run a query to
937 create a backup.
938
939 For example:
940
941 [source,sql]
942 ----
943 CREATE TABLE auditor.backup_usr_alert_msg AS
944    CREATE audit_id, audit_time, audit_action, audit_user,
945           audit_ws, id as "usr_id", last_update_time,
946           alert_message
947    FROM auditor.actor_usr_history
948    WHERE alert_message IS NOT NULL;
949 ----
950
951 ===== Fix for Staff Splash Page Multi-Word Search =====
952
953 The addition of the Angular Staff Catalog surfaced a double-encoding issue
954 with redirects in certain Apache versions. This caused searches for multiple
955 words to have %20 in place of spaces, almost certainly resulting in 0 results.
956
957 In order to apply this fix, change the Angular redirects in eg_vhost.conf from
958
959  RewriteRule ^/eg2/(.*) https://%{HTTP_HOST}/eg2/en-US/$1 [R=307,L]
960
961 to
962
963  RewriteRule ^/eg2/(.*) https://%{HTTP_HOST}/eg2/en-US/$1 [NE,R=307,L]
964
965 ===== Miscellaneous =====
966
967 * In the Angular staff catalog, rename 'Catalog Preferences' to
968   'Search Preferences' and add a return button.
969 * Angular grids now have a have a 'Manage Actions Menu' configuration
970   action to allow users to control which actions are displayed
971   on the context menu for the grid.
972 * The item table and holdings view in the Angular staff catalog record
973   details page now include 'Total Circ Count' and 'Last Circ Date' columns.
974 * There is a new library setting, 'Staff Catalog Search Filters', that can be
975   used to customize the list of search filters that are available on the
976   Angular staff catalog advanced search form. This setting takes an array
977   of desired filters, e.g., `["item_lang","audience","lit_form"]`. The complete
978   list of available filters is item_type, item_form, item_lang, audience,
979   vr_format, bib_level, and lit_form. If the library setting is not set,
980   all of the filters are displayed.
981
982 ==== Public Catalog ====
983
984 ===== Credit card payments using Stripe now implemented with PaymentIntents instead of Charges =====
985
986 This changes the Stripe code in the public catalog to use their PaymentIntents and confirmCreditCard API,
987 which is recommended over their Charges API.  Credit card charges are no longer finalized
988 (captured/confirmed) on Evergreen's backend, though the backend does check whether a payment was
989 made successfully before recording it.
990
991 ===== Miscellaneous =====
992
993 * The Bootstrap public catalog now displays cover images on the My Account
994   items checked out, check out history, holds, and holds history pages.
995 * Carousels on the public catalog home page now take up 80% of the page width
996   by default rather than just 40%.
997
998 ==== Reports ====
999
1000 ===== Reporter Item Statistics View =====
1001
1002 A new reports source, Item Statistics View is available.
1003 Certain third-party products such as collection development
1004 management providers require copy statistics that are not
1005 readily available in a single report.  This view adds those,
1006 which will also benefit library staff reports generally.
1007
1008 To add the view, a system administrator will need to (re-)run
1009 the example.reporter-extension.sql script, which will create 
1010 the new view in the database.
1011
1012 ===== Hold/Copy Ratio Report Source Changes =====
1013
1014 This standardizes how the existing Hold/Copy Ratio reports sources count holdable copies; notably, metarecord copies are no longer counted in these report sources and all sources now use action.hold_copy_map. 
1015
1016 Any reports using these sources will need to be rewritten.
1017
1018 A new source that breaks out counts by patron home library was also added, named Hold/Copy Ratio per Bib and Home Library.
1019
1020
1021 ===== Add Dewey Call Number Blocks and Ranges to Reports =====
1022
1023 A new view is added to the reporter with links from Call Number that
1024 will allow users to display or filter on the Dewey 10's or 100's block
1025 or range that a call number falls within. They can be accessed by
1026 following the "Dewey Classification" link from Call Number.
1027
1028 ===== More Granular Age Divisions for Reports =====
1029
1030 Reports now include an option for more detailed age divisions for users
1031 based on the entered date of birth.  Divisions include:
1032
1033  * Child 0-5 Years Old
1034  * Child 6-12 Years Old
1035  * Teen 13-17 Years Old
1036  * Adult 18-25 Years Old
1037  * Adult 26-49 Years Old
1038  * Adult 50-59 Years Old
1039  * Adult 60-69 Years Old
1040  * Adult 70+
1041
1042 This new column is accessible from ILS User -> Demographic Info and the new
1043 field is named "Detailed Age Division".
1044
1045 === Acknowledgments ===
1046
1047 The Evergreen project would like to acknowledge the following
1048 organizations that commissioned developments in this release of
1049 Evergreen:
1050
1051 * CW MARS
1052 * Evergreen Community Development Initiative
1053 * NOBLE
1054 * PaILS
1055 * Westchester Library System
1056
1057 We would also like to thank the following individuals who contributed
1058 code, translations, documentations, patches, and tests to this release of
1059 Evergreen:
1060
1061 * Adam Bowling
1062 * Andrea Buntz Neiman
1063 * Angela Kilsdonk
1064 * Beth Willis
1065 * Bill Erickson
1066 * Blake Graham-Henderson
1067 * Chris Sharp
1068 * Christine Burns
1069 * Christine Morgan
1070 * Chrisy Schroth
1071 * Dan Briem
1072 * Dawn Dale
1073 * Elaine Hardy
1074 * Erica Rohlfs
1075 * Galen Charlton
1076 * Garry Collum
1077 * Gina Monti
1078 * Jane Sandberg
1079 * Jason Boyer
1080 * Jason Etheridge
1081 * Jason Stephenson
1082 * Jeff Davis
1083 * Jeff Godin
1084 * Jennifer Bruch
1085 * Jennifer Pringle
1086 * Jennifer Weston
1087 * Jessica Woolford
1088 * John Amundson
1089 * Josh Stompro
1090 * Katie G. Martin
1091 * Kyle Huckins
1092 * Lindsay Stratton
1093 * Lisa Carlucci
1094 * Lynn Floyd
1095 * Mary Llewellyn
1096 * Michele Morgan
1097 * Mike Risher
1098 * Mike Rylander
1099 * Rogan Hamby
1100 * Rosie Le Faive
1101 * Ruth Frasur
1102 * Seth Erickson
1103 * Shula Link
1104 * Stephen Wills
1105 * Terran McCanna
1106 * Tiffany Little
1107 * Verbio Group
1108
1109 We also thank the following organizations whose employees contributed
1110 patches:
1111
1112 * BC Libraries Coop
1113 * Bibliomation
1114 * Catalyte
1115 * CW MARS
1116 * Emerald Data
1117 * Equinox Open Library Initiative
1118 * Georgia Public Library Service
1119 * Greater Clarks Hill Regional Library
1120 * Indiana State Library
1121 * Kenton County Library
1122 * King County Library System
1123 * Linn Benton Community College
1124 * MOBIUS
1125 * NOBLE
1126 * PaILS
1127 * Sigio
1128 * University of Prince Edward Island
1129 * Westchester Library System
1130
1131 We regret any omissions.  If a contributor has been inadvertently
1132 missed, please open a bug at http://bugs.launchpad.net/evergreen/
1133 with a correction.