]> git.evergreen-ils.org Git - working/Evergreen.git/blob - docs/RELEASE_NOTES_3_10.adoc
LP 2061136 follow-up: ng lint --fix
[working/Evergreen.git] / docs / RELEASE_NOTES_3_10.adoc
1 = Evergreen 3.10 Release Notes =
2 :toc:
3 :numbered:
4 :toclevels: 4
5
6 == Evergreen 3.10.4 ==
7
8 This release contains bug fixes improving on Evergreen 3.10.3.
9
10 === Bug Fixes ===
11
12 ==== Accessibility ====
13
14 * Screen readers skip Angular grid checkbox, row number, and flair icon cells (https://bugs.launchpad.net/bugs/2038230[Bug 2038230])
15 * The icon column (status-column) in the patron bills interface needs to convey its meaning to assistive technologies too (https://bugs.launchpad.net/bugs/1818086[Bug 1818086])
16 * Report output modal - visual accessibility issues (https://bugs.launchpad.net/bugs/2037666[Bug 2037666])
17 * ARIA labels needed in date select, datetime select (https://bugs.launchpad.net/bugs/2043421[Bug 2043421])
18 * Accessibility Improvements Needed in the Catalog (https://bugs.launchpad.net/bugs/1965985[Bug 1965985])
19
20
21 ==== Acquisitions ====
22
23 * wishlist: better way to ID funds at warning or stop percentages (https://bugs.launchpad.net/bugs/1984007[Bug 1984007])
24 * Actually install the edi pusher and fetcher scripts (https://bugs.launchpad.net/bugs/2034969[Bug 2034969])
25 * legacy acq search: lineitem search results can prevent editing copies (https://bugs.launchpad.net/bugs/2036840[Bug 2036840])
26 * Line item deleting silently fails if selection list is owned by another user (https://bugs.launchpad.net/bugs/1966096[Bug 1966096])
27
28
29 ==== Administration ====
30
31 * Single Day Emergency Closings Fail to Update Due Dates Correctly (https://bugs.launchpad.net/bugs/1818912[Bug 1818912])
32 * One Hour Gap in Default Autorenewal Delays (https://bugs.launchpad.net/bugs/1899976[Bug 1899976])
33 * Single Sign On (Shibboleth) + Bootstrap OPAC (https://bugs.launchpad.net/bugs/1917083[Bug 1917083])
34 * Shelving location ID 1 cannot be modified (https://bugs.launchpad.net/bugs/2023314[Bug 2023314])
35 * Hours of Operation Always Displays All Closed Tooltip  (https://bugs.launchpad.net/bugs/2042962[Bug 2042962])
36 * eg_db_config can fail depending on ~/.psqlrc contents (https://bugs.launchpad.net/bugs/2023418[Bug 2023418])
37
38
39 ==== Booking ====
40
41 * Booking: Overlapping bookings allowed (https://bugs.launchpad.net/bugs/1804066[Bug 1804066])
42
43
44 ==== Carousels ====
45
46 * Carousels - Carousels Can't be Created or Edited (https://bugs.launchpad.net/bugs/2039612[Bug 2039612])
47 * The "prev" and "next" navigation buttons in carousels are not translated.  (https://bugs.launchpad.net/bugs/2033067[Bug 2033067])
48
49
50 ==== Cataloging ====
51
52 * Fixed Fields Grid in Enhanced MARC Editor Not Updated on Save (https://bugs.launchpad.net/bugs/2015163[Bug 2015163])
53 * Fast Item Add Not Working from MARC Edit (https://bugs.launchpad.net/bugs/1986706[Bug 1986706])
54 * Create MARC Record - Jump to Flat Editor - Keyboard Shortcut (https://bugs.launchpad.net/bugs/2031177[Bug 2031177])
55 * Create MARC Record - Flat Editor - Keyboard Shortcut for Saving (https://bugs.launchpad.net/bugs/2031162[Bug 2031162])
56 * Create MARC Record - Hide help button for flat editor (https://bugs.launchpad.net/bugs/2031123[Bug 2031123])
57 * Create MARC Record - focus on item add and call number (https://bugs.launchpad.net/bugs/2031114[Bug 2031114])
58 * WebClient - Create MARC Record - Select Template Focus and Page Name (https://bugs.launchpad.net/bugs/2031043[Bug 2031043])
59 * WebClient - Create MARC Record - Keyboard Shortcut (https://bugs.launchpad.net/bugs/2031040[Bug 2031040])
60 * Angular Holdings Editor uses old terminology (https://bugs.launchpad.net/bugs/1983424[Bug 1983424])
61 * Enable spellcheck for angular MARC edit screens (https://bugs.launchpad.net/bugs/1947906[Bug 1947906])
62 * Reapplying item template with alert or note results in multiple alerts and/or notes (https://bugs.launchpad.net/bugs/1855144[Bug 1855144])
63 * angular MARC editor tab does not display record source value (https://bugs.launchpad.net/bugs/1927870[Bug 1927870])
64 * Angular: can no longer double click on item to open editor (https://bugs.launchpad.net/bugs/1908568[Bug 1908568])
65 * MARC Batch Import/Export Queue: Links to the Staff Catalogue should open in a new tab (https://bugs.launchpad.net/bugs/2040305[Bug 2040305])
66
67
68
69 ==== Circulation ====
70
71 * Placing holds fails unintuitively when preferred pickup location is disabled via org unit setting opac.holds.org_unit_not_pickup_lib (https://bugs.launchpad.net/bugs/1477154[Bug 1477154])
72 * Sort direction for selection depth wrong when doing best-hold selection (https://bugs.launchpad.net/bugs/2023338[Bug 2023338])
73 * Autorenewal Can Overwhelm open-ils.trigger Service Drones (https://bugs.launchpad.net/bugs/2030915[Bug 2030915])
74 * Preferred name not listed as available to receipts (https://bugs.launchpad.net/bugs/1841635[Bug 1841635])
75 * Angular: the Mark Damaged and Mark Missing dialogs are missing some i18n directives (https://bugs.launchpad.net/bugs/1840990[Bug 1840990])
76 * Check Out Fails Silently if Operating Hours of Operation Set to Closed 7 Days a Week (https://bugs.launchpad.net/bugs/1944601[Bug 1944601])
77 * Cash Reports - Label Totals Wrapping Unnecessarily Early (https://bugs.launchpad.net/bugs/2039311[Bug 2039311])
78 * Display of survey results in patron account formatted incorrectly (https://bugs.launchpad.net/bugs/2040184[Bug 2040184])
79 * Concerns about functionality of Mark item Missing from Items Out (https://bugs.launchpad.net/bugs/1998605[Bug 1998605])
80 * Circulation->Retrieve Recent Patrons can have duplicate entries (https://bugs.launchpad.net/bugs/2009281[Bug 2009281])
81
82
83
84 ==== Course materials ====
85
86 * Course Materials: Browse for course not working (https://bugs.launchpad.net/bugs/1913815[Bug 1913815])
87 * Blank or Wildcard Search for Course by Instructor Fails (https://bugs.launchpad.net/bugs/1968754[Bug 1968754])
88 * OPAC course reserves link display shouldn't depend on search library (https://bugs.launchpad.net/bugs/2035389[Bug 2035389])
89
90
91 ==== Client ====
92
93 * Logging out on a page with a pcrud call floods browser with errors (https://bugs.launchpad.net/bugs/2002693[Bug 2002693])
94 * Web staff client does not work properly when Czech is switched on (https://bugs.launchpad.net/bugs/2032753[Bug 2032753])
95 * Staff Client eg grid not sorting alphabetically (https://bugs.launchpad.net/bugs/1912840[Bug 1912840])
96 * Link/button issue in clipboard dialog component (https://bugs.launchpad.net/bugs/2043424[Bug 2043424])
97
98
99 ==== Documentation ====
100
101 * Docs: Update "Conjoined Items" section for web client (https://bugs.launchpad.net/bugs/1775930[Bug 1775930])
102 * Documentation - Web Services - Add on Z39.50 and OAI-PMH (https://bugs.launchpad.net/bugs/2031935[Bug 2031935])
103 * Documentation - Floating Feature Documentation (https://bugs.launchpad.net/bugs/2033655[Bug 2033655])
104 * Carousel docs list the wrong admin screen for Carousel Library Mapping (https://bugs.launchpad.net/bugs/2038779[Bug 2038779])
105 * marc_export documentation sql example fix (https://bugs.launchpad.net/bugs/2029160[Bug 2029160])
106 * Define Permissions (https://bugs.launchpad.net/bugs/1842957[Bug 1842957])
107 * Docs: Remove old docs from landing page (https://bugs.launchpad.net/bugs/2040313[Bug 2040313])
108 * Docs: Item Status Info Missing (https://bugs.launchpad.net/bugs/2022100[Bug 2022100])
109
110
111
112 ==== General ====
113
114 * open-ils.actor.container.retrieve_by_class doesn't properly handle missing bucketOwnerId (https://bugs.launchpad.net/bugs/2036265[Bug 2036265])
115
116
117 ==== OAI-PMH ====
118
119 * OAI-PMH - Config repository name extra space (https://bugs.launchpad.net/bugs/2030523[Bug 2030523])
120
121
122
123 ==== Public catalog ====
124
125 * Bootstrap OPAC: Only show current addresses (https://bugs.launchpad.net/bugs/1939309[Bug 1939309])
126 * Request a Card link missing on login form (https://bugs.launchpad.net/bugs/2039114[Bug 2039114])
127 * Button in Patron Messages interface in OPAC are not translatable (https://bugs.launchpad.net/bugs/1919501[Bug 1919501])
128 * Bootstrap Opac: Personal Information Page contains Links as Buttons (https://bugs.launchpad.net/bugs/2040314[Bug 2040314])
129 * Marking org unit as non-visible in the OPAC defaults patrons' preferred pickup locations to the first org unit (https://bugs.launchpad.net/bugs/2043127[Bug 2043127])
130
131
132 ==== Reports ====
133
134 * Unable to schedule a Report at 8 AM (https://bugs.launchpad.net/bugs/2039186[Bug 2039186])
135
136
137 ==== Staff catalog ====
138
139 * Placeholders  in search form in  staff catalog appears untranslated (https://bugs.launchpad.net/bugs/1920126[Bug 1920126])
140 * Copy count highlight color contrast in staff catalog search results (https://bugs.launchpad.net/bugs/2043847[Bug 2043847])
141
142
143 === Further details on bug fixes ===
144
145 ==== Change in AutoRenew Event Definition Default Delay ====
146
147 The delay for the AutoRenew event has been changed from -23 hours to
148 -24 hours and 1 minute.  The previous values of -23 hours for the
149 delay and -1 minute for the max_delay left a gap of approximately 1
150 hour where items would not auto-renew if they fell due during that
151 time.  Depending upon the time that the AutoRenew event runner is
152 scheduled to run, this gap may never turn up.  However, all it takes
153 is a misconfigured client (i.e. an incorrect timezone setting) or a
154 manually edited due date on a circulation for this to turn up.  The
155 new interval settings guarantee that all circulations for a given 24
156 hour period are selected with no gap.
157
158 A database upgrade script is provided to alter any event definitions
159 using the Circ::Autorenew reactor and the previous default delay
160 values to the new settings.  If you have customized or added any event
161 definitions using this reactor, you should double check that they are
162 correct after an upgrade.
163
164
165 === Acknowledgements ===
166
167 We would like to thank the following individuals who contributed code,
168 testing and documentation patches to the 3.10.4 point release of Evergreen:
169
170
171 * Scott Angel
172 * Jason Boyer
173 * Dan Briem
174 * Andrea Buntz Neiman
175 * Eva Cerniňáková
176 * Galen Charlton
177 * Garry Collum
178 * Jeff Davis
179 * Robin Fitch
180 * Blake Graham-Henderson
181 * Lena Hernandez
182 * Kyle Huckins
183 * Linda Jansova
184 * Angela Kilsdonk
185 * Stephanie Leary
186 * Mary Llewellyn
187 * Llewellyn Marshall
188 * Steven Mayo
189 * Terran McCanna
190 * Gina Monti
191 * Susan Morrison
192 * Lauren Mous
193 * Christine Morgan
194 * Michele Morgan
195 * Jennifer Pringle
196 * Simone Rauscher
197 * Mike Rylander
198 * Jane Sandberg
199 * Chris Sharp
200 * Jason Stephenson
201 * Josh Stompro
202 * Beth Willis
203
204
205 == Evergreen 3.10.3 ==
206
207 This release contains bug fixes improving on Evergreen 3.10.2.
208
209 This includes a fix for a critical security issue. Users are advised to
210 upgrade as soon as possible.
211
212 === Upgrade notes ===
213
214 * https://bugs.launchpad.net/evergreen/+bug/2024682[Bug 2024682] requires a schema update.
215
216 === Bug Fixes ===
217
218 ==== Security ===
219
220 * Fixes an issue in `open-ils.fielder` that could enable unauthenticated remote SQL
221   injection attacks.
222
223 ==== Accessibility ====
224
225 * Adds aria-labels to AngularJS grid controls (https://bugs.launchpad.net/evergreen/+bug/1887866[Bug 1887866])
226 * Fixes color contrast in tooltip links (https://bugs.launchpad.net/evergreen/+bug/2011056[Bug 2011056)]
227
228 ==== Administration ====
229
230 * Redirects WARN statements to DEBUG in StatCat.pm (https://bugs.launchpad.net/evergreen/+bug/2004205[Bug 2004205])
231 * Restores correct version of action.item_user_circ_test function (https://bugs.launchpad.net/evergreen/+bug/2024682[Bug 2024682])
232
233
234 ==== Cataloging ====
235
236 * Restores ability to edit Item Notes (https://bugs.launchpad.net/evergreen/+bug/1983628[Bug 1983628)]
237
238 ==== Circulation ====
239
240 * Fixes issues with place hold from patron record in Angular and AngularJS (https://bugs.launchpad.net/evergreen/+bug/1996818[Bug 1996818])
241
242
243 ==== Documentation ====
244
245 * Removes obsolete RFID Integration documentation (https://bugs.launchpad.net/evergreen/+bug/1955666[Bug 1955666])
246 * Corrections to archive stat cat documentation (https://bugs.launchpad.net/evergreen/+bug/1836221[Bug 1836221])
247 * Fixes GitHub actions docs build errors (https://bugs.launchpad.net/evergreen/+bug/2022366[Bug 2022366)]
248
249
250 ==== Reports ====
251
252 * Fixes an issue where enabling Shibboleth broke reports output access (https://bugs.launchpad.net/evergreen/+bug/2008252[Bug 2008252)]
253
254
255 === Acknowledgements ===
256
257 We would like to thank the following individuals who contributed code, testing, and documentation to the 3.10.3 point release of Evergreen:
258
259 * John Amundson
260 * Jason Boyer
261 * Dan Briem
262 * Galen Charlton
263 * Jeff Davis
264 * Elaine Hardy
265 * Stephanie Leary
266 * Terran McCanna
267 * Gina Monti
268 * Andrea Buntz Neiman
269 * Mike Risher
270 * Jane Sandberg
271 * Chris Sharp
272 * Jason Stephenson
273 * Jessica Woolford
274
275
276
277
278
279
280 == Evergreen 3.10.2 ==
281
282 This release contains bug fixes improving on Evergreen 3.10.1.  This release also includes
283 fixes for three security bugs.
284
285
286 === Upgrade notes ===
287
288 * https://bugs.launchpad.net/evergreen/+bug/1972738[Bug 1972738] requires a schema update
289 * https://bugs.launchpad.net/evergreen/+bug/1920826[Bug 1920826] requires a schema update
290 * https://bugs.launchpad.net/evergreen/+bug/2009073[Bug 2009073] requires a schema update. Sites that have customized styles for the `oils_SH` CSS class should review their changes upon upgrade.
291
292 === Security Fixes ===
293
294 ==== Fix SQL Injection Vulnerability ====
295
296 An SQL injection vulnerability related to the implementation of
297 search term highlights is now closed.
298
299 This is https://bugs.launchpad.net/evergreen/+bug/2004055[Bug 2004055].
300
301 ==== Malicious Search Protection ====
302
303 Evergreen sometimes sees some "novel" query strings in the wild that
304 cause the search backend to time out or worse.  These are sometimes
305 malicious and sometimes accidental, but the effect on users is the
306 same.
307
308 The changes here improve query compilation in several respects in order
309 to reduce the chances of an overly complex query causing problems for
310 the search subsystem.
311
312 More work is done up front to simplify and combine parts of the
313 resulting SQL, allowing more work to be done closer to the data.
314 This change allows Evergreen to handle many more tested or chained
315 boolean expressions, and negated terms are now handled directly in
316 line with other adjacent terms. Phrases (exact matches) are now
317 searched for using Postgres' adjacency tsearch operator.
318
319 All of these changes work together to improve performance by getting
320 more search work done in fewer database operations while protecting
321 against certain query constructs that have caused problems in the
322 past.
323
324 This is https://bugs.launchpad.net/evergreen/+bug/1775958[Bug 1775958].
325
326 ==== Restrict login redirect ====
327
328 As a security best-practice, Evergreen should not allow arbitrary
329 redirection on successful login, but instead limit redirection to
330 local links or configured domains and schemes.
331
332 This feature is controlled by a new global flag called *opac.login_redirect_domains*
333 which must contain a comma-separated list of domains.  All hostnames
334 under each domain is allowed for redirect, and the scheme of the
335 redirect URL must be one of http, https, ftp, or ftps.
336
337 This is https://bugs.launchpad.net/evergreen/+bug/1908576[Bug 1908576].
338
339 === Bug Fixes ===
340
341 ==== Accessibility ====
342
343 * Fixes duplicate ID in staff catalog bib actions (https://bugs.launchpad.net/evergreen/+bug/2016341[Bug 2016341])
344 * Adds empty alt attributes for images and icons that already have equivalent text representation (https://bugs.launchpad.net/evergreen/+bug/2018208[Bug 2018208])
345 * Adds labeling to captcha math problem in OPAC (https://bugs.launchpad.net/evergreen/+bug/2015141[Bug 2015141])
346 * Fixes tab order in administration splash pages (https://bugs.launchpad.net/evergreen/+bug/2015137[Bug 2015137])
347 * Fixes default modal background color (https://bugs.launchpad.net/evergreen/+bug/2008918[Bug 2008918])
348 * Adds aria-label to staff catalog search +/- buttons (https://bugs.launchpad.net/evergreen/+bug/2002363[Bug 2002363])
349 * Adds H1 headings to staff pages (https://bugs.launchpad.net/evergreen/+bug/1994711[Bug 1994711])
350 * Fixes headings hierarchy and source order on staff catalog search results (https://bugs.launchpad.net/evergreen/+bug/2009865[Bug 2009865])
351 * Fixes highlight contrast & semantic markup in staff catalog & Bootstrap OPAC search results (https://bugs.launchpad.net/evergreen/+bug/2009073[Bug 2009073])
352 * Adds ARIA landmarks and roles for various Angular staff interfaces 
353 (https://bugs.launchpad.net/evergreen/+bug/1615707[Bug 1615707])
354 * Fixes color contrast in staff search results pagination (https://bugs.launchpad.net/evergreen/+bug/2018326[Bug 2018326])
355 * Adds accessible names to purchase order checkboxes (https://bugs.launchpad.net/evergreen/+bug/2009092[Bug 2009092])
356
357 ==== Acquisitions ====
358
359 * Fixes line item ID link in Acq Search so the PO opens and then jumps to the correct line item (https://bugs.launchpad.net/evergreen/+bug/2003946[Bug 2003946])
360
361 ==== Administration ====
362
363 * Deduplicates entries in ils_events.xml (https://bugs.launchpad.net/evergreen/+bug/1369345[Bug 1369345])
364 * Encourages distinct results when querying ahopl IDL source (https://bugs.launchpad.net/evergreen/+bug/1964986[Bug 1964986])
365 * Restores missing database updates for version-upgrade from 3.5.1 to 3.6.0 (https://bugs.launchpad.net/evergreen/+bug/1920826[Bug 1920826])
366 * Improved error handling by open-ils.pcrud (https://bugs.launchpad.net/evergreen/+bug/1808016[Bug 1808016])
367
368 ==== Catalog ==== 
369
370 * Adds consistency to SMS Carrier dropdown display (https://bugs.launchpad.net/evergreen/+bug/1889916[Bug 1889916])
371
372 ==== Cataloging ====
373
374 * Ensures authority linker is working in all embedded MARC editors (https://bugs.launchpad.net/evergreen/+bug/1716479[Bug 1716479])
375
376 ==== Circulation ====
377
378 * Adds a note to the Mark Patron Email Invalid function (https://bugs.launchpad.net/evergreen/+bug/1752334[Bug 1752334])
379 * Treats empty string as null for preferred name field (https://bugs.launchpad.net/evergreen/+bug/1996651[Bug 1996651])
380 * Fixes incorrect total circs in Item Status Detail View (https://bugs.launchpad.net/evergreen/+bug/2018534[Bug 2018534])
381 * Removes irrelevant actions from Hold Shelf actions menu (https://bugs.launchpad.net/evergreen/+bug/2004052[Bug 2004052])
382 * Removes patron information from the 'Check Out Staff' field in Item Status Circ History list (https://bugs.launchpad.net/evergreen/+bug/2001728[Bug 2001728])
383 * Fixes a caching issue that occasionally caused incorrect holds addresses to print on transit slips (https://bugs.launchpad.net/evergreen/+bug/1778567[Bug 1778567])
384
385 ==== Client ====
386
387 * Adds index to speed up display of the Hopeless Holds interface in large systems (https://bugs.launchpad.net/evergreen/+bug/1972738[Bug 1972738])
388 * Adds validator to Survey Date so surveys can not be created with an end date before their start date (https://bugs.launchpad.net/evergreen/+bug/1879517[Bug 1879517])
389 * Quiets extraneous console noise in some AngularJS grids (https://bugs.launchpad.net/evergreen/+bug/2013223[Bug 2013223])
390 * Restores correct link to AngularJS Patron Requests interface (https://bugs.launchpad.net/evergreen/+bug/2019150[Bug 2019150])
391 * Fixes Angular multi-select component to add a special case for shelving locations (https://bugs.launchpad.net/evergreen/+bug/1863387[Bug 1863387])
392
393 ==== Course Materials ====
394
395 * Fixes circ modifier column in Course Materials grid (https://bugs.launchpad.net/evergreen/+bug/1972917[Bug 1972917])
396
397 ==== Documentation ====
398
399 * Fixes to Server Installation documentation
400 * Updates to Record Buckets documentation (https://bugs.launchpad.net/evergreen/+bug/1845253[Bug 1845253])
401 * Updates to Fonts & Sound Settings documentation
402 * Adds documentation for OpenAthens (https://bugs.launchpad.net/evergreen/+bug/1998921[Bug 1998921])
403
404 ==== OPAC ====
405
406 * Fixes button styling in Boostrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1981774[Bug 1981774])
407 * Adjusts functionality of "Where" button in OPAC (https://bugs.launchpad.net/evergreen/+bug/1970476[Bug 1970476])
408 * Fixes Google Books preview when loading from search results page (https://bugs.launchpad.net/evergreen/+bug/1791791(Bug 1791791)
409 * Fixes label alignment in MyAccount Circ History (https://bugs.launchpad.net/evergreen/+bug/2015481[Bug 2015484])
410
411
412 ==== Miscellaneous ====
413
414 * Adds fixes to AngularJS test suite (https://bugs.launchpad.net/evergreen/+bug/1915326[Bug 1915326])
415
416
417
418 === Acknowledgements ===
419
420 We would like to thank the following individuals who contributed code, testing, and documentation to the 3.10.2 point release of Evergreen:
421
422 * John Amundson
423 * Jason Boyer
424 * Dan Briem
425 * Galen Charlton
426 * Garry Collum
427 * Jeff Davis
428 * Britta Dorsey
429 * Ruth Frasur
430 * Blake Graham-Henderson
431 * Stephanie Leary
432 * Tiffany Little
433 * Terran McCanna
434 * Chrystal Messam
435 * Gina Monti
436 * Christine Morgan
437 * Michele Morgan
438 * Susan Morrison
439 * Andrea Buntz Neiman
440 * Jennifer Pringle
441 * Mike Rylander
442 * Jane Sandberg
443 * Chris Sharp
444 * Jason Stephenson
445 * Josh Stompro
446 * Jennifer Weston
447 * Beth Willis
448
449
450
451
452
453 == Evergreen 3.10.1 ==
454
455 This release contains bug fixes improving on Evergreen 3.10.0. This release includes
456 fixes for two security bugs.
457
458 === Security Fixes ===
459
460 ==== Protect qtype CGI Parameter ====
461
462 Malicious DoS attempts have been witnessed in the wild making use of
463 the fact that Evergreen does not check the contents of the `qtype` CGI
464 parameter.  While these fail their intent, it would be better to
465 simply drop such searches on the floor when they're seen.
466
467 Evergreen will now confirm that the search class in the `qtype` parameter
468 is valid, and that the remainder of the value is structured correctly,
469 before processing the search request.
470
471 This is https://bugs.launchpad.net/evergreen/+bug/1811685[Bug 1811685].
472
473 ==== Catalog Search Denial of Service Protection ====
474
475 Here we add two ways to protect against denial of service attacks:
476
477  * Limit concurrent search requests per client IP address
478   ** 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.
479  * Limit the global concurrent search requests for the same query
480   ** 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.
481
482 When a limit is exceeded the client receives an HTTP 429 "Too many requests" response from the web server, and the connection is ended.
483
484 This is https://bugs.launchpad.net/evergreen/+bug/1361782[Bug 1361782].
485
486 === Upgrade notes ===
487
488 * 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`
489 * https://bugs.launchpad.net/evergreen/+bug/1998355[Bug 1998355] requires a schema update
490 * https://bugs.launchpad.net/evergreen/+bug/1441750[Bug 1441750] requires a schema update
491 * https://bugs.launchpad.net/evergreen/+bug/1995623[Bug 1995623] requires a schema update
492 * https://bugs.launchpad.net/evergreen/+bug/1361782[Bug 1361782] requires a schema update
493
494 === Bug Fixes ===
495
496 ==== Accessibility ====
497
498 * Fixes color contrast on modal headers (https://bugs.launchpad.net/evergreen/+bug/1999954[Bug 1999954])
499 * Adjusts staff interface badges to comply with color contrast guidelines (https://bugs.launchpad.net/evergreen/+bug/1999282[Bug 1999282])
500 * Increases color contrast on staff client links and buttons (https://bugs.launchpad.net/evergreen/+bug/1991562[Bug 1991562])
501 * Adds accessible search form labels to staff catalog search form (https://bugs.launchpad.net/evergreen/+bug/1998855[Bug 1998855])
502 * Adds keyboard navigation support to menus within staff catalog bib records (https://bugs.launchpad.net/evergreen/+bug/1814978[Bug 1814978])
503 * Adds input labels in the manage authorities interface fields (https://bugs.launchpad.net/evergreen/+bug/1989284[Bug 1989284)]
504 * Adds labels to metarecord holds checkboxes in staff client + alt-text for decorative image (https://bugs.launchpad.net/evergreen/+bug/1999304[Bug 1999304])
505
506 ==== Acquisitions ====
507
508 * Fixes funds dropdown in new acqusitions interfaces (https://bugs.launchpad.net/evergreen/+bug/1999544[Bug 1999544])
509 * Opens provider link in new tab (https://bugs.launchpad.net/evergreen/+bug/2004187[Bug 2004187])
510 * Adds line item count to line item search results (https://bugs.launchpad.net/evergreen/+bug/2003947[Bug 2003947])
511 * Fixes error with saving circ mods using batch line item update (https://bugs.launchpad.net/evergreen/+bug/2002920[Bug 2002920])
512 * Fixes issue where closed invoices were showing in the link to invoice modal (https://bugs.launchpad.net/evergreen/+bug/1999268[Bug 1999268])
513 * Moves line item loading progress bar to the summary area (https://bugs.launchpad.net/evergreen/+bug/1999410[Bug 1999410])
514
515 ==== Administration ====
516
517 * `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])
518 * Avoids permission lookup when there's no authtoken (https://bugs.launchpad.net/evergreen/+bug/1990306[Bug 1990306])
519 * Fixes an issue with `marc_stream_importer.pl` temp file creation (https://bugs.launchpad.net/evergreen/+bug/1943634[Bug 1943634])
520 * Adds patron database ID to Stripe payment record (https://bugs.launchpad.net/evergreen/+bug/1969994[Bug 1969994])
521 * Fix to prevent multiple server processes from being created by `oils_ct.sh` (https://bugs.launchpad.net/evergreen/+bug/1908455[Bug 1908455])
522 * Fixes an issue where last-copy delete was not creating hold notices (https://bugs.launchpad.net/evergreen/+bug/2007591[Bug 2007591])
523 * Fix to reduce bloating of `search.symspell_dictionary` (https://bugs.launchpad.net/evergreen/+bug/1998355[Bug 1998355)]
524 * Fix to allow legacy `mod_perl` handlers to check `eg.auth.token` (https://bugs.launchpad.net/evergreen/+bug/1996908[Bug 1996908])
525 * Fix to change legacy `ARRAY_TO_STRING(ARRAY_AGG())\ functions to `STRING_AGG()` functions (https://bugs.launchpad.net/evergreen/+bug/1441750[Bug 1441750])
526 * Fixes typo in `AddedContent.pm` (https://bugs.launchpad.net/evergreen/+bug/2012105[Bug 2012105])
527 * Fixes permissions check in Library Settings Editor (https://bugs.launchpad.net/evergreen/+bug/2006749[Bug 2006749])
528 * Fixes regression introduced in patch for https://bugs.launchpad.net/evergreen/+bug/2006749[Bug 2006749] (https://bugs.launchpad.net/evergreen/+bug/2007880[Bug 2007880])
529 * Search performance improvements for PostgreSQL 12+ (https://bugs.launchpad.net/evergreen/+bug/1999274[Bug 1999274])
530
531 ==== Catalog ==== 
532
533 * Fixes an error emailing records from the staff catalog & OPAC (https://bugs.launchpad.net/evergreen/+bug/1955079[Bug 1955079])
534 * Removes deleted call numbers from shelf browse (https://bugs.launchpad.net/evergreen/+bug/2003742[Bug 2003742])
535 * Adjusts styling of disable search menu items in staff catalog search (https://bugs.launchpad.net/evergreen/+bug/1998969[Bug 1998969])
536
537 ==== Cataloging ====
538
539 * Fixes issue where holdings template importer wouldn't import the full file (https://bugs.launchpad.net/evergreen/+bug/1980544[Bug 1980544])
540 * Fixes an issue where statcats in holding templates wouldn't save correctly (https://bugs.launchpad.net/evergreen/+bug/1999696[Bug 1999696])
541 * Fixes inconsistent button placement in delete holdings modal (https://bugs.launchpad.net/evergreen/+bug/1945355[Bug 1945355])
542 * Adds styling to show that a holding template changed a statcat value (https://bugs.launchpad.net/evergreen/+bug/2003755[Bug 2003755])
543 * Fixes erroneous error message in cover image upload modal (https://bugs.launchpad.net/evergreen/+bug/1988321[Bug 1988321])
544 * Fixes an issue where last-copy delete was not creating hold notices (https://bugs.launchpad.net/evergreen/+bug/2007591[Bug 2007591])
545 * Restores the ability to create empty call numbers in the holdings editor (https://bugs.launchpad.net/evergreen/+bug/1998494[Bug 1998494])
546 * Fixes MARC editor heading linker for fields 600, 651, and 655 (https://bugs.launchpad.net/evergreen/+bug/2007351[Bug 2007351])
547 * Protects "magic" statuses from overwrite when using holdings editor template (https://bugs.launchpad.net/evergreen/+bug/1999401[Bug 1999401])
548 * Prevents deletion of shelving locations with items attached + adds undelete action on shelving location editor  (https://bugs.launchpad.net/evergreen/+bug/2002435[Bug 2002435])
549 * Fixes item tag scoping in holdings editor (https://bugs.launchpad.net/evergreen/+bug/1965447[Bug 1965447])
550
551 ==== Circulation ====
552
553 * Clears `hopeless_date` when hold is captured (https://bugs.launchpad.net/evergreen/+bug/1915440[Bug 1915440])
554 * Fixes an issue where large hold shelf lists could fail to load  (https://bugs.launchpad.net/evergreen/+bug/1971745[Bug 1971745])
555 * Fixes slowness in the holds shelf query (https://bugs.launchpad.net/evergreen/+bug/1971745[Bug 1971745])
556 * Fixes an issue where the patron registration form sent unnecessarily large amount of data upon save (https://bugs.launchpad.net/evergreen/+bug/1976126[Bug 1976126])
557 * Fixes display issue with depth selector in patron note modal (https://bugs.launchpad.net/evergreen/+bug/1980874[Bug 1980874])
558 * Removes extra "pre-fetch all holds" checkbox from view holds page (https://bugs.launchpad.net/evergreen/+bug/2002337[Bug 2002337])
559
560 ==== Client ====
561
562 * Adds localization to Record Summary heading (https://bugs.launchpad.net/evergreen/+bug/1999446[Bug 1999446])
563 * Adds a user-visible error if a user attempts to login to the staff client without STAFF_LOGIN permissions (https://bugs.launchpad.net/evergreen/+bug/1969641[Bug 1969641])
564 * Fixes grid refresh issue on old Dojo grids (https://bugs.launchpad.net/evergreen/+bug/1625192[Bug 1625192])
565 * Fixes shelving location selector that was broken in several interfaces (https://bugs.launchpad.net/evergreen/+bug/1995418[Bug 1995418]
566 * Angular fixes including removing alert_message from print template, adding min/max to date picker, and preventing selecting a past date at checkout (https://bugs.launchpad.net/evergreen/+bug/1995623[Bug 1995623])
567 * Adds offline message to Angular login page (https://bugs.launchpad.net/evergreen/+bug/1958258[Bug 1958258])
568 * Fixes Angular login redirect issue (https://bugs.launchpad.net/evergreen/+bug/2006513[Bug 2006513])
569
570
571 ==== Documentation ====
572
573 * Updates to Standing Penalties and Group Penalty Thresholds documentation
574 * Updates `create_release_notes.sh` to use asciidoctor formatting (https://bugs.launchpad.net/evergreen/+bug/1995653[Bug 1995653])
575 * Adds Evergreen Web Services documentation
576 * Adds Mark Item as Missing Pieces documentation (https://bugs.launchpad.net/evergreen/+bug/1706664[Bug 1706664])
577 * Updates to Server Installation documentation for current ng-build parameters (https://bugs.launchpad.net/evergreen/+bug/1863921[Bug 1863921])
578 * Updates to Web Client Best Practices documentation
579 * Updates to Describing Your Organization documentation
580 * Updates to Load MARC Order Records documentation
581 * Updates to Purchase Order, Selection Lists, and Line Items documentation
582
583 ==== OPAC ====
584
585 * Fixes Google Books preview (https://bugs.launchpad.net/evergreen/+bug/1955403[Bug 1955403])
586 * Fixes patron address alignment (https://bugs.launchpad.net/evergreen/+bug/1944602[Bug 1944602])
587 * Fixes button arrangement in MyAccount holds interface (https://bugs.launchpad.net/evergreen/+bug/1980275[Bug 1980275])
588 * Fixes alignment in publication year search filter fields (https://bugs.launchpad.net/evergreen/+bug/1974581[Bug 1974581])
589 * Fixes an issue with holds history pagination (https://bugs.launchpad.net/evergreen/+bug/1422927[Bug 1422927])
590 * Adds localization to sr-only, aria-label, and title fields (https://bugs.launchpad.net/evergreen/+bug/1992490[Bug 1992490])
591 * Fixes an error emailing records from the staff catalog & OPAC (https://bugs.launchpad.net/evergreen/+bug/1955079[Bug 1955079])
592 * Fixes display problem in 856 subfields $n, $z, and $3 (https://bugs.launchpad.net/evergreen/+bug/1966995[Bug 1966995])
593 * Fixes facet display issue in grouped record search results (https://bugs.launchpad.net/evergreen/+bug/1980304[Bug 1980304])
594 * Fixes small-screen display issue with navigation links in copy table (https://bugs.launchpad.net/evergreen/+bug/1983729[Bug 1983729])
595 * Fixes small-screen display issue with table displays (https://bugs.launchpad.net/evergreen/+bug/1984269[Bug 1984269])
596 * Corrects duplicate DOB display in patron self-registration form (https://bugs.launchpad.net/evergreen/+bug/1965065[Bug 1965065])
597 * Fixes display issue with applied filters (https://bugs.launchpad.net/evergreen/+bug/1980302[Bug 1980302])
598 * Fixes syntax error introduced in bug https://bugs.launchpad.net/evergreen/+bug/1992490[Bug 1992490]  (https://bugs.launchpad.net/evergreen/+bug/2008925[Bug 2008925])
599 * Fixes styling of patron messages (https://bugs.launchpad.net/evergreen/+bug/1980142[Bug 1980142])
600
601 ==== Miscellaneous ====
602
603 * Fixes field order in New Survey modal (https://bugs.launchpad.net/evergreen/+bug/1991590[Bug 1991590])
604 * Changes Angular `styleext` setting to `style` (https://bugs.launchpad.net/evergreen/+bug/1995211[Bug 1995211])
605
606 ==== Reports ====
607
608 * Fixes an error with display of certain shared reports folders (https://bugs.launchpad.net/evergreen/+bug/1999944[Bug 1999944])
609
610
611 === Acknowledgements ===
612
613 We would like to thank the following individuals who contributed code, testing, and documentation to the 3.10.1 point release of Evergreen:
614
615 * John Amundson
616 * Scott Angel
617 * Jason Boyer
618 * Dan Briem
619 * Eva Cerninakova
620 * Galen Charlton
621 * Garry Collum
622 * Elizabeth Davis
623 * Jeff Davis
624 * Bill Erickson
625 * Blake Graham-Henderson
626 * Elaine Hardy
627 * Stephanie Leary
628 * Clayton Liddell
629 * Shula Link
630 * Tiffany Little
631 * Mary Llewellyn
632 * Debbie Luchenbill
633 * Llewellyn Marshall
634 * Terran  McCanna
635 * Gina Monti
636 * Christine Morgan
637 * Michele Morgan
638 * Susan Morrison
639 * Andrea Buntz Neiman
640 * Jennifer Pringle
641 * Mike Rylander
642 * Jane Sandberg
643 * Chris Sharp
644 * Jason Stephenson
645 * Josh Stompro
646 * Jennifer Weston
647 * Beth Willis
648 * Carol Witt
649 * Adam Woolford
650 * Jessica Woolford
651
652 == Evergreen 3.10.0 ==
653
654 === Upgrade notes ===
655
656 The database update includes a partial reingest.
657
658 === New Features ===
659
660
661 ====  Acquisitions ====
662
663 ===== Further Angularization of Acquisitions Interfaces =====
664
665 The following acquisitions interfaces were rewritten in Angular:
666
667  * Purchase Orders and Selection Lists
668  * Line Item management, including
669    ** Receiving and claiming
670    ** Creation of line item items singly and in batch
671  * Load MARC Order Records
672
673 Improvements over the previous interfaces include:
674
675  * The line item table can now be sorted and filtered
676  * New settings to control the owning library that is
677    applied to auto-created line item items.
678
679 ===== Support for Advanced Shipment Notices in Acquisitions =====
680
681 This version of Evergreen supports DESADV EDI messages.  These messages are
682 created by vendors when they pack and ship items, and contain:
683
684 * A list of dispatched POs, lineitems, and the number of items per lineitem.
685 * A package-level barcode (e.g. https://en.wikipedia.org/wiki/Serial_shipping_container_code) that represents the package as a whole.
686
687 Staff can scan that package-level barcode to retrieve information on every
688 item in the package, including an option to auto-receive every item in the box.
689
690 ===== New column in General Acquisitions Search =====
691
692 The general acquisitions search grid now has a column
693 for purchase order ID.
694
695 ===== New Permission for Fund Rollovers =====
696
697 A new permission, `ADMIN_FUND_ROLLOVER`, is added to control access
698 to the fund rollover function. This allows having some users be able
699 to manage funds without being to invoke the rollover action, as
700 rollovers can be hard to undo.
701
702 During upgrade, any permission group with the `ADMIN_FUND` permission
703 will get the new `ADMIN_FUND_ROLLOVER` permission to avoid surprises.
704 Consequently, an Evergreen administrator who wishes to lock down
705 access to the feature should follow up by removing the new permission
706 where necessary.
707
708 In new databases, `ADMIN_FUND_ROLLOVER` is granted only to the stock
709 Acquisitions Administrators permission group.
710
711 ===== Inactive funds can no longer make allocations or transfers =====
712
713 In the Funds Administration page, if a fund is not marked as
714 active, the "Create allocation" and "Transfer money" options
715 will no longer be available.
716
717 In the occassional cases where these operations are necessary,
718 you can edit the fund to mark it active, perform your financial
719 operations, then mark it inactive again.
720
721 ==== Administration ====
722
723 ===== Geosort feature can now use Bing Maps API =====
724
725 The API can be configured at *Server Administration*
726 -> *Geographic Location Service*.
727
728 ===== Refresh Time for Carousel =====
729
730 This adds the time (rather than just the date) to the 
731 Last Refresh Time column of the Local Administration > 
732 Carousels grid. 
733
734 ===== Hours of Operation Note field =====
735
736 Adds a note field to each day's hours to record split hours or service related notes. The notes appear enclosed in parentheses next to each day's hours when viewing a library's hours in the Bootstrap OPAC and TPAC
737
738 ===== HTML email =====
739
740 Administrators can now configure action triggers to send HTML-formatted
741 email.  Evergreen continues to send emails in plain-text by default, but
742 you can now configure an email template to send as HTML by adding the appropriate
743 header to the email.  For example: Content-Type: text/html;charset=utf-8
744
745 ===== Match Quality Ratio Option Added to marc_stream_importer.pl =====
746
747 Command line options have been added to the marc_stream_importer.pl
748 support script to specify the match quality ratio used when matching
749 bibliographic or authority records for overlay:
750
751 * --bib-match-quality-ratio
752 * --auth-match-quality-ratio
753
754 These options specify the match quality ratio, as a decimal number
755 (i.e. 1.0), for overlay of records with the overlay on 1 match
756 options.  They correspond to the similar options in the staff client
757 Vandelay import.
758
759 ===== Configuring sign-on to OpenAthens =====
760 :toc:
761
762 ====== Purpose ======
763
764 If your institution uses OpenAthens, you can configure Evergreen to sign 
765 patrons in to OpenAthens using their Evergreen account. This will let them 
766 connect to OpenAthens resources seamlessly once they have logged in to 
767 Evergreen. Patrons are assigned an OpenAthens identity dynamically based 
768 on their Evergreen login, and do not need accounts created manually in 
769 OpenAthens.
770
771 ====== Registering your Evergreen installation with the OpenAthens service ======
772
773 Using your OpenAthens administrator account at https://admin.openathens.net/, 
774 complete the following steps:
775
776 . Register a local authentication connection for Evergreen:
777   .. Go to *Management* -> *Connections*.
778   .. Under *Local authentication* click *Create*.
779   .. In the wizard that appears, select *Evergreen* as the local authentication 
780   system type (or *API* if Evergreen is not listed) and click *Configure*.
781   .. For *Display name*, enter the name of your Evergreen portal that your 
782   patrons will be familiar with. They will need to be able to recognise and 
783   select this name from a list of sign-in options on OpenAthens.
784   .. For *Callback URL* enter *https://<HOSTNAME>/eg/opac/sso/openathens* where 
785   <HOSTNAME> is the public hostname of your Evergreen installation, and click 
786   *Save*. (If you have installed Evergreen somewhere other than /eg, modify the
787   URL accordingly.)
788   .. On the details page that appears, take a copy of the *Connection ID* and 
789   *Connection URI* that have been generated. You will need these when 
790   configuring Evergreen.
791 . Generate an API key:
792   .. Go to *Management* -> *API keys* and click *Create*.
793   .. For *Name*, enter 'Evergreen' or whatever name you use for your Evergreen 
794   portal internally, and click *Save*.
795   .. Take a copy of the 36-character key that has been generated. You will need 
796   this when configuring Evergreen.
797
798 Full OpenAthens documentation for local authentication API connections is 
799 available at http://docs.openathens.net/display/public/MD/API+connector.
800
801 ====== Configuring Evergreen ======
802
803 OpenAthens sign-on is configured in the staff client under *Local 
804 Administration* -> *OpenAthens Sign-on*. To make a connection, select *New 
805 Sign-on to OpenAthens*, and set the values as follows:
806
807 * *Owner* - the organisation within your library hierarchy that owns the 
808 connection to OpenAthens. If your whole consortium has signed up to OpenAthens 
809 as a single customer, then you would select the top-level. If only one 
810 regional library system or branch is the OpenAthens customer, select that. 
811 Whichever organisation you select, the OpenAthens connection will take effect 
812 for all libraries below it in your organisational hierarchy. A single 
813 OpenAthens sign-on configuration normally equates to a single *domain* in the 
814 OpenAthens service. If in doubt refer to your OpenAthens account manager or 
815 implementation partner.
816 * *Active* - Enable this connection (enabled by default). N.B. Evergreen
817   does not support more than one active connection to OpenAthens at a time per 
818   organisation. If more than one connection is added per organisation, 
819   Evergreen will use only the _first_ connection that has *Active* enabled.
820 * *API key* - the 36-character OpenAthens *API key* that was generated in step 
821   2 above.
822 * *Connection ID* - the numerical *Connection ID* that was generated for the 
823   OpenAthens local authentication connection in step 1 above.
824 * *Connection URI* - the *Connection URI* that was generated for the 
825   OpenAthens local authentication connection in step 1 above.
826 * *Auto sign-on* - controls _when_ patrons are signed on to OpenAthens:
827   ** *enabled* (recommended) - As soon as a patron logs in to Evergreen, they 
828   are signed in to OpenAthens. This happens via a quick redirect that the user 
829   should not notice.
830   ** *disabled* - The patron is not signed in to OpenAthens to start with. When 
831   they first access an OpenAthens-protected resource, they will need to search 
832   for your institution at the OpenAthens log-in page and choose your Evergreen 
833   portal as the sign-in method (they will see the name you entered as the 
834   *Display name* in step 1 above). Evergreen will then prompt for log-in if 
835   they have not already logged in. After that, they are signed in to OpenAthens 
836   and OpenAthens redirects them to the resource.
837 * *Auto sign-out* - controls whether the patron is signed out of OpenAthens 
838   when they log out of Evergreen. If *enabled* the patron will be sent to the 
839   OpenAthens sign-out page when they log out of Evergreen. You can optionally 
840   configure the OpenAthens service to send them back to your home page again 
841   after this; the setting can be found at https://admin.openathens.net/ under 
842   *Preferences* -> *Domain* -> *After sign out*.
843 * *Unique identifier field* - controls which attribute of patron accounts is 
844   used as the unique identifier in OpenAthens. The supported values are 'id' 
845   and 'usrname', but you should leave this set to the default value of 'id' 
846   unless you have a reason to do otherwise. It is important that this attribute 
847   does not change during the lifetime of a patron account, otherwise they would 
848   lose any personalised settings they have saved on third party resources. It 
849   is also important that you do not re-use old patron accounts for new users, 
850   otherwise a new user could see personalised settings saved by an old user.
851 * *Display name field* - controls which attribute of patron accounts is 
852   displayed in the OpenAthens portal at https://admin.openathens.net/. (This 
853   is where you can see which accounts have been used, and what use patrons are 
854   making of third party resources.) The supported values are 'id', 'usrname' 
855   and 'fullname'. Whichever you choose, OpenAthens will only use it within 
856   your portal view; it won't be released to third-party resources.
857 * *Release X* - one setting for each of the attributes that it is possible to 
858   release to OpenAthens. Depending on your user privacy policy, you can 
859   configure any of these attributes to be released to OpenAthens as part of 
860   the sign-on process. None are enabled by default. OpenAthens in turn doesn't 
861   store or release any of these attributes to third party resources, unless 
862   you configure that separately in the OpenAthens portal. You have to 
863   configure this in two stages. Firstly, mapping Evergreen attributes to 
864   OpenAthens attributes, and secondly releasing OpenAthens attributes to third 
865   party resources. See the OpenAthens documenation pages at 
866   http://docs.openathens.net/display/public/MD/Attribute+mapping and 
867   http://docs.openathens.net/display/public/MD/Attribute+release. You will need 
868   to know the exact names of the attributes that are released. These are listed 
869   in the following table:
870
871 |===
872 |Setting|Attribute released|Description
873
874 |Release prefix
875 |prefix
876 |the patron's prefix, overriden by the preferred prefix if that is set
877
878 |Release first name
879 |first_given_name
880 |the patron's first name, overriden by the preferred first name if that is set
881
882 |Release middle name
883 |second_given_name
884 |the patron's middle name, overriden by the preferred middle name if that is set
885
886 |Release surname
887 |family_name
888 |the patron's last name, overriden by the preferred last name if that is set
889
890 |Release suffix
891 |suffix
892 |the patron's suffix, overriden by the preferred suffix if that is set
893
894 |Release email
895 |email
896 |the patron's email address
897
898 |Release home library
899 |home_ou
900 |the _shortcode_ of the patron's home library (e.g. 'BR1' in the Concerto 
901 sample data set)
902
903 |Release barcode
904 |barcode
905 |the patron's barcode
906 |===
907
908 Click 'Save' to finish creating the connection. (If you can't see the 
909 connection you just created for a branch library, enable the "+ Descendants" 
910 option.)
911
912 ====== Network access - server ======
913
914 As part of the sign-on process, Evergreen makes a connection to the OpenAthens
915 service to transfer details of the user that is signing on. This data does not
916 go via the user's browser, to avoid revealing the private API key and to avoid
917 the risk of spoofing. You need to open up port 443 outbound in your firewall,
918 from your Evergreen server to login.openathens.net.
919
920 ====== Network access - web client ======
921
922 If you restrict internet access for your web client machines, you need to open
923 up port 443 outbound in your firewall, from your web clients to the following
924 three domains:
925
926 * connect.openathens.net
927 * login.openathens.net
928 * wayfinder.openathens.net
929
930 ====== Admin permissions ======
931
932 To delegate OpenAthens configuration to other staff users, assign the 
933 *ADMIN_OPENATHENS* permission.
934
935 ===== Optionally allow patrons to renew after hitting fine maximum =====
936
937 When a patron hits the max fine limit, a standing penalty is applied to their account. By default, that penalty (PATRON_EXCEEDS_FINES)
938 is configured to block renewals.
939
940 This release adds a new org unit setting, _circ.permit_renew_when_exceeds_fines_.  If enabled for a particular org unit, renewals are
941 permitted (as long as all other circulation eligibility criteria are met).
942
943 ===== Optionally remove traditional catalog from menu =====
944
945 Libraries that have fully migrated to the Angular staff catalog
946 may optionally hide the "Staff Catalog (Traditional)" menu
947 options.  To do so, in the Library Settings Editor, set the
948 "ui.staff.traditional_catalog.enabled" setting to False.
949
950 After changing the setting, you will need to log out and log
951 back in to see the changes to the menu.
952
953 ==== Architecture ====
954
955 ===== (Developer-focused) Use ESLint for eg2 =====
956
957 The `eg2` Angular application now uses ESLint rather than TSLint for
958 source code linting. This is motivated by the deprecation of TSLint
959 by the Angular CLI, but ESLint also offer some improvements.
960
961 In particular, ESLint checks the HTML templates in addition to the
962 TypeScript code. For example, it will catch uses of `==` in the
963 templates when `===` is preferred.
964
965 The primary ESLint rules applied to the project are configured in
966 `Open-ILS/src/eg2/.eslintrc.json`. To override them for specific
967 directories, `.eslintrc` files can be used. An example of this
968 is `Open-ILS/src/eg2/src/app/share/.eslintrc`, which turns off
969 the `angular-eslint/no-output-on-prefix` check that discourages
970 using `onFoo` as the name of `@Output()` properties. This rule
971 is now enforced in most of `eg2`, but it was decided not to immediately
972 mandate for shared components.
973
974 The command to run the lint checks remains the same: from
975 `Open-ILS/src/eg2/`, run `ng lint`.
976
977 ===== Operating System Requirements =====
978
979 Evergreen 3.10 now supports installation on Ubuntu 22.04 (Jammy Jellyfish).
980
981 This release removes support for Debian Stretch and Ubuntu 18.04 (Bionic Beaver).
982
983 ==== Cataloging ====
984
985 ===== Record Note Merges =====
986
987 During a merge of bibliographic records notes will now merge and a
988 notation on each added that they were originally from another record.
989 A note is also added that the merge was performed.
990
991 ==== Circulation ====
992
993 ===== Experimental Angular Circulation Interfaces =====
994
995 This Evergreen release includes new, experimental versions of many
996 circulation interfaces.  To enable these interfaces:
997
998 . In the Library Settings Editor, enable the setting called
999 _Enable Angular Circulation Menu_.
1000 . Add the _ACCESS_ANGULAR_CIRC_ permission to any users who
1001 will be testing the experimental interfaces.
1002
1003 These interfaces are experimental, and should not be used for production
1004 work.  Please report any issues with the interfaces at
1005 https://bugs.launchpad.net/evergreen
1006
1007 ===== New Patrons with Negative Balances interface =====
1008
1009 The _Patrons with Negative Balances_ interface has been re-implemented
1010 in Angular.
1011
1012 ===== OPAC-visible statisitical categories are now visible in the OPAC =====
1013
1014 This release restores a previously available feature: the ability to 
1015 display statistical categories (stat cats) in the OPAC.  If an
1016 item stat cat has "OPAC Visibility" set to true, its values will
1017 display in the record page's item table, underneath the call number.
1018 If a patron stat cat has "OPAC Visibility" set to true, its values
1019 will display in the patron's account under Preferences ->
1020 Personal Information (below the account expiration date).
1021
1022 Since these values have not been visible for some time, Evergreen
1023 libraries may wish to review them before making them public.  To
1024 set all stat cats to private, so that OPAC visibility can be
1025 restored on a case-by-case basis after review, you can use the
1026 following SQL:
1027
1028 [,sql]
1029 ----
1030 -- Item stat cats
1031 UPDATE asset.stat_cat SET opac_visible=false WHERE opac_visible=true;
1032
1033 -- Patron stat cats
1034 UPDATE actor.stat_cat SET opac_visible=false WHERE opac_visible=true;
1035 ----
1036
1037 ===== Renewal Due Date Extended to Cover Lost Time =====
1038
1039 When an item is renewed before it's due date, libraries now have the option
1040 to extend the renewal's due date to include any time lost from the early 
1041 renewal.
1042
1043 For example, a 14 day checkout renewed after 12 days will result in a due date
1044 on the renewal of 14 days plus 2 days to cover the lost time.
1045
1046 ====== Settings ======
1047
1048 Two new fields are available under Admin => Local Administration => 
1049 Circulation Policies.
1050
1051 *Early Renewal Extends Due Date*
1052
1053 Enables this new feature for a circulation policy.
1054
1055 *Early Renewal Minimum Duration Interval*
1056
1057 Specifies the amount of time a circulation has to be checked out before a 
1058 renewal will result in an extended due date.
1059
1060 For example, if you wanted to support due date extensions on 14-day checkout
1061 renewals, but only if the item has been checked out at least 8 days, you 
1062 would enter "8 days" for the value of this field.
1063
1064 If no value is set for a given matchpoint that supports renewal extension, 
1065 all renewals using that matchpoint will be eligible.
1066
1067 ===== Override All Option when Placing Multiple Staff Holds =====
1068
1069 When placing multiple holds in the Angular Staff Catalog, staff users with permission to override the failed holds will see an Override All button which will perform all overrides at once.
1070
1071 Overriding each failed hold individually remains an option.
1072
1073 ===== Source library addresses now available on transit slips =====
1074
1075 Transit slip templates previously could include the address of
1076 the library that the item is being transitted _to_.  With this
1077 release, the address of the library the item is being transitted
1078 _from_ is also available.
1079 This change applies to both the Hold Transit Slip and the Transit
1080 Slip templates.
1081
1082 ===== Courses can be un-archived =====
1083
1084 Course reserves staff can now un-archive a course that was previously archived, either from
1085 its course page, or from the course list.
1086
1087 Un-archiving a course makes it active again.  Users with public roles in the course (such
1088 as instructors) remain associated with the course.  Non-public users (such as students)
1089 are removed.
1090
1091 ==== OPAC ====
1092
1093 ===== Additional trailing punctuation removed from certain fields =====
1094
1095 MarcXML facet, display, and browse fields will undergo some extra
1096 cleanup before displaying to a user.  Of particular note for any
1097 title fields that match these criteria, ending `/`, `:`, `;`, and
1098 `=` will be removed.
1099
1100 This change does not affect MODS fields.  You can check if a
1101 particular field uses MarcXML or MODS in Server Administration
1102 -> MARC Search/Facet Fields by consulting the Format column.
1103
1104
1105 ==== Miscellaneous ====
1106
1107 * The Field Documentation interface (under Local Administration) has
1108   been ported to Angular with an org selector as an additional filter.
1109 * The Pending Users and Bucket View grids in the User Buckets interface
1110   now includes a column for the patron's balance owed. (LP#1980257)
1111 * Patron Interface Gets a New Penalty Refresh Action. (LP#1823225)
1112 * A new workstation setting optionally allows the full library name to be
1113   added to the Angular Org Unit Selector. (LP#1771636)
1114 * The tabs on the Claiming Administration page have been reordered to
1115   Claim Policies, Claim Policy Actions, Claim Event Types, and Claim
1116   Types. This reflects the fact that Claim Types tend to be configured
1117   once and are not typically adjusted when setting up a new claim
1118   policy. (LP#1947045)
1119 * Links in the staff catalog summary area now open in a new tab. (LP#1953692)
1120 * The Item Status list view now includes an optional column for
1121   Total Circulations. (LP#1964629)
1122 * The credit card payment approval code is now available as a column in
1123   the bill history payments table in the patron record. (LP#1818303)
1124 * The group member details grid now contains columns for preferred names.
1125   (LP#1951996)
1126 * The patron profile name is now available to the Hold Shelf Slip
1127   print template as `patron.profile.name`. (LP#1724032)
1128 * Removed the Message Center from the Patron -> Other Menu (deprecated),
1129   added action for unarchiving Notes, and added confirmation dialogs
1130   for Remove Note, Archive Note, and Unarchive Note. (LP#1977877)
1131 * Curbside request notes and user messages are now purged when a user
1132   record is deleted. (LP#1934162)
1133 * If the patron record has a preferred name set, the SIP server now
1134   returns it in response to patron lookups. (LP#1984114)
1135 * The label and description of the acq.fund.allow_rollover_without_money
1136   library setting are updated for greater clarity (LP#1982031)
1137 * The Cash Reports interface (under Local Administration) is ported to
1138   Angular. (LP#1859701)
1139 * The Library Settings Editor (under Local Administration) is ported to
1140   Angular. (LP#1839341)
1141
1142 ==== Acknowledgments ====
1143
1144 The Evergreen project would like to acknowledge the following
1145 organizations that commissioned developments in this release of
1146 Evergreen:
1147
1148 * CW MARS
1149 * Evergreen Community Development Initiative
1150 * Equinox Open Library Initiative
1151 * King County Library System
1152
1153 We would also like to thank the following individuals who contributed
1154 code, translations, documentations patches and tests to this release of
1155 Evergreen:
1156
1157 * John Amundson
1158 * Zavier Banks
1159 * Jason Boyer
1160 * Dan Briem
1161 * Christine Burns
1162 * Steven Callender
1163 * Galen Charlton
1164 * Julian Clementson
1165 * Garry Collum
1166 * Dawn Dale
1167 * Jeff Davis
1168 * Bill Erickson
1169 * Jason Etheridge
1170 * Ruth Frasur
1171 * Blake Graham Henderson
1172 * Rogan Hamby
1173 * Elaine Hardy
1174 * Kyle Huckins
1175 * Linda Jansova
1176 * Stephanie Leary
1177 * Shula Link
1178 * Tiffany Little
1179 * Mary Llewellyn
1180 * Llewellyn Marshall
1181 * Terran McCanna
1182 * Gina Monti
1183 * Christine Morgan
1184 * Michele Morgan
1185 * Susan Morrison
1186 * Andrea Buntz Neiman
1187 * Jennifer Pringle
1188 * Erica Rohlfs
1189 * Mike Risher
1190 * Mike Rylander
1191 * Jane Sandberg
1192 * Lindsay Stratton
1193 * Chris Sharp
1194 * Jason Stephenson
1195 * Jennifer Weston
1196 * Beth Willis
1197 * Carol Witt
1198 * Jessica Woolford
1199
1200 We also thank the following organizations whose employees contributed
1201 patches:
1202
1203 * BC Libraries Coop
1204 * Bibliomation
1205 * Catalyte
1206 * CW MARS
1207 * Equinox Open Library Initiative
1208 * Georgia Public Library Service
1209 * Greater Clarks Hill Regional Library
1210 * Kenton County Library
1211 * King County Library System
1212 * Lake Agassiz Regional Library
1213 * Linn Benton Community College
1214 * MOBIUS
1215 * NC Cardinal
1216 * NOBLE
1217 * Princeton University
1218 * Sigio
1219 * Westchester Library System
1220
1221 We regret any omissions.  If a contributor has been inadvertently
1222 missed, please open a bug at http://bugs.launchpad.net/evergreen/
1223 with a correction.
1224