1. Evergreen 3.5.5

This release contains bug fixes improving on Evergreen 3.5.4.

1.1. Bug Fixes

1.1.1. Catalog

  • Fixes an issue displaying highlighting in traditional and bootstrap catalogue (Bug 1923225)

  • Fixes an issue displaying works with the word "hidden" in the title (Bug 1930933)

1.1.2. Circulation

  • Preferred Name is now the prominent display name (Bug 1924185)

  • Unchanged workstation settings are no longer re-applied on every checkin (Bug 1918362)

1.2. Acknowledgements

We would like to thank the following individuals who contributed code, testing and documentation patches to the 3.5.5 point release of Evergreen:

  • Galen Charlton

  • Jeff Davis

  • Michele Morgan

  • Jane Sandberg

  • Jason Stephenson

2. Evergreen 3.5.4

This release contains bug fixes improving on Evergreen 3.5.3, including a security bug fix.

2.1. Bug Fixes

2.1.1. Security

  • Fixes an XSS bug in MARC fields that are rendered as HTML (Bug 1902965)

2.1.2. Administration

  • Angular admin pages now scope to the appropriate library (Bug 1873322)

2.1.3. Client

  • Angular Staff Client Hamburger Menu is no longer clipped off screen (Bug 1915323)

2.1.4. OPAC

  • Terms Governing Use and Reproduction Note Displays Twice in Record Details (Bug 1917804)

2.1.5. Staff catalog

  • Angular Catalog: Part column missing from Item table (Bug 1899405)

  • Publication information in angular search results does not display from tag 264 (Bug 1896840)

2.1.6. Performance

2.2. Upgrade notes

A partial reingest is required to extract the new publisher data for display. This query may be long-running.

