Page tree
Skip to end of metadata
Go to start of metadata

Important Upgrade Considerations

This section outlines all changes that require special consideration for customers in production.  Configuration changes may be needed to prevent operational interruptions.  See checklist for guidelines on how to fill this out. 

Changes and Required Actions

Functional AreaChange or AdditionConsiderations

Action timing,
Action required

CommentsContact person,
Related JIRAs
Affected app or moduleWhat has been changed or added that should be noted for this releaseWhat challenges may arise related to this change or addition

When can the action be taken (before, during or after upgrade)?

If applicable, detail what action(s) must be taken here

Is this action required for the next release?

Name of user leaving comment: comment on what you encountered or ask a question @mention Contact personUser name of person that can provide additional detail.
Include issue link for bug fix, story or feature that applies
OkapiUpgrade Okapi to latest 4.14.x version

When upgrading upgrade Okapi to the latest 4.14.x version, at least 4.14.10.

v4.14.9 has a bug that sometimes closes the HTTP connection before the response has been sent.

Versions before v4.14.8 have a Hazelcast vulnerability:

Julian Ladisch 

OKAPI-1155 - Getting issue details... STATUS

Data Import & Inventory

Update to the default MARC Bib-to-Inventory Instance MAP:

  • Existing mapping for 590 (Local note) updated so that 1st indicator = 0 triggers "Staff only" indication. Any other 1st indicator does not.

If you would like to review the mapping change first, go to and search for 590. Review that section of the rules, and then if that handling is wanted for a particular library tenant, add that section to their equivalent map.

After upgrade, library may want to review their local default MARC Bib-to-Inventory Instance map, and decide if they want to add this revised mapping into it.

Follow the instruction to update the rules.

Ann-Marie Breaux

Kateryna Senchenko 

MODSOURMAN-827 - Getting issue details... STATUS

Data ImportReminder when upgrading
 When upgrading from one flower release to the next, confirm that the deployed modules are of compatible modules and are in the same release. If incompatible modules versions, Kafka messages consumed by older versions of modules can cause problems. When entity schema changes in such a way it usually leads to an API version bump and if module that requires a specific version of the API deployed and the API is not there - it results in an error. Unfortunately, there is no such mechanism for changes in Kafka message payload - topics that are used are the same, therefore a consumer in an older module version will consume the messages.

Kateryna Senchenko 

MODSOURCE-543 - Getting issue details... STATUS

Settings, Circulation, Loan historyThe circulation setting "Loan history" as been updated to "Loan anonymization"Please note: The permission names have not been updated, and still refer to "Loan history"N/AN/A
Permissions, CirculationWith the permission "Settings (Circ): Can view loan history", the Save button on the Loan anonymization page is no longer visible (UICIRC-767).
In addition, a new permission has been created, "Settings (Circ): Can edit loan history", for which the Save button on the Loan anonymization page is visible and can be selected (UICIRC-766).
Please note: The permission names contain the old name of the setting (Loan history), but refer to the circulation setting Loan anonymization.Update your users' permissions and/or permission sets, as required.N/A

Edit: UICIRC-766
View: UICIRC-767

Julie Bickle 

Permissions, Tenant

Permission ui-tenant-settings.settings.enabled - display name "Settings (Tenant): View" has been made invisible

The permission is used to grant basic view to Settings > Tenant but grants no other functionality. It implies that you can use it to give view-only access to content in that area, which is not the case. Making the permission visible: false removes that confusion.

Recommend removing "Settings (Tenant): View" from any users prior to upgrading to Nolana.

You can also remove the permissions after upgrade by enabling Settings > Developer > Configuration > List invisible permissions in add perm menus and then editing the relevant user records.

Update your users' permissions and/or permission sets, as required. 

Recommend removing "Settings (Tenant): View" from any users prior to upgrading to Nolana.

UITEN-224 - Getting issue details... STATUS

Actual Cost

Actual cost will not be fully implemented for Nolana.  It is recommended that you wait until Orchid to start using actual cost. 

If you start using actual cost in Nolana, the “Lost items requiring actual cost” processing page will not be available for billing.  This means that you will need to bill actual cost via a manual fee/fine that will NOT change Item status from “Declared lost”/”Aged to lost” to “Lost and paid” when the fee is paid. 

If you started using actual cost in Nolana, when Orchid is implemented you will need to you will need to mark items as “do not bill” on the “Lost items requiring actual cost” processing page if fee was billed manually.  The "Lost item fee policy" includes a setting For lost items not charged a fee/fine, close the loan after <interval>.  Using this setting to "expire" actual cost lost items will eliminate the need for this if you set the <interval> to a smaller time period.

