]> git.evergreen-ils.org Git - working/Evergreen.git/blob - docs/RELEASE_NOTES_3_9.adoc
LP 2061136 follow-up: ng lint --fix
[working/Evergreen.git] / docs / RELEASE_NOTES_3_9.adoc
1 = Evergreen 3.9 Release Notes =
2 :toc:
3 :numbered:
4 :toclevels: 4
5
6 == Evergreen 3.9.4 ==
7
8 This release contains a bug fix for a critical security issue. Users are advised to
9 upgrade as soon as possible.
10
11 === Upgrade Notes ===
12
13 A new test dependency is added: Test::MockModule. If you intend to run the code tests,
14 you should run the prerequisite installation for your GNU/Linux distribution again.
15
16 === Security Fixes ====
17
18 Fixes an issue in `open-ils.fielder` that could enable unauthenticated remote SQL
19 injection attacks.
20
21 === Bug Fixes ===
22
23 ==== Accessibility ====
24
25 * Adds aria-labels to AngularJS grid controls (https://bugs.launchpad.net/evergreen/+bug/1887866[Bug 1887866])
26
27
28 ==== Documentation ====
29
30 * Removes obsolete RFID Integration documentation (https://bugs.launchpad.net/evergreen/+bug/1955666[Bug 1955666])
31 * Corrections to archive stat cat documentation (https://bugs.launchpad.net/evergreen/+bug/1836221[Bug 1836221])
32 * Fixes GitHub actions docs build errors (https://bugs.launchpad.net/evergreen/+bug/2022366[Bug 2022366)]
33
34
35 == Evergreen 3.9.3 ==
36
37 This release contains bug fixes improving on Evergreen 3.9.2. This release also includes
38 fixes for three security bugs.
39
40
41 === Upgrade notes ===
42
43 * https://bugs.launchpad.net/evergreen/+bug/1972738[Bug 1972738] requires a schema update
44 * https://bugs.launchpad.net/evergreen/+bug/1920826[Bug 1920826] requires a schema update
45
46 === Security Fixes ===
47
48 ==== Fix SQL Injection Vulnerability ====
49
50 An SQL injection vulnerability related to the implementation of
51 search term highlights is now closed.
52
53 This is https://bugs.launchpad.net/evergreen/+bug/2004055[Bug 2004055].
54
55 ==== Malicious Search Protection ====
56
57 Evergreen sometimes sees some "novel" query strings in the wild that
58 cause the search backend to time out or worse.  These are sometimes
59 malicious and sometimes accidental, but the effect on users is the
60 same.
61
62 The changes here improve query compilation in several respects in order
63 to reduce the chances of an overly complex query causing problems for
64 the search subsystem.
65
66 More work is done up front to simplify and combine parts of the
67 resulting SQL, allowing more work to be done closer to the data.
68 This change allows Evergreen to handle many more tested or chained
69 boolean expressions, and negated terms are now handled directly in
70 line with other adjacent terms. Phrases (exact matches) are now
71 searched for using Postgres' adjacency tsearch operator.
72
73 All of these changes work together to improve performance by getting
74 more search work done in fewer database operations while protecting
75 against certain query constructs that have caused problems in the
76 past.
77
78 This is https://bugs.launchpad.net/evergreen/+bug/1775958[Bug 1775958].
79
80 ==== Restrict login redirect ====
81
82 As a security best-practice, Evergreen should not allow arbitrary
83 redirection on successful login, but instead limit redirection to
84 local links or configured domains and schemes.
85
86 This feature is controlled by a new global flag called *opac.login_redirect_domains*
87 which must contain a comma-separated list of domains.  All hostnames
88 under each domain is allowed for redirect, and the scheme of the
89 redirect URL must be one of http, https, ftp, or ftps.
90
91 This is https://bugs.launchpad.net/evergreen/+bug/1908576[Bug 1908576].
92
93 === Bug Fixes ===
94
95 ==== Accessibility ====
96
97 * Fixes duplicate ID in staff catalog bib actions (https://bugs.launchpad.net/evergreen/+bug/2016341[Bug 2016341])
98 * Adds empty alt attributes for images and icons that already have equivalent text representation (https://bugs.launchpad.net/evergreen/+bug/2018208[Bug 2018208])
99 * Adds labeling to captcha math problem in OPAC (https://bugs.launchpad.net/evergreen/+bug/2015141[Bug 2015141])
100 * Fixes tab order in adminitration splash pages (https://bugs.launchpad.net/evergreen/+bug/2015137)
101 * Fixes default modal background color (https://bugs.launchpad.net/evergreen/+bug/2008918[Bug 2008918])
102 * Adds aria-label to staff catalog search +/- buttons (https://bugs.launchpad.net/evergreen/+bug/2002363[Bug 2002363])
103
104
105 ==== Administration ====
106
107 * Deduplicates entries in ils_events.xml (https://bugs.launchpad.net/evergreen/+bug/1369345[Bug 1369345])
108 * Encourages distinct results when querying ahopl IDL source (https://bugs.launchpad.net/evergreen/+bug/1964986[Bug 1964986])
109 * Restores missing database updates for version-upgrade from 3.5.1 to 3.6.0 (https://bugs.launchpad.net/evergreen/+bug/1920826[Bug 1920826])
110 * Improved error handling by open-ils.pcrud (https://bugs.launchpad.net/evergreen/+bug/1808016[Bug 1808016])
111
112
113
114 ==== Catalog ====
115
116 * Adds consistency to SMS Carrier dropdown display (https://bugs.launchpad.net/evergreen/+bug/1889916[Bug 1889916])
117
118
119 ==== Cataloging ====
120
121 * Ensures authority linker is working in all embedded MARC editors (https://bugs.launchpad.net/evergreen/+bug/1716479[Bug 1716479])
122
123 ==== Circulation ====
124
125 * Adds a note to the Mark Patron Email Invalid function (https://bugs.launchpad.net/evergreen/+bug/1752334[Bug 1752334])
126 * Treats empty string as null for preferred name field (https://bugs.launchpad.net/evergreen/+bug/1996651[Bug 1996651])
127 * Fixes incorrect total circs in Item Status Detail View (https://bugs.launchpad.net/evergreen/+bug/2018534[Bug 2018534])
128 * Removes irrelevant actions from Hold Shelf actions menu (https://bugs.launchpad.net/evergreen/+bug/2004052[Bug 2004052])
129 * Removes patron information from the 'Check Out Staff' field in Item Status Circ History list (https://bugs.launchpad.net/evergreen/+bug/2001728[Bug 2001728])
130 * Fixes a caching issue that occasionally caused incorrect holds addresses to print on transit slips (https://bugs.launchpad.net/evergreen/+bug/1778567[Bug 1778567])
131
132 ==== Client ====
133
134 * Adds index to speed up display of the Hopeless Holds interface in large systems (https://bugs.launchpad.net/evergreen/+bug/1972738[Bug 1972738])
135 * 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])
136 * Quiets extraneous console noise in some AngularJS grids (https://bugs.launchpad.net/evergreen/+bug/2013223[Bug 2013223])
137 * Restores correct link to AngularJS Patron Requests interface (https://bugs.launchpad.net/evergreen/+bug/2019150[Bug 2019150])
138
139 ==== Course Materials ====
140
141 * Fixes circ modifier column in Course Materials grid (https://bugs.launchpad.net/evergreen/+bug/1972917[Bug 1972917])
142
143
144 ==== Documentation ====
145
146 * Fixes to Server Installation documentation
147 * Updates to Record Buckets documentation (https://bugs.launchpad.net/evergreen/+bug/1845253[Bug 1845253])
148 * Updates to Fonts & Sound Settings documentation
149
150 ==== OPAC ====
151
152 * Fixes button styling in Boostrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1981774[Bug 1981774])
153 * Adjusts functionality of "Where" button in OPAC (https://bugs.launchpad.net/evergreen/+bug/1970476[Bug 1970476])
154 * Fixes label alignment in MyAccount Circ History (https://bugs.launchpad.net/evergreen/+bug/2015481[Bug 2015484])
155
156 ==== Miscellaneous ====
157
158 * Corrects test error due to erroneous commit in https://bugs.launchpad.net/evergreen/+bug/2002435[Bug 2002435]
159 * Adds fixes to AngularJS test suite (https://bugs.launchpad.net/evergreen/+bug/1915326[Bug 1915326])
160
161
162
163
164
165 === Acknowledgements ===
166
167 We would like to thank the following individuals who contributed code, testing, and documentation to the 3.9.3 point release of Evergreen:
168
169 * John Amundson
170 * Jason Boyer
171 * Dan Briem
172 * Galen Charlton
173 * Garry Collum
174 * Jeff Davis
175 * Britta Dorsey
176 * Ruth Frasur
177 * Blake Graham-Henderson
178 * Stephanie Leary
179 * Terran McCanna
180 * Chrystal Messam
181 * Gina Monti
182 * Michele Morgan
183 * Susan Morrison
184 * Andrea Buntz Neiman
185 * Jennifer Pringle
186 * Mike Rylander
187 * Jane Sandberg
188 * Chris Sharp
189 * Ben Shum
190 * Jason Stephenson
191 * Josh Stompro
192 * Jennifer Weston
193 * Beth Willis
194
195
196 == Evergreen 3.9.2 ==
197
198 This release contains bug fixes improving on Evergreen 3.9.1. This release includes
199 fixes for two security bugs.
200
201 === Security Fixes ===
202
203 ==== Protect qtype CGI Parameter ====
204
205 Malicious DoS attempts have been witnessed in the wild making use of
206 the fact that Evergreen does not check the contents of the `qtype` CGI
207 parameter.  While these fail their intent, it would be better to
208 simply drop such searches on the floor when they're seen.
209
210 Evergreen will now confirm that the search class in the `qtype` parameter
211 is valid, and that the remainder of the value is structured correctly,
212 before processing the search request.
213
214 This is https://bugs.launchpad.net/evergreen/+bug/1811685[Bug 1811685].
215
216 ==== Catalog Search Denial of Service Protection ====
217
218 Here we add two ways to protect against denial of service attacks:
219
220  * Limit concurrent search requests per client IP address
221   ** 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.
222  * Limit the global concurrent search requests for the same query
223   ** 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.
224
225 When a limit is exceeded the client receives an HTTP 429 "Too many requests" response from the web server, and the connection is ended.
226
227 This is https://bugs.launchpad.net/evergreen/+bug/1361782[Bug 1361782].
228
229 === Upgrade notes ===
230
231 * 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`
232 * https://bugs.launchpad.net/evergreen/+bug/1998355[Bug 1998355] requires a schema upgrade
233 * https://bugs.launchpad.net/evergreen/+bug/1441750[Bug 1441750] requires a schema upgrade
234 * https://bugs.launchpad.net/evergreen/+bug/1361782[Bug 1361782] requires a schema upgrade
235
236 === Bug Fixes ===
237
238 ==== Accessibility ====
239
240 * Fixes color contrast on modal headers (https://bugs.launchpad.net/evergreen/+bug/1999954[Bug 1999954])
241 * Adds input labels in the manage authorities interface fields (https://bugs.launchpad.net/evergreen/+bug/1989284[Bug 1989284)]
242
243 ==== Administration ====
244
245 * `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])
246 * Avoids permission lookup when there's no authtoken (https://bugs.launchpad.net/evergreen/+bug/1990306[Bug 1990306])
247 * Fixes an issue with `marc_stream_importer.pl` temp file creation (https://bugs.launchpad.net/evergreen/+bug/1943634[Bug 1943634])
248 * Adds patron database ID to Stripe payment record (https://bugs.launchpad.net/evergreen/+bug/1969994[Bug 1969994])
249 * Fix to prevent multiple server processes from being created by `oils_ct.sh` (https://bugs.launchpad.net/evergreen/+bug/1908455[Bug 1908455])
250 * Fixes an issue where last-copy delete was not creating hold notices (https://bugs.launchpad.net/evergreen/+bug/2007591[Bug 2007591])
251 * Fix to reduce bloating of `search.symspell_dictionary` (https://bugs.launchpad.net/evergreen/+bug/1998355[Bug 1998355])
252 * Fix to allow legacy `mod_perl` handlers to check `eg.auth.token` (https://bugs.launchpad.net/evergreen/+bug/1996908[Bug 1996908])
253 * Fix to change legacy `ARRAY_TO_STRING(ARRAY_AGG())\ functions to `STRING_AGG()` functions (https://bugs.launchpad.net/evergreen/+bug/1441750[Bug 1441750])
254 * Fixes typo in `AddedContent.pm` (https://bugs.launchpad.net/evergreen/+bug/2012105[Bug 2012105])
255
256 ==== Catalog ====
257
258 * Enables keyboard tabbing for search results pagination (https://bugs.launchpad.net/evergreen/+bug/1993859[Bug 1993859])
259 * Fixes an error emailing records from the staff catalog & OPAC (https://bugs.launchpad.net/evergreen/+bug/1955079[Bug 1955079])
260 * Removes deleted call numbers from shelf browse (https://bugs.launchpad.net/evergreen/+bug/2003742[Bug 2003742])
261
262 ==== Cataloging ====
263
264 * Fixes issue where holdings template importer wouldn't import the full file (https://bugs.launchpad.net/evergreen/+bug/1980544[Bug 1980544])
265 * Fixes an issue where statcats in holding templates wouldn't save correctly (https://bugs.launchpad.net/evergreen/+bug/1999696[Bug 1999696])
266 * Fixes inconsistent button placement in delete holdings modal (https://bugs.launchpad.net/evergreen/+bug/1945355[Bug 1945355])
267 * Adds styling to show that a holding template changed a statcat value (https://bugs.launchpad.net/evergreen/+bug/2003755[Bug 2003755])
268 * Fixes erroneous error message in cover image upload modal (https://bugs.launchpad.net/evergreen/+bug/1988321[Bug 1988321])
269 * Fixes an issue where last-copy delete was not creating hold notices (https://bugs.launchpad.net/evergreen/+bug/2007591[Bug 2007591])
270 * Restores the ability to create empty call numbers in the holdings editor (https://bugs.launchpad.net/evergreen/+bug/1998494[Bug 1998494])
271 * Fixes MARC editor heading linker for fields 600, 651, and 655 (https://bugs.launchpad.net/evergreen/+bug/2007351[Bug 2007351])
272 * Protects "magic" statuses from overwrite when using holdings editor template (https://bugs.launchpad.net/evergreen/+bug/1999401[Bug 1999401])
273 * Prevents deletion of shelving locations with items attached + adds undelete action on shelving location editor (https://bugs.launchpad.net/evergreen/+bug/2002435[Bug 2002435])
274 * Fixes item tag scoping in holdings editor (https://bugs.launchpad.net/evergreen/+bug/1965447[Bug 1965447])
275
276 ==== Circulation ====
277
278 * Adds progress bar when renewing items (https://bugs.launchpad.net/evergreen/+bug/1755876[Bug 1755876])
279 * Clears `hopeless_date` when hold is captured (https://bugs.launchpad.net/evergreen/+bug/1915440[Bug 1915440])
280 * Fixes an issue where large hold shelf lists could fail to load (https://bugs.launchpad.net/evergreen/+bug/1971745[Bug 1971745])
281 * Fixes slowness in the holds shelf query (https://bugs.launchpad.net/evergreen/+bug/1971745[Bug 1971745])
282 * 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])
283 * Fixes display issue with depth selector in patron note modal (https://bugs.launchpad.net/evergreen/+bug/1980874[Bug 1980874])
284
285
286 ==== Client ====
287
288 * Updates staff page headers to pass color-contrast checks (https://bugs.launchpad.net/evergreen/+bug/1994159[Bug 1994159])
289 * Allows combobox inputs to have IDs (https://bugs.launchpad.net/evergreen/+bug/1824709[Bug 1824709])
290 * Adds localization to Record Summary heading (https://bugs.launchpad.net/evergreen/+bug/1999446[Bug 1999446])
291 * 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])
292 * Fixes grid refresh issue on old Dojo grids (https://bugs.launchpad.net/evergreen/+bug/1625192[Bug 1625192])
293
294
295 ==== Course Materials ====
296
297 * User role options now show when typing in dropdown (https://bugs.launchpad.net/evergreen/+bug/1972928[Bug 1972928])
298
299 ==== Documentation ====
300
301 * Updates to Standing Penalties and Group Penalty Thresholds documentation
302 * Updates `create_release_notes.sh` to use asciidoctor formatting (https://bugs.launchpad.net/evergreen/+bug/1995653[Bug 1995653)]
303 * Adds Evergreen Web Services documentation
304 * Adds Mark Item as Missing Pieces documentation (https://bugs.launchpad.net/evergreen/+bug/1706664[Bug 1706664])
305 * Updates Server Installation documentation for current ng-build parameters (https://bugs.launchpad.net/evergreen/+bug/1863921[Bug 1863921])
306 * Updates Web Client Best Practices documentation
307 * Updates Describing Your Organization documentation
308
309 ==== OPAC ====
310
311 * Fixes a display error related to search term highlighting (https://bugs.launchpad.net/evergreen/+bug/1989133[Bug 1989133])
312 * Fixes Google Books preview (https://bugs.launchpad.net/evergreen/+bug/1955403[Bug 1955403])
313 * Fixes patron address alignment (https://bugs.launchpad.net/evergreen/+bug/1944602[Bug 1944602])
314 * Fixes button arrangement in MyAccount holds interface (https://bugs.launchpad.net/evergreen/+bug/1980275[Bug 1980275])
315 * Fixes alignment in publication year search filter fields (https://bugs.launchpad.net/evergreen/+bug/1974581[Bug 1974581])
316 * Fixes an issue with holds history pagination (https://bugs.launchpad.net/evergreen/+bug/1422927[Bug 1422927])
317 * Adds localization to sr-only, aria-label, and title fields (https://bugs.launchpad.net/evergreen/+bug/1992490[Bug 1992490])
318 * Fixes an error emailing records from the staff catalog & OPAC (https://bugs.launchpad.net/evergreen/+bug/1955079[Bug 1955079])
319 * Fixes display problem in 856 subfields $n, $z, and $3 (https://bugs.launchpad.net/evergreen/+bug/1966995[Bug 1966995])
320 * Fixes facet display issue in grouped record search results (https://bugs.launchpad.net/evergreen/+bug/1980304[Bug 1980304])
321 * Fixes small-screen display issue with navigation links in copy table (https://bugs.launchpad.net/evergreen/+bug/1983729[Bug 1983729])
322 * Fixes small-screen display issue with table displays (https://bugs.launchpad.net/evergreen/+bug/1984269[Bug 1984269])
323 * Corrects duplicate DOB display in patron self-registration form (https://bugs.launchpad.net/evergreen/+bug/1965065[Bug 1965065])
324 * Fixes display issue with applied filters (https://bugs.launchpad.net/evergreen/+bug/1980302[Bug 1980302])
325 * Fixes syntax error introduced in bug https://bugs.launchpad.net/evergreen/+bug/1992490[Bug 1992490]  (https://bugs.launchpad.net/evergreen/+bug/2008925[Bug 2008925])
326 * Fixes styling of patron messages (https://bugs.launchpad.net/evergreen/+bug/1980142[Bug 1980142])
327
328 ==== Miscellaneous ====
329
330 * Fixes field order in New Survey modal (https://bugs.launchpad.net/evergreen/+bug/1991590[Bug 1991590])
331 * Changes Angular `styleext` setting to `style` (https://bugs.launchpad.net/evergreen/+bug/1995211[Bug 1995211])
332
333 ==== Reports ====
334
335 * Fixes an error with display of certain shared reports folders (https://bugs.launchpad.net/evergreen/+bug/1999944[Bug 1999944])
336
337 === Acknowledgements ===
338
339 We would like to thank the following individuals who contributed code, testing, and documentation to the 3.9.2 point release of Evergreen:
340
341 * John Amundson
342 * Scott Angel
343 * Jason Boyer
344 * Dan Briem
345 * Christine Burns
346 * Steven Callender
347 * Eva Cerninakova
348 * Galen Charlton
349 * Garry Collum
350 * Elizabeth Davis
351 * Jeff Davis
352 * Bill Erickson
353 * Blake Graham-Henderson
354 * Elaine Hardy
355 * Stephanie Leary
356 * Clayton Liddell
357 * Shula Link
358 * Mary Llewellyn
359 * Debbie Luchenbill
360 * Llewellyn Marshall
361 * Terran McCanna
362 * Gina Monti
363 * Michele Morgan
364 * Susan Morrison
365 * Andrea Buntz Neiman
366 * Jennifer Pringle
367 * Mike Rylander
368 * Jane Sandberg
369 * Chris Sharp
370 * Jason Stephenson
371 * Josh Stompro
372 * Jennifer Weston
373 * Beth Willis
374 * Carol Witt
375 * Adam Woolford
376 * Jessica Woolford
377
378
379 == Evergreen 3.9.1 ==
380
381 This release contains bug fixes improving on Evergreen 3.9.0.
382
383 === Upgrade notes ===
384
385 * https://bugs.launchpad.net/evergreen/+bug/1980409[Bug 18980409] introduces a new library setting - "Require call number labels in Copy Editor"
386 * https://bugs.launchpad.net/evergreen/+bug/1771636[Bug 1771636] introduces a workstation setting to show full library name in addition to library shortname 
387
388 === Bug Fixes ===
389
390 ==== Administration ====
391
392 * Fixes a memory leak when performing fleshed Fieldmapper search (https://bugs.launchpad.net/evergreen/+bug/1974195[Bug 1974195])
393 * No Holdings View Loaded For the Pre-cat Bib (https://bugs.launchpad.net/evergreen/+bug/1976557[Bug 1976557])
394 * Permission Groups editor now indicates when a permission overrides a parent permission (https://bugs.launchpad.net/evergreen/+bug/1891375[Bug 1891375]) 
395 * Adds sorting and filtering to the Circ Limit Sets interface (https://bugs.launchpad.net/evergreen/+bug/1945385[Bug 1945385])
396 * Blocks deletion of Shelving Locations that have items attached (https://bugs.launchpad.net/evergreen/+bug/1910546[Bug 1910546])
397 * Adds banner to Staff Portal Page (https://bugs.launchpad.net/evergreen/+bug/1974101[Bug 1974101])
398 * Fixes a display issue with Simple Reporter Field Groups (https://bugs.launchpad.net/evergreen/+bug/1978567[Bug 1978567])
399 * Fixes locale lookup in A/T event processing (https://bugs.launchpad.net/evergreen/+bug/1986479[Bug 1986479])
400 * Removes unvalid Z39.50 search attribute from LOC (https://bugs.launchpad.net/evergreen/+bug/1501870[Bug 1501870])
401
402 ==== Catalog ==== 
403
404 * Adds independent Org Unit Admin Scrolling for separate navigation of org unit tree and configuration form (https://bugs.launchpad.net/evergreen/+bug/1884950[Bug 1884950])
405
406 ==== Cataloging ====
407
408 * Reduce parallel requests initiated by AngularJS holdings editor (https://bugs.launchpad.net/evergreen/+bug/1930617[Bug 1930617]) 
409 * Angular editor is now used when accessed from item status and item buckets (https://bugs.launchpad.net/evergreen/+bug/1956619[Bug 1956619])
410 * Holdings editor now enforcing required stat cats (https://bugs.launchpad.net/evergreen/+bug/1965448[Bug 1965448]) 
411 * Fixes an issue where creating new copy alerts / notes and item tags failed for brand
412 new copies (https://bugs.launchpad.net/evergreen/+bug/1959716[Bug 1959716])
413 * Fixes several bugs that prevent item notes from being correctly deleted by the Angular item attributes editor (https://bugs.launchpad.net/evergreen/+bug/1955065[Bug 1955065])
414 * Fixes a regression that required a call number label in order to save an item. A new library setting determines whether call number labels are required or not. (https://bugs.launchpad.net/evergreen/+bug/1980409[Bug 18980409])
415 * Fixes issue preventing creation of item alerts / notes and management of existing copies in the copy editor (https://bugs.launchpad.net/evergreen/+bug/1959716[Bug 1959716])
416 * Fixes several bugs that prevented item tags from being correctly deleted by the Angular item attributes editor (https://bugs.launchpad.net/evergreen/+bug/1981095[Bug 1981095])
417 * Fixes an issue where item alerts contained within copy templates failed to apply when using the new Angular holdings editor. (https://bugs.launchpad.net/evergreen/+bug/1956790[Bug 1956790])
418 * Improves the saving of holdings templates in the Angular holdings editor. (https://bugs.launchpad.net/evergreen/+bug/1957179[Bug 1957179])
419 * Fixes an issue where shelving locations for ancestor org units weren’t included in the shelving location drop down menu in the holdings editor. (https://bugs.launchpad.net/evergreen/+bug/1976002[Bug 1976002])
420 * Adds the full organizational unit path to the Copy Location Selector (https://bugs.launchpad.net/evergreen/+bug/1956627[Bug 1955627])
421 * Fixes an issue where item alert types did not display in the item attributes editor (https://bugs.launchpad.net/evergreen/+bug/1978889[Bug 1978889])
422 * Fixes an issue where creating item alerts would fail in the Angular item attributes editor (https://bugs.launchpad.net/evergreen/+bug/1956986[Bug 1956986])
423
424 ==== Circulation ====
425
426 * Fixes an issue where item alerts prevented hold capture when Hold Capture Delay Verification was used (https://bugs.launchpad.net/evergreen/+bug/1735221[Bug 1735221]) 
427 * Performance fix to add request serialization to Edit Due Date in Items Out tab (https://bugs.launchpad.net/evergreen/+bug/1932203[Bug 1932203])
428 * Fixes Holds Pull List to show Library Shortnames instead of Library IDs in Requesting Library and Selecting Library columns (https://bugs.launchpad.net/evergreen/+bug/1978839[Bug 1978839])
429 * On the Holds Shelf the “User Display Name” and “User Alias or Display Name” fields will now use the preferred name if present. (https://bugs.launchpad.net/evergreen/+bug/1838553[Bug 1838553])
430 * Adds manual refresh for patron penalties (https://bugs.launchpad.net/evergreen/+bug/1823225[Bug 1823225])
431 * Adds a missing patron-visibility flag to messages created for the patron message center by notification action triggers (https://bugs.launchpad.net/evergreen/+bug/1958573[Bug 1958573])
432 * Fixes a typo on the Holds Details screen of View Holds (https://bugs.launchpad.net/evergreen/+bug/1979099[Bug 1979099])
433 * Fixes issues with printing from Angular.  The option to print landscape is restored and the size of the text is no longer scaled down. This affected printing of the Holds Pull List. (https://bugs.launchpad.net/evergreen/+bug/1986725[Bug 1986725])
434 * Fixes the patron print bills page label from select "items" to select "copies (https://bugs.launchpad.net/evergreen/+bug/1980692[Bug 1980692])
435
436 ==== Client ====
437
438 * Fixes an issue where Angular comboboxes would attempt to fetch all rows from a linked table (https://bugs.launchpad.net/evergreen/+bug/1851884[Bug 1851884])
439 * Adds a workstation setting to show full library name in addition to library shortname (https://bugs.launchpad.net/evergreen/+bug/1771636[Bug 1771636])
440 * Fixes an issue with SSO Shibboleth logout and re-login. (https://bugs.launchpad.net/evergreen/+bug/1989209[Bug 1989209])
441 * Fixes an issue where the shelving location selector didn’t work in several interfaces including adding course materials, circulation limit sets, and distribution formulas in acquisitions. (https://bugs.launchpad.net/evergreen/+bug/1980887[Bug 1980887])
442 * Fixes issue with inactive button pointer (https://bugs.launchpad.net/evergreen/+bug/1953381[LP 1953381])
443
444 ==== Course Materials ====
445
446 * Adds a user visible warning when deleting a Term linked to Courses (https://bugs.launchpad.net/evergreen/+bug/1942647[Bug 1942647])
447 * Fixes an issue where the carriage return activated the Add Materials and Add User buttons (https://bugs.launchpad.net/evergreen/+bug/1930896[Bug 1930896])
448 * Fixes a display issue where the updated call number is not reflected in the grid when adding materials to courses. (https://bugs.launchpad.net/evergreen/+bug/1907974[Bug 1907974])
449 * Fixes an issue with archiving Courses (https://bugs.launchpad.net/evergreen/+bug/1939994[Bug 1939994])
450 * Items removed from a Course will now revert to their original call number owning library (https://bugs.launchpad.net/evergreen/+bug/1939730[Bug 1939730])
451 * Now alerts when attempting to associate materials from a library different from the course's library (https://bugs.launchpad.net/evergreen/+bug/1913604[Bug 1913604])
452 * Fix issue where archiving a course removed materials from other courses (https://bugs.launchpad.net/evergreen/+bug/1993922[Bug 1993922])
453
454 ==== Documentation ====
455
456 * Updates to Carousels documentation (https://bugs.launchpad.net/evergreen/+bug/1901895[Bug 1901895])
457 * Adds Staff Portal Page documentation
458 * Adds Cover Image Upload documentation
459 * Adds Alternate Notice Templates documentation
460 * Updates to Holds Management documentation
461 * Updates to Authorities documentation
462 * Adds Group Penalty Thresholds documentation
463 * Updates to Carousels documentation
464 * Updates to My Account documentation
465 * Adds Global Flags documentation
466
467 ==== OPAC ====
468
469 * Fixes formatting in Current Holds Group table in MyAccount (Bootstrap OPAC) (https://bugs.launchpad.net/evergreen/+bug/1950345[Bug 1950345])
470 * Fixes formatting in Holds Groups Table in MyAccount (TPAC) (https://bugs.launchpad.net/evergreen/+bug/1950514[Bug 1950514])
471 * If DOB is marked required, blocks self-registration form from submitting with a blank DOB (https://bugs.launchpad.net/evergreen/+bug/1950166[Bug 1950166])
472 * Fixes an issue where DOB field would auto populate with the current date (https://bugs.launchpad.net/evergreen/+bug/1951642[Bug 1951642])
473 * Adds a missing patron-visibility flag to messages created for the patron message center by notification action triggers (https://bugs.launchpad.net/evergreen/+bug/1958573[Bug 1958573])
474 * Fixes an issue where payments made in the OPAC via Stripe were not credited in Evergreen for circulation bills as well as making minor display tweaks to Bootstrap. (https://bugs.launchpad.net/evergreen/+bug/1981628[Bug 1981628])
475 * Fixes an issue where payments made in the OPAC via Stripe were not credited in Evergreen when patrons had negative bills (https://bugs.launchpad.net/evergreen/+bug/1965579[Bug 196557])
476 * Fixes an issue in Bootstrap where list titles and descriptions couldn’t be edited. (https://bugs.launchpad.net/evergreen/+bug/1909583[Bug 1909583])
477 * Restores the ability to update existing holds if a patron changes certain notification preferences or contact information. Evergreen will detect these changes and ask ther patron if they want to update existing holds with the new contact information and/or notification preferences. (https://bugs.launchpad.net/evergreen/+bug/1902272[Bug 1902272])
478 * Lengthy titles in OPAC CArousels are now truncated in display (https://bugs.launchpad.net/evergreen/+bug/1979080[Bug 1979080])
479 * Fixes cover alignment issue in OPAC search results (https://bugs.launchpad.net/evergreen/+bug/1920268[Bug 1920268])
480 * Fixes inconsistent wording in My Account pages (https://bugs.launchpad.net/evergreen/+bug/1983129[Bug 1983129])
481 * Other Formats and Editions now displays more prominently in Bootstrap. (https://bugs.launchpad.net/evergreen/+bug/1903767[Bug 1903767])
482 * Fixes an issue in Bootstrap where the headers in advanced search couldn’t be translated. (https://bugs.launchpad.net/evergreen/+bug/1991395[Bug 1991395])
483 * Fixes formatting in Booking Reservations page in the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1980297[Bug 1980297])
484 * Fix Add to Bucket (from Basket) action in the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1898775[Bug 1898775])
485
486 ==== Miscellaneous ====
487
488 * Adds ng lint to github actions (https://bugs.launchpad.net/evergreen/+bug/1978049[Bug 1978049])
489 * Cleans up 'Build Docs' artifacts in github actions (https://bugs.launchpad.net/evergreen/+bug/1991444[Bug 1991444])
490 * Fix issue exporting strings from the Angular client for translation (https://bugs.launchpad.net/evergreen/+bug/1993534[Bug 1993534])
491 * Fix issue where Did You Mean was breaking parallel reingest and record overlay (https://bugs.launchpad.net/evergreen/+bug/1931737[Bug 1931737])
492 * Fix applying Czech translation to the Angular staff client (https://bugs.launchpad.net/evergreen/+bug/1982887[Bug 1982887])
493
494 === Acknowledgements ===
495
496 We would like to thank the following individuals who contributed code,
497 testing, and documentation to the 3.9.1 point release of Evergreen:
498
499 * John Amundson
500 * Jason Boyer
501 * Dan Briem
502 * Eva Cerninakova 
503 * Galen Charlton
504 * Garry Collum
505 * Dawn Dale
506 * Jeff Davis
507 * Ryan Eby
508 * Jason Etheridge
509 * Bill Erickson
510 * Elaine Hardy
511 * Kyle Huckins
512 * Stephanie Leary
513 * Shula Link
514 * Tiffany Little
515 * Mary Llewellyn
516 * Terran McCanna
517 * Gina Monti
518 * Christine Morgan 
519 * Michele Morgan
520 * Andrea Buntz Neiman
521 * New Developers Working Group
522 * Jennifer Pringle
523 * Erica Rohlfs
524 * Mike Rylander
525 * Jane Sandberg 
526 * Chris Sharp
527 * Jason Stephenson
528 * Jennifer Weston
529 * Beth Willis
530 * Carol Witt
531
532
533 == Evergreen 3.9.0 ==
534
535 === Upgrade notes ===
536
537 ==== New Permissions ====
538
539 * UPLOAD_COVER_IMAGE
540 * ADMIN_STAFF_PORTAL_PAGE
541 * RUN_SIMPLE_REPORTS
542
543 ==== New Library Settings ====
544
545 * Custom jQuery for the OPAC
546
547 === New Features ===
548
549 ==== Administration ====
550
551 ===== Localized Templates Available for Action Triggers =====
552
553 This feature supplies the ability to create alternate templates for Action Triggers 
554 that will generate locale specific out for Action Triggers.  If you send notices in 
555 multiple languages, we recommend putting some words to that effect in your notice 
556 templates.  The template, message and message title can all be localized.  To use the 
557 feature the following new UI elements have been added:
558
559 - When you double-click on an Event Definition under Notifications / Action Triggers 
560   to edit it there will be a tab option for Edit Alternate Template if the reactor is 
561   ProcessTemplate, SendEmail or SendSMS.
562 - In the Patron Registration and Patron Editor screens staff members may now select a 
563   locale for a patron and edit it in the Patron Preferred Language field.
564 - Patrons may set their own locale in the My Account interface off the OPAC by going to 
565   Preferences -> Personal Information and setting the Preferred Language field.
566
567 The templates used on the Edit Definition tab are the defaults that are used if there are 
568 no alternate templates available that match the preferred language.  If alternate templates 
569 are available the system will use a locale that is an exact match and then if failing that 
570 use one where the language code matches and then fall back to the default one.
571
572 For example, if a patron has a locale of fr-CA and there are templates for both fr-CA and 
573 fr-FR it will use the fr-CA.  If the fr-CA template was deleted it would fall back on using 
574 the fr-FR for the patron since it at least shares the same base language.  
575
576 Valid locales are the codes defined in the i18n_locale table in the config schema.
577
578 ===== Staged Search Tables and Functions Removed from Database =====
579
580 This release removes the asset.opac_visible_copies materialized view and
581 search.query_parser_fts function from the Evergreen database.  They have been
582 obsolete since staged search was eliminated in Evergreen 3.0.  Any custom code
583 that relies on them should be updated accordingly.
584
585 ==== API ====
586
587 ===== array_accum Aggregate Removed =====
588
589 The custom `array_accum` aggregate function has been removed from the
590 PostgreSQL database because it will need to be dropped and recreated
591 with a different definition when upgrading to PostgreSQL version 14 or
592 later.  Its functionality is also redundant with PostgreSQL's own
593 `array_agg` function.
594
595 Sites that have custom code using Evergreen's `array_accum` function
596 should alter their code to use `array_agg` instead.
597
598 ===== Removal of OpenILS::Utils::ISBN =====
599
600 Evergreen used to include a perl module called OpenILS::Utils::ISBN.
601 This module provided a single subroutine, `isbn_upconvert`, which
602 wrapped some behavior from the Business::ISBN module.  The module
603 is no longer used in Evergreen code.  Any custom code that used it
604 should be migrated to use Business::ISBN directly.
605
606 ==== Cataloging ====
607
608 ===== Custom Cover Image Uploader  =====
609
610 If configured for a given Evergreen instance, staff with the UPLOAD_COVER_IMAGE
611 permission may upload a custom jacket/cover image for a given bibliographic
612 record for display in the staff client and OPAC. This is done through the Other
613 Actions -> Upload Cover Image command from the record details page in the staff
614 interface.
615
616 ====== Note for system administrators ======
617
618 The following stanza needs to be added to eg_vhost.conf:
619
620 [source,conf]
621 ----------------------------------------------------------------
622 <Location /jacket-upload>
623     SetHandler perl-script
624     PerlHandler OpenILS::WWW::Vandelay::spool_jacket
625     Options +ExecCGI
626     Require all granted
627 </Location>
628 ----------------------------------------------------------------
629
630 and this to the open-ils.vandelay -> app_settings -> databases section of
631 opensrf.xml:
632
633 [source,conf]
634 ----------------------------------------------------------------
635 <jackets>/openils/var/web/opac/extras/ac</jackets>
636 ----------------------------------------------------------------
637
638 with the path appropriately adjusted for your installation. The Apache process
639 will need write permissions for that directory.
640
641 Additionally, the following directories need to exist and be writable by the Apache process:
642
643 /openils/var/web/opac/extras/ac/jacket/large/r
644 /openils/var/web/opac/extras/ac/jacket/medium/r
645 /openils/var/web/opac/extras/ac/jacket/small/r
646
647 ==== Circulation ====
648
649 ===== Copy Inventory Date Improvements =====
650
651 This release fixes two bugs with copy inventory dates:
652
653  * https://bugs.launchpad.net/evergreen/+bug/1883171[duplicate entries for a copy in asset.latest_inventory table]
654  * https://bugs.launchpad.net/evergreen/+bug/1940663[Staff users can update inventory dates on non-owned items]
655
656 In addition to fixing the above bugs, improvements are made to the implementation of the latest copy inventory feature so that it may be further expanded in the future.
657
658 ====== Technical Details for Developers and System Administrators ======
659
660 The following changes are made to the database, back end, and staff client user interface code:
661
662  * The data moves to a new table in the database, `asset.copy_inventory`.
663  * The new data table is accessible via a new Fieldmapper object, `aci`.
664  * The new data table has appropriate foreign keys and triggers to ensure data integrity and prevent duplicate entries.
665  * The old data table, `asset.latest_inventory`, is now a view on the new table.
666  * The Fieldmapper object `alci` is now read-only.
667  * The `open-ils.circ.circulation.update_copy_inventory` method replaces the `open-ils.circ.circulation.update_latest_inventory` method.
668  * The `open-ils.circ.circulation.update_copy_inventory` method inserts into the `asset.copy_inventory` table.
669  * The `open-ils.circ.circulation.update_latest_inventory` method is removed.
670  * The Item Status screen now uses `open-ils.circ.circulation.update_copy_inventory` to update a copy's inventory date.
671  * The staff client Item Status screen now toasts success or failure as appropriate.  It previously only toasted success.
672  * ngToast has also been added for a single record view in the Item Status screen.  This means that toasts can be added for other events.
673  * The circulation back end code inserts into the `asset.copy_inventory` table when the do inventory modifier is used at check in.
674  * An `asset.copy_inventory` entry is only added if the copy is at its "home," or owning, library or if the copy can float to the library where the inventory is being updated.
675  * A Perl live test is added to verify back end functionality.
676  * Pgtap tests are added to verify the schema and to verify database functionality.
677
678 The following items remain unchanged:
679
680  * The staff interface to add/update copy inventory dates remains the same:
681    ** the Update Inventory option on the Checkin Modifiers menu
682    ** the Update Inventory command on the Item Status Actions menu.
683  * The staff client's Circulation and Item Status screens display data from the `alci` view object.
684  * The `alci` object looks the same, so reports based on it should still work.
685
686 The motivation behind the changes beyond simply fixing the two bugs listed above is to allow for possible future expansion of the copy inventory feature.  The new table makes it easier to add new fields and to track inventory updates of a given copy over time.  While these changes do not constitute an inventory module, they should ease the implementation of such a module and assist in the preservation of the current data.
687
688 ==== Client ====
689
690 ===== Customizable Staff Portal =====
691
692 The staff portal / staff home page is now customizable. A new Local
693 Administration interface, Staff Portal Page, allows staff users who
694 have the new `ADMIN_STAFF_PORTAL_PAGE` permission to specify groups
695 of Evergreen menu links, external links, catalog search widgets,
696 and free text to display on the staff home page.
697
698 The portal customization is available only on the Angular version of
699 the portal, so access to the AngularJS version is now redirected to
700 the Angular one.
701
702 Different portal pages may be configured for different Organizational
703 Units. The displayed portal page will depend on the staff user's
704 workstation. The Organizational Unit tree will be walked up starting
705 from the workstation until one or more `config.ui_staff_splash_page_entry`
706 rows are found for the Organizational Unit. The set of entries for
707 that Organizational Unit will constitute the entire splash page entries
708 to display, i.e., it won't try to merge branch, system, and
709 consortial-level entries.
710
711 The administration interface allows authorized to:
712
713 * create, modify, or delete portal page entries
714 * clone a library's set of portal page entries to a different library
715
716 Portal page entries consist of the following fields:
717
718 * Entry Label: free text that displays on the portal page
719 * Entry Type: Catalog Search, Header, Link, Menu Item, or Text and/or HTML
720 * Entry Target URL: target of Link or Menu Item entries
721 * Entry Text: Free text and limited HTML to display for Text/HTML entry types. HTML is sanitized to allow only basic formatting and link elements.
722 * Entry Image URL: for specifying an icon to display with the portral entry.
723 * Owner: the Organization Unit that owns the entry.
724 * Page Column and Column Position: these control the positioning of the entry. The portal is styled so that three columns are displayed by default, as with the legacy hard-coded portal, but if the user chooses to define more than three columns, columns after the third will stack vertically as additional rows.
725
726 ====== Upgrade notes ======
727
728 This patch adds the following:
729
730   * New database table `config.ui_staff_splash_page_entry`. This stories the entries to display on the portal.
731   * New database table `config.ui_staff_portal_page_entry_type`. This is a lookup table for entry types.
732   * New permission `ADMIN_STAFF_PORTAL_PAGE`. This is implicitly available to stock Local and Global Administrator permission groups via the `EVERYTHING` permission.
733   * New grid setting for the administration interface.
734
735
736 ===== Org Selector Now Supports Entry Styling =====
737
738 The Org Selector now supports the ability to pass in an object composed of
739 an array of Org Unit IDs and a function returning a CSS key value pair.
740
741 ==== OAI2 ====
742
743 ===== OAI-PMH Data Provider Support =====
744
745 Evergreen can now act as an OAI-PMH data provider, exposing the catalog to
746 harvesting through the (https://www.openarchives.org/OAI/openarchivesprotocol.html[OAI2 protocol]).
747
748
749 Entry points
750 ++++++++++++
751
752 There are two: one for bibliographic records and one for authority records:
753
754     http://your-domain/opac/extras/oai/authority
755     http://your-domain/opac/extras/oai/biblio
756
757 An example of a working URL on a system with an authority record with ID
758 1:
759
760     http://your-domain/opac/extras/oai/authority?verb=GetRecord&identifier=oai:localhost:1&metadataPrefix=oai_dc
761  
762 Setspec are not implemented
763 +++++++++++++++++++++++++++
764
765 This is a work in progress and not enabled. The aim is to have the owning library determine the set hierarchy. The Concerto
766 test database for example has a record with record ID #1. This record is so popular it has copies attached to library units
767 "Example Branch 1", "Example Branch 2", "Example Branch 3", "Example Bookmobile 1" which is a child of Branch 3 and
768 "Example Branch 4". This entire kinship is expressed as sets like so: 
769
770 [source,xml]
771 ----
772 <header>
773     ...
774     <setSpec>CONS</setSpec>
775     <setSpec>CONS:SYS1</setSpec>
776     <setSpec>CONS:SYS2</setSpec>
777     <setSpec>CONS:SYS1:BR1</setSpec>
778     <setSpec>CONS:SYS1:BR2</setSpec>
779     <setSpec>CONS:SYS2:BR3</setSpec>
780     <setSpec>CONS:SYS2:BR4</setSpec>
781     <setSpec>CONS:SYS2:BR3:BM1</setSpec>
782 </header>
783 ----
784
785 Likewise the setSpecs of authority records are derived from their browse axis ( Title, Author, Subject and Topic ).
786
787 Bibliographic mapping of assets to 852 subfields
788 ++++++++++++++++++++++++++++++++++++++++++++++++
789
790 Certain attributes asset are placed into 852 subfields so:
791
792 |===
793 | subfield code | asset resource
794
795 | a | location
796 | b | owning_lib
797 | c | callnumber
798 | d | circlib
799 | g | barcode
800 | n | status
801 |===
802  
803 Thus the Concerto with record ID #1 will have it's 852 subfields expressed as:
804
805 [source,xml]
806 ----
807 <marc:datafield ind1="4" ind2=" " tag="852">
808     <marc:subfield code="a">Stacks</marc:subfield>
809     <marc:subfield code="b">BR4</marc:subfield>
810     <marc:subfield code="c">ML 60 R100</marc:subfield>
811     <marc:subfield code="d">BR4</marc:subfield>
812     <marc:subfield code="g">CONC70000435</marc:subfield>
813     <marc:subfield code="n">Checked out</marc:subfield>
814 </marc:datafield>
815 ----
816
817 This mapping can be customized and extended with static subfields:
818
819 [source,xml]
820 ----
821     <marc:subfield code="q">A constant value</marc:subfield>
822 ----
823
824 Default configuration
825 +++++++++++++++++++++
826
827 See comments in opensrf.xml (in the open-ils.supercat app_settings/oai element)
828 for default configuration and customization instructions.
829
830 Upgrade Instructions
831 ++++++++++++++++++++
832 OAI support is not turned on by default. To enable it, edit the Apache
833 configuration file `eg_vhost.conf` to uncomment the following
834 section and restart Apache:
835
836 [source,conf]
837 ----
838 #<Location /opac/extras/oai>
839 #    SetHandler perl-script
840 #    PerlHandler OpenILS::WWW::SuperCat::OAI
841 #    Options +ExecCGI
842 #    PerlSendHeader On
843 #    Require all granted
844 #</Location>
845 ----
846
847 ==== OPAC ====
848
849 ===== jQuery OPAC Library Setting  =====
850
851 A new setting entitled opac.patron.custom_jquery has been added to library settings. Using this does require that the ctx.want_jquery be uncommented and set to 1 (true) in the opac/parts/config.tt2 file.  Using this setting will allow OPACs to run jQuery without customizing server side templates.  For example adding the following:
852
853 $(document).ready(function(){ $("a:contains(Link 2)").text('Kafka'); });
854
855 Will change the text of 'Link 2' in the link bar to say 'Kafka'.  See the Evergreen WIKI (https://wiki.evergreen-ils.org/) for examples.
856
857 ==== Reports ====
858
859 ===== Simple Reports =====
860
861 This release includes a new Simple Reports reporting system focused on ease of
862 use and simplicity that is available from the Administration menu of the
863 staff client. Simple Reports can be restricted by staff permissions and
864 access to the overall feature is granted through a new RUN_SIMPLE_REPORTS
865 permission.
866
867 The Simple Reports interface is intended to provide an alternate access point
868 for running reports in Evergreen and is not intended to replace the main
869 Reports interface. In particular, users in need of complex reports should
870 still make use of the main Reports interface.
871
872 To simplify report creation some fields are generated from multiple backend
873 fields and other fields such as dates are repeated with multiple transforms
874 pre-applied. Reports and schedules can be edited at any time as needed.
875
876 ==== SIP ====
877
878 ===== Adding Captured Hold Phone Notification Number to Checkin Response =====
879
880 Some third party systems can phone users when a SIP checkin captures
881 an item they have on hold. Normally, to do this a patron information
882 request is sent (message pair 63/64), but some systems will only look
883 for it in the reply to the Checkin pair, 09/10. Because this is not
884 a part of the SIP2 standard and exposes patron personal information
885 when used indescriminately, it must be enabled by including the key
886 `<phone_ext_on_msg10 enabled="true" />` in the "institution"
887 section of `oils_sip.xml`.
888
889 ===== Upgrade Note =====
890
891 To use this feature, Evergreen administrators should upgrade to the
892 latest version of `SIPServer`.
893
894 ==== Miscellaneous ====
895
896 * The patron record juvenile flag is now available to the checkout and
897   items out print templates. (https://bugs.launchpad.net/evergreen/+bug/1830387[Bug 1830387])
898 * The Notices / Action Triggers administration interface (under Local
899   Administration) is ported to Angular. (https://bugs.launchpad.net/evergreen/+bug/1855780[Bug 1855780])
900 * The Local Administration interface Shelving Location Order Editor is ported to Angular https://bugs.launchpad.net/evergreen/+bug/1846552[Bug 1846552])
901 * Series Title is now a column option in the Holds Pull List (https://bugs.launchpad.net/evergreen/+bug/1863196[Bug 1863196])
902 * Credit card payment approval code is now available to the Payment Receipt template (https://bugs.launchpad.net/evergreen/+bug/1865062[Bug 1865062])
903 * There is a new widget to share a Carousel on an external site (https://bugs.launchpad.net/evergreen/+bug/1882982[Bug 1882982])
904 * Item Status Circ History now includes original checkout workstation and staff (https://bugs.launchpad.net/evergreen/+bug/1919500[Bug 1919500])
905 * The 520 Summary field is now more prominently displayed in the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1930614[Bug1930614])
906 * It is now easier to customize the Boostrap OPAC topnav logo (https://bugs.launchpad.net/evergreen/+bug/1964963[Bug 1964963])
907 * Improvements to Angular grid 'copy to clipboard' dialog (https://bugs.launchpad.net/evergreen/+bug/1958581[Bug 1958581])
908 * Patron Notes now include Creation Date/Time and default to sorting by most recent created note (https://bugs.launchpad.net/evergreen/+bug/1956970[Bug 1956970])
909 * 'Due date' field is now available under Show More Details in staff catalog search results (https://bugs.launchpad.net/evergreen/+bug/1955931[Bug 1955931])
910 * Staff can add jQuery code in to a Library Setting to perform simple OPAC customizations (https://bugs.launchpad.net/evergreen/+bug/1849113[Bug 1849113])
911 * Added API call to allow external carousel display (https://bugs.launchpad.net/evergreen/+bug/1951318[Bug 1951318])
912
913
914
915 Acknowledgments
916 ---------------
917 The Evergreen project would like to acknowledge the following
918 organizations that commissioned developments in this release of
919 Evergreen:
920
921 * CW MARS
922 * Equinox Open Library Initiative
923 * Evergreen Indiana
924 * Linn-Benton Community College
925 * Missouri Evergreen
926 * NOBLE
927 * Pioneer Library System
928
929 We would also like to thank the following individuals who contributed
930 code, translations, documentations patches and tests to this release of
931 Evergreen:
932
933 * MaryAnn Alexander
934 * Jason Boyer
935 * Dan Briem
936 * Steven Callender
937 * Galen Charlton
938 * Garry Collum
939 * Jeff Davis
940 * Bill Erickson
941 * Jason Etheridge
942 * Lynn Floyd
943 * Rogan Hamby
944 * Blake Graham Henderson
945 * Kyle Huckins
946 * Angela Kilsdonk
947 * Shula Link
948 * Tiffany Little
949 * Llewellyn Marshall 
950 * Terran McCanna
951 * Gina Monti
952 * Michele Morgan
953 * Andrea Buntz Neiman
954 * Jennifer Pringle
955 * Jane Sandberg
956 * Chris Sharp
957 * Jason Stephenson
958 * Josh Stompro
959 * Mike Risher
960 * Mike Rylander
961 * Remington Steed
962 * Lucien van Wouw
963 * Jennifer Weston
964
965 We also thank the following organizations whose employees contributed
966 patches:
967
968 * BC Libraries Coop
969 * Bibliomation
970 * Calvin College
971 * Catalyte
972 * CW MARS
973 * Equinox Open Library Initiative
974 * Georgia Public Library Service
975 * Greater Clarks Hill Regional Library
976 * Indiana State Library
977 * International Institute of Social History
978 * Kenton County Library
979 * King County Library System
980 * Lake Agassiz Regional Library
981 * Linn Benton Communit College
982 * MOBIUS
983 * NOBLE
984 * Sigio
985 * Sitka
986 * Westchester Library System
987
988 We regret any omissions.  If a contributor has been inadvertently
989 missed, please open a bug at http://bugs.launchpad.net/evergreen/
990 with a correction.
991