WITH affected_bibs AS (
    SELECT DISTINCT(bre.id) AS id
    FROM biblio.record_entry bre
    JOIN metabib.real_full_rec mrfr
    ON (mrfr.record = bre.id AND mrfr.tag = '264')
    WHERE NOT bre.deleted
SELECT metabib.reingest_metabib_field_entries(id, TRUE, FALSE, TRUE, TRUE)
FROM affected_bibs;

2.3. Acknowledgements

We would like to thank the following individuals who contributed code, testing and documentation patches to the 3.5.4 point release of Evergreen:

  • Jason Boyer

  • Dan Briem

  • Garry Collum

  • Jeff Davis

  • Bill Erickson

  • Galen Charlton

  • Michele Morgan

  • Jane Sandberg

  • Jason Stephenson

3. Evergreen 3.5.3

This release contains bug fixes improving on Evergreen 3.5.2, including a security bug fix.

3.1. Bug Fixes

3.1.1. Security

  • Fix an issue where open-ils.pcrud backends could crash with a segmentation fault under certain conditions that could be invoked by an external attacker, thus leading to a potential denial of service attack.

3.1.2. Staff Interface

  • Expert Search in the staff interface now respects the search library. (Bug 1468132)

  • The Items Out page is now less prone to cause open-ils.actor backend exhaustion. It now also displays a progress bar while loading. (Bug 1913811)

  • Grids in the staff interface no longer require that a row be selected in order to activate a grid action that doesn’t logically require that at least one row be selected. (Bug 1670457)

  • The display of total amounted billed, owed, and paid on the patron Bills page now reflects just open bills with a non-zero balance, fixing an issue where the totals could include paid billings for transactions that are still open. (Bug 1772955)

  • The pending patron interface now respects the library setting whether to set the patron’s initial password to the last four digits of their phone number. (Bug 1887852)

  • Several interfaces, including Mark Missing, adding patrons to a bucket from a search, and applying a default item status now use batch API calls for better efficiency. (Bug 1896285)

  • Fix an issue where the holdings editor would not close its window when the Save & Exit button was clicked. (Bug 1913219)

  • Fix an issue where a double barcode scan could create a precat item without giving the staff member the chance to review the form before submitting it. (Bug 1778522)

  • Fix an issue preventing the staff interface from being used on various Android and iOS devices. (Bug 1901760)

  • Fix an issue where the report editor could supply the wrong kind of input for an aggregate filter. (Bug 1858114)

3.1.3. Public Catalog

  • Fix an issue where titles could run together when viewing a carousel with a mobile browser. (Bug 1868147)

  • The order that items in a carousel display in is now more predictable. For example, for Top Circulated Items carousels, the order is from most circulated to least circulated. (Bug 1866406)

  • Carousels no longer display deleted items. (Bug 1836254)

  • CGI parameters in the public catalog are now consistently forced to be separated by ampersands rather than semicolons. (Bug 1687545) and (Bug 1914116)

3.1.4. Administration

  • The EDI Webrick installer now works on Ubuntu 18.04 (Bug 1901900)

3.2. Acknowledgements

We would like to thank the following individuals who contributed code, testing and documentation patches to the 3.5.3 point release of Evergreen:

  • John Amundson

  • Zavier Banks

  • Jason Boyer

  • Dan Briem

  • Galen Charlton

  • Garry Collum

  • Jeff Davis

  • Bill Erickson

  • Ruth Frasur

  • Blake Graham-Henderson

  • Angela Kilsdonk

  • Terran McCanna

  • Michele Morgan

  • Jane Sandberg

  • Mike Rylander

  • Chris Sharp

  • Jason Stephenson

4. Evergreen 3.5.2

This release contains bug fixes improving on Evergreen 3.5.1.

4.1. Bug Fixes

4.1.1. Accessibility

  • Help popovers in the AngularJS staff client can now be opened using keyboard navigation (Bug 1801947)

  • Keyboard navigation improvement to the Register/Edit Patron screen (Bug 1840329)

  • Decorative icons in the navbar are now aria-hidden (Bug 1795720)

  • The staff login page now contains an apporopriate heading (Bug 1839365)

4.1.2. Acquisitions

  • Improve wording in acquisitions line item actions menu (Bug 1418694)

4.1.3. Administration

  • Permission Group Interface refreshes after making permission changes (Bug 1891355)

  • Permissions for creating/modifying booking reservations can now be scoped by org unit (Bug 1835127)

  • Fixes issues with sharing settings in the reporter (Bug 1851413)

  • It is now possible to report on non-cataloged circulations separately from non-cataloged in-house uses (Bug 1788260)

  • Prevents duplicated report outputs (Bug 1893463)

  • Fixes a UI issue in the reporter (Bug 1207744)

  • Improves description of an org unit setting (Bug 1325704)

4.1.4. Cataloging

  • Catalogers can now batch edit call numbers from item buckets (Bug 1747664)

  • The item editor now displays all circulation modifiers when batch updating (Bug 1844732)

  • When merging bibliographic records, the deleted record is now also marked as inactive (Bug 1771386)

  • The staff catalog now includes a UPC search option (Bug 1885764)

  • Catalogers can now choose "AND" or "OR" as the root node of a record match set (Bug 1839562)

  • The Replace Item Barcode screen now displays an error message when trying to replace a barcode with a barcode already in use (Bugs 1362743 and 1890498)

  • The Angular Catalog’s Holding View grid now includes more columns (Bug 1892077)

  • The Angular Catalog’s Holding View grid context menu no longer includes horizontal scroll bars (Bug 1890849)

  • Fixes an issue that caused the Holdings View grid to not display all necessary holdings (Bug 1845047)

  • Fixes an issue with the Staff Catalog call number browse (Bug 1889685)

  • Fixes an issue with exporting MARC records via a CSV file (Bug 1850825)

  • Fixes an issue with the queue type selector in the Inspect Queue screen (Bug 1890351)

  • Display a helpful message when a staff catalog barcode search doesn’t match any barcodes (Bug 1896083)

  • Filters in the angular staff catalog now differentiate between OPAC visible and OPAC invisible values (Bug 1872867)

4.1.5. Circulation

  • The Patron Edit form now reflects the opac.hold_notify user setting, if set (Bug 1879993)

  • The Register Patron form can now set default password according to a patron’s phone number when the org setting "Patron: password from phone #" is TRUE (Bug 1900184)

  • The Patron self-registration form now persists a patron’s selected home library, even if they refresh the form in their browser (Bug 1361270)

  • Offline circulation interface now lists organizational units in the correct order (Bug 1724019)

  • Several improvements to placing holds in the Angular staff catalog (Bug 1851882)

  • The org unit selector in the staff catalog holds tab is now sticky (Bug 1889113)

  • Fixes an issue that resulted in displaying duplicate holds in the catalog’s View Holds tab (Bug 1865564)

  • Fixes an issue in which cataloged resources sometimes do not appear in the Booking Pull List (Bug 1882828)

  • The Booking Pull List grid now allows users to save their grid settings (Bug 1882825)

  • Fixes an issue with the hold targeter (Bug 1508208)

  • Fixes an issue that prevents items from circulating when OpenSRF is installed with non-default router names (Bug 1904220)

4.1.6. Client

  • Fixes an issue with keyboard shortcuts in the Angular Staff Client (Bug 1883126)

  • Fixes an issue that caused a blank screen to appear (Bug 1855737)

4.1.7. Public Catalog

  • Fixes an issue which prevented Zotero from gathering metadata from the public catalog (Bug 1776954)

4.2. Acknowledgements

We would like to thank the following individuals who contributed code, testing and documentation patches to the 3.5.2 point release of Evergreen:

  • Jason Boyer

  • Dan Briem

  • Galen Charlton

  • Garry Collum

  • Jeff Davis

  • Bill Erickson

  • Jason Etheridge

  • Ruth Frasur

  • Rogan Hamby

  • Elaine Hardy

  • Shula Link

  • Tiffany Little

  • Mary Llewellyn

  • Terran McCanna

  • Christine Morgan

  • Michele Morgan

  • Jennifer Pringle

  • Mike Risher

  • Mike Rylander

  • Jane Sandberg

  • Dan Scott

  • Chris Sharp

  • Remington Steed

  • Jason Stephenson

  • Jennifer Weston

  • Beth Willis

5. Evergreen 3.5.1

This release contains bug fixes improving on Evergreen 3.5.0.

5.1. Bug Fixes

5.1.1. Administration

  • Fixes a bug that caused the Emergency Closing handler to skip circulations with fines (Bug 1870605)

  • The column headers in the Copy Status configuration screen have improved labels (Bug 1848573)

  • Fixes an incorrect link to the Match Set configuration screen (Bug 1840294)

  • Updates the descriptions of the circ.staff_client.receipt library settings (Bug 1705302)

  • The labels of the All Circulations reporter sources have been clarified (Bug 1852443)

  • The emergency closing form provides additional guidance about end dates (Bug 1867524)

  • The badge_score_generator.pl script is now installed as part of an Evergreen install (Bug 1847784)

  • User preferred names and name keywords are now purged from the database when the user is purged (Bug 1802166)

  • Fixes a bug with the "months ago" functionality in the reporter (Bug 1885759)

  • Angular call number prefix/suffix admin pages no longer let you edit sort key (Bug 1889251)

5.1.2. Cataloging

  • Various improvements to the MARC Editor (Bugs Bug 1735568 and Bug 1830443)

  • Fixes an issue with undeleting bibliographic records (Bug 1845241)

  • Item status now alerts the user about invalid barcodes uploaded from a file (Bug 1847784)

  • You can now open multiple items in Item Status from an item bucket (Bug 1735828)

  • The experimental catalog now allows searching by format (Bug 1886118)

  • The experimental catalog now displays the bib call number according to the search library’s org unit setting (Bug 1874897)

  • Fixes an issue with adding and editing call numbers in the experimental catalog (Bug 1878079)

  • Newly added items and call numbers have distinct styling (Bug 1731370)

  • Fixes an issue with hold activation dates (Bug 1783793)

  • Adds item creator and editor to holdings editor grids (Bug 1811466)

  • The experimental catalog authority MARC editor can now delete and undelete authority records (Bug 1866546)

5.1.3. Circulation

  • Overdue items are now highlighted in red in the Items Out screen (Bug 1775286)

  • Fixes an issue that caused patron stat cat information to persist between patrons in the Patron Edit screen (Bug 1844365)

  • The Pending User Buckets now allow more than 100 users (Bug 1754387)

  • Fixes an issue that caused long patron names to obscure important parts of circulation screens (Bug 1805860)

  • Prevents an incorrect "Input is out of range" validation error in the date pickers of the check out and renewal screens (Bug 1864056)

  • Long overdue and lost and paid items now count toward patron limits (Bug 1747542)

  • The holds shelf list now includes columns for "User Alias" and "User Alias or Display Name" (Bug 1712854)

  • In the messages tab of a patron’s account, you can now change the date range of displayed archived penalties (Bug 1775940)

  • Fixes an issue with hanging transits (Bug 1819542)

  • Fixes some hold targeting logic (Bug 1886852)

  • Fixes an issue with default billing type prices (Bug 1776757)

  • The experimental catalog’s hold grid now includes both date and time for hold request time (Bug 1889296)

  • Sounds now play when an item alert pops up in the web client (Bug 1851541)

  • Autorenewal notifications now display a more intelligible message (Bug 1842431)

5.1.4. Client

  • New installations of Evergreen will prevent problematic caching of the Angular client (Bug 1775276)

  • All screens in the angular client now have a banner to indicate which screen it is (Bug 1474874)

  • Fixes a bug that caused inconsistent hotkey behavior (Bug 1886713)

  • The Angular client has been upgraded to be compatible with moment-timezone 0.5.29 (Bug 1884787)

  • Fixes an issue with comboboxes (typeaheads) in the Angular client (Bug 1882591)

  • Publicly visible buckets are now known as Shareable buckets (Bug 1717996)

5.1.5. Feeds

  • Fixes an issue with HTML item feed cover images (Bug 1674364)

5.1.6. Public catalog

  • The list of holdings in the OPAC now considers call number suffix in its sorting (Bug 1795469)

  • The Exclude Electronic Resources checkbox now works properly when locale picker is enabled (Bug 1847343)

5.1.7. QA

  • Adds automated tests for the barcode completion feature (Bug 1847680)

  • Fixes an issue with SRU search (Bug 1833300)

  • Fixes an issue with searching the catalog from the staff client (Bug 1858701)

  • The experimental catalog basket clears when a staff member logs out (Bug 1867834)

  • Fixes an accessibility issue with the catalog search on the splash page (Bug 1839369)

5.2. Upgrade notes

Evergreen administrators should update existing apache configuration files so that the Angular index.html file is never cached by the client. This can be done by changing the Angular setup section of the apache configuration that starts with:

<Directory "/openils/var/web/eg2/en-US">

or similar in the apache configuration. Add the following after the FallbackResource directive:

    <Files "index.html">
      <IfModule mod_headers.c>
        Header set Cache-Control "no-cache, no-store, must-revalidate"
        Header set Pragma "no-cache"
        Header set Expires 0

Finally, ensure that the mod_headers apache module is enabled by running the following commands on all apache servers as the root user:

a2enmod headers
sudo /etc/init.d/apache2 restart

5.2.1. Purge User Preferred Names

The new, user preferred name fields are now set to NULL in the database when a user account is purged via the staff client or using the actor.usr_delete function in the database.

To clear the preferred name fields from records that have already been purged, run the following SQL update:

UPDATE actor.usr
SET pref_prefix = NULL,
    pref_first_given_name = NULL,
    pref_second_given_name = NULL,
    pref_family_name = NULL,
    pref_suffix = NULL,
    name_keywords = NULL
WHERE usrname ~ ('^' || id || '-PURGED')
AND NOT active
AND deleted
  pref_prefix IS NOT NULL OR
  pref_first_given_name IS NOT NULL OR
  pref_second_given_name IS NOT NULL OR
  pref_family_name IS NOT NULL OR
  pref_suffix IS NOT NULL OR
  name_keywords IS NOT NULL

5.3. Acknowledgements

We would like to thank the following individuals who contributed code, testing and documentation patches to the 3.5.1 point release of Evergreen:

  • John Amundson

  • A. Bellenir

  • Jason Boyer

  • Steven Callender

  • Galen Charlton

  • Jeff Davis

  • Bill Erickson

  • Jason Etheridge

  • Ruth Frasur

  • Blake Graham Henderson

  • Rogan Hamby

  • Elaine Hardy

  • Kyle Huckins

  • Shula Link

  • Tiffany Little

  • Christine Morgan

  • Michele Morgan

  • Terran McCanna

  • Gina Monti

  • Mike Risher

  • Mike Rylander

  • Jane Sandberg

  • Dan Scott

  • Jason Stephenson

  • Josh Stompro

  • John Yorio

6. Evergreen 3.5.0

7. Upgrade notes

7.1. New Action Trigger hook for patron registration

Use of the new Action Trigger stgu.created hook requires changes to your action_trigger_filters.json file. See below for more details.

7.2. New prerequisite - Email::MIME Perl module

The Email::MIME Perl module is now required, so be sure to run the prerequisite installation procedure for your Linux distribution before upgrading Evergreen.

8. New Features for 3.5.0

8.1. Administration

8.1.1. Do not cache the Angular application root

Evergreen administrators should update existing apache configuration files so that the Angular index.html file is never cached by the client. This can be done by changing the Angular setup section of the apache configuration that starts with:

<Directory "/openils/var/web/eg2/en-US">

or similar in the apache configuration. Add the following after the FallbackResource directive:

    <Files "index.html">
      <IfModule mod_headers.c>
        Header set Cache-Control "no-cache, no-store, must-revalidate"
        Header set Pragma "no-cache"
        Header set Expires 0

Finally, ensure that the mod_headers apache module is enabled by running the following commands on all apache servers as the root user:

a2enmod headers
/etc/init.d/apache2 restart

8.1.2. Repair of Self-closing HTML Tags

The most recent release of JQuery requires valid closing tags for X/HTML elements. These were repaired within affected OPAC/Staff Client TT2 templates, but care should be taken in Action/Trigger templates to make sure closing tags are present where appropriate. The stock template for PO HTML was affected. See LP#1873286 for details.

8.1.3. Aged Money Changes

Two new global flag settings have been added to control if/when billings and payments are aged. Both settings are disabled by default.

  • history.money.age_with_circs

    • Age billings and payments linked to circulations when the cirulcation is aged.

  • history.money.retention_age

    • Age billings and payments based on the age of the finish date for the linked transaction.

    • To age money based on this setting, there is a new srfsh script at (by default) /openils/bin/age_money.srfsh.

Aged Payment Additional Fields

The aged payment table now has accepting_usr, cash_drawer, and billing columns to improve reporting of aged money.

Manual Data Migration of Aged Money

For users that wish to age money along with circulations (global flag history.money.age_with_circs is set to true), it’s necessary to manaully age money for circulations which have already been aged. This can be done directly in the database with SQL:

This SQL can take a very long time to run on large databases, so it may be necessary to process aged circulations in batches instead of all at once.
SELECT money.age_billings_and_payments_for_xact(circ.id)
FROM action.aged_circulation circ
-- limit to aged circs with billings
JOIN money.billing mb ON mb.xact = circ.id;

8.1.4. PostgreSQL 10 Support

PostgreSQL 10 is now available for installation with Evergreen. Please see the installation documentation for details.

8.1.5. New Action Trigger hook for patron registration

Evergreen now includes a new type of Action Trigger hook: stgu.created. This hook will trigger upon the patron registration submission form. In addition to the new hook, an example Action Trigger definition is provided (disabled by default) entitled "Patron Registered for a card stgu.created". With clever timing and delay settings, a library can receive a single notification containing all of the pending patron registrations for a given time interval. No special server-side considerations required unless you introduce a new granularity. There is, however, a new clause introduced to the "action_trigger_filters.json.example" file.

If you wish to use this new hook, be sure to include this clause in your local "action_trigger_filters.json" file:

"stgu.created" : {
        "context_org": "home_ou",
        "filter": {
            "complete": "f"

8.1.6. SendEmail Reactor Updated to use Email::MIME

The SendEmail reactor for Action/Trigger has been updated to use the Email::MIME Perl module for proper encoding of the email message header fields. You should notice no functional difference in the sending of emails.

8.2. Cataloging

8.2.1. Enriched/Full MARC Editor Ported to Angular

The full MARC editor is now implemented in Angular. This change impacts both the experimental Angular catalog and the MARC edit option within MARC Batch Import/Export (Vandelay) Queue manager.

8.2.2. Patron View tab in Experimental Catalog

The record view screen in the Experimental Catalog now has a Patron View tab. This tab displays a view of the record in the OPAC, as a patron would see it.

The Patron View tab replaces the previous View in Catalog button.

8.3. Circulation

8.3.1. New Hold Sort Order: Traditional with Holds-chase-home-lib-patrons

This is a new entry under Administration → Server Administration → Best-Hold Selection Sort Order in the staff client. It prioritizes holds such that a given item, based on its owning library, will prefer patrons with a matching home library, no matter the pickup library.

8.3.2. Angular Staff Catalog Holds Patron Search Support

The Angular staff catalog now supports patron searching directly from the holds placement interace.

8.3.3. Hide Print List Button On Self Check Home Page

The Print List button is no longer displayed on the main page of the self check interface. This addresses an issue where users were observed to either hit the Print List button and walk away or hit it and the Logout button, causing duplicate receipts to be printed. The Print List button continues to be displayed on the Items Out, Holds, and Fines Details pages of the self check interface.

8.3.4. Update Hold Notification Information

The public catalog and staff client now have the ability to update existing holds if a patron or a staff member changes certain notification preferences or contact information. Evergreen will detect these changes and prompt the staff user or patron user and ask if they want to update existing holds with the new contact information and/or notification preferences.

8.4. Client

8.4.1. Angular Staff Catalog Preferences Page

Adds a new "Catalog Preferences" interface, accessible directly from the catalog. The UI houses the search preferences (default search lib, preferred library, default search tab) and a new staff-specific hits-per-page setting. Other preferences may be added later.

Adds support for selecting a default search tab using the existing eg.search.adv_pane setting.

8.4.2. Hatch File Writer Print Option

Adds a new stock print option in the Hatch printer configuration interface called Hatch File Writer (translatable). When selected, any print content that is delivered to this printer is translated into text where necessary and written to a file in the Hatch profile directory.

The name of the file written is based on the print context: "receipt.<context>.txt". For example, receipt.label.txt.

8.4.3. Angular Staff Catalog gets Search Highlighting

Search text highlighting is now supported on the search results and record details pages in the Angular staff catalog for searches that support highlighting.

8.5. OPAC

8.5.1. Custom CSS in OPAC

There is now a library setting called opac.patron.custom_css. This can be populated with CSS that will load in the OPAC after the stylesheets and allow for custom CSS without editing server side templates. The permission UPDATE_ORG_UNIT_SETTING.opac.patron.custom_css manages access to it.

8.6. SIP

8.6.1. Add patron_status_always_permit_loans Option to SIP Server

Evergreen now has a new oils_sip.xml login attribute called patron_status_always_permit_loans that specifies whether the charge privileges denied, renewal privilges denied, and card reported lost flags in the patron status block should be coerced to permissive values regardless of the actual state of the patron record. Turning this on works around an issue where a 2019-12 change by the Hoopla SIP2 client takes those flag fields into account, but some libraries may not wish those to block a patron’s access to online resources that use SIP2 to authenticate. This setting can also be set as an implementation_config option; note that if it is set to true or false as a login attribute, the login attribute will override whatever is set in the implementation_config.

9. Acknowledgments

The Evergreen project would like to acknowledge the following organizations that commissioned developments in this release of Evergreen:

  • King County Library System

  • MassLNC

  • PaILS

We would also like to thank the following individuals who contributed code, translations, documentations patches and tests to this release of Evergreen:

  • Jason Boyer

  • Galen Charlton

  • Garry Collum

  • Dawn Dale

  • Jeff Davis

  • Bill Erickson

  • Jason Etheridge

  • Lynn Floyd

  • Ruth Frasur

  • Blake Graham-Henderson

  • Rogan Hamby

  • Terran McCanna

  • Mike Risher

  • Mike Rylander

  • Jane Sandberg

  • Chris Sharp

  • Josh Stompro

  • Cesar Velez

We also thank the following organizations whose employees contributed patches:

  • BC Libraries Cooperative

  • Catalyte

  • Equinox Open Library Initiative

  • Georgia Public Library Service

  • Indiana State Library

  • King County Library System

  • Lake Agassiz Regional Library

  • Linn-Benton Community College


We regret any omissions. If a contributor has been inadvertently missed, please open a bug at http://bugs.launchpad.net/evergreen/ with a correction.