For details about when various actual cost functions will be available, see slide deck 

Holly Mistlebauer 

UXPROD-3564 - Getting issue details... STATUS

UXPROD-3377 - Getting issue details... STATUS

UXPROD-2391 - Getting issue details... STATUS

Resource AccessImprovements to Settings > Calendar

The interface for adding, editing, or removing calendars from service points has significant UI improvements and has changed to a tabular UI format.  Additionally, calendars can now be assigned to multiple service points and exceptions can store multiple openings and closures.
All calendar-related permissions have changed may need to be updated.

Permissions provided by ui-calendar 7.x have been updated to more specific ones; most notably, this includes the ".all" permission.  Administrators may want to go through user's permissions and re-evaluate what is necessary with these new specific permissions.

The database schema used for mod-calendar has been overhauled, however, no special action is required.  As part of the upgrade from 1.15.0, all existing data will be transformed and preserved.  If you are not already on mod-calendar 1.15.0, we recommend upgrading to it before upgrading.  Be sure you are upgrading to the latest version 2.3.1 as previous versions would migrate certain exceptional situations incorrectly.

We recommend going through the calendars post-migration and ensuring that all exceptions transferred as expected; exceptions that were not fully contained within a calendar (for example, calendar 01-01-2022 to 12-31-2022 and exception 12-25-2022 through 01-02-2023) may result in a calendar shown as an "Orphaned exception" in the interface or, if there are multiple exceptions/calendars for a date, it may not be transferred at all.  System administrators can also search through the container logs for more information about what exceptions were associated with which calendars (which will display error messages if any exceptions were orphaned or dropped).

After the migration, institutions may desire to clean out historic calendars (this was impossible in the previous interface); this can be easily accomplished with the new purge feature.

Noah Overcash 

Cheryl Malmborg 

steven turner 

UXPROD-2657 - Getting issue details... STATUS

migration: MODCAL-124 - Getting issue details... STATUS

Data export - Export authority recordsNew default job-profile for authorities was added.

 Use MARC authority app 

It requires to load reference for module.
  • Add loadReference=true to tenantParameters 

LocationsLocations and location units moved from reference data to sample data

When initially enabling mod-inventory-storage for a tenant a few locations and location units (institutions, campuses, libraries) can automatically be created. Before Nolana loadReference=true triggered this, from Nolana on loadSample=true is needed.

Adjust scripts that expects them as reference data.

Julian Ladisch 
MODINVSTOR-443 - Getting issue details... STATUS
pull request

SearchRouting was changed to default. All indexes should be recreated.
During the upgrade process
mod-search indices will need to recreate for both instance and authority as described 

Pavlo Smahin 
SearchWhen using AWS OpenSearch, the response returned by the bulk api is malformed which is causing errors in mod-search. The issue does not occur with local instances of OpenSearch or ElasticSearch, only instances in AWS Infrastructure. Due to this, performance gains could not be determined. When the issue is resolved by AWS, this can be revisited.

During the upgrade process before reindexing

Set environment variable INDEXING_DATA_FORMAT = json

Pavlo Smahin 
MARC authority 

Mapping rules were changed. It's required to update default mapping rules in the database. 

Only applies to a library that has MARC authority records in Morning Glory environment

Apply after mod-source-record-manager upgrade. Please do the following actions. 

  1. Call endpoint PUT {{okapi.url}}/mapping-rules/marc-authority/restore
  2. To apply mapping rules changes to migrating authority records - run this standalone application - Marc Authorities update instructions (Recommendation to run during non-working hours) 

Fees/FinesThe buttons (e.g. Pay, Waive, Transfer) on the top of the Fees/Fines History and Fee/Fine Details pages have been replaced with an ACTIONS menu.  This has been done so that the pages match the design of the rest of FOLIO.  The functionality has not changed.

Holly Mistlebauer 

UXPROD-3763 - Getting issue details... STATUS

