]> git.evergreen-ils.org Git - working/Evergreen.git/blob - docs/RELEASE_NOTES_3_12.adoc
LP 2061136 follow-up: ng lint --fix
[working/Evergreen.git] / docs / RELEASE_NOTES_3_12.adoc
1 = Evergreen 3.12 Release Notes =
2 :toc:
3 :numbered:
4 :toclevels: 3
5
6 == Evergreen 3.12.3 ==
7
8 This release contains bug fixes improving on Evergreen 3.12.2.
9
10 === Upgrade Notes ===
11
12 * https://bugs.launchpad.net/evergreen/+bug/2040514[Bug 2040514] requires two new prerequisite Perl modules. These can be installed by running the prerequisite installation for your Linux distribution. Please see the https://evergreen-ils.org/documentation/install/README_3_12.html#_installing_prerequisites[Evergreen installation instructions] for more information.
13 * IDL Improvements and Clean Up (https://bugs.launchpad.net/evergreen/+bug/2050227[Bug 2050227]): If you have custom IDL entries, please see the full release note below under _Architecture_.
14 * https://bugs.launchpad.net/evergreen/+bug/2028095[Bug 2028095] requires a database update
15 * https://bugs.launchpad.net/evergreen/+bug/1909585[Bug 1909585] requires a database update
16
17 === Accessibility ===
18
19 * Increases the visibility of focus outlines in the Angular staff client (https://bugs.launchpad.net/evergreen/+bug/1828463[Bug 1828463])
20 * Adds ARIA attribute to Angular staff client navbar (https://bugs.launchpad.net/evergreen/+bug/2046820[Bug 2046820])
21
22
23 === Acquisitions ===
24
25 * Fixes for SFTP Transfer of EDI Order Data - This repairs the SFTP transfer mechanism so that it should work with most vendors who require usernames and passwords for authentication. To switch from FTP to SFTP, edit the EDI account's host entry to begin with "sftp://" instead of "ftp://". Check with your EDI vendor before making this change. They may have additional requirements. This fix requires two new Perl modules; see Upgrade Notes above. (https://bugs.launchpad.net/evergreen/+bug/2040514[Bug 2040514])
26 * Restore bold styling of paid off amount in purchase order summary. (https://bugs.launchpad.net/evergreen/+bug/2051250[Bug 2051250])
27
28
29 === Administration ===
30
31 * Fixes bug that could cause the Cash Reports page to display payments for the wrong day. (https://bugs.launchpad.net/evergreen/+bug/2051599[Bug 2051599])
32 * Adds HTML::defang to the opac.patron.custom_css Library Setting (https://bugs.launchpad.net/evergreen/+bug/1869971[Bug 1869971])
33 * Fixes issue with _Patrons with Negative Balances_ interface where a deleted patron with a negative balance would break the interface (https://bugs.launchpad.net/evergreen/+bug/2039725[Bug 2039725])
34 * Sets a useful group of default columns in the _Patrons with Negative Balances_ interface (https://bugs.launchpad.net/evergreen/+bug/2047704[Bug 2047704])
35 * Teaches `marc_export` to generate an error if given an empty ID file (https://bugs.launchpad.net/evergreen/+bug/1329872[Bug1329872])
36 * Makes it possible to display the org unit ID as a number on Angular record editor forms for editing org units (https://bugs.launchpad.net/evergreen/+bug/2051944[Bug 2051944])
37 * Displays Org Unit ID in Org Config interface. (https://bugs.launchpad.net/evergreen/+bug/2051879[Bug 2051879])
38 * Improves description of the "How to set default owning library for auto-created line item items" Library Setting (https://bugs.launchpad.net/evergreen/+bug/2028095[Bug 2028095])
39 * Silences some "Use of uninitialized value" log entries from catalog search (https://bugs.launchpad.net/evergreen/+bug/2043045[Bug 2043045])
40 * Removes placeholder attributes from inputs in the Angular record editor and display field help directly rather than in a tooltip. Also moves the translate button next to text inputs for translatable fields. (https://bugs.launchpad.net/evergreen/+bug/2021862[Bug 2021862])
41
42
43 === Architecture ===
44
45 * IDL Improvements and Clean Up *
46 https://bugs.launchpad.net/evergreen/+bug/2050227[Bug 2050227]
47
48 The IDL (fm_IDL.xml) has undergone improvement and clean up.
49
50 More fields have been marked required. Required fields are that those that come from a database table, have a "NOT NULL" constraint in the schema, and do not have a default value assigned in the database. This change has the advantage of making it easier for the Angular staff client to identify required fields and prevent bad data from being entered in many interfaces.
51
52 Classes that are read-only and virtual were ignored, since they cannot be updated. Virtual fields were also skipped for similar reasons.
53
54 No attempt was made to validate whether or not existing required fields should be required.  If a field was required before these changes, it should still be required now.
55
56 Line wrap and spacing have been updated to match the output of libxml2.
57
58 Spaces used for indentation have been replaced with tabs using the vim and Emacs setting of 4 spaces per tab.
59
60 Two schema validation errors have been corrected:
61
62 . A typo of "relteype" was corrected to "reltype."
63 . An extra "retrieve" permissions entry was removed from the asc class.
64
65 If you have custom IDL entries, you will want to make sure that you merge with this update and check for conflicts.  It would be a good idea to validate your merged IDL with the schema file:
66
67 ----
68 xmllint --schema Open-ILS/examples/fm_IDL.xsd Open-ILS/examples/fm_IDL.xml
69 ----
70
71 For maintaining future compatibility and ease of merging, you may want to ensure that your custom IDL entries follow the above formatting guidelines.
72
73 === Catalog ===
74
75 * Show the More/Less toggle on facet display in the staff catalog only when a facet has more than five entries. (https://bugs.launchpad.net/evergreen/+bug/2046974[Bug 2046974])
76 * Removes inaccurate count of shelving locations from staff catalog (https://bugs.launchpad.net/evergreen/+bug/2048798[Bug 2048798])
77 * Prevents holds with an invalid pickup location selected from being placed in the Angular catalog (https://bugs.launchpad.net/evergreen/+bug/2000270[Bug 2000270])
78
79 === Cataloging ===
80
81 * Fixes problem where "Form" value could not be saved in MARC editor for electronic resources. (https://bugs.launchpad.net/evergreen/+bug/2056204[Bug 2056204])
82 * Numerous fixes to edits in item alerts: Fixes invocation of (Manage) Item Alerts dialog in Holdings Editor; Adds batch edit for Item Alerts in Holdings Editor; Alerts get grouped together for editing if they are mostly identical; Adds Manage Alerts button to Item Alerts dialog during alert display in Angular ("eg2") interfaces; Fixes TypeError: defaults is null exception for missing Default Item Alert Type preference; Adds a Changes Pending indicator for Holdings Editor (https://bugs.launchpad.net/evergreen/+bug/2012971[Bug 2012971])
83 * Improves performance of item refresh after batch editing (https://bugs.launchpad.net/evergreen/+bug/1821094[Bug 1821094])
84
85 === Circulation === 
86
87 * Adds privilege expiration date column to Group Member Details table (https://bugs.launchpad.net/evergreen/+bug/1779743[Bug 1779743])
88 * Fixes annotate payment when using keyboard navigation (https://bugs.launchpad.net/evergreen/+bug/2047158[Bug 2047158])
89 * Adds help button for 'Convert change to patron credit' on patron bills (https://bugs.launchpad.net/evergreen/+bug/1929596[Bug 1929596])
90 * Fixes overly large barcode field on Mark Item as Missing Pieces page. (https://bugs.launchpad.net/evergreen/+bug/2051156[Bug 2051156]
91
92 === Documentation ===
93
94 * Improves documentation of Fiscal Propagation and Rollover (https://bugs.launchpad.net/evergreen/+bug/2049774[Bug 2049774])
95 * Updates the version of Antora used to build the documentation (https://bugs.launchpad.net/evergreen/+bug/2036328[Bug 2036328])
96 * Updates documentation to include information about strict barcode (https://bugs.launchpad.net/evergreen/+bug/2053050[Bug 2053050])
97 * Adds documentation for the Angular staff catalog, based on documentation produced by Indiana Evergreen.
98 * Allow Windows users to generate the Evergreen manual locally. (https://bugs.launchpad.net/evergreen/+bug/1930099[Bug 1930099])
99
100 === OPAC ===
101
102 * Adds 245$n and 245$p to the title field in public catalog list CSV download, to better distinguish between multiple titles in the same series. (https://bugs.launchpad.net/evergreen/+bug/1909585[Bug 1909585])
103 * Changes "Account Information and Preferences" in areas of the OPAC to "Personal Information and Preferences" (https://bugs.launchpad.net/evergreen/+bug/1980138[Bug 1980138])
104 * Clarify button text in public catalog New List interface. (https://bugs.launchpad.net/evergreen/+bug/2047589[Bug 2047589])
105 * Fixes placement of Save Notes button in public catalog My Lists page (https://bugs.launchpad.net/evergreen/+bug/2047588[Bug 2047588])
106 * Changes button order in OPAC My Lists (https://bugs.launchpad.net/evergreen/+bug/2047592[Bug 2047592])
107
108 === SIP ===
109
110 * Adds code to flesh part level holds and issuance holds information in SIP/Patron.pm (https://bugs.launchpad.net/evergreen/+bug/1525394[Bug 1525394])
111
112
113 === Staff Client ===
114
115 * Fixes issue with logging out of multiple tab in AngularJS client pages (https://bugs.launchpad.net/evergreen/+bug/2034617[Bug 2034617])
116 * Ensures that both AngularJS and Angular grids use a gear icon for the grid settings menu. (https://bugs.launchpad.net/evergreen/+bug/1803788[Bug 1803788])
117 * Fixes issue where Reports interface would not load if the BitWarden browser plugin is installed (https://bugs.launchpad.net/evergreen/+bug/2052567[Bug 2052567])
118 * Restores bold weight to eg-grid column headers (https://bugs.launchpad.net/evergreen/+bug/2051566[Bug 2051566])
119 * Fixes the styling of the Angular grid's Manage Columns modal (https://bugs.launchpad.net/evergreen/+bug/2056069[Bug 2056069])
120 * Fixes the styling of the Angular grid's Manage Actions Menu modal (https://bugs.launchpad.net/evergreen/+bug/2056069[Bug 2056069]
121
122 ==== Third Party Services ====
123
124 * Adds idempotency to Stripe to prevent duplicate payments (https://bugs.launchpad.net/evergreen/+bug/2057948[Bug 2057948])
125
126 === Acknowledgements ===
127
128 We would like to thank the following individuals who contributed code,
129 testing, documentation, and patches to the 3.12.3 point release of Evergreen:
130
131 * Andrea Buntz Neiman
132 * Bill Erickson
133 * Blake Graham-Henderson
134 * Brett French
135 * Carol Witt
136 * Chris Sharp
137 * Christine Morgan
138 * Debbie Luchenbill
139 * Eva Cerniňáková
140 * Galen Charlton
141 * Gina Monti
142 * Jane Sandberg
143 * Jason Boyer
144 * Jason Etheridge
145 * Jason Stephenson
146 * Jeff Davis
147 * Jennifer Pringle
148 * Josh Stompro
149 * Ken Cox
150 * Lena Hernandez
151 * Michele Morgan
152 * Mike Rylander
153 * Robin Fitch
154 * Rogan Hamby
155 * Shula Link
156 * Spencer Pennington
157 * Stephanie Leary
158 * Steven Mayo
159 * Susan Morrison
160 * Terran McCanna
161 * Jennifer Weston
162
163 == Evergreen  3.12.2 ==
164
165 This release contains bug fixes improving on Evergreen 3.12.1.
166
167 === Upgrade Notes ===
168
169 * https://bugs.launchpad.net/evergreen/+bug/2019207[Bug 2019207] requires a database update
170 * https://bugs.launchpad.net/evergreen/+bug/2051140[Bug 2051140] requires a database update
171
172 === Bug Fixes ===
173
174
175 ==== Accessibility ====
176
177 * Removes extra tab stops when navigating bib record actions in staff client using keyboard (https://bugs.launchpad.net/evergreen/+bug/2052960[Bug 2052960])
178
179
180 ==== Acquisitions ====
181
182 * The fund dropdowns for line items and direct charges on purchase orders now display funds that user has permission to use, fixing a regression (https://bugs.launchpad.net/evergreen/+bug/2040637[Bug 2040637])
183
184
185 ==== Administration ====
186
187 * Adds a new org unit setting that configures the discovery layer URL opened by the Patron View button on a staff catalog record (https://bugs.launchpad.net/evergreen/+bug/2019207[Bug 2019207])
188 * Fixes misconfigured delete dialogs and adds dialogs where they were missing (https://bugs.launchpad.net/evergreen/+bug/2043508[Bug 2043508])
189 * Follow up to https://bugs.launchpad.net/evergreen/+bug/2017941[Bug 2017941] to correctly build on Debian Buster
190 * Adds missing bib bucket IDL permissions, fixes carousel admin interface (https://bugs.launchpad.net/evergreen/+bug/2051140[Bug 2051140])
191
192
193
194
195 ==== Circulation ====
196
197 * Patch ensures that when "Require Monographic Part when Present" is in effect, that deleted monograph parts are not taken into account when checking whether a title-level hold is possible (https://bugs.launchpad.net/evergreen/+bug/2051557[Bug 2051557]) 
198 * Fixes bug that allowed one checkout after a patron had reached a group penalty threshold, for example PATRON_EXCEEDS_OVERDUE_COUNT or PATRON_EXCEEDS_CHECKOUT_COUNT (https://bugs.launchpad.net/evergreen/+bug/1890822[Bug 1890822])
199
200
201
202
203 ==== Developer ====
204
205 * Fixes test failure in Angular staff client (https://bugs.launchpad.net/evergreen/+bug/2053245[Bug 2053245])
206
207 ==== Documentation ====
208
209 * Updates to autosuggest documentation (https://bugs.launchpad.net/evergreen/+bug/2053047[Bug 2053047])
210
211
212
213 ==== General ====
214
215 * Expands the Concerto test data set (https://bugs.launchpad.net/evergreen/+bug/2023690[Bug 2023690])
216
217
218 ==== Public catalog ====
219
220 * Restores ability to submit basic OPAC search by hitting enter in search input (https://bugs.launchpad.net/evergreen/+bug/2053035[Bug 2053035])
221 * Closes autosuggest dropdown in the public catalog when it loses focus (https://bugs.launchpad.net/evergreen/+bug/2054128[Big 2054128])
222 * Ignores duplicate links from 856 fields with multiple $9's (https://bugs.launchpad.net/evergreen/+bug/1582720[Bug 1582720])
223
224
225 ==== Staff catalog ====
226
227 * Adds a "Clear Added Content Cache" item to the Other Actions menu in the staff catalog record page (https://bugs.launchpad.net/evergreen/+bug/1939162[Bug 1939162])
228
229
230
231 === Acknowledgements ===
232
233 We would like to thank the following individuals who contributed code,
234 testing, documentation, and patches to the 3.12.2 point release of Evergreen:
235
236
237 * Jason Boyer
238 * Dan Briem
239 * Galen Charlton
240 * Elizabeth Davis
241 * Ruth Frasur Davis
242 * Jason Etheridge
243 * Blake Graham-Henderson
244 * Stephanie Leary
245 * Tiffany Little
246 * Llewellyn Marshall
247 * Stephen Mayo
248 * Terran McCanna
249 * Gina Monti
250 * Michele Morgan
251 * Susan Morrison
252 * Andrea Buntz Neiman 
253 * Jane Sandberg
254 * Chris Sharp
255 * Jason Stephenson
256
257
258 We would also like to thank the following organizations that sponsored development in this point release:
259
260 * Pennsylvania Integrated Library System (PaILS)
261
262
263 == Evergreen  3.12.1 ==
264
265 This release contains bug fixes improving on Evergreen 3.12.0.
266
267 === Upgrade Notes ===
268
269 * https://bugs.launchpad.net/evergreen/+bug/1384796[Bug 1384796] requires a database update
270 * https://bugs.launchpad.net/evergreen/+bug/2046575[Bug 2046575] requires a database update
271
272 === Bug Fixes ===
273
274
275 ==== Accessibility ====
276
277 * Fixes placing of login error message & adds ARIA labeling to login screen (https://bugs.launchpad.net/evergreen/+bug/1839364[Bug 1839364])
278
279
280 ==== Acquisitions ====
281
282 * Fixes issue with Expand All button on Purchase Order pages (https://bugs.launchpad.net/evergreen/+bug/2049654[Bug 2049654])
283
284
285 ==== Administration ====
286
287 * Fixes an erroneous constraint on asset.copy_template (https://bugs.launchpad.net/evergreen/+bug/1384796[Bug 1384796])
288 * Fixes copy stat cat fleshing in SuperCat (https://bugs.launchpad.net/evergreen/+bug/2047587[Bug 2047587])
289 * A fix to reduce size of release tarball by not shipping the Angular build cache (https://bugs.launchpad.net/evergreen/+bug/2048907[Bug 2048907])
290
291
292
293 ==== Cataloging ====
294
295 * Fixes an issue in MARC Batch Import / Export where queue data was fetched in parallel, causing excessive pcrud calls (https://bugs.launchpad.net/evergreen/+bug/1945003[Bug 1945003])
296 * Restores the <NONE> selection to prefix and suffix dropdowns in Angular holdings editor Batch Actions (https://bugs.launchpad.net/evergreen/+bug/1998413[Bug 1998413])
297
298 ==== Circulation ====
299
300 * Adds publication year to Angular Pull List (https://bugs.launchpad.net/evergreen/+bug/2049673[Bug 2049673])
301 * Fixes issue with alerts not displaying upon the initial load of the Patron interface (https://bugs.launchpad.net/evergreen/+bug/1980273[Bug 1980273])
302 * Holds grid can now print / download the Hold Status column (https://bugs.launchpad.net/evergreen/+bug/2051038[Bug 2051038])
303 * Enables clearing the default pickup location in the patron editor (https://bugs.launchpad.net/evergreen/+bug/1939154[Bug 1939154])
304
305
306
307 ==== Client ====
308
309 * Fixes a printing issue on Patrons With Negative Balances admin page (https://bugs.launchpad.net/evergreen/+bug/2047168[Bug 20471668])
310 * Fixes cropping on Reports icon in splash page (https://bugs.launchpad.net/evergreen/+bug/2046970[Bug 2046970])
311 * Adds ability to save the column settings on the patron and item
312 stat cat entries (https://bugs.launchpad.net/evergreen/+bug/2046575[Bug 2046575])
313 * Improvements to Hours of Operation notes field (https://bugs.launchpad.net/evergreen/+bug/2036296[Bug 2036296])
314
315 ==== Developer ====
316
317 * Removes make_release -x option to build XUL client; make_release now builds the browser client by default (https://bugs.launchpad.net/evergreen/+bug/2051370[Bug 2051370])
318
319 ==== Documentation ====
320
321 * Fixes a typo in Booking Reservation docs (https://bugs.launchpad.net/evergreen/+bug/2045569[Bug 2045569])
322 * Screenshot & layout updates for Booking Admin, Best Hold Selection Sort Order, Statistical Categories, and Column Picker docs (https://bugs.launchpad.net/evergreen/+bug/1933852[Bug 1933852], https://bugs.launchpad.net/evergreen/+bug/2045802[Bug 2045802], https://bugs.launchpad.net/evergreen/+bug/1426120[Bug 1426120], https://bugs.launchpad.net/evergreen/+bug/2048132[Bug 2048132], and https://bugs.launchpad.net/evergreen/+bug/2045805[Bug 2045805])
323 * Updates to Self Check Docs (https://bugs.launchpad.net/evergreen/+bug/1494736[Bug 1494736])
324 * Updates to Circulation Policy Docs (https://bugs.launchpad.net/evergreen/+bug/1906847[Bug 1906847])
325 * Updates to Workstation User Settings docs (https://bugs.launchpad.net/evergreen/+bug/2011455[Bug 2011455])
326 * Documentation for Added Content Tab feature
327 * Documentation for Angular Link Checker feature
328 * Documentation for Angular Custom Org Unit Trees feature
329 * Updates to Emergency Closing Handler documentation (https://bugs.launchpad.net/evergreen/+bug/1871692[Bug 1871692])
330
331
332
333 ==== General ====
334
335 * Fixes an issue where the progress bar would not close in Firefox (https://bugs.launchpad.net/evergreen/+bug/1739638[Bug 1739638])
336
337
338 ==== Public catalog ====
339
340 * Removes non-functional staff-only "Locate Z39.50 Matches" buttons from OPAC templates (https://bugs.launchpad.net/evergreen/+bug/2021903[Bug 2021903])
341
342
343
344 ==== Staff catalog ====
345
346 * Makes the Hold Status, Current Item, and Requested Item Columns non-sortable on Angular holds grids to avoid errors (https://bugs.launchpad.net/evergreen/+bug/1889133[Bug 1889133])
347 * Fixes a tab display error in the Traditional Staff Catalog (https://bugs.launchpad.net/evergreen/+bug/2047714[Bug 2047714])
348 * Fixes crash when displaying Staff View for a deleted record that has no metarecord mappings (https://bugs.launchpad.net/evergreen/+bug/2039229[Bug 2039229])
349 * Improves speed of searching for and displaying titles that are members of large metarecord sets (https://bugs.launchpad.net/evergreen/+bug/2051708[Bug 2051708])
350
351
352
353 === Acknowledgements ===
354
355 We would like to thank the following individuals who contributed code,
356 testing, documentation, and patches to the 3.12.1 point release of Evergreen:
357
358
359 * Jason Boyer
360 * Dan Briem
361 * Galen Charlton
362 * Jeff Davis
363 * Ruth Frasur Davis
364 * Bill Erickson
365 * Blake Graham-Henderson
366 * Stephanie Leary
367 * Shula Link
368 * Tiffany Little
369 * Steven Mayo
370 * Terran McCanna
371 * Gina Monti
372 * Michele Morgan
373 * Susan Morrison
374 * Andrea Buntz Neiman
375 * Mike Rylander
376 * Jane Sandberg
377 * Chris Sharp
378 * Jason Stephenson
379 * Jessica Woolford
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398 == Upgrade notes ==
399
400 === AutoRenew Event Definition default delay ===
401
402 Upgrade script required for change in AutoRenew Event Definition default delay
403
404 === Removal of OpenSRF Legacy JSON Gateway ===
405
406 The OpenSRF Legacy JSON Gateway is deprecated and will been removed from OpenSRF.  This
407 requires removing any references to it in the Apache configuration.
408
409 This means removing references to "OSRFGatewayLegacyJSON" in 
410 /etc/apache2/eg_vhost.conf.
411
412 Example patch:
413
414 [source,diff]
415 ------------------------------------------------------------------------------
416 -# XXX Note, it's important to explicitly set the JSON encoding style 
417 -# (OSRFGatewayLegacyJSON), since the default encoding style will likely change 
418 -# with OpenSRF 1.0
419 -# ----------------------------------------------------------------------------------
420 -# OpenSRF JSON legacy gateway
421 -# ----------------------------------------------------------------------------------
422 -<Location /gateway>
423 -    SetHandler osrf_json_gateway_module
424 -    OSRFGatewayLegacyJSON "true"
425 -    Require all granted 
426 -</Location>
427 -# ----------------------------------------------------------------------------------
428 -# New-style OpenSRF JSON gateway
429 +# OpenSRF JSON gateway
430  # ----------------------------------------------------------------------------------
431  <Location /osrf-gateway-v1>
432      SetHandler osrf_json_gateway_module
433 -    OSRFGatewayLegacyJSON "false"
434      Require all granted
435  </Location>
436 ------------------------------------------------------------------------------
437
438 == New Features ==
439
440 :leveloffset: +2
441
442
443 = Accessibility =
444
445 * Revamped OPAC search autosuggest (https://bugs.launchpad.net/evergreen/+bug/1187993[Bug 1187993])
446 * Added empty alt text for OPAC book covers and format icons to eliminate redundant screen reader announcements of item titles and formats (https://bugs.launchpad.net/evergreen/+bug/1965985[Bug 1965985])
447 * Added text alternatives for all icons and images in the staff interface (https://bugs.launchpad.net/evergreen/+bug/1818086[Bug 1818086], https://bugs.launchpad.net/evergreen/+bug/1833726[Bug 1833726], https://bugs.launchpad.net/evergreen/+bug/2042492[Bug 2042492])
448 * Improved color contrast for links, buttons, and form inputs throughout the staff interface (https://bugs.launchpad.net/evergreen/+bug/2018326[Bug 2018326], https://bugs.launchpad.net/evergreen/+bug/2019735[Bug 2019735], https://bugs.launchpad.net/evergreen/+bug/2028088[Bug 2028088], https://bugs.launchpad.net/evergreen/+bug/2043238[Bug 2043238], https://bugs.launchpad.net/evergreen/+bug/2043847[Bug 2043847])
449 * Added keyboard support for all buttons in the Angular staff interfaces (https://bugs.launchpad.net/evergreen/+bug/2039310[Bug 2039310], https://bugs.launchpad.net/evergreen/+bug/2040303[Bug 2040303], https://bugs.launchpad.net/evergreen/+bug/2043424[Bug 2043424], https://bugs.launchpad.net/evergreen/+bug/1850473[Bug 1850473])
450 * Form fields are properly labeled in all core UI components in staff interface (https://bugs.launchpad.net/evergreen/+bug/1999158[Bug 1999158], https://bugs.launchpad.net/evergreen/+bug/2009853[Bug 20009853], https://bugs.launchpad.net/evergreen/+bug/2043421[Bug 2043421], https://bugs.launchpad.net/evergreen/+bug/2019031[Bug 2019031], https://bugs.launchpad.net/evergreen/+bug/2039606[Bug 2039606])
451 * Added form field labels for staff catalog search preferences (https://bugs.launchpad.net/evergreen/+bug/2036313[Bug 2036313])
452 * Added form field labels for patron survey question administration (https://bugs.launchpad.net/evergreen/+bug/2040186[Bug 2040186])
453 * Improved landmarks and headings for screen reader navigation in staff catalog (https://bugs.launchpad.net/evergreen/+bug/2039483[Bug 2039483])
454 * Improved table navigation for staff catalog shelving locations (https://bugs.launchpad.net/evergreen/+bug/2016742[Bug 2016742]), cash reports in administration (https://bugs.launchpad.net/evergreen/+bug/2039311[Bug 2039311]), and patron survey answers (https://bugs.launchpad.net/evergreen/+bug/2040184[Bug 2040184])
455 * Improved screen reader announcement of repetitive links in staff catalog items table (https://bugs.launchpad.net/evergreen/+bug/2016343[Bug 2016343])
456 * Automated accessibility tests for developers (https://bugs.launchpad.net/evergreen/+bug/2035535[Bug 2035535])
457
458 = Acquisitions =
459
460
461 == Interface for Fiscal Years and Calendars ==
462
463 https://bugs.launchpad.net/evergreen/+bug/1956510[Bug 1956510]
464
465 A new interface is now available for users to manage fiscal years and calendars . It is accessible via Administration -> Acquisitions Administration -> Fiscal Years and Calendars.
466
467 To add or edit fiscal calendars and years, a user must have the ADMIN_ACQ_FISCAL_YEAR permission.
468
469 Org units by default use the 'Default' fiscal calendar. If new fiscal calendars are created and users wish their associated fiscal years to be visible in the 'Year' drop down of other interfaces, the Fiscal Calendar must be updated to use the new fiscal calendar in the org unit.
470
471
472 = Administration =
473
474
475 == Optional Evergreen "Authoritative" API Support ==
476
477 https://bugs.launchpad.net/evergreen/+bug/2012402[Bug 2012402]
478
479 Previous versions of Evergreen supported "authoritative" API calls by default.
480 These are API calls which force database reads to go the primary database
481 instead of a pooled replica.
482
483 Going forward, this functionality will be disabled by default, but may be
484 enabled via a new opensrf.xml setting.
485
486 If your site uses database pooling, with Evergreen actively reading from
487 replicas, add this setting to your opensrf.xml file within the <default/>
488 block:
489
490 [source,xml]
491 ----
492 <opensrf version='0.0.3'>
493   <default>
494     <uses_pooled_read_replica_dbs>true</uses_pooled_read_replica_dbs>
495 <!-- ... -->
496 ----
497
498
499
500
501 == Change in AutoRenew Event Definition Default Delay ==
502
503 https://bugs.launchpad.net/bugs/1899976[Bug 1899976]
504
505 The delay for the AutoRenew event has been changed from -23 hours to
506 -24 hours and 1 minute.  The previous values of -23 hours for the
507 delay and -1 minute for the max_delay left a gap of approximately 1
508 hour where items would not auto-renew if they fell due during that
509 time.  Depending upon the time that the AutoRenew event runner is
510 scheduled to run, this gap may never turn up.  However, all it takes
511 is a misconfigured client (i.e. an incorrect timezone setting) or a
512 manually edited due date on a circulation for this to turn up.  The
513 new interval settings guarantee that all circulations for a given 24
514 hour period are selected with no gap.
515
516 A database upgrade script is provided to alter any event definitions
517 using the `Circ::Autorenew` reactor and the previous default delay
518 values to the new settings.  If you have customized or added any event
519 definitions using this reactor, you should double check that they are
520 correct after an upgrade.
521
522
523
524
525 == Hatch Print Config Angular Port ==
526
527 https://bugs.launchpad.net/bugs/1965326[Bug 1965326]
528
529 The Hatch printer settings interface has been ported to Angular.
530
531 The checkbox to enable Hatch printing has also been moved from the 
532 separate (now-retired) "Print Service (Hatch)" interface into the newly 
533 Angularized "Hatch (Print Service) Printer Settings" interface.
534
535
536 == Shelving Locations Editor: Hide deleted shelving locations by default ==
537
538 https://bugs.launchpad.net/evergreen/+bug/1917092[Bug 1917092]
539
540 In the Shelving Locations Editor under Local Administration, a filter to hide 
541 deleted locations is applied by default. Clicking the Remove Filters button or 
542 Clearing the filter on the Is Deleted column will reveal the deleted locations.
543
544 == Hostname URL building ==
545
546 https://bugs.launchpad.net/evergreen/+bug/1862834[Bug 1862834]
547
548 Fixed issue loading some AngularJS interfaces when hostname starts with *staff* or *eg*
549
550
551 == marc_export script improvments ==
552
553 === --852 option for marc_export ===
554
555 https://bugs.launchpad.net/evergreen/+bug/2041364[Bug 2041364]
556
557 The new `--852b` switch (when used in conjunction with `--items`)
558 takes the following values:
559
560  * circ_lib - emit the item circulation library in 852$b
561  * owning_lib - emit the owning library in 852$b
562  * both - emit owning lib and circ lib as separate repeats
563    of $b. This is both the default and legacy behavior.
564
565 [source]
566 ----
567  --852b             Accepts 'owning_lib', 'circ_lib', or 'both' to
568                     control whether the 852 in exported embedded
569                     holdings has the owning library, the circulation
570                     library, or both in separate repeats of the .
571                     If not supplied, defaults to 'both', which is the
572                     legacy behavior.
573 ----
574
575
576
577 === --exclude-hidden option for marc_export ===
578
579 https://bugs.launchpad.net/evergreen/+bug/2015484[Bug 2015484]
580
581 The `--exclude-hidden` option, when used in conjunction with
582 `--items`, will not emit 852 fields for items if they are hidden
583 from in the OPAC in any of the four ways that this can be
584 specified in Evergreen. If a bib therefore ends up with no
585 visible items, it will be excluded from the output.
586
587 [source]
588 ----
589  --exclude-hidden   Exclude records and items if the item is not
590                     OPAC-visible per its org unit, status, shelving,
591                     location, or flag on the item record. This option
592                     is effective only if the --library and/or --items
593                     flags are supplied. This option takes precedence;
594                     for example, if the org unit specified by --library
595                     is not OPAC-visible, its records will not be included
596                     in the export.
597 ----
598
599
600
601 === marc_export sorting bib output ===
602
603 https://bugs.launchpad.net/evergreen/+bug/2029256[Bug #2029256]
604
605 The *marc_export* script will now sort the bib record output
606 by the bib record ID so that the records in the export file
607 are in a consistant order. 
608
609
610
611 === marc_export default encoding changed to UTF-8 ===
612
613 https://bugs.launchpad.net/evergreen/+bug/2015758[Bug #2015758]
614
615 The default file encoding output when using the *marc_export* script is
616 now *UTF-8* instead of *MARC8*.  After upgrading check your use of the
617 *marc_export* script to ensure that if you need an encoding other than 
618 *UTF-8* you specify it with the argument *--encoding*.  This change has
619 the possiblity of breaking your workflow. 
620
621 == Custom Org Unit Trees interface ported to Angular ==
622
623 https://bugs.launchpad.net/evergreen/+bug/1993825[Bug 1993825]
624
625 Reimplemented the Admin Custom Org Unit trees interface in Angular.
626
627 == Upgrading to Evergreen/OpenSRF Redis ==
628
629 https://bugs.launchpad.net/evergreen/+bug/2041431[Bug 2041431], https://bugs.launchpad.net/evergreen/+bug/2017941[Bug 2017941]
630
631 Some of these steps are part of a standard install, included here
632 for completeness.
633
634 NOTE: Most of these steps are done automatically when installing OpenSRF and 
635 Evergreen from scratch.  It may be easier for some (and less error 
636 prone) to install new servers than to upgrade existing ones.
637
638
639 === Assumptions ===
640
641 * Evergreen/OpenSRF are installed in the default /openils directory.
642 * Assumes a single machine 'localhost' install.
643
644 === Install ===
645
646 * From within the dowload / checkout directory
647 * ${OSNAME} might be, for example, 'ubuntu-jammy'
648
649 ==== Install Prerequisites ====
650
651 [source,sh]
652 ------------------------------------------------------------------------------
653 sudo make -f OpenSRF/src/extras/Makefile.install ${OSNAME}
654 sudo make -f Evergreen/Open-ILS/src/extras/Makefile.install ${OSNAME}
655 ------------------------------------------------------------------------------
656
657 ==== Install Opensrf & Evergreen ====
658
659 [source,sh]
660 ------------------------------------------------------------------------------
661 cd OpenSRF
662 make clean all
663 sudo make install
664
665 # ----
666
667 cd ../Evergreen
668 make clean all
669 sudo make install
670 ------------------------------------------------------------------------------
671
672 === Configure ===
673
674 ==== configure opensrf_core.xml ====
675
676 ===== Create a local redis-accounts.txt file =====
677
678 Redis passwords are generated at install time and stored in 
679 'redis-accounts.txt.example'.  Make a local copy to retain our passwords.
680 The defaults will be locally generated, unique, and safe to use.
681
682 [source,sh]
683 ------------------------------------------------------------------------------
684 cd /openils/conf
685 cp redis-accounts.txt.example redis-accounts.txt
686 ------------------------------------------------------------------------------
687
688 ===== Copy Redis passwords into opensrf_core.xml =====
689
690 Passwords are defined for 'opensrf', 'router', and 'gateway'.
691
692 Example redis-accounts.txt entry for the 'opensrf' account:
693
694 [source,sh]
695 ------------------------------------------------------------------------------
696 ACL SETUSER opensrf reset
697 ACL SETUSER opensrf on >1f129912-b38a-4c42-910f-521e0651b7b9
698 ACL SETUSER opensrf -@all +lpop +blpop +rpush +del ~opensrf:router:* ~opensrf:service:* ~opensrf:client:*
699 ------------------------------------------------------------------------------
700
701 The 'opensrf' account password for the example above is
702 '1f129912-b38a-4c42-910f-521e0651b7b9'.  Copy this value into opensrf_core.xml
703
704 [source,xml]
705 ------------------------------------------------------------------------------
706     <domain>private.localhost</domain>                                         
707     <username>opensrf</username>                                               
708     <passwd>1f129912-b38a-4c42-910f-521e0651b7b9</passwd> 
709 ------------------------------------------------------------------------------
710
711 Repeat this process for the 'router' and 'gateway' accounts.  There will
712 be one password entry for 'gateway' and 2 password entries for 'router'.
713
714 ===== Update Gateway Username =====
715
716 Going forward, the username for the <gateway/> section will be 'gateway'.
717
718 Example:
719
720 [source,xml]
721 ------------------------------------------------------------------------------
722   <gateway>
723     ...
724     <username>gateway</username>
725     <passwd>a9080f2e-3504-4d38-9179-8e3d06c53bfd</passwd>
726     <port>6379</port>
727     <loglevel>3</loglevel>
728     ...
729   </gateway>
730 ------------------------------------------------------------------------------
731
732 ===== Update the Port =====
733
734 Update occurrences of port '5222' (i.e. your local ejabberd port) with
735 the default Redis port '6379'. There will be 4 occurrences by default.
736
737 Example:
738
739 [source,xml]
740 ------------------------------------------------------------------------------
741     <domain>private.localhost</domain>
742     <username>opensrf</username>
743     <passwd>1f129912-b38a-4c42-910f-521e0651b7b9</passwd>
744     <port>6379</port>
745 ------------------------------------------------------------------------------
746
747
748 ==== Update /etc/hosts ====
749
750 To avoid requiring Redis listen on multiple IP addresses, change the
751 'public' and 'private' hosts in /etc/hosts to use the same IP.
752
753 [source,sh]
754 ------------------------------------------------------------------------------
755 127.0.0.1 localhost public.localhost private.localhost
756 ------------------------------------------------------------------------------
757
758 ==== Configure Redis ====
759
760 Disable message persistence by modifying the Redis 'save' setting.
761
762 * Open `/etc/redis/redis.conf` and make the following                            
763 ** Apply a save value of ""
764 ** Disable existing definitions for the 'save' value.
765
766 [source, bash]                                                                 
767 ---------------------------------------------------------------------------    
768 # Snapshotting can be completely disabled with a single empty string argument  
769 # as in following example:                                                     
770 #                                                                              
771 save ""                                                                        
772
773 # save 900 1
774 # save 300 10
775 # save 60 10000
776 ---------------------------------------------------------------------------    
777                                                                               
778 Restart the Redis server to make the changes take effect:                   
779                                                                               
780 [source,sh]
781 ---------------------------------------------------------------------------    
782 sudo systemctl restart redis-server                                                   
783 ---------------------------------------------------------------------------    
784
785 ==== Restart Everything ====
786
787 [source,sh]
788 ---------------------------------------------------------------------------    
789 osrf_control -l --restart-all
790 sudo systemctl restart apache2 nginx websocketd-osrf
791 ---------------------------------------------------------------------------    
792
793 *Done!*
794
795 === Upgrade Note: Removal of OpenSRF Legacy JSON Gateway ===
796
797 The OpenSRF Legacy JSON Gateway is deprecated and will been removed from OpenSRF.  This
798 requires removing any references to it in the Apache configuration.
799
800 This means removing references to "OSRFGatewayLegacyJSON" in 
801 /etc/apache2/eg_vhost.conf.
802
803 Example patch:
804
805 [source,diff]
806 ------------------------------------------------------------------------------
807 -# XXX Note, it's important to explicitly set the JSON encoding style 
808 -# (OSRFGatewayLegacyJSON), since the default encoding style will likely change 
809 -# with OpenSRF 1.0
810 -# ----------------------------------------------------------------------------------
811 -# OpenSRF JSON legacy gateway
812 -# ----------------------------------------------------------------------------------
813 -<Location /gateway>
814 -    SetHandler osrf_json_gateway_module
815 -    OSRFGatewayLegacyJSON "true"
816 -    Require all granted 
817 -</Location>
818 -# ----------------------------------------------------------------------------------
819 -# New-style OpenSRF JSON gateway
820 +# OpenSRF JSON gateway
821  # ----------------------------------------------------------------------------------
822  <Location /osrf-gateway-v1>
823      SetHandler osrf_json_gateway_module
824 -    OSRFGatewayLegacyJSON "false"
825      Require all granted
826  </Location>
827 ------------------------------------------------------------------------------
828
829
830
831
832
833 = API =
834
835 == Carousel API Improvements ==
836
837 https://bugs.launchpad.net/bugs/2017673[Bug 2017673]
838
839 * The open-ils.actor.carousel.retrieve_by_org API now returns the carousel's default name in addition to the override name.
840 * The open-ils.actor.carousel.get_contents API now returns the item author as well as title.
841
842
843
844 = Cataloging =
845
846 == Create MARC Record Interface Enhancements ==
847
848
849 * Add a global keyboard shortcut for Create MARC Record of Ctrl+F3. (https://bugs.launchpad.net/evergreen/+bug/2031040[Bug 2031040])
850
851 * Focus on the template selector on load, and set unique page title for interface. (https://bugs.launchpad.net/evergreen/+bug/2031043[Bug 2031043])
852
853 * Focus on item add checkbox and switch to call number input after activation. (https://bugs.launchpad.net/evergreen/+bug/2031114[Bug 2031114])
854
855 * Hide the help button when the flat text editor is enabled since it doesn't do anything in that mode. (https://bugs.launchpad.net/evergreen/+bug/2031123[Bug 2031123])
856
857 * Add keyboard shortcut (Ctrl+s) to save in the flat text editor. (https://bugs.launchpad.net/evergreen/+bug/2031162[Bug 2031162])
858
859 * Add shortcut key (Ctrl+E) to jump to the flat text editor textbox. (https://bugs.launchpad.net/evergreen/+bug/2031177[Bug 2031177])
860
861 == Default Item Alert Type ==
862
863 https://bugs.launchpad.net/bugs/2017673[Bug 2017673]
864
865 Staff can now set a default item alert type for new item
866 alerts.  To do this:
867
868 . Open the holdings editor
869 . Select the Preferences tab.  
870 . Under the "Item Attribute Settings" heading, use the
871 "Default Item Alert Type" dropdown to choose the type
872 that you use most frequently.
873 . The setting takes effect immediately, no need to save
874 it.
875
876
877
878 == Added Content Tab in Staff Catalog ==
879
880 https://bugs.launchpad.net/bugs/1991294[Bug 1991294]
881
882 Adds an Added Content tab to the record details page in the angular staff catalog.
883
884  *  The new Added Content tab currently supports only NoveList Select added content.
885  *  NoveList Select subscribers will need to request credentials specifying the staff client url from NoveList for the library settings, separate from the credentials used in the OPAC.
886
887 === Added Content Library Settings ===
888
889 The following Library Settings control the behavior of the Added Content tab
890
891   * Staff Client added content: NoveList Select API version (not required)
892   * Staff Client added content: NoveList Select profile/user (
893   * Staff Client added content: NoveList Select key/password
894   * URL Override for NoveList Select added content javascript (not required)
895
896 The following new permission controls the ability to setting the URL Override library setting
897
898   * UPDATE_ADDED_CONTENT_URL
899   
900
901 === Added Content Tab Behavior ===
902
903   * If no NoveList settings are present for the OU level, the Added Content tab does not appear.
904   * If NoveList is set up but the bib record lacks ISBNs, or there is no NoveList content available for the work, the tab appears but it will say "No Added Content" and its star will be empty and gray.
905   * If NoveList is set up and content is available, the tab's star will be gold and filled in. It may take a few seconds to change when you first load the record. It will load in the background while you are viewing any other tab in the record.
906
907 == Link Checker ported to Angular ==
908
909 https://bugs.launchpad.net/evergreen/+bug/1993824[Bug 1993824]
910
911 Reimplementation of Cataloging -> Link Checker in Angular.
912
913 * Relabeled URL Verification Attempts to Batches
914 * Relabeled URL Verifications to Attempts
915 * Main grid display combines Sessions and Batches.
916 * Added a Filter Groups feature to allow users to name and save grid filter groups
917
918 = Circulation =
919
920
921 == Expansion of Copy Statuses Eligible to Fill Holds ==
922
923 https://bugs.launchpad.net/bugs/1904737[Bug 1904737]
924
925 Copies with a status that has both the `holdable` and `is_available`
926 fields set to `true` are now elibible to fill holds.  This was
927 previously limited to copies with a "magical" status of 0 or 7.  The
928 change expands the copies that can fill holds and affords better
929 control over what copies with what statuses will appear on the holds
930 pull list or target holds.
931
932
933 == Add filters to Holds Pull List ==
934
935 https://bugs.launchpad.net/bugs/1968070[Bug 1968070]
936
937 Two new filter comboboxes have been added to the Holds Pull List, one to filter by Pickup Library
938 and one to filter by Shelving Locations / Shelving Location Groups. The Print Full List and
939 Download CSV actions respect the new filters, which will improve usability for libraries with
940 large pull lists who need to split the list into sections for multiple staff to work on. The
941 settings are also sticky, which will make it easier for individuals who always work on pulling
942 holds in the same section of the library every day.
943  
944
945
946 = Client =
947
948
949 == Print Selected Rows ==
950
951 https://bugs.launchpad.net/bugs/2037128[Bug 2037128]
952
953 Grids throughout the staff client now have an option
954 to print only rows that the user has selected, rather
955 than printing all rows in the grid.
956
957
958
959 == Add Survey Responses to Patron Data Print Template ==
960
961 (https://bugs.launchpad.net/bugs/1994057[Bug 1994057]
962
963 Includes most recent response to each available survey question on
964 the Patron Data print template. 
965
966
967 ==
968
969 = OPAC =
970
971 == Google Analytics 4 Update ==
972
973 https://bugs.launchpad.net/bugs/2019972[Bug 2019972]
974
975 Google is transitioning from Universal Analytics
976 to GA4 during the Summer of 2023, which requires
977 an update to the Javascript that is embedded in the 
978 public catalog pages. 
979
980 Note that Google requires each site to set up a
981 new unique code (G-) that replaces the old
982 (UA-) code and this will also need to be updated in
983 config.tt2.
984
985 == New Setting for Default URI Notes ==
986
987 https://bugs.launchpad.net/bugs/1812241[Bug 1812241]
988
989 If a URI does not have a 856$z defining a note to display next to
990 it in the OPAC you can use the opac.uri_default_note_text setting
991 to define one.
992
993 This feature helps to save catalogers time.  If your library has
994 a note that should be added to a wide range of electronic resources,
995 rather than applying the note to all applicable records, you can set
996 this setting to an appropriate value, and add an 856$z note for any
997 resources that shouldn't receive the default note.
998
999
1000 == Improve OPAC URI link purpose display and coverage ==
1001
1002 https://bugs.launchpad.net/bugs/1992827[Bug 1992827]
1003
1004 Previously, the logic used in the OPAC and staff client to display
1005 non-located URIs was slightly different. In particular, the staff client
1006 included any 856 with an ind2 value of 0, 1, or 2, and provided a label
1007 indicating the purpose of the URI based on the ind2 value. The OPAC, on
1008 the other hand, only displayed 856s with an ind2 of 0 or 1, and did
1009 not distinguish the purpose.
1010
1011 Now the OPAC displays non-located URIs in the same ways as the staff
1012 client, including those with an ind2 value of 2 and displaying a
1013 descriptive purpose with the link.
1014
1015 == Editing manual carousels via the original bucket ==
1016
1017 https://bugs.launchpad.net/evergreen/+bug/1920234[Bug 1920234]
1018
1019 Creating a carousel from a bucket no longer creates a new "System-created bucket".  When
1020 a new carousel is generated from a record bucket, any changes made to the bucket will be
1021 automatically reflected in the carousel. Staff no longer need to go to the Carousels
1022 Administration screen to make these changes.
1023
1024 This change only affects newly created carousels.  Existing manual carousels will still
1025 need to be edited via the Carousels Administration screen.
1026
1027
1028 == Course Reserve Search Filter ==
1029
1030 https://bugs.launchpad.net/bugs/1895699[Bug 1895699]
1031
1032 This filter allows users to limit their search to records that are
1033     attached to courses at particular libraries, like so:
1034     
1035         biology on_reserve(5, 10)
1036     
1037 The filter can also be negated to search for records that are not
1038 attached to a course:
1039     
1040         biology -on_reserve(5)
1041
1042 If an organization is opted into the Course Materials module, this
1043 filter will appear on the search results page of the public catalog.
1044 Staff at these organizations will have a new option in their
1045 staff catalog search preferences to enable this filter in the staff
1046 catalog as well.
1047
1048
1049 == Display Upcoming Closures in OPAC ==
1050
1051 https://bugs.launchpad.net/bugs/2017913[Bug 2017913]
1052
1053 Adds display of upcoming closures (as entered in
1054 the Closed Dates Editor) to the library information
1055 pages in the OPAC.
1056
1057
1058 = Reports =
1059
1060
1061 == Reporting Sources for Invoice Totals ==
1062
1063 https://bugs.launchpad.net/bugs/2036842[Bug 2036842]
1064
1065 Three new reporting sources are available to permit reporting
1066 on the total amount of invoices, including both line items and
1067 direct charges. The sources are:
1068
1069   * Invoice Totals
1070   * Invoice Debits by Fund
1071   * Invoice Debits by Fund Tag
1072
1073 These sources are meant to be used as the base source of a report,
1074 with any additional fields and tables of interest brought via
1075 navigating links in the template editor.
1076
1077
1078 = Miscellaneous =
1079
1080 * Barcode transfered to new copy in volume editor in Angular interface for fast item add (https://bugs.launchpad.net/evergreen/+bug/1986706[Bug 1986706])
1081 * Fix an issue where auto-renewal events can overwhelm open-ils.trigger drones (https://bugs.launchpad.net/evergreen/+bug/2030915[Bug 2030915])
1082 * Adds a new database view for open non-cataloged circulations: action.open_non_cataloged_circulation (https://bugs.launchpad.net/evergreen/+bug/2019974[Bug 2019974])
1083 * Reimplementation of Cataloging -> Link Checker in Angular. Changed a few things hopefully for the better:
1084 ** Relabeled URL Verification Attempts to Batches
1085 ** Relabeled URL Verifications to Attempts
1086 ** Main grid display combines Sessions and Batches.
1087 * New Angular linting rules (https://bugs.launchpad.net/evergreen/+bug/1850473[Bug 1850473])
1088
1089
1090 :leveloffset: 0
1091
1092
1093 == Acknowledgments ==
1094
1095 The Evergreen project would like to acknowledge the following
1096 organizations that commissioned developments in this release of
1097 Evergreen:
1098
1099 * King County Library System
1100 * NOBLE (North of Boston Library Exchange)
1101
1102 We would also like to thank the following individuals who contributed
1103 code, translations, documentation, and testing to this release of
1104 Evergreen:
1105
1106 * John Amundson
1107 * Scott Angel
1108 * Jason Boyer
1109 * Dan Briem
1110 * Christine Burns
1111 * Eva Cerniňáková
1112 * Galen Charlton
1113 * Garry Collum
1114 * Elizabeth Davis
1115 * Jeff Davis
1116 * Ruth Frasur Davis
1117 * Bill Erickson
1118 * Jason Etheridge
1119 * Robin Fitch
1120 * Blake Graham-Henderson
1121 * Rogan Hamby
1122 * Lena Hernandez
1123 * Kyle Huckins
1124 * Linda Jansova
1125 * Brian Kennedy
1126 * Stephanie Leary
1127 * Shula Link
1128 * Tiffany Little
1129 * Mary Llewellyn
1130 * Llewellyn Marshall
1131 * Steven Mayo
1132 * Terran McCanna
1133 * Karen MacDonald
1134 * Gina Monti
1135 * Christine Morgan
1136 * Michele Morgan
1137 * Susan Morrison
1138 * Lauren Mous
1139 * Andrea Buntz Neiman
1140 * Jennifer Pringle
1141 * Simone Rauscher
1142 * Mike Rylander
1143 * Jane Sandberg
1144 * Chris Sharp
1145 * Jason Stephenson
1146 * Josh Stompro
1147 * Elizabeth Thomsen
1148 * Beth Willis
1149 * Carol Witt
1150
1151
1152 We also thank the following organizations whose employees contributed
1153 patches and documentation:
1154
1155 * BC Libraries Cooperative
1156 * Bibliomation
1157 * Catalyte
1158 * CW MARS
1159 * Equinox Open Library Initiative
1160 * Georgia Public Library Service (PINES)
1161 * Grimsby Public Library
1162 * Kenton County Public Library
1163 * King County Library System
1164 * Lake Agassiz Regional Library
1165 * MOBIUS
1166 * NOBLE
1167 * Princeton University
1168 * Sigio
1169 * Westchester Library System
1170
1171 Thank you also to the release team & build managers:
1172
1173 * Galen Charlton (Equinox Open Library Initiative)
1174 * Garry Collum (Kenton County Public Library)
1175 * Ruth Frasur Davis (Evergreen Indiana / Evergreen Community Development Initiative)
1176 * Blake Graham-Henderson (MOBIUS)
1177 * Stephanie Leary (Equinox Open Library Initiative)
1178 * Steven Mayo (PINES)
1179 * Terran McCanna (PINES)
1180 * Michele Morgan (NOBLE)
1181 * Andrea Buntz Neiman (Equinox Open Library Initiative)
1182 * Jane Sandberg (independent)
1183
1184 We regret any omissions.  If a contributor has been inadvertently
1185 missed, please open a bug at http://bugs.launchpad.net/evergreen/
1186 with a correction.
1187