[open-ils-commits] [GIT] Evergreen ILS branch tags/rel_3_2_5 created. 3ff8c153b30c2b9a40b586d45b4e22de7a3183f2

Evergreen Git git at git.evergreen-ils.org
Thu Mar 28 17:01:29 EDT 2019


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, tags/rel_3_2_5 has been created
        at  3ff8c153b30c2b9a40b586d45b4e22de7a3183f2 (commit)

- Log -----------------------------------------------------------------
commit 3ff8c153b30c2b9a40b586d45b4e22de7a3183f2
Author: Dan Wells <dbw2 at calvin.edu>
Date:   Tue Mar 26 16:24:33 2019 -0400

    Bumping version numbers, adding Upgrade Script and Changelog
    
    Signed-off-by: Dan Wells <dbw2 at calvin.edu>

diff --git a/ChangeLog b/ChangeLog
index 1f72b2c73e..2229119949 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,896 @@
-Evergreen doesn't keep a GNU-style ChangeLog except in release tarballs.
-Those seeking a change log are encouraged to run 'git log -v', or read
-it online at: http://git.evergreen-ils.org/?p=Evergreen.git;a=log
+commit ba053a312b59bcb40ff1f34ed13178c6240f2894
+Author: Dan Wells <dbw2 at calvin.edu>
+Date:   Tue Feb 26 14:38:22 2019 -0500
+
+    Update upgrade docs for 3.2.5
+    
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+22	60	docs/installation/server_upgrade.adoc
+
+commit bc17f1f0eac8edf757a51978c48700bb92faf2c4
+Author: Dan Wells <dbw2 at calvin.edu>
+Date:   Tue Mar 26 16:15:48 2019 -0400
+
+    Bump OpenILS.pm version
+    
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+1	1	Open-ILS/src/perlmods/lib/OpenILS.pm
+
+commit 88c3bd9d689c2f9d1e65f7cb085553a0c45dfd2c
+Author: Remington Steed <rjs7 at calvin.edu>
+Date:   Tue Mar 26 16:15:11 2019 -0400
+
+    Docs: Revise 3.2.5 bugfix release notes
+    
+    This commit adds release notes for recently pushed fixes to the new
+    Angular pieces of the web client.
+    
+    Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+
+14	0	docs/RELEASE_NOTES_3_2.adoc
+
+commit dd07cba8c15f0268647a68c19feb02146dcbfb8a
+Author: Dan Wells <dbw2 at calvin.edu>
+Date:   Tue Mar 26 12:28:53 2019 -0400
+
+    Translation updates - po files
+    
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+335	0	build/i18n/po/circ/en-GB.po
+375	0	build/i18n/po/kpac/en-GB.po
+419	0	build/i18n/po/serial/en-GB.po
+30	14	build/i18n/po/webstaff/ar-JO.po
+78	62	build/i18n/po/webstaff/cs-CZ.po
+34	22	build/i18n/po/webstaff/en-CA.po
+93	72	build/i18n/po/webstaff/en-GB.po
+24	14	build/i18n/po/webstaff/es-ES.po
+27	14	build/i18n/po/webstaff/hy-AM.po
+24	14	build/i18n/po/webstaff/ru-RU.po
+ create mode 100644 build/i18n/po/circ/en-GB.po
+ create mode 100644 build/i18n/po/kpac/en-GB.po
+ create mode 100644 build/i18n/po/serial/en-GB.po
+
+commit a37154508d8fc078b5d9bae5ada105a534c13ecd
+Author: Dan Wells <dbw2 at calvin.edu>
+Date:   Tue Mar 26 12:08:27 2019 -0400
+
+    Translation updates - newpot
+    
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+41	11	build/i18n/po/db.seed/db.seed.pot
+180	173	build/i18n/po/webstaff/webstaff.pot
+
+commit c9e3cd64261e8b24b756de5a630fb01a23a493f5
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Wed Mar 20 14:38:44 2019 -0400
+
+    LP1821067 Angular i18n uses XMB; cs-CZ examples
+    
+    Includes documentation updates and cs-CZ example using export cs-CZ .xtb
+    translation bundle.
+    
+    Also remove xmliffmerge configuration options since we are not using
+    xliff files.
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+18	5	Open-ILS/src/eg2/CHEAT_SHEET.adoc
+4	4	Open-ILS/src/eg2/angular.json
+2	29	Open-ILS/src/eg2/package.json
+2	1	Open-ILS/src/eg2/src/environments/environment.prod.ts
+
+commit f38a629f356c555254f56c989080d67a4b7d1474
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Wed Mar 20 14:38:14 2019 -0400
+
+    LP1821067 Angular Czech translation bundle
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+495	0	Open-ILS/src/eg2/src/locale/messages.cs-CZ.xtb
+ create mode 100644 Open-ILS/src/eg2/src/locale/messages.cs-CZ.xtb
+
+commit b46e5e774bdbe1468a05d474af722fcbea048835
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Fri Mar 22 13:41:12 2019 -0700
+
+    LP1821409 Ang admin editor clears fields on new
+    
+    The Angular admin pages re-use an FmEditor component for creating and
+    updating objects.  When creating a new object after editing an existing
+    object, reset the editor so it won't load the previously edited object.
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+4	0	Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.ts
+
+commit 52ae1b1d5adbba0c860db59c06c84b19541e3fc2
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Wed Jan 23 17:30:26 2019 -0500
+
+    LP1807461 Admin page avoid errors on dialog dismissal
+    
+    Add support to the base DialogComponent class for passing information to
+    the caller via the reject handler about whether a dialog was dismissed
+    via user interface interaction (body click, esc key, cross click, cancel
+    button) or for some other reason, presumably an error.
+    
+    Teach the generic admin page to avoid toasting errors when an edit or
+    create dialog is dismissed via UI.
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+25	1	Open-ILS/src/eg2/src/app/share/dialog/dialog.component.ts
+10	6	Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.ts
+
+commit 4a054a7ef822f1094e28f8c0fc3faacd77bd6df4
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Wed Jan 23 16:13:52 2019 -0500
+
+    LP1807458 Eg2 grid Edit option lint repairs
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+4	3	Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.ts
+
+commit 4574eaf3442ee4dc9b0cde6e6e2d941ce9c17eef
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Mon Dec 10 15:06:23 2018 -0500
+
+    LP#1807461 FM-editor show danger toasts when create/update fails
+    
+    Display a danger toast when update or create attempts fail in the
+    Angular fieldmapper editor dialog.
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Jane Sandberg <sandbej at linnbenton.edu>
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+7	0	Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.html
+10	2	Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.ts
+
+commit d794c5b848a6007a134ac8782309d87be5ed5e84
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Mon Dec 10 13:09:36 2018 -0500
+
+    LP#1807458 Angular admin grid Edit Selected option
+    
+    Adds a new "Edit Selected" action to the "Actions for Selected Items"
+    menu in the general purpose admin grid.  This only visibly affects the
+    ACQ admin grids at time of writing, but applies to all auto-generated
+    admin grids.
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Jane Sandberg <sandbej at linnbenton.edu>
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+2	0	Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.html
+27	12	Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.ts
+
+commit baabffdfc14c2a648c503cf6fe26df07a694bcaf
+Author: abneiman <abneiman at equinoxinitiative.org>
+Date:   Tue Feb 19 17:22:04 2019 -0500
+
+    docs: Statcat updates
+    
+    Signed-off-by: abneiman <abneiman at equinoxinitiative.org>
+    Signed-off-by: Jane Sandberg <sandbej at linnbenton.edu>
+
+16	7	docs/admin/lsa-statcat.adoc
+-	-	docs/media/lsa-statcat-2.png
+-	-	docs/media/lsa-statcat-3.png
+-	-	docs/media/lsa-statcat-3a.png
+-	-	docs/media/lsa-statcat-5.png
+-	-	docs/media/lsa-statcat-6.png
+-	-	docs/media/lsa-statcat-8.png
+ create mode 100644 docs/media/lsa-statcat-3a.png
+
+commit 1a307d20aa6ded7cc5e7248e35c4d658d9c28ae5
+Author: Remington Steed <rjs7 at calvin.edu>
+Date:   Wed Mar 20 11:57:02 2019 -0400
+
+    Docs: Add bugfix release notes for 3.2.5
+    
+    For the acknowledgements section, I opted to include anyone who had
+    signed off on a commit in 3.2.5. I'm not sure what the criteria were
+    for pervious point release notes.
+    
+    Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+
+105	0	docs/RELEASE_NOTES_3_2.adoc
+
+commit 77600513ca30b431079d7384237161089bbeae41
+Author: Remington Steed <rjs7 at calvin.edu>
+Date:   Wed Mar 20 12:16:54 2019 -0400
+
+    Docs: Add bugfix release notes for 3.1.11
+    
+    For the acknowledgements section, I opted to include anyone who had
+    signed off on a commit in 3.1.11. Not sure if this is the same as past
+    point release notes.
+    
+    Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+
+72	0	docs/RELEASE_NOTES_3_1.adoc
+
+commit a5c5dbf7c2fe2e10357ece7f9110796951615b8c
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Thu Mar 14 12:03:58 2019 -0400
+
+    LP1776736 Record merge marc edit repairs
+    
+    1. Fixes issues where edits to MARC records would fail to save during
+       merge.
+    
+    2. Provide options to select flat or non-flat text editor in edit mode
+       for record merges.
+    
+    3. Allow record editor action buttons/selectors to flow down
+       horizontally when they don't fit in a narrow space.
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+1	2	Open-ILS/src/templates/staff/cat/bucket/record/t_merge_records.tt2
+7	7	Open-ILS/src/templates/staff/cat/share/t_marcedit.tt2
+1	0	Open-ILS/src/templates/staff/css/cat.css.tt2
+27	15	Open-ILS/web/js/ui/default/staff/cat/bucket/record/app.js
+1	1	Open-ILS/web/js/ui/default/staff/cat/services/marcedit.js
+
+commit 3b17ee40181c7ae5f67c97db34b91f9dde7c1610
+Author: Josh Stompro <stompro at stompro.org>
+Date:   Tue Feb 26 14:21:06 2019 -0600
+
+    LP1749502 - Holds Pull List Print Order
+    
+    - Expose call number affix sortkey data.
+    - Use sortkey data to sort default pull list template.
+    - Combine all call number info into one field in default pull list template.
+    - Sorty by shelf location position if it exists, then by shelf location name if it doesn't
+    - Only grab copy info if copy is assigned, to not break patron holds grid.
+    - Remove some web console logging only needed for testing.
+    
+    Signed-off-by: Josh Stompro <stompro at stompro.org>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: John Amundson <jamundson at cwmars.org>
+
+2	6	Open-ILS/src/templates/staff/share/print_templates/t_hold_pull_list.tt2
+37	31	Open-ILS/web/js/ui/default/staff/circ/services/holds.js
+
+commit 3ec7bdcbac4a87c0db98b6d589c0aaca6d126337
+Author: Jason Stephenson <jason at sigio.com>
+Date:   Wed Sep 12 15:34:56 2018 -0400
+
+    LP 1749502: Add Call Number Prefix & Suffix to pull list print template.
+    
+    We add the call number prefix and suffix as separate columns to the
+    holds pull list print template.  We also add the suffix to the end of
+    the orderBy so that we also sort by the suffix.
+    
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Josh Stompro <stompro at stompro.org>
+    Signed-off-by: John Amundson <jamundson at cwmars.org>
+
+5	1	Open-ILS/src/templates/staff/share/print_templates/t_hold_pull_list.tt2
+
+commit 935a4242ff3ae243492b024a14be52394a7397ce
+Author: Kyle Huckins <khuckins at catalyte.io>
+Date:   Tue May 29 16:06:59 2018 +0000
+
+    lp1749502 Prefix patch
+    
+    - Ensure prefix information is properly set
+    
+    Signed-off-by: Kyle Huckins <khuckins at catalyte.io>
+    
+     Changes to be committed:
+    	modified:   Open-ILS/src/templates/staff/share/print_templates/t_hold_pull_list.tt2
+    	modified:   Open-ILS/web/js/ui/default/staff/circ/services/holds.js
+    
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Josh Stompro <stompro at stompro.org>
+    Signed-off-by: John Amundson <jamundson at cwmars.org>
+
+1	1	Open-ILS/src/templates/staff/share/print_templates/t_hold_pull_list.tt2
+12	10	Open-ILS/web/js/ui/default/staff/circ/services/holds.js
+
+commit c7e13807e5d3ef24458c2e247be502a5fe848e63
+Author: Kyle Huckins <khuckins at catalyte.io>
+Date:   Thu May 17 21:08:27 2018 +0000
+
+    lp1749502 Holds Pull List Print Order
+    
+    - Ensure copy shelf location position is available for each hold on
+    holds shelf.
+    - Add _copy_location_position to hold_data while printing.
+    
+    Signed-off-by: Kyle Huckins <khuckins at catalyte.io>
+    
+     Changes to be committed:
+    	modified:   Open-ILS/src/templates/staff/share/print_templates/t_hold_pull_list.tt2
+    	modified:   Open-ILS/web/js/ui/default/staff/circ/services/holds.js
+    
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Josh Stompro <stompro at stompro.org>
+    Signed-off-by: John Amundson <jamundson at cwmars.org>
+
+1	1	Open-ILS/src/templates/staff/share/print_templates/t_hold_pull_list.tt2
+20	1	Open-ILS/web/js/ui/default/staff/circ/services/holds.js
+
+commit 343a2f8068542665df7e5e2bcdb5eb37d8459698
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Tue Mar 5 11:53:09 2019 -0500
+
+    LP1739293 Record merged edit-in-place avoid wrap
+    
+    When using the inline editor, prevent text wrapping and instead allow
+    the text to overflow x and y and use scrolls to navigate.
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Elaine Hardy <ehardy at georgialibraries.org>
+
+2	1	Open-ILS/src/templates/staff/cat/bucket/record/t_merge_records.tt2
+8	0	Open-ILS/src/templates/staff/css/cat.css.tt2
+
+commit c30d8d45c469174b047a14407c950cec96c2f4a7
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Tue Mar 5 11:10:44 2019 -0500
+
+    LP1739293 Record merge fits container
+    
+    Allow the text contents of each merged MARC record to wrap so the
+    records may fit horizontally on the screen.  A single vertical scroll
+    allows the user to scroll down to see any parts of the record that
+    require more vertical space.
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Elaine Hardy <ehardy at georgialibraries.org>
+
+1	1	Open-ILS/src/templates/staff/cat/bucket/record/t_merge_records.tt2
+19	0	Open-ILS/src/templates/staff/css/cat.css.tt2
+
+commit 816b16492bf4d6ff4cdaf34a287ee321763ef7a4
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Fri Feb 8 11:25:10 2019 -0500
+
+    LP1739293 Record merge horizontal; optional holdings
+    
+    * Tile bib records horizontally in record bucket => merge records
+      interface.
+    
+    * Add a "Toggle Holdings View" button for displaying holdings and leave
+      holdings un-displayed by default.
+    
+    * Duplicate the Merge and Cancel buttons along the top of the dialog.
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Elaine Hardy <ehardy at georgialibraries.org>
+
+50	33	Open-ILS/src/templates/staff/cat/bucket/record/t_merge_records.tt2
+1	0	Open-ILS/web/js/ui/default/staff/cat/bucket/record/app.js
+
+commit de32afd744a7bdefd1418da7da503d4a9d8f508d
+Author: Jason Stephenson <jason at sigio.com>
+Date:   Wed Mar 13 12:37:23 2019 -0400
+
+    LP 1819796: Fix method call on undefined value in generate_fines
+    
+    The below message repeats in the open-ils.storage_stderr.log:
+    
+    Caught error from 'run' method: Can't call method "search_where" on an
+    undefined value at
+    /usr/local/share/perl/5.26.1/OpenILS/Application/Storage/Publisher/action.pm
+    line 1014.
+    
+    This commit removes an errant ->search_where on a CStoreEditor call to
+    make that message go away.
+    
+    Also, delete some lines of code that were commented out at the time the
+    code was converted to use CStoreEditor.
+    
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+1	8	Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
+
+commit 289e5ee465c60f94842c85ca9a8f4b308488d64f
+Author: Remington Steed <rjs7 at calvin.edu>
+Date:   Fri Mar 8 15:27:45 2019 -0500
+
+    LP1793196 Fix console error when none selected
+    
+    If you open the dropdown and close it without selecting anything, the
+    console shows an error complaining that $scope.selected is undefined.
+    This commit checks that it exists in that case before using it.
+    
+    Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+1	1	Open-ILS/web/js/ui/default/staff/services/ui.js
+
+commit 448118772255aaecf7e8d7e483f53e8da67d5c03
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Tue Feb 5 12:28:15 2019 -0500
+
+    LP1793196 Volume batch editor offers MARC call numbers
+    
+    Provide call numbers extracted from the MARC record as options in the
+    volume batch editor.  Call numbers to extract are based on the load-time
+    classification scheme, defaulting to Generic ('1') if no default scheme
+    is applied.
+    
+    Patch includes additional sanity checks on volume editor utility
+    functions to avoid console errors referencing undefined values.
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+1	1	Open-ILS/src/templates/staff/cat/volcopy/t_edit.tt2
+22	5	Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js
+
+commit 331db31999bbd3747b62e6348d3e1d27117c7949
+Author: Jane Sandberg <sandbej at linnbenton.edu>
+Date:   Sun Sep 2 16:13:46 2018 -0700
+
+    LP1665534: Make pickup library in bib record holds view sticky
+    
+    Signed-off-by: Jane Sandberg <sandbej at linnbenton.edu>
+    Signed-off-by: Michele Morgan <mmorgan at noblenet.org>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+
+1	1	Open-ILS/src/templates/staff/cat/catalog/t_holds.tt2
+
+commit d2265ab8cc08165e789a9341702035ed6365c4ef
+Author: Steven Callender <stevecallender at esilibrary.com>
+Date:   Tue Dec 11 13:18:27 2018 -0500
+
+    LP1808006 - Sitemap generator fix to allow shortname parameter.
+    
+    Signed-off-by: Steven Callender <stevecallender at esilibrary.com>
+    Signed-off-by: Geoff Sams <gsams at roanoketexas.com>
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+
+4	1	Open-ILS/src/support-scripts/sitemap_generator
+
+commit dfb52ae31bef4f3bdadb936e551ad38d413e4d04
+Author: Jason Boyer <jboyer at library.in.gov>
+Date:   Thu Jan 17 13:33:10 2019 -0500
+
+    LP1798628: Copy alert counts in Holdings
+    
+    Currently the count of all copy alerts ever applied
+    to a copy is displayed in the Holdings view, which
+    can be quite confusing when clicking Manage and not
+    seeing the expected number of alerts. This branch
+    changes the display to only count the number of
+    events currently active since those are the only
+    ones available to manage.
+    
+    Signed-off-by: Jason Boyer <jboyer at library.in.gov>
+    Signed-off-by: Garry Collum <gcollum at gmail.com>
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+
+3	1	Open-ILS/web/js/ui/default/staff/cat/services/holdings.js
+
+commit 80d9c400eafe016343bedfa65c9fad053585d2b6
+Author: Remington Steed <rjs7 at calvin.edu>
+Date:   Thu Oct 25 08:53:32 2018 -0400
+
+    LP#1778571 Fix logic error converting JS bool to DB bool
+    
+    Two minor bugs in the Copy Notes editor had the same cause in two
+    separate places. The cause was forgetting to convert the checkbox status
+    (a JavaScript bool) to the correct database format ('t' or 'f'). The
+    resulting symptoms were buggy behavior related to the state of the
+    "Public Note" checkbox. This commit addresses both cases mentioned in
+    the bug report and comments.
+    
+    To test the buggy behavior:
+    1. Edit an item (e.g. click the "Edit" link from the client OPAC view).
+    2. Click the "Item Notes" button (near the bottom of the editor).
+    3. Add a new note and check the "Public Note" box.
+    4. Click "OK".
+    5. Click "Item Notes" again and notice that the "Public Note" box on your
+       new note is no longer checked. (That's bug #1.)
+    6. Check "Public Note" again, click "OK", and click "Save & Exit".
+    7. Edit the same item again. Click "Item Notes".
+    8. Your note should correctly have the "Public Note" checkbox checked.
+    9. Uncheck the box and click "OK". Click "Save & Exit".
+    10. Edit the same item. Click "Item Notes".
+    11. Notice that your change didn't save. The "Public Note" checkbox is
+        still checked. (That's bug #2.)
+    
+    To test the fixes:
+    - Clear your browser cache.
+    - Repeat the steps above, noticing that:
+      - At step 5, the new note correctly has the "Public Note" checkbox
+        checked.
+      - At step 11, the edited note correctly has the "Public Note" checkbox
+        unchecked.
+    
+    NOTE: Testing requires clearing the browser cache, since the
+    t_copy_notes.tt2 file is fetched asynchronously by AngularJS.
+    
+    Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+    Signed-off-by: Michele Morgan <mmorgan at noblenet.org>
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+
+1	1	Open-ILS/src/templates/staff/cat/volcopy/t_copy_notes.tt2
+1	1	Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js
+
+commit d0a8024de9331542c83120d8fddacbe13b08d7d7
+Author: Chris Sharp <csharp at georgialibraries.org>
+Date:   Fri Mar 8 14:19:02 2019 -0500
+
+    LP#1759238: stamping upgrade script
+    
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+
+1	1	Open-ILS/src/sql/Pg/002.schema.config.sql
+11	0	Open-ILS/src/sql/Pg/upgrade/1158.data.fix-typo-in-seed-data.sql
+0	11	Open-ILS/src/sql/Pg/upgrade/XXXX.data.fix-typo-in-seed-data.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/1158.data.fix-typo-in-seed-data.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.fix-typo-in-seed-data.sql
+
+commit acdce777c319edcae4810697fa99b209775864eb
+Author: Ben Shum <ben at evergreener.net>
+Date:   Tue May 1 10:38:39 2018 -0400
+
+    LP#1759238: Add upgrade script to fix typo for Physical Description in DB
+    
+    This upgrade script will check and update the typo if it is present in
+    an existing installation.
+    
+    Signed-off-by: Ben Shum <ben at evergreener.net>
+    Signed-off-by: Josh Stompro <stompro at stompro.org>
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+
+11	0	Open-ILS/src/sql/Pg/upgrade/XXXX.data.fix-typo-in-seed-data.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.fix-typo-in-seed-data.sql
+
+commit f7afe0c718760b780421eb5ea38cdfe40521ff7b
+Author: Ben Shum <ben at evergreener.net>
+Date:   Tue May 1 10:29:25 2018 -0400
+
+    LP#1769238: fix typo in 950.data.seed-values.sql for Physical Description
+    
+    Instead of "Physical Description", "Physical Descrption" is used by mistake.
+    Fix the seed data and all related PO files for translation.
+    
+    Signed-off-by: Ben Shum <ben at evergreener.net>
+    Signed-off-by: Josh Stompro <stompro at stompro.org>
+    
+    Conflicts:
+    	build/i18n/po/db.seed/cs-CZ.po
+    
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+
+1	1	Open-ILS/src/sql/Pg/950.data.seed-values.sql
+1	1	build/i18n/po/db.seed/ar-JO.po
+1	1	build/i18n/po/db.seed/cs-CZ.po
+1	1	build/i18n/po/db.seed/db.seed.pot
+1	1	build/i18n/po/db.seed/de-DE.po
+1	1	build/i18n/po/db.seed/en-CA.po
+1	1	build/i18n/po/db.seed/en-GB.po
+1	1	build/i18n/po/db.seed/es-ES.po
+1	1	build/i18n/po/db.seed/fi-FI.po
+1	1	build/i18n/po/db.seed/fr-CA.po
+1	1	build/i18n/po/db.seed/he-IL.po
+1	1	build/i18n/po/db.seed/hu-HU.po
+1	1	build/i18n/po/db.seed/hy-AM.po
+1	1	build/i18n/po/db.seed/oc-FR.po
+1	1	build/i18n/po/db.seed/pt-BR.po
+1	1	build/i18n/po/db.seed/ru-RU.po
+1	1	build/i18n/po/db.seed/sv-SE.po
+1	1	build/i18n/po/db.seed/tr-TR.po
+
+commit d731c233112b6ebdf8fde12f80a3b7916f608539
+Author: Jason Stephenson <jason at sigio.com>
+Date:   Fri Mar 8 13:54:35 2019 -0500
+
+    Lp 712490: Stamping UPgrade Script
+    
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+
+1	1	Open-ILS/src/sql/Pg/002.schema.config.sql
+202	0	Open-ILS/src/sql/Pg/upgrade/1157.schema.vandelay-replace-field-order.sql
+0	202	Open-ILS/src/sql/Pg/upgrade/XXXX.schema.vandelay-replace-field-order.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/1157.schema.vandelay-replace-field-order.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.vandelay-replace-field-order.sql
+
+commit 793286531f5c2cbb7625e8c54f2f3dbade71491a
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Thu Oct 19 11:42:43 2017 -0400
+
+    LP#712490 Vandelay replace/merge PGTAP tests
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Jane Sandberg <sandbej at linnbenton.edu>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+
+135	0	Open-ILS/src/sql/Pg/t/lp712490-vand-replace-field-merge.pg
+ create mode 100644 Open-ILS/src/sql/Pg/t/lp712490-vand-replace-field-merge.pg
+
+commit 028750d7c2ff992a3702533925c62b9c15b93f1e
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Wed Oct 18 17:00:59 2017 -0400
+
+    LP#712490 Vandelay merge-based field replacement
+    
+    Modify the vandelay field replacement logic to merge replacement data
+    into existing field data where possible, instead of simply deleting then
+    re-adding the data.  The key benefit is that subfields retain their order
+    in affected MARC fields.  As a result, for example, propagating
+    authority field changes to bib records will no longer result in the $0
+    field being pushed to the front of the field when it was previously that
+    last subfield.
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Jane Sandberg <sandbej at linnbenton.edu>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+
+188	22	Open-ILS/src/sql/Pg/012.schema.vandelay.sql
+202	0	Open-ILS/src/sql/Pg/upgrade/XXXX.schema.vandelay-replace-field-order.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.vandelay-replace-field-order.sql
+
+commit b493ff500fab9b70379068ef2bbc5ce2e78abf68
+Author: Jason Etheridge <jason at EquinoxInitiative.org>
+Date:   Wed Jan 16 08:57:26 2019 -0500
+
+    LP1794588 Web client edit single call number changes all when multiple items attached
+    
+    This patch tweaks the behavior Cat.pm's fleshed_volume_update, aka
+    open-ils.cat.asset.volume.fleshed.batch.update
+    
+    Previously, if a volume label was edited, all items attached to that
+    volume would be essentially affected.  Now, if only a sub-set of items
+    for the original volume being edited are being edited along with the
+    volume, then a new volume is potentially created instead, leaving the
+    original volume (and its unedited copies) untouched.  If no copies are
+    being edited along with a volume, then the volume itself is edited.
+    
+    Auto-merging of volumes may still happen in all of these scenarios.
+    
+    Signed-off-by: Jason Etheridge <jason at EquinoxInitiative.org>
+    Signed-off-by: Janet Schrader <jschrader at cwmars.org>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+
+44	3	Open-ILS/src/perlmods/lib/OpenILS/Application/Cat.pm
+
+commit a0ed58488100cc8fd4a8be5a41146bea491c4e2f
+Author: Sam Link <slink at LIBPC002>
+Date:   Thu Dec 13 11:06:55 2018 -0500
+
+    lp1802662 - Splash Page Icon Links
+    
+    Moved the image icons on splash.component.html and t_splash.tt2 inside
+    the anchor links to the associated pages.
+    
+    Signed-off-by: Sam Link <slink at LIBPC002>
+    Signed-off-by: Jane Sandberg <sandbej at linnbenton.edu>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+
+23	13	Open-ILS/src/eg2/src/app/staff/splash.component.html
+23	13	Open-ILS/src/templates/staff/t_splash.tt2
+
+commit 090b92cd992a29f76a0cba472f8bce22234cfd2d
+Author: Terran McCanna <tmccanna at georgialibraries.org>
+Date:   Tue Mar 5 12:34:49 2019 -0500
+
+    LP#1818576 Offline Noncataloged Checkout Preview
+    
+    This adds the noncataloged type and number to the right-hand
+    preview when doing an offline checkout. (Prior to this, the
+    display was blank if there was no barcode.)
+    
+    Signed-off-by: Terran McCanna <tmccanna at georgialibraries.org>
+    Signed-off-by: Garry Collum <gcollum at gmail.com>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+
+4	1	Open-ILS/src/templates/staff/offline-interface.tt2
+6	0	Open-ILS/web/js/ui/default/staff/offline.js
+
+commit 8b7536f75d6debe3ab65e5226b2179ef31e0ffe6
+Author: Galen Charlton <gmc at equinoxinitiative.org>
+Date:   Wed Jan 23 10:52:24 2019 -0500
+
+    LP#1812389: make Group Penalty Threshold admin page accessible again
+    
+    As a consequence of the patch for bug 1744756 adding a new
+    admin/local/permission AngularJS app, the routing for
+    admin/local/permission/grp_penalty_threshold got broken, making the
+    embdeded Conify interface for group penalty thresholds inaccessible
+    from the web staff client. This patch fixes that.
+    
+    To test
+    -------
+    [1] From Administration | Local Administration, go to Group Penalty
+        Thresholds. Note that the embedded Conify admin interface
+        is not displayed and the URL changes to .../permission/grp_tree.
+    [2] Apply the patch and repeat step 1. This time, the admin interface
+        should appear.
+    [3] Verify that the Permission Group Tree Entries interface remains
+        accessible from Local Administration.
+    
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+
+2	1	Open-ILS/src/templates/staff/admin/local/permission/index.tt2
+32	1	Open-ILS/web/js/ui/default/staff/admin/local/permission/app.js
+
+commit a36a915ab853babbc42f5f3d9a1fb7858fb1cf73
+Author: Jason Boyer <jboyer at library.in.gov>
+Date:   Thu Jan 17 09:58:08 2019 -0500
+
+    LP1734775: Show multiple items in Item Status
+    
+    The ListCtrl controller was only displaying a single
+    copy when an id list was passed to Item Status in the
+    URL. This branch separates each id into a separate
+    fetch call and when all have been resolved it
+    refreshes the grid, which now has all of the items.
+    
+    Signed-off-by: Jason Boyer <jboyer at library.in.gov>
+    Signed-off-by: Josh Stompro <stompro at stompro.org>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+
+6	5	Open-ILS/web/js/ui/default/staff/cat/item/app.js
+
+commit cbfdbd554f1147357c11bf94f0ef34c667c40e9e
+Author: Jane Sandberg <sandbej at linnbenton.edu>
+Date:   Fri Mar 1 17:03:31 2019 -0800
+
+    LP1721109: Update item status when holdings are edited
+    
+    To test:
+    1) Go to Item Status List View, select an item, and go to Actions >
+    Edit > Items (or Call Numbers, or both).
+    2) Make a change to one of the columns you have active in
+    the Item Status list view. Click Save and Exit.
+    3) Note that the list view of Item Status has not updated.
+    4) Load this commit.
+    5) Repeat steps 1-2.
+    6) Note that the columns are updated this time.  Note that
+    there is a new status column, and that an icon appears for
+    all the rows that you have changed.  Also, note that there
+    is a toast message in the bottom right hand corner of the
+    screen confirming that you have successfully made your change.
+    
+    Signed-off-by: Jane Sandberg <sandbej at linnbenton.edu>
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+
+6	1	Open-ILS/src/templates/staff/cat/item/index.tt2
+1	0	Open-ILS/src/templates/staff/cat/item/t_list.tt2
+45	0	Open-ILS/web/js/ui/default/staff/cat/item/app.js
+
+commit 8b0f6581a9d47b738452a8cefc5e50346af0f8cc
+Author: Adam Bowling <abowling at emeralddata.net>
+Date:   Wed Mar 6 23:06:09 2019 -0500
+
+    LP #1705497 Replaces functionality in web client from legacy
+    XUL client by including a find function for originating
+    acquisition where it exists.
+    
+    Signed-off-by: Adam Bowling <abowling at emeralddata.net>
+    Signed-off-by: Tiffany Little <tlittle at georgialibraries.org>
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+
+3	0	Open-ILS/src/templates/staff/cat/item/index.tt2
+4	1	Open-ILS/src/templates/staff/cat/item/t_list.tt2
+53	6	Open-ILS/web/js/ui/default/staff/cat/item/app.js
+
+commit 41dc957622090d1a1fb71b81556aedddb09dbac0
+Author: Jane Sandberg <sandbej at linnbenton.edu>
+Date:   Thu Mar 7 07:14:50 2019 -0800
+
+    Docs: Fixing broken link
+    
+    Signed-off-by: Jane Sandberg <sandbej at linnbenton.edu>
+
+1	1	docs/reports/reporter_add_data_source.adoc
+
+commit dc9f879b3152549f286dbe9a8725aa3a64de4562
+Author: Remington Steed <rjs7 at calvin.edu>
+Date:   Fri Oct 26 11:28:32 2018 -0400
+
+    LP#1800178 Holdings View should also sort by part
+    
+    The Holdings View tab of the web client doesn't correctly sort by
+    monograph parts. The JS is already grabbing the part label for display,
+    so this commit moves that chunk before the sorting code, and also grabs
+    the sort key. Note that the part labels and sort keys are joined per
+    item, since the database supports multiple parts per item (though the UI
+    hasn't yet supported that). And we now join the label on comma-space,
+    instead of the default (just a comma).
+    
+    Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+    Signed-off-by: Rogan Hamby <rogan.hamby at gmail.com>
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+13	8	Open-ILS/web/js/ui/default/staff/cat/services/holdings.js
+
+commit e2a63a87ad6ba013b6e1b692e562c06636f02fbd
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Tue Mar 5 12:21:00 2019 -0500
+
+    LP1818153 Stamping DB upgrade - WS user activity
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+
+1	1	Open-ILS/src/sql/Pg/002.schema.config.sql
+28	0	Open-ILS/src/sql/Pg/upgrade/1154.data.websocket-activity-types.sql
+0	28	Open-ILS/src/sql/Pg/upgrade/XXXX.data.websocket-activity-types.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/1154.data.websocket-activity-types.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.websocket-activity-types.sql
+
+commit 2581a140f6ac75912797a8d60a63ed5bb9043e6f
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Thu Feb 28 17:20:31 2019 -0500
+
+    LP1818153 Log user activity for websocket login/verify
+    
+    Adds support for logging additional user activity types:
+    
+     * websocket v1 login (apache2-websockets)
+     * websocket v2 login (websocketd)
+     * websocket v1 verify
+     * websocket v2 verify
+     * generic login (any ingress)
+     * generic verify (any ingress)
+    
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Michele Morgan <mmorgan at noblenet.org>
+
+23	0	Open-ILS/src/sql/Pg/950.data.seed-values.sql
+28	0	Open-ILS/src/sql/Pg/upgrade/XXXX.data.websocket-activity-types.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.websocket-activity-types.sql
+
+commit a24c5f1d9b644f84c2708c817a57fae6f31a6c65
+Author: Terran McCanna <tmccanna at georgialibraries.org>
+Date:   Tue Mar 5 10:50:59 2019 -0500
+
+    LP#1746360 Add Deleted Column to Record Bucket
+    
+    This adds the Deleted column to the Record Bucket view.
+    
+    Signed-off-by: Terran McCanna <tmccanna at georgialibraries.org>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+
+1	0	Open-ILS/src/templates/staff/cat/bucket/record/t_view.tt2
+
+commit 3e06b45bd6063d97302b1372ff3e902f8929aaa1
+Author: Josh Stompro <stompro at stompro.org>
+Date:   Mon Mar 4 08:57:02 2019 -0600
+
+    LP#1667497 - Define $params{depth} to avoid uninitialized warning.
+    
+    $depth is set to 0 if $params{depth} is unset, but then $params{depth}
+    gets used later on, which causes an uninitialized value warning.
+    
+    So set $params{depth} to whatever $depth was set to.
+    
+    Signed-off-by: Josh Stompro <stompro at stompro.org>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+
+1	0	Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
+
+commit d14d21fbd3cf945fc38856047977253f7d29a4ca
+Author: Dan Wells <dbw2 at calvin.edu>
+Date:   Thu Feb 28 15:59:26 2019 -0500
+
+    Forward-port 3.2.4 upgrade script
+    
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+58	0	Open-ILS/src/sql/Pg/version-upgrade/3.2.3-3.2.4-upgrade-db.sql
+ create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/3.2.3-3.2.4-upgrade-db.sql
diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application.pm
index d750216454..5a3ed56f27 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application.pm
@@ -7,7 +7,7 @@ use OpenILS::Utils::Fieldmapper;
 sub ils_version {
     # version format is "x-y-z", for example "2-0-0" for Evergreen 2.0.0
     # For branches, format is "x-y"
-    return "HEAD";
+    return "3-2-5";
 }
 
 __PACKAGE__->register_method(
diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index 460735907f..968c55bf6c 100644
--- a/Open-ILS/src/sql/Pg/002.schema.config.sql
+++ b/Open-ILS/src/sql/Pg/002.schema.config.sql
@@ -93,6 +93,7 @@ CREATE TRIGGER no_overlapping_deps
     FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates');
 
 INSERT INTO config.upgrade_log (version, applied_to) VALUES ('1158', :eg_version); -- bshum/stompro/csharp
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('3.2.5', :eg_version);
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/version-upgrade/3.2.4-3.2.5-upgrade-db.sql b/Open-ILS/src/sql/Pg/version-upgrade/3.2.4-3.2.5-upgrade-db.sql
new file mode 100644
index 0000000000..e10248deef
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/version-upgrade/3.2.4-3.2.5-upgrade-db.sql
@@ -0,0 +1,240 @@
+--Upgrade Script for 3.2.4 to 3.2.5
+\set eg_version '''3.2.5'''
+BEGIN;
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('3.2.5', :eg_version);
+
+SELECT evergreen.upgrade_deps_block_check('1154', :eg_version);
+
+INSERT INTO config.usr_activity_type 
+    (id, ewhat, ehow, egroup, enabled, transient, label)
+VALUES (
+    25, 'login', 'ws-translator-v1', 'authen', TRUE, TRUE,
+    oils_i18n_gettext(25, 'Login via Websocket V1', 'cuat', 'label')
+), (
+    26, 'login', 'ws-translator-v2', 'authen', TRUE, TRUE,
+    oils_i18n_gettext(26, 'Login via Websocket V2', 'cuat', 'label')
+), (
+    27, 'verify', 'ws-translator-v1', 'authz', TRUE, TRUE,
+    oils_i18n_gettext(27, 'Verification via Websocket v1', 'cuat', 'label')
+), (
+    28, 'verify', 'ws-translator-v2', 'authz', TRUE, TRUE,
+    oils_i18n_gettext(28, 'Verifiation via Websocket V2', 'cuat', 'label')
+), (
+    29, 'login', NULL, 'authen', TRUE, TRUE,
+    oils_i18n_gettext(29, 'Generic Login', 'cuat', 'label')
+), (
+    30, 'verify', NULL, 'authz', TRUE, TRUE,
+    oils_i18n_gettext(30, 'Generic Verify', 'cuat', 'label')
+);
+
+
+
+SELECT evergreen.upgrade_deps_block_check('1157', :eg_version); 
+
+CREATE OR REPLACE FUNCTION vandelay.replace_field 
+    (target_xml TEXT, source_xml TEXT, field TEXT) RETURNS TEXT AS $_$
+
+    use strict;
+    use MARC::Record;
+    use MARC::Field;
+    use MARC::File::XML (BinaryEncoding => 'UTF-8');
+    use MARC::Charset;
+
+    MARC::Charset->assume_unicode(1);
+
+    my $target_xml = shift;
+    my $source_xml = shift;
+    my $field_spec = shift;
+
+    my $target_r = MARC::Record->new_from_xml($target_xml);
+    my $source_r = MARC::Record->new_from_xml($source_xml);
+
+    return $target_xml unless $target_r && $source_r;
+
+    # Extract the field_spec components into MARC tags, subfields, 
+    # and regex matches.  Copied wholesale from vandelay.strip_field()
+
+    my @field_list = split(',', $field_spec);
+    my %fields;
+    for my $f (@field_list) {
+        $f =~ s/^\s*//; $f =~ s/\s*$//;
+        if ($f =~ /^(.{3})(\w*)(?:\[([^]]*)\])?$/) {
+            my $field = $1;
+            $field =~ s/\s+//;
+            my $sf = $2;
+            $sf =~ s/\s+//;
+            my $match = $3;
+            $match =~ s/^\s*//; $match =~ s/\s*$//;
+            $fields{$field} = { sf => [ split('', $sf) ] };
+            if ($match) {
+                my ($msf,$mre) = split('~', $match);
+                if (length($msf) > 0 and length($mre) > 0) {
+                    $msf =~ s/^\s*//; $msf =~ s/\s*$//;
+                    $mre =~ s/^\s*//; $mre =~ s/\s*$//;
+                    $fields{$field}{match} = { sf => $msf, re => qr/$mre/ };
+                }
+            }
+        }
+    }
+
+    # Returns a flat list of subfield (code, value, code, value, ...)
+    # suitable for adding to a MARC::Field.
+    sub generate_replacement_subfields {
+        my ($source_field, $target_field, @controlled_subfields) = @_;
+
+        # Performing a wholesale field replacment.  
+        # Use the entire source field as-is.
+        return map {$_->[0], $_->[1]} $source_field->subfields
+            unless @controlled_subfields;
+
+        my @new_subfields;
+
+        # Iterate over all target field subfields:
+        # 1. Keep uncontrolled subfields as is.
+        # 2. Replace values for controlled subfields when a
+        #    replacement value exists on the source record.
+        # 3. Delete values for controlled subfields when no 
+        #    replacement value exists on the source record.
+
+        for my $target_sf ($target_field->subfields) {
+            my $subfield = $target_sf->[0];
+            my $target_val = $target_sf->[1];
+
+            if (grep {$_ eq $subfield} @controlled_subfields) {
+                if (my $source_val = $source_field->subfield($subfield)) {
+                    # We have a replacement value
+                    push(@new_subfields, $subfield, $source_val);
+                } else {
+                    # no replacement value for controlled subfield, drop it.
+                }
+            } else {
+                # Field is not controlled.  Copy it over as-is.
+                push(@new_subfields, $subfield, $target_val);
+            }
+        }
+
+        # Iterate over all subfields in the source field and back-fill
+        # any values that exist only in the source field.  Insert these
+        # subfields in the same relative position they exist in the
+        # source field.
+                
+        my @seen_subfields;
+        for my $source_sf ($source_field->subfields) {
+            my $subfield = $source_sf->[0];
+            my $source_val = $source_sf->[1];
+            push(@seen_subfields, $subfield);
+
+            # target field already contains this subfield, 
+            # so it would have been addressed above.
+            next if $target_field->subfield($subfield);
+
+            # Ignore uncontrolled subfields.
+            next unless grep {$_ eq $subfield} @controlled_subfields;
+
+            # Adding a new subfield.  Find its relative position and add
+            # it to the list under construction.  Work backwards from
+            # the list of already seen subfields to find the best slot.
+
+            my $done = 0;
+            for my $seen_sf (reverse(@seen_subfields)) {
+                my $idx = @new_subfields;
+                for my $new_sf (reverse(@new_subfields)) {
+                    $idx--;
+                    next if $idx % 2 == 1; # sf codes are in the even slots
+
+                    if ($new_subfields[$idx] eq $seen_sf) {
+                        splice(@new_subfields, $idx + 2, 0, $subfield, $source_val);
+                        $done = 1;
+                        last;
+                    }
+                }
+                last if $done;
+            }
+
+            # if no slot was found, add to the end of the list.
+            push(@new_subfields, $subfield, $source_val) unless $done;
+        }
+
+        return @new_subfields;
+    }
+
+    # MARC tag loop
+    for my $f (keys %fields) {
+        my $tag_idx = -1;
+        for my $target_field ($target_r->field($f)) {
+
+            # field spec contains a regex for this field.  Confirm field on 
+            # target record matches the specified regex before replacing.
+            if (exists($fields{$f}{match})) {
+                next unless (grep { $_ =~ $fields{$f}{match}{re} } 
+                    $target_field->subfield($fields{$f}{match}{sf}));
+            }
+
+            my @new_subfields;
+            my @controlled_subfields = @{$fields{$f}{sf}};
+
+            # If the target record has multiple matching bib fields,
+            # replace them from matching fields on the source record
+            # in a predictable order to avoid replacing with them with
+            # same source field repeatedly.
+            my @source_fields = $source_r->field($f);
+            my $source_field = $source_fields[++$tag_idx];
+
+            if (!$source_field && @controlled_subfields) {
+                # When there are more target fields than source fields
+                # and we are replacing values for subfields and not
+                # performing wholesale field replacment, use the last
+                # available source field as the input for all remaining
+                # target fields.
+                $source_field = $source_fields[$#source_fields];
+            }
+
+            if (!$source_field) {
+                # No source field exists.  Delete all affected target
+                # data.  This is a little bit counterintuitive, but is
+                # backwards compatible with the previous version of this
+                # function which first deleted all affected data, then
+                # replaced values where possible.
+                if (@controlled_subfields) {
+                    $target_field->delete_subfield($_) for @controlled_subfields;
+                } else {
+                    $target_r->delete_field($target_field);
+                }
+                next;
+            }
+
+            my @new_subfields = generate_replacement_subfields(
+                $source_field, $target_field, @controlled_subfields);
+
+            # Build the replacement field from scratch.  
+            my $replacement_field = MARC::Field->new(
+                $target_field->tag,
+                $target_field->indicator(1),
+                $target_field->indicator(2),
+                @new_subfields
+            );
+
+            $target_field->replace_with($replacement_field);
+        }
+    }
+
+    $target_xml = $target_r->as_xml_record;
+    $target_xml =~ s/^<\?.+?\?>$//mo;
+    $target_xml =~ s/\n//sgo;
+    $target_xml =~ s/>\s+</></sgo;
+
+    return $target_xml;
+
+$_$ LANGUAGE PLPERLU;
+
+
+
+SELECT evergreen.upgrade_deps_block_check('1158', :eg_version);
+
+--LP#1759238: Fix typo in seed data for Physical Description
+
+UPDATE config.metabib_field
+    SET label = 'Physical Description'
+    WHERE id = 39 AND label = 'Physical Descrption';
+
+COMMIT;
diff --git a/Open-ILS/xul/staff_client/chrome/content/main/about.html b/Open-ILS/xul/staff_client/chrome/content/main/about.html
index b2b87b683f..9a7eb1d6ef 100644
--- a/Open-ILS/xul/staff_client/chrome/content/main/about.html
+++ b/Open-ILS/xul/staff_client/chrome/content/main/about.html
@@ -1,7 +1,7 @@
 <html><head><script></script></head><body onload="var x = document.getElementById('version'); var version ='/xul/server/'.split(/\//)[2]; if (version == 'server') { version = 'versionless debug build'; } x.appendChild(document.createTextNode(version));">
 <h1 style="text-decoration: underline">Evergreen</h1>
 <p>Target Server ID: <span id="version"></span></p>
-<p>$HeadURL$</p>
+<p>http://git.evergreen-ils.org/?p=Evergreen.git;a=shortlog;h=refs/heads/tags/rel_3_2_5</p>
 <h2>What is Evergreen?</h2>
 <blockquote>
 <p>
diff --git a/Open-ILS/xul/staff_client/defaults/preferences/prefs.js b/Open-ILS/xul/staff_client/defaults/preferences/prefs.js
index 0613a13ddf..8ddf90bfe6 100644
--- a/Open-ILS/xul/staff_client/defaults/preferences/prefs.js
+++ b/Open-ILS/xul/staff_client/defaults/preferences/prefs.js
@@ -11,7 +11,7 @@ pref("toolkit.singletonWindowType", "eg_main");
 pref("open-ils.enable_join_tabs", true);
 
 // We'll use this one to help brand some build information into the client, and rely on subversion keywords
-pref("open-ils.repository.headURL","$HeadURL$");
+pref("open-ils.repository.headURL","http://git.evergreen-ils.org/?p=Evergreen.git;a=shortlog;h=refs/heads/tags/rel_3_2_5");
 pref("open-ils.repository.author","$Author$");
 pref("open-ils.repository.revision","$Revision$");
 pref("open-ils.repository.date","$Date$");
diff --git a/Open-ILS/xul/staff_client/windowssetup.nsi b/Open-ILS/xul/staff_client/windowssetup.nsi
index a9543579a8..ed4c4febe1 100644
--- a/Open-ILS/xul/staff_client/windowssetup.nsi
+++ b/Open-ILS/xul/staff_client/windowssetup.nsi
@@ -3,7 +3,7 @@
 ; HM NIS Edit Wizard helper defines
 ; Old versions of makensis don't like this, moved to Makefile
 ;!define /file PRODUCT_VERSION "client/VERSION"
-!define PRODUCT_TAG "Master"
+!define PRODUCT_TAG "3.2"
 !define PRODUCT_INSTALL_TAG "${PRODUCT_TAG}"
 !define UI_IMAGESET "beta"
 ;!define UI_IMAGESET "release"
diff --git a/README b/README
deleted file mode 120000
index 1ee2103e6f..0000000000
--- a/README
+++ /dev/null
@@ -1 +0,0 @@
-docs/installation/server_installation.adoc
\ No newline at end of file
diff --git a/README b/README
new file mode 100644
index 0000000000..8b81d350f1
--- /dev/null
+++ b/README
@@ -0,0 +1,647 @@
+Installing the Evergreen server
+===============================
+:toc:
+:numbered:
+
+Preamble: referenced user accounts
+----------------------------------
+
+In subsequent sections, we will refer to a number of different accounts, as
+follows:
+
+  * Linux user accounts:
+    ** The *user* Linux account is the account that you use to log onto the
+       Linux system as a regular user.
+    ** The *root* Linux account is an account that has system administrator
+       privileges. On Debian you can switch to this account from
+       your *user* account by issuing the `su -` command and entering the
+       password for the *root* account when prompted. On Ubuntu you can switch
+       to this account from your *user* account using the `sudo su -` command
+       and entering the password for your *user* account when prompted.
+    ** The *opensrf* Linux account is an account that you create when installing
+       OpenSRF. You can switch to this account from the *root* account by
+       issuing the `su - opensrf` command.
+    ** The *postgres* Linux account is created automatically when you install
+       the PostgreSQL database server. You can switch to this account from the
+       *root* account by issuing the `su - postgres` command.
+  * PostgreSQL user accounts:
+    ** The *evergreen* PostgreSQL account is a superuser account that you will
+       create to connect to the PostgreSQL database server.
+  * Evergreen administrator account:
+    ** The *egadmin* Evergreen account is an administrator account for
+       Evergreen that you will use to test connectivity and configure your
+       Evergreen instance.
+
+Preamble: developer instructions
+--------------------------------
+
+[NOTE]
+Skip this section if you are using an official release tarball downloaded
+from http://evergreen-ils.org/egdownloads
+
+Developers working directly with the source code from the Git repository,
+rather than an official release tarball, must perform one step before they 
+can proceed with the `./configure` step.
+
+As the *user* Linux account, issue the following command in the Evergreen
+source directory to generate the configure script and Makefiles:
+
+[source, bash]
+------------------------------------------------------------------------------
+autoreconf -i
+------------------------------------------------------------------------------
+
+Installing prerequisites
+------------------------
+
+  * **PostgreSQL**: The minimum supported version is 9.4.
+  * **Linux**: Evergreen has been tested on Debian Stretch (9), 
+    Debian Jessie (8), Ubuntu Xenial Xerus (16.04), and Ubuntu
+    Trusty Tahr (14.04).
+    If you are running an older version of these distributions, you may want 
+    to upgrade before upgrading Evergreen. For instructions on upgrading these
+    distributions, visit the Debian or Ubuntu websites.
+  * **OpenSRF**: The minimum supported version of OpenSRF is 3.0.0.
+
+
+Evergreen has a number of prerequisite packages that must be installed
+before you can successfully configure, compile, and install Evergreen.
+
+1. Begin by installing the most recent version of OpenSRF (3.0.0 or later).
+   You can download OpenSRF releases from http://evergreen-ils.org/opensrf-downloads/
+2. On some distributions, it is necessary to install PostgreSQL 9.4+ from external
+   repositories.
++
+  * Ubuntu (Trusty) comes with an older version of PostgreSQL, so
+    steps are taken to automatically utilize the PostgreSQL
+    community's apt sources.
+    (For complete details, see: https://wiki.postgresql.org/wiki/Apt)
+  * Debian (Jessie/Stretch) and Ubuntu (Xenial) comes with PostgreSQL 9.4+,
+    so no additional steps are required.
++
+3. Issue the following commands as the *root* Linux account to install
+   prerequisites using the `Makefile.install` prerequisite installer,
+   substituting `debian-stretch`, `debian-jessie`,`ubuntu-xenial`,
+   or `ubuntu-trusty` for <osname> below:
++
+[source, bash]
+------------------------------------------------------------------------------
+make -f Open-ILS/src/extras/Makefile.install <osname>
+------------------------------------------------------------------------------
++
+4. OPTIONAL: Developer additions
++
+To perform certain developer tasks from a Git source code checkout, 
+additional packages may be required.  As the *root* Linux account:
++
+ * To install packages needed for retrieving and managing web dependencies,
+   use the <osname>-developer Makefile.install target.  Currently, 
+   this is only needed for building and installing the web
+   staff client.
++
+[source, bash]
+------------------------------------------------------------------------------
+make -f Open-ILS/src/extras/Makefile.install <osname>-developer
+------------------------------------------------------------------------------
++
+ * To install packages required for building Evergreen translations, use
+   the <osname>-translator Makefile.install target.
++
+[source, bash]
+------------------------------------------------------------------------------
+make -f Open-ILS/src/extras/Makefile.install <osname>-translator
+------------------------------------------------------------------------------
++
+ * To install packages required for building Evergreen release bundles, use
+   the <osname>-packager Makefile.install target.
++
+[source, bash]
+------------------------------------------------------------------------------
+make -f Open-ILS/src/extras/Makefile.install <osname>-packager
+------------------------------------------------------------------------------
+
+Extra steps for web staff client
+--------------------------------
+
+[NOTE]
+Skip this entire section if you are using an official release tarball downloaded
+from http://evergreen-ils.org/downloads
+
+Install dependencies for web staff client
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+[NOTE]
+You may skip this section if you have installed the
+<<optional_developer_additions,optional developer additions>>.  You will still need to do the following
+steps in <<install_files_for_web_staff_client,Install files for web staff client>>.
+
+1. Install the long-term stability (LTS) release of
+https://nodejs.org[Node.js]. Add the Node.js `/bin` directory to your
+environment variable `PATH`.
+
+[[install_files_for_web_staff_client]]
+Install AngularJS files for web staff client
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+1. Building, Testing, Minification: The remaining steps all take place within
+   the staff JS web root:
++
+[source,sh]
+------------------------------------------------------------------------------
+cd $EVERGREEN_ROOT/Open-ILS/web/js/ui/default/staff/
+------------------------------------------------------------------------------
++
+2. Install Project-local Dependencies. npm inspects the 'package.json' file
+   for dependencies and fetches them from the Node package network.
++
+[source,sh]
+------------------------------------------------------------------------------
+npm install   # fetch JS dependencies
+------------------------------------------------------------------------------
++
+3. Run the build script.
++
+[source,sh]
+------------------------------------------------------------------------------
+# build, run tests, concat+minify
+npm run build-prod
+npm run test
+------------------------------------------------------------------------------
+
+[[install_files_for_angular_web_staff_client]]
+Install Angular files for web staff client
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+1. Building, Testing, Minification: The remaining steps all take place within
+   the Angular staff root:
++
+[source,sh]
+------------------------------------------------------------------------------
+cd $EVERGREEN_ROOT/Open-ILS/src/eg2/
+------------------------------------------------------------------------------
++
+2. Install Project-local Dependencies. npm inspects the 'package.json' file
+   for dependencies and fetches them from the Node package network.
++
+[source,sh]
+------------------------------------------------------------------------------
+npm install   # fetch JS dependencies
+------------------------------------------------------------------------------
++
+3. Run the build script.
++
+[source,sh]
+------------------------------------------------------------------------------
+# build and run tests
+ng build --prod
+npm run test
+------------------------------------------------------------------------------
+
+Configuration and compilation instructions
+------------------------------------------
+
+For the time being, we are still installing everything in the `/openils/`
+directory. From the Evergreen source directory, issue the following commands as
+the *user* Linux account to configure and build Evergreen:
+
+[source, bash]
+------------------------------------------------------------------------------
+PATH=/openils/bin:$PATH ./configure --prefix=/openils --sysconfdir=/openils/conf
+make
+------------------------------------------------------------------------------
+
+These instructions assume that you have also installed OpenSRF under `/openils/`.
+If not, please adjust PATH as needed so that the Evergreen `configure` script
+can find `osrf_config`.
+
+Installation instructions
+-------------------------
+
+1. Once you have configured and compiled Evergreen, issue the following
+   command as the *root* Linux account to install Evergreen and copy
+   example configuration files to `/openils/conf`.
++
+[source, bash]
+------------------------------------------------------------------------------
+make install
+------------------------------------------------------------------------------
+
+Change ownership of the Evergreen files
+---------------------------------------
+
+All files in the `/openils/` directory and subdirectories must be owned by the
+`opensrf` user. Issue the following command as the *root* Linux account to
+change the ownership on the files:
+
+[source, bash]
+------------------------------------------------------------------------------
+chown -R opensrf:opensrf /openils
+------------------------------------------------------------------------------
+
+Run ldconfig
+------------
+
+On Debian Stretch, run the following command as the root user:
+
+[source, bash]
+------------------------------------------------------------------------------
+ldconfig
+------------------------------------------------------------------------------
+
+Additional Instructions for Developers
+--------------------------------------
+
+[NOTE]
+Skip this section if you are using an official release tarball downloaded
+from http://evergreen-ils.org/egdownloads
+
+Developers working directly with the source code from the Git repository,
+rather than an official release tarball, need to install the Dojo Toolkit
+set of JavaScript libraries. The appropriate version of Dojo is included in
+Evergreen release tarballs. Developers should install the Dojo 1.3.3 version
+of Dojo by issuing the following commands as the *opensrf* Linux account:
+
+[source, bash]
+------------------------------------------------------------------------------
+wget http://download.dojotoolkit.org/release-1.3.3/dojo-release-1.3.3.tar.gz
+tar -C /openils/var/web/js -xzf dojo-release-1.3.3.tar.gz
+cp -r /openils/var/web/js/dojo-release-1.3.3/* /openils/var/web/js/dojo/.
+------------------------------------------------------------------------------
+
+
+Configure the Apache Web server
+-------------------------------
+
+. Use the example configuration files to configure your Web server for 
+the Evergreen catalog, web staff client, Web services, and administration
+interfaces. Issue the following commands as the *root* Linux account:
++
+[source,bash]
+------------------------------------------------------------------------------------
+cp Open-ILS/examples/apache_24/eg_24.conf       /etc/apache2/sites-available/eg.conf
+cp Open-ILS/examples/apache_24/eg_vhost_24.conf /etc/apache2/eg_vhost.conf
+cp Open-ILS/examples/apache_24/eg_startup    	/etc/apache2/
+# Now set up SSL
+mkdir /etc/apache2/ssl
+cd /etc/apache2/ssl
+------------------------------------------------------------------------------------
++
+. The `openssl` command cuts a new SSL key for your Apache server. For a
+production server, you should purchase a signed SSL certificate, but you can
+just use a self-signed certificate and accept the warnings in the
+and browser during testing and development. Create an SSL key for the Apache
+server by issuing the following command as the *root* Linux account:
++
+[source,bash]
+------------------------------------------------------------------------------
+openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key
+------------------------------------------------------------------------------
++
+. As the *root* Linux account, edit the `eg.conf` file that you copied into
+place.
+  a. To enable access to the offline upload / execute interface from any
+     workstation on any network, make the following change (and note that
+     you *must* secure this for a production instance):
+     * Replace `Require host 10.0.0.0/8` with `Require all granted`
+. Change the user for the Apache server.
+  * As the *root* Linux account, edit
+    `/etc/apache2/envvars`.  Change `export APACHE_RUN_USER=www-data` to 
+    `export APACHE_RUN_USER=opensrf`.
+. As the *root* Linux account, configure Apache with KeepAlive settings
+  appropriate for Evergreen. Higher values can improve the performance of a
+  single client by allowing multiple requests to be sent over the same TCP
+  connection, but increase the risk of using up all available Apache child
+  processes and memory.
+  * Edit `/etc/apache2/apache2.conf`.
+    a. Change `KeepAliveTimeout` to `1`.
+    b. Change `MaxKeepAliveRequests` to `100`.
+. As the *root* Linux account, configure the prefork module to start and keep
+  enough Apache servers available to provide quick responses to clients without
+  running out of memory. The following settings are a good starting point for a
+  site that exposes the default Evergreen catalogue to the web:
++
+.`/etc/apache2/mods-available/mpm_prefork.conf`
+[source,bash]
+------------------------------------------------------------------------------
+<IfModule mpm_prefork_module>
+   StartServers            15
+   MinSpareServers          5
+   MaxSpareServers         15
+   MaxRequestWorkers       75
+   MaxConnectionsPerChild 500
+</IfModule>
+------------------------------------------------------------------------------
++
+. As the *root* user, enable the mpm_prefork module:
++
+[source,bash]
+------------------------------------------------------------------------------
+a2dismod mpm_event
+a2enmod mpm_prefork
+------------------------------------------------------------------------------
++
+. As the *root* Linux account, enable the Evergreen site:
++
+[source,bash]
+------------------------------------------------------------------------------
+a2dissite 000-default  # OPTIONAL: disable the default site (the "It Works" page)
+a2ensite eg.conf
+------------------------------------------------------------------------------
++
+. As the *root* Linux account, enable Apache to write
+   to the lock directory; this is currently necessary because Apache
+   is running as the `opensrf` user:
++
+[source,bash]
+------------------------------------------------------------------------------
+chown opensrf /var/lock/apache2
+------------------------------------------------------------------------------
+
+Learn more about additional Apache options in the following sections:
+
+  * <<_apache_rewrite_tricks,Apache Rewrite Tricks>>
+  * <<_apache_access_handler_perl_module,Apache Access Handler Perl Module>>
+
+Configure OpenSRF for the Evergreen application
+-----------------------------------------------
+There are a number of example OpenSRF configuration files in `/openils/conf/`
+that you can use as a template for your Evergreen installation. Issue the
+following commands as the *opensrf* Linux account:
+
+[source, bash]
+------------------------------------------------------------------------------
+cp -b /openils/conf/opensrf_core.xml.example /openils/conf/opensrf_core.xml
+cp -b /openils/conf/opensrf.xml.example /openils/conf/opensrf.xml
+------------------------------------------------------------------------------
+
+When you installed OpenSRF, you created four Jabber users on two
+separate domains and edited the `opensrf_core.xml` file accordingly. Please
+refer back to the OpenSRF README and, as the *opensrf* Linux account, edit the
+Evergreen version of the `opensrf_core.xml` file using the same Jabber users
+and domains as you used while installing and testing OpenSRF.
+
+[NOTE]
+The `-b` flag tells the `cp` command to create a backup version of the
+destination file. The backup version of the destination file has a tilde (`~`)
+appended to the file name, so if you have forgotten the Jabber users and
+domains, you can retrieve the settings from the backup version of the files.
+
+`eg_db_config`, described in <<_creating_the_evergreen_database,Creating the Evergreen
+database>>, sets the database connection information in `opensrf.xml` for you.
+
+Configure action triggers for the Evergreen application
+-------------------------------------------------------
+_Action Triggers_ provide hooks for the system to perform actions when a given
+event occurs; for example, to generate reminder or overdue notices, the
+`checkout.due` hook is processed and events are triggered for potential actions
+if there is no checkin time.
+
+To enable the default set of hooks, issue the following command as the
+*opensrf* Linux account:
+
+[source, bash]
+------------------------------------------------------------------------------
+cp -b /openils/conf/action_trigger_filters.json.example /openils/conf/action_trigger_filters.json
+------------------------------------------------------------------------------
+
+For more information about configuring and running action triggers, see
+<<_processing_action_triggers,Notifications / Action Triggers>>.
+
+Creating the Evergreen database
+-------------------------------
+
+Setting up the PostgreSQL server
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For production use, most libraries install the PostgreSQL database server on a
+dedicated machine. Therefore, by default, the `Makefile.install` prerequisite
+installer does *not* install the PostgreSQL 9 database server that is required
+by every Evergreen system. You can install the packages required by Debian or
+Ubuntu on the machine of your choice using the following commands as the
+*root* Linux account:
+
+. Installing PostgreSQL server packages
+
+Each OS build target provides the postgres server installation packages
+required for each operating system.  To install Postgres server packages, 
+use the make target 'postgres-server-<OSTYPE>'.  Choose the most appropriate 
+command below based on your operating system.
+
+[source, bash]
+------------------------------------------------------------------------------
+make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-stretch
+make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-jessie
+make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-trusty
+make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-xenial
+------------------------------------------------------------------------------
+
+For a standalone PostgreSQL server, install the following Perl modules for your
+distribution as the *root* Linux account:
+
+.(Debian and Ubuntu) 
+No extra modules required for these distributions.
+
+You need to create a PostgreSQL superuser to create and access the database.
+Issue the following command as the *postgres* Linux account to create a new
+PostgreSQL superuser named `evergreen`. When prompted, enter the new user's
+password:
+
+[source, bash]
+------------------------------------------------------------------------------
+createuser -s -P evergreen
+------------------------------------------------------------------------------
+
+.Enabling connections to the PostgreSQL database
+
+Your PostgreSQL database may be configured by default to prevent connections,
+for example, it might reject attempts to connect via TCP/IP or from other
+servers. To enable TCP/IP connections from localhost, check your `pg_hba.conf`
+file, found in the `/etc/postgresql/` directory on Debian and Ubuntu.
+A simple way to enable TCP/IP
+connections from localhost to all databases with password authentication, which
+would be suitable for a test install of Evergreen on a single server, is to
+ensure the file contains the following entries _before_ any "host ... ident"
+entries:
+
+------------------------------------------------------------------------------
+host    all             all             ::1/128                 md5
+host    all             all             127.0.0.1/32            md5
+------------------------------------------------------------------------------
+
+When you change the `pg_hba.conf` file, you will need to reload PostgreSQL to
+make the changes take effect.  For more information on configuring connectivity
+to PostgreSQL, see
+http://www.postgresql.org/docs/devel/static/auth-pg-hba-conf.html
+
+Creating the Evergreen database and schema
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Once you have created the *evergreen* PostgreSQL account, you also need to
+create the database and schema, and configure your configuration files to point
+at the database server. Issue the following command as the *root* Linux account
+from inside the Evergreen source directory, replacing <user>, <password>,
+<hostname>, <port>, and <dbname> with the appropriate values for your
+PostgreSQL database (where <user> and <password> are for the *evergreen*
+PostgreSQL account you just created), and replace <admin-user> and <admin-pass>
+with the values you want for the *egadmin* Evergreen administrator account:
+
+[source, bash]
+------------------------------------------------------------------------------
+perl Open-ILS/src/support-scripts/eg_db_config --update-config \
+       --service all --create-database --create-schema --create-offline \
+       --user <user> --password <password> --hostname <hostname> --port <port> \
+       --database <dbname> --admin-user <admin-user> --admin-pass <admin-pass>
+------------------------------------------------------------------------------
+
+This creates the database and schema and configures all of the services in
+your `/openils/conf/opensrf.xml` configuration file to point to that database.
+It also creates the configuration files required by the Evergreen `cgi-bin`
+administration scripts, and sets the user name and password for the *egadmin*
+Evergreen administrator account to your requested values.
+
+You can get a complete set of options for `eg_db_config` by passing the
+`--help` parameter.
+
+Loading sample data
+~~~~~~~~~~~~~~~~~~~
+If you add the `--load-all-sample` parameter to the `eg_db_config` command,
+a set of authority and bibliographic records, call numbers, copies, staff
+and regular users, and transactions will be loaded into your target
+database. This sample dataset is commonly referred to as the _concerto_
+sample data, and can be useful for testing out Evergreen functionality and
+for creating problem reports that developers can easily recreate with their
+own copy of the _concerto_ sample data.
+
+Creating the database on a remote server
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In a production instance of Evergreen, your PostgreSQL server should be
+installed on a dedicated server.
+
+PostgreSQL 9.4 and later
+^^^^^^^^^^^^^^^^^^^^^^^^
+To create the database instance on a remote database server running PostgreSQL
+9.4 or later, simply use the `--create-database` flag on `eg_db_config`.
+
+Starting Evergreen
+------------------
+1. As the *root* Linux account, start the `memcached` and `ejabberd` services
+(if they aren't already running):
++
+[source, bash]
+------------------------------------------------------------------------------
+/etc/init.d/ejabberd start
+/etc/init.d/memcached start
+------------------------------------------------------------------------------
++
+2. As the *opensrf* Linux account, start Evergreen. The `-l` flag in the
+following command is only necessary if you want to force Evergreen to treat the
+hostname as `localhost`; if you configured `opensrf.xml` using the real
+hostname of your machine as returned by `perl -ENet::Domain 'print
+Net::Domain::hostfqdn() . "\n";'`, you should not use the `-l` flag.
++
+[source, bash]
+------------------------------------------------------------------------------
+osrf_control -l --start-all
+------------------------------------------------------------------------------
++
+  ** If you receive the error message `bash: osrf_control: command not found`,
+     then your environment variable `PATH` does not include the `/openils/bin`
+     directory; this should have been set in the *opensrf* Linux account's
+     `.bashrc` configuration file. To manually set the `PATH` variable, edit the
+     configuration file `~/.bashrc` as the *opensrf* Linux account and add the
+     following line:
++
+[source, bash]
+------------------------------------------------------------------------------
+export PATH=$PATH:/openils/bin
+------------------------------------------------------------------------------
++
+3. As the *opensrf* Linux account, generate the Web files needed by the web staff
+   client and catalogue and update the organization unit proximity (you need to do
+   this the first time you start Evergreen, and after that each time you change the library org unit configuration.
+):
++
+[source, bash]
+------------------------------------------------------------------------------
+autogen.sh
+------------------------------------------------------------------------------
++
+4. As the *root* Linux account, restart the Apache Web server:
++
+[source, bash]
+------------------------------------------------------------------------------
+/etc/init.d/apache2 restart
+------------------------------------------------------------------------------
++
+If the Apache Web server was running when you started the OpenSRF services, you
+might not be able to successfully log in to the OPAC or web staff client until the
+Apache Web server is restarted.
+
+Testing connections to Evergreen
+--------------------------------
+
+Once you have installed and started Evergreen, test your connection to
+Evergreen via `srfsh`. As the *opensrf* Linux account, issue the following
+commands to start `srfsh` and try to log onto the Evergreen server using the
+*egadmin* Evergreen administrator user name and password that you set using the
+`eg_db_config` command:
+
+[source, bash]
+------------------------------------------------------------------------------
+/openils/bin/srfsh
+srfsh% login <admin-user> <admin-pass>
+------------------------------------------------------------------------------
+
+You should see a result like:
+
+    Received Data: "250bf1518c7527a03249858687714376"
+    ------------------------------------
+    Request Completed Successfully
+    Request Time in seconds: 0.045286
+    ------------------------------------
+
+    Received Data: {
+       "ilsevent":0,
+       "textcode":"SUCCESS",
+       "desc":" ",
+       "pid":21616,
+       "stacktrace":"oils_auth.c:304",
+       "payload":{
+          "authtoken":"e5f9827cc0f93b503a1cc66bee6bdd1a",
+          "authtime":420
+       }
+
+    }
+
+    ------------------------------------
+    Request Completed Successfully
+    Request Time in seconds: 1.336568
+    ------------------------------------
+[[install-troubleshooting-1]]
+If this does not work, it's time to do some troubleshooting.
+
+  * As the *opensrf* Linux account, run the `settings-tester.pl` script to see
+    if it finds any system configuration problems. The script is found at
+    `Open-ILS/src/support-scripts/settings-tester.pl` in the Evergreen source
+    tree.
+  * Follow the steps in the http://evergreen-ils.org/dokuwiki/doku.php?id=troubleshooting:checking_for_errors[troubleshooting guide].
+  * If you have faithfully followed the entire set of installation steps
+    listed here, you are probably extremely close to a working system.
+    Gather your configuration files and log files and contact the
+    http://evergreen-ils.org/communicate/mailing-lists/[Evergreen development 
+mailing list] for assistance before making any drastic changes to your system
+    configuration.
+
+Getting help
+------------
+
+Need help installing or using Evergreen? Join the mailing lists at
+http://evergreen-ils.org/communicate/mailing-lists/ or contact us on the Freenode
+IRC network on the #evergreen channel.
+
+License
+-------
+This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
+Unported License. To view a copy of this license, visit
+http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative
+Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
diff --git a/configure.ac b/configure.ac
index dacb5a36b7..cd5b709abc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,8 +20,8 @@
 
 export PATH=${PATH}:/usr/sbin
 AC_PREREQ(2.61)
-AC_INIT(Open-ILS, trunk, open-ils-dev at list.georgialibraries.org)
-AM_INIT_AUTOMAKE([OpenILS], [trunk])
+AC_INIT(Open-ILS, 3.2.5, open-ils-dev at list.georgialibraries.org)
+AM_INIT_AUTOMAKE([OpenILS], [3.2.5])
 AC_REVISION($Revision: 0.1 $)
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_SUBDIRS([Open-ILS/xul/staff_client/external/libmar])

commit ba053a312b59bcb40ff1f34ed13178c6240f2894
Author: Dan Wells <dbw2 at calvin.edu>
Date:   Tue Feb 26 14:38:22 2019 -0500

    Update upgrade docs for 3.2.5
    
    Signed-off-by: Dan Wells <dbw2 at calvin.edu>

diff --git a/docs/installation/server_upgrade.adoc b/docs/installation/server_upgrade.adoc
index 1983804ca3..bb5f754724 100644
--- a/docs/installation/server_upgrade.adoc
+++ b/docs/installation/server_upgrade.adoc
@@ -7,7 +7,7 @@ Software Prerequisites
 ~~~~~~~~~~~~~~~~~~~~~~
 
   * **PostgreSQL**: The minimum supported version is 9.4.
-  * **Linux**: Evergreen 2.12.0 has been tested on Debian Stretch (9.0),
+  * **Linux**: Evergreen 3.2.5 has been tested on Debian Stretch (9.0),
     Debian Jessie (8.0), Ubuntu Xenial Xerus (16.04),and Ubuntu Trusty Tahr (14.04).
     If you are running an older version of these distributions, you may want
     to upgrade before upgrading Evergreen. For instructions on upgrading these
@@ -42,12 +42,12 @@ osrf_control --localhost --stop-all
  .. Back up the /openils directory.
 . Upgrade OpenSRF. Download and install the latest version of OpenSRF from
 the https://evergreen-ils.org/opensrf-downloads/[OpenSRF download page].
-. As the *opensrf* user, download and extract Evergreen 2.12.0:
+. As the *opensrf* user, download and extract Evergreen 3.2.5:
 +
 [source, bash]
 -----------------------------------------------
-wget https://evergreen-ils.org/downloads/Evergreen-ILS-2.12.0.tar.gz
-tar xzf Evergreen-ILS-2.12.0.tar.gz
+wget https://evergreen-ils.org/downloads/Evergreen-ILS-3.2.5.tar.gz
+tar xzf Evergreen-ILS-3.2.5.tar.gz
 -----------------------------------------------
 +
 [NOTE]
@@ -57,7 +57,7 @@ For the latest edition of Evergreen, check the https://evergreen-ils.org/egdownl
 +
 [source, bash]
 ---------------------------------------------
-cd /home/opensrf/Evergreen-ILS-2.12.0
+cd /home/opensrf/Evergreen-ILS-3.2.5
 ---------------------------------------------
 +
 On the next command, replace `[distribution]` with one of these values for your
@@ -81,7 +81,7 @@ make -f Open-ILS/src/extras/Makefile.install [distribution]
 +
 [source, bash]
 ------------------------------------------------------------
-cd /home/opensrf/Evergreen-ILS-2.12.0
+cd /home/opensrf/Evergreen-ILS-3.2.5
 PATH=/openils/bin:$PATH ./configure --prefix=/openils --sysconfdir=/openils/conf
 make
 ------------------------------------------------------------
@@ -92,7 +92,7 @@ These instructions assume that you have also installed OpenSRF under /openils/.
 +
 [source, bash]
 ------------------------------------------------------------
-cd /home/opensrf/Evergreen-ILS-2.12.0
+cd /home/opensrf/Evergreen-ILS-3.2.5
 make install
 ------------------------------------------------------------
 +
@@ -103,8 +103,8 @@ can supply `STAFF_CLIENT_STAMP` during the `make install` step like this:
 +
 [source, bash]
 ------------------------------------------------------------
-cd /home/opensrf/Evergreen-ILS-2.12.0
-make STAFF_CLIENT_STAMP_ID=rel_2_12_rc install
+cd /home/opensrf/Evergreen-ILS-3.2.5
+make STAFF_CLIENT_STAMP_ID=rel_3_2_5 install
 ------------------------------------------------------------
 +
 . As the *root* user, change all files to be owned by the opensrf user and group:
@@ -121,7 +121,7 @@ chown -R opensrf:opensrf /openils
 -----------------------------------------------------------
 cd /openils/var/web/xul/
 rm server
-ln -sf rel_2_12_rc/server server
+ln -sf rel_3_2_5/server server
 ----------------------------------------------------------
 +
 . As the *opensrf* user, update opensrf_core.xml and opensrf.xml by copying the
@@ -141,7 +141,7 @@ Copying these configuration files will remove any customizations you have made t
 +
 [source, bash]
 -------------------------------------------------------------------------
-cd /home/opensrf/Evergreen-ILS-2.12.0
+cd /home/opensrf/Evergreen-ILS-3.2.5
 perl Open-ILS/src/support-scripts/eg_db_config --update-config --service all \
 --create-offline --database evergreen --host localhost --user evergreen --password evergreen
 -------------------------------------------------------------------------
@@ -165,21 +165,21 @@ The diff command can be used to show the differences between the distribution ve
 +
 [source, bash]
 ----------------------------------------------------------
-cp /home/opensrf/Evergreen-ILS-2.12.0/Open-ILS/examples/apache/eg_startup /etc/apache2/eg_startup
+cp /home/opensrf/Evergreen-ILS-3.2.5/Open-ILS/examples/apache/eg_startup /etc/apache2/eg_startup
 ----------------------------------------------------------
 +
 .. Update /etc/apache2/eg_vhost.conf by copying the example from Open-ILS/examples/apache/eg_vhost.conf.
 +
 [source, bash]
 ----------------------------------------------------------
-cp /home/opensrf/Evergreen-ILS-2.12.0/Open-ILS/examples/apache/eg_vhost.conf /etc/apache2/eg_vhost.conf
+cp /home/opensrf/Evergreen-ILS-3.2.5/Open-ILS/examples/apache/eg_vhost.conf /etc/apache2/eg_vhost.conf
 ----------------------------------------------------------
 +
 .. Update /etc/apache2/sites-available/eg.conf by copying the example from Open-ILS/examples/apache/eg.conf.
 +
 [source, bash]
 ----------------------------------------------------------
-cp /home/opensrf/Evergreen-ILS-2.12.0/Open-ILS/examples/apache/eg.conf /etc/apache2/sites-available/eg.conf
+cp /home/opensrf/Evergreen-ILS-3.2.5/Open-ILS/examples/apache/eg.conf /etc/apache2/sites-available/eg.conf
 ----------------------------------------------------------
 
 Upgrade the Evergreen database schema
@@ -202,28 +202,13 @@ anything goes wrong during the upgrade.
 =============
 Evergreen provides incremental upgrade scripts that allow you to upgrade
 from one minor version to the next until you have the current version of
-the schema. For example, if you want to upgrade from 2.5.1 to 2.12.0, you
+the schema. For example, if you want to upgrade from 2.9.0 to 2.12.0, you
 would run the following upgrade scripts:
 
-- 2.5.1-2.5.2-upgrade-db.sql
-- 2.5.2-2.5.3-upgrade-db.sql
-- 2.5.3-2.6.0-upgrade-db.sql (this is a major version upgrade)
-- 2.6.2-2.6.3-upgrade-db.sql
-- 2.6.3-2.7.0-upgrade-db.sql (this is a major version upgrade)
-- 2.7.0-2.7.1-upgrade-db.sql
-- 2.7.1-2.7.2-upgrade-db.sql
-- 2.7.2-2.7.3-upgrade-db.sql
-- 2.7.3-2.7.4-upgrade-db.sql
-- 2.7.4-2.8.0-upgrade-db.sql (this is a major version upgrade)
-- 2.8.0-2.8.1-upgrade-db.sql
-- 2.8.1-2.8.2-upgrade-db.sql
-- 2.8.2-2.8.3-upgrade-db.sql
-- 2.8.3-2.8.4-upgrade-db.sql
-- 2.8.4-2.9.0-upgrade-db.sql (this is a major version upgrade)
 - 2.9.0-2.9.1-upgrade-db.sql
 - 2.9.1-2.9.2-upgrade-db.sql
 - 2.9.2-2.9.3-upgrade-db.sql
-- 2.9.3-2.10.0-upgrade-db.sql
+- 2.9.3-2.10.0-upgrade-db.sql (this is a major version upgrade)
 - 2.10.0-2.10.1-upgrade-db.sql
 - 2.10.1-2.10.2-upgrade-db.sql
 - 2.10.2-2.10.3-upgrade-db.sql
@@ -237,33 +222,10 @@ would run the following upgrade scripts:
 - 2.11.2-2.11.3-upgrade-db.sql
 - 2.11.3-2.12.0-upgrade-db.sql (this is a major version upgrade)
 
-Note that you do *not* want to run additional 2.5 scripts to upgrade to the
-newest version of 2.5, since currently there is no automated way to upgrade
-from 2.5.4+ to 2.6. Only upgrade as far as necessary to reach the major
-version upgrade script (in this example, as far as 2.5.3).
-
-To upgrade across multiple major versions (e.g. from 2.3.0 to 2.12.0), use
-the same logic to utilize the provided major version upgrade scripts. For
-example:
-
-- 2.3-2.4.0-upgrade-db.sql
-- 2.3-2.4-supplemental.sh
-- (run all incremental scripts from 2.4.0 to 2.4.3)
-- 2.4.3-2.5.0-upgrade-db.sql
-- (run all incremental scripts from 2.5.0 to 2.5.3)
-- 2.5.3-2.6.0-upgrade-db.sql
-- (run all incremental scripts from 2.6.0 to 2.6.3)
-- 2.6.3-2.7.0-upgrade-db.sql
-- (run all incremental scripts from 2.7.0 to 2.7.4)
-- 2.7.4-2.8.0-upgrade-db.sql
-- (run all incremental scripts from 2.8.0 to 2.8.4)
-- 2.8.4-2.9.0-upgrade-db.sql
-- (run all incremental scripts from 2.9.0 to 2.9.3)
-- 2.9.3-2.10.0-upgrade-db.sql
-- (run all incremental scripts from 2.10.0 to 2.10.7)
-- 2.10.7-2.11.0-upgrade-db.sql
-- (run all incremental scripts from 2.11.0 to 2.11.3)
-- 2.11.3-2.12.0-upgrade-db.sql
+Note that you do *not* want to run additional 2.9 scripts to upgrade to the
+newest version of 2.9, since currently there is no automated way to upgrade
+from 2.9.4+ to 2.10. Only upgrade as far as necessary to reach the major
+version upgrade script (in this example, as far as 2.9.3).
 
 =============
 
@@ -278,8 +240,8 @@ as a user with the ability to connect to the database server.
 
 [source, bash]
 ----------------------------------------------------------
-cd /home/opensrf/Evergreen-ILS-2.12.0/Open-ILS/src/sql/Pg
-psql -U evergreen -h localhost -f version-upgrade/2.11.3-2.12.0-upgrade-db.sql evergreen
+cd /home/opensrf/Evergreen-ILS-3.2.5/Open-ILS/src/sql/Pg
+psql -U evergreen -h localhost -f version-upgrade/3.2.4-3.2.5-upgrade-db.sql evergreen
 ----------------------------------------------------------
 
 [TIP]

commit bc17f1f0eac8edf757a51978c48700bb92faf2c4
Author: Dan Wells <dbw2 at calvin.edu>
Date:   Tue Mar 26 16:15:48 2019 -0400

    Bump OpenILS.pm version
    
    Signed-off-by: Dan Wells <dbw2 at calvin.edu>

diff --git a/Open-ILS/src/perlmods/lib/OpenILS.pm b/Open-ILS/src/perlmods/lib/OpenILS.pm
index d7235ce61a..e37ca1db33 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS.pm
@@ -6,6 +6,6 @@ OpenILS - Client and server support for the Evergreen open source library system
 
 =cut
 
-our $VERSION = '2.4';
+our $VERSION = '3.0205';
 
 1;

-----------------------------------------------------------------------


hooks/post-receive
-- 
Evergreen ILS




More information about the open-ils-commits mailing list