Inventory single record import/quickMarc deriveDB Read/Write split should be disabled for mod-source-record-managerIn case Read instance is not synchronising fast enough, some single record operations could failWhen mod-source-record-manager is deployed do not pass the environment variables for DB_HOST_READER and DB_PORT_READER (it won't be enabled by default)

Kateryna Senchenko 

RMB-348 - Getting issue details... STATUS

MODSOURMAN-906 - Getting issue details... STATUS

MODSOURMAN-909 - Getting issue details... STATUS

Data ImportSettings and Configuration
Refer to Settings and Configuration page for details on modules involved in Data Import. Adjust if needed to optimise performance.
NCIPSettings and ConfigurationNew optional configuration.  Default value if not set: FOLIO
  • mod-ncip will use the default value of 'FOLIO' if the setting is missing - so no action is required unless a different value is needed
  • The setting should be created in mod-configuration (along with the other mod-ncip settings).
  • The mod-configuration 'code' for the setting is:
  • The setting will be used to lookup the UUID of the holdings source (so it should exist in settings>inventory>holdings>sources)
  • The setting UUID will be used for the sourceId on the holdings record (when the AcceptItem service creates the holdings record)
  • The configuration can be created before or after the upgrade.  (If set before - earlier versions of NCIP will ignore it)

Michelle Suranofsky 

MODNCIP-47 - Getting issue details... STATUS

SMTP configurationSMTP configuration was moved from mod-configuration to mod-emailInteresting information for FOLIO SysAdmins

Alexander Kurash 
MODEMAIL-76 - Getting issue details... STATUS

Bulk EditAdditional environment variables to back-end module deploymentThis module uses separate storage of temporary (local) files for its work. These files are necessary for processing bulk-edit business flows. Any S3-compatible storage (AWS S3, Minio Server) supported by the Minio Client can be used as such storage. Thus, in addition to the AWS configuration of the permanent storage, one needs to configure the environment settings for temporary files storageFor mod-data-export-worker, add LOCAL environment variables discussed here: otherwise Bulk Edit file uploads will fail in Folio.

FOLIO-3581 - Getting issue details... STATUS

Data ImportProvided script to clean up Job profiles in case linked Mapping or Action profiles were editedEditing Mapping or Action profiles already linked to a Job profile result in increased profile size (unnecessary elements are stored), which may lead to slow performance of mod-data-import-converter-storage, Kafka errors during DI process and excessive memory consumption by mod-source-record-managerFollow the instructions at point 11 - Scripts for Inventory, Source Record Storage, and Data Import Cleanup

Kateryna Senchenko 

UIDATIMP-1369 - Getting issue details... STATUS

MODDICONV-293 - Getting issue details... STATUS

SRM, Data Import
Default limit for retrieving settings for mapping during DI is set to 1000.

If library contains more data in the specified settings override the property "srm.mapping.parameters.settings.limit" (default=1000) when mod-source-record-manager is deployed.

Kateryna Senchenko 
Permissions, OAI PMH, Vufind, EDS

Add permission oai-pmh.records.collection.get to edgeuser/service account
Post-upgrade, update your users' permissions and/or permission sets, as required with oai-pmh.records.collection.get. You will need to be able to view invisible permissions, config in Folio UI at Settings - Developer - Configuration. Once added, restart the edge-oai-pmh module(s)
Jason Root 

New Apps

Removed Apps

Permissions Updates

AppNew PermissionsDeprecated PermissionsProduct Owner
DashboardDashboard: Dashboard Administrator
Bulk editBulk edit: In app - Update user records

Known Issues


AppKnown issueWorkaroundJIRA issueProduct Owner
UsersMail notices do not get sent to proxy, even when that value is selected, but get sent to sponsorCurrently no work around; this is new work to do the back-end of what is visible in the UI.Julie Bickle 
mod-inventory-storageAuthorities update through quick-marc are applied to mod-search records with a delay of 1 updateRemove DB_HOST_READER , DB_PORT_READER environment variables from mod-inventory-storage. Next authority update will be successful.MODINVSTOR-1006Khalilah Gambrell 
Export Manager

Files generated by following jobs are available only for several hours due to AWS Identity and Access Management (IAM) instance profile settings:

  • Bursar
  • Circulation logs
  • Bulk edit
Repeat exports again


Magda Zacharska 
Bulk editIntermittent error "Something went wrong" after rearranging columns while editing holdings record.  The error occurs on the Are you sure form before any changes are committed.Restart bulk edit.


mod-searchboundWith flag is not updated in mod-searchFor mod-search either remove KAFKA_EVENTS_CONSUMER_PATTERN  env variable so that the default ($ENV\.)(.*\.)inventory\.(instance|holdings-record|item|bound-with) is used, or add bound-with to your custom pattern.

MSEARCH-458 - Getting issue details... STATUS

Title level requests
  1. Users are able to recall items with statuses they should not be able to (Aged to lost, Claimed returned, Declared lost)
  2. Users unable to recall items with status In process, In transit, On order when TLR is enabled
  3. Item level policies are not being upheld by title level requests (Even though an item is not requestable via item level request by the patron, it could be used to fill the title level request upon check in)
  4. Recalls are unevenly distributed when there is no item to page and there is at least one item that is not checked out but is "available" for a recall to be placed upon
No known workarounds. CIRC-1683, CIRC-1684, CIRC-1693


Stephanie Buck 
Purging a tenantAfter disabling modules with purge option for one tenant other tenants get this error:
"ERROR: function f_unaccent(text) does not exist (42883)"
This affectes only modules where environment variable DB_MAXSHAREDPOOLSIZE is set.
After disabling modules with purge option restart all modules where environment variable DB_MAXSHAREDPOOLSIZE is set.

RMB-955 - Getting issue details... STATUS

Julian Ladisch 

RMB-348 - Getting issue details... STATUS was implemented to split reading and writing traffics into separate database nodes. While it's working for some workflows (check in/out, MARC BIB/Authority Data import Creates and Updates), it is buggy in other workflows. These are: Acquisition, Data Export, Data Import of MARC Holdings. 

Additionally in very rare circumstances when a failover happens between the database nodes, such as when the write node fails over to the read node (the read node now becomes the new write node and vice versa), the storage modules may still cache the old addresses so they may continue to write to what is now the new read node or that the old write node has gone out of service). 

Remove DB_HOST_READER , DB_PORT_READER environment variables from mod-inventory-storage, mod-data-export, mod-source-record-manager, mod-orders-storage.

A workaround for the failover issue is to create an AWS lambda (or some process that listens for failover events) that restarts the RMB storage modules to create new connections to the new database nodes

MDEXP-576 - Getting issue details... STATUS

MODINVSTOR-1019 - Getting issue details... STATUS

Martin Tran 
NCIPWhen the acceptItem service is called, if the pickupLocation contains '/' the service will fail:
org.z3950.zing.cql.CQLParseException: expected boolean, got '/'
Use the patched version of the module:

MODNCIP-54 - Getting issue details... STATUS

ERMWhen you view a License in the License App that has a linked Agreement, on viewing the "Agreements linked to this license" the Agreement information does not display (only the 'License link status' displays)Currently no work around; the issue is fixed in mod-agreements 5.5.x

ERM-2638 - Getting issue details... STATUS

Owen Stephens 

Additional known issues 

Key Summary T Updated Potential Workaround Development Team Status Resolution Release

Notes on functionality

PO Release Presentations

PresentationPresentation datePresenterSIG meeting (link)Notes
AcquisitionsNovember 1, 2022Dennis BridgesAgenda and Meeting Notes#:~:text=Demo%20Nolana%20Release%20highlights
ERM: AgreementsNovember 2, 2022Owen Stephens 




View slide 2-4, and recording from 10:14-37:10 (includes Dashboard 13:45-17:45)
DashboardNovember 2, 2022Owen Stephens 




View slide 2, and recording from 13:45-17:45
Bulk editNovember 10, 2022Magda Zacharska 

MM SIG Meeting Recording

Bulk edit related recording starts at 26:20

Post-Release Hotfixes

Hot fix release #1 - RELEASED AT APRIL 20

Tickets list

Key Summary T Assignee P Resolution Reporter

Modules list

Project Priority
ERM Platform 0 0 0 4 4
mod-calendar 1 0 0 0 1
mod-circulation 1 2 0 0 3
mod-erm-usage-harvester 0 1 0 0 1
mod-inn-reach 2 0 2 1 5
mod-invoice 0 1 0 0 1
ui-calendar 1 0 0 0 1
ui-finance 0 1 0 0 1
Total Unique Issues: 5 5 2 5 17
Showing 8 of 8 statistics.
View in Jira

Critical Service Patch #2- RELEASED AT 25 JULY

Approval Log

Key Summary P CSP Request Details CSP Approved CSP Rejection Details Development Team

Tickets list

Key Summary T Assignee P Resolution Reporter

Modules list

Project Priority
ERM Platform 0 0 0 1 1
folio-kafka-wrapper-util 0 0 1 0 1
mod-circulation 1 0 0 0 1
mod-data-export-spring 1 0 0 0 1
mod-di-converter-storage 0 1 0 0 1
mod-remote-storage 1 0 0 0 1
mod-source-record-manager 0 1 1 0 2
mod-source-record-storage 0 4 0 0 4
ui-inventory 0 2 0 0 2
Total Unique Issues: 3 8 2 1 14
Showing 9 of 9 statistics.
View in Jira

Release tag

New Features

Key Summary Development Team

Nonfunctional Requirements (NFR) Features

Key Summary Development Team

Closed Bugs

All Closed Bugs and Stories

Remaining Open Bugs at Time of Release

Support Period

Assuming the FOLIO support policy remains unchanged, Nolana will be supported with critical security and bug fixes until Poppy (R2 2023) release (around November 2023). With the Nolana release Lotus has reached end of life and is no longer supported.

  • No labels