It is with great pleasure that I announce the release of Koha 3.18.0, the latest major release of the Koha open source integrated library system.
Koha is the first free and open source software library automation package (ILS). Development is sponsored by libraries of varying types and sizes, volunteers, and support companies from around the world.
The Koha 3.18.0 tarball and install instructions can be found on the download page.
More install instructions and useful information can be found on the wiki and in the INSTALL files that come in the tarball
Koha 3.18.0 is a major release, that comes with many new features.
It includes 14 new features, 120 enhancements and 487 bugfixes.
Table of contents
Important notice
New features
Enhancements
Other bugfixes
New user permissions
Changes on system preferences
System requirements
Documentation
Translations
Release team
Credits
Thanks
Revision control
Bug and feature requests
Important notice
As of 3.18.0, GRS-1 indexing is deprecated and will no longer be
maintained. It will be removed in a future version.
The “prog” and “CCSR” themes have been completely removed.
Packages: It is now possible to use the Zebra indexer daemon instead of
a cronjob. Look at /etc/default/koha-common. (Bug 8773)
LDAP: a new option for LDAP configuration to avoid storing user passwords
is introduced. (Bug 9165)
ILS-DI (API change): CancelHold now takes a reserve_id. (Bug 8868)
overdue_notices.pl added some fields for the CSV export. (Bug 8687)
Notices in HTML format now need explicit line-breaks. (Bug 12294)
New features in Koha 3.18.0
Acquisitions
Add an option to upload scanned invoices (bug 3050)
Add multiple contacts for vendors (bug 10402)
Rollover outstanding orders not yet received (bug 12164)
Architecture, internals, and plumbing
Retrieve facets from Zebra (bug 11232)
Authentication
Shibboleth authentication (bug 8446)
Circulation
Resurrect Rotating Collections (bug 8836)
On-site checkouts (was In-House Use) (bug 10860)
Automatic renewals (bug 11577)
Searching
Search form for items (bug 11425)
Templates
Columns configuration for tables (bug 10212)
Tools
Add a diff view to staged MARC records (bug 11876)
Batch record deletion (bug 12403)
Websites, Mailing Lists, etc
Optionally report usage statistics to Koha community (HEA) (bug 11926)
Z39.50 / SRU / OpenSearch Servers
Z3950 Search Enhancements: SRU targets and additional XSLT processing (bug 6536)
Enhancements in Koha 3.18.0
About
Perl modules: Display required version numbers on about page (bug 12790)
Add a notice for use_zebra_facets problems in about page (bug 13087)
Acquisitions
Factorize code for order cancellation and add field for giving a reason (bug 7162)
Cloning a budget: enable change of description (bug 7498)
Neworderempty should preselect the only active fund for new orders (bug 9088)
OPAC: Display acquisition details (bug 11169)
Display the order vendor note in basket and basketgroup CSV and PDF (bug 12110)
Acquisitions: Show search terms in z39.50 results (bug 12835)
Set a fund owner to its children (bug 12958)
Improvement of the funds list view on acqui home (bug 12984)
Update table footer with the visible rows (bug 12987)
Update table footer with the visible rows – budgets (bug 12988)
Update table footer with the visible rows – acqui-home (bug 12989)
Move budget action links into menu (bug 13042)
Architecture, internals, and plumbing
RoadTypes should be folded into Authorised Values (bug 7372)
Rename system preference authoritysep to AuthoritySeparator (bug 10330)
Marc modification templates improvements (bug 11319)
Improving code for XSLT handling (bug 11826)
Make Koha::Schema use C4::Context->dbh (bug 11891)
Improve Koha::Cache (bug 12041)
Remove remaining uses of the Perl smartmatch operator (bug 12151)
Remove prog and CCSR OPAC themes (bug 12233)
Remove the “horrible hack” in C4::Templates (bug 12237)
Solr removal (bug 12538)
Replace use of DBI in C4::Ratings with DBIx::Class (bug 12609)
GetMarcISSN should not return empty ISSN (bug 12674)
Add a sanity check for QueryParser configuration on about.pl (bug 12745)
NewOrder returns basketno (bug 12827)
Move the order-related code into its own module (bug 12830)
Introduce a centralized way to display prices (bug 12844)
Authentication
Allow preventing passwords from being stored locally when using LDAP (bug 9165)
Cataloging
Show search terms in z39.50 results (bug 1561)
Provide a way for removing authority links and holdings on Z39.50 record import (bug 6681)
Authorities linker should handle the “local subject added entry” fields. (bug 10308)
Update MARC21 frameworks to Update No. 18 (April 2014) (bug 12435)
Circulation
Allow override of ‘debarred’ status (bug 643)
Refactor C4::Stats::UpdateStats and add UT (bug 11230)
Add ability to update not for loan status on checkin (bug 11629)
Convert checkouts table to ajax datatable (bug 11703)
Add maximum suspension days as a new issuing rule (bug 12230)
Ask for confirmation when checking out an item with rental fees (bug 12448)
Street number missing from hold alert on checkin page (bug 12495)
Add patron email in Holds awaiting pickup circulation report (bug 12523)
Encapsulate Circulation::GetAgeRestriction() and modify it to check borrowers age as well (bug 13106)
Prevent juvenile/children from reserving ageRestricted material (bug 13113)
Make it possible to propagate errors from C4::Reserves::CanItemBeReserved() to the web-templates. (bug 13116)
Improve visibility of automatic on-site checkout rule when OnSiteCheckoutsForce is on (bug 13183)
Command-line Utilities
Add a script to sanitize entity where “&” character was wrongly replaced with “&” (bug 8218)
System preferences for longoverdue cron (bug 8337)
Improvements in overdue_notices.pl (bug 8687)
Course reserves
Enable datatables for courses and course details in the OPAC (bug 10632)
Developer documentation
Add EditorConfig file to the source tree (bug 12545)
Documentation
Update Z39.50/SRU online help (bug 12828)
Add a notice on the About page about GRS-1 deprecated (bug 13140)
Hold requests
Expire holds waiting only on days the library is open (bug 8735)
Make the holds system optionally give precedence to local holds (bug 11126)
Allow renewal of item with unfilled holds if other available items can fill those holds (bug 11634)
Holds ratio report (circ/reserveratios.pl) sorts numeric values as text (bug 11990)
I18N/L10N
Logaction() modulename and action are untranslatable (bug 11392)
Subtag_registry.sql files contain the same information for each language (bug 11593)
Tmpl_process3.pl new features (bug 12061)
Add Croatian language (bug 12649)
Installation and upgrade (web-based installer)
Better default framework for UNIMARC (bug 11586)
Select all options on installer screen (bug 12658)
MARC Bibliographic data support
MARC21 Tag 321b (bug 3977)
Show Dissertation note (MARC21 502) in XSLT results (bug 12501)
Notices
Allow separate ‘Reply To’ and ‘From’ email address for notices (bug 9530)
OPAC
Ambiguity in OPAC Details location. (bug 7720)
Change OPACItemHolds syspref to be of type Choice, choices being “no”, “yes”, “force” (bug 7825)
Adding system preferences to control the visibility of the content on the Advanced Search page (bug 9043)
Add class=”branchcode” to body tag to make OPAC CSS-styleable per branch (bug 12162)
OPAC search box should be customisable (bug 12296)
Hide item types, collections, locations on advanced search if hidden by opachiddenitems (bug 12330)
Convert OPAC list download pop-up to modal dialog (bug 12519)
Arrangement of divs on opac-advsearch.tt (bug 12521)
Improve visibility of successful renewal via opac (bug 12568)
Search links need style id (bug 12576)
Use Bootstrap “label” style for inline OPAC renewal messages (bug 12677)
Use NoLoginInstructions to customize text for OPAC user/pass information (bug 12683)
Show RDA tag 264 on OPAC Detail XSLT view (bug 12724)
Show RDA tag 264 on OPAC Results XSLT view (bug 12726)
Make on-site checkouts visible in OPAC (bug 13234)
Packaging
Enable koha-foreach to insert the instancename into commands (bug 8566)
Set output directory for fines.pl in cron config created by the packages (bug 8567)
Add per-instance koha-index-daemon in .deb setup (bug 8773)
Disable apache indexes on package installation by default (bug 12350)
Koha-create should be able to configure SRU server for the created instance (bug 12750)
Patrons
Set default for privacy by patron category (bug 6254)
New patron permissions to manage items (edit, batchmod, delete all) (bug 7673)
Patrons search improvements (bug 9811)
Add support for Norwegian national library card (bug 11401)
Datatable in Patrons Account Fines (bug 12258)
Add ability to delay loading of patron’s checkouts in circulation and patron details (bug 12550)
Reports
Add ability for biblio_framework to be a dropdown in Guided Reports (bug 13141)
Searching
Remove doubled call number entry from OPAC advanced search page (bug 4927)
Add RSS feeds to catalog search history (bug 5672)
Control of branch displayed in search results linked to HomeOrHoldingBranch (bug 12582)
Allow the user to specify a max amount of facets to show. (bug 13088)
Serials
Serial claiming improvements (bug 5342)
Add date pickers to serials-edit.pl (bug 12377)
SIP2
Add ability to customize SIP2 screen messages (bug 12571)
Staff Client
Show RDA tag 264 on Intranet Results and Detail XSLT view (MARC21) (bug 12725)
Add links “My account” and “My checkouts” for logged in user to drop down in staff client header (bug 13176)
System Administration
Move creators preference to tools tab (bug 12190)
Add restrictions purge to cleanup_database.pl (bug 12760)
Templates
IDs on checkin columns (bug 10220)
Make it easier to hide parts of material type and format information in OPAC (bug 12334)
Use jQueryUI Accordion to display message transport types (bug 12572)
Markup improvements to holds awaiting pickup report (bug 12692)
Add name of template file in html comment for each ‘.tt’ file. (bug 13112)
Add span with id for logged in branch name, add hidden span for branchcode (bug 13128)
Move treeview jQuery plugin outside of language-specific directory (bug 13139)
Staff marc preview not wrapping (bug 13151)
Opacuserjs is not compatible with tracking’s tools like Piwik (bug 13247)
Tools
Tools/export.pl: file list of ids as input parameter (bug 12238)
Add more fields to batch patron modification tool (bug 12309)
Import patrons form should have drop-downs for some values (bug 12716)
Web services
Support deletion of biblio in svc API (bug 12590)
Z39.50 / SRU / OpenSearch Servers
Improve Z39.50 servers administration (incl DBIx) (bug 12265)
Critical bugs fixed in Koha 3.18.0
(this list include all bugfixes since the previous major version. Most of them have already been fixed in maintainance releases)
Acquisitions
NewOrder does not return ordernumber (critical – bug 12891)
Cancel receipt doesn’t work for one item (major – bug 11744)
Shipment date gets lost on finishing the invoice (major – bug 12619)
Problems with item information tab on acq order from staged page (major – bug 12927)
The budget list always shows my funds (major – bug 12955)
All basketgroups are not listed (major – bug 12985)
Shipment date not saved when creating an invoice which has a duplicated number (major – bug 13220)
Architecture, internals, and plumbing
Letter.code is considered as a primary key (critical – bug 13215)
C4::Reports::Guided is not Plack safe (major – bug 10126)
Z39.50 search page does not check authorization (major – bug 11715)
Currency page shows perl error under some circumstances (major – bug 13071)
Holidays.t will fail some unit tests on Sundays (major – bug 13115)
Remove Solr file left behind (major – bug 13131)
Authentication
Ldap authentication should FAIL if ldap contains NEW password, and user types the PREVIOUS password (critical – bug 8148)
CAS authentication not working (critical – bug 12398)
Local only logins should still work when ldap authentication is enabled (critical – bug 12831)
Cataloging
Items Permanent location (shelving location) is set to NULL when item is edited (critical – bug 7817)
Javascript error when merging authorities (critical – bug 12295)
Circulation
On-site checkout due date wrong if SpecifyDueDate is disabled (blocker – bug 13255)
All overdue items with fines returned via checkouts table will have fines forgiven! (blocker – bug 13330)
Items disappear from staff detail page when there is an on-site checkout (blocker – bug 13332)
Backdating returns with SpecifiyReturnDate causes fines for items not overdue! (critical – bug 12596)
Regression: Override renewal limit option broken with AJAX circ (critical – bug 13293)
Regression: Item lost status doesn’t show in list of checkouts (major – bug 12778)
Static fine should apply only once for a given borrower (major – bug 13018)
Changing date or time format on a production server will create duplicate fines! (major – bug 13104)
Export checkout list does not work anymore (major – bug 13190)
Significant slowdown of checkins with fix for notices ignoring the dateformat preference (major – bug 13226)
Command-line Utilities
Koha-disable fails without disabling site (blocker – bug 12856)
Bug 12995 causes test case failures (major – bug 13230)
Database
DBIx::Class schema should preserve case for column names (major – bug 12781)
Hold requests
No check for maximum number of allowed holds from OPAC. (critical – bug 4045)
Reserve can be cancelled by any logged in user (critical – bug 12873)
OPACAllowHoldDateInFuture can let a patron jump to the top of the holds list (major – bug 10883)
Hold priorities incorrect, when waiting status was reversed (major – bug 12086)
Holidays
Koha::Calendar is caching holidays for the wrong branch! (critical – bug 12801)
Installation and upgrade (web-based installer)
C4::Templates::themelanguage fails if the DB is not populated (blocker – bug 13169)
Notices
MTT FIX: Due notices (DUEDGST) are multiplicated and everybodys all ODUEDGST are sent to everyone who should receive them. (critical – bug 12396)
Library no longer receiving Overdue email for patrons without email address (critical – bug 12717)
Default rules are not always used for overdues (major – bug 9180)
Notices ignoring the dateformat preference (major – bug 11244)
Overdue notices send notices for due date in future. (major – bug 13035)
OPAC
Can’t make new suggestion with AllowPurchaseSuggestionBranchChoice turned on (blocker – bug 13329)
Links in every patron self-registration email points to a single borrower (critical – bug 12371)
A patron cannot change his personal details (critical – bug 12784)
Opac detail view with XSLT is broken (critical – bug 13174)
Series of OPAC searches can cause a browser crash (major – bug 10956)
Download and send list popups broken in bootstrap OPAC (major – bug 12517)
OPAC reading history still accessible by URL if turned OFF (major – bug 12701)
OPAC privacy page still accessible when the feature is turned off (major – bug 12703)
Sending a list has malformed links (major – bug 12849)
Subject search links broken if XSLT and OPACPopupAuthorsSearch are both off (major – bug 13271)
Packaging
Package dependency updates for master (blocker – bug 12234)
Package dependency updates for master (major – bug 10467)
3.16 packages ask to change Apache configuration even if Apache version is (major – bug 12312)
Path changes make package build fail (major – bug 13173)
Fix typo in debian/control (major – bug 13303)
Package updates for for 3.18 release (major – bug 13353)
Patrons
Regression: Patron print summary doesn’t show checkouts (critical – bug 12971)
Patron search no longer searches extended attributes (major – bug 12833)
Prevent mixup of columns in deletedborrowers (major – bug 13084)
Patron letter browse not working (major – bug 13232)
Reports
Saved reports tabs not working (major – bug 12432)
Saved reports tabs broken by DataTables upgrade (major – bug 13288)
Searching
QueryParser + OpacSuppression doesn’t allow search in ‘all libraries’ (critical – bug 10542)
Zebra searches sometimes fail silently under Plack (critical – bug 12005)
Search facets die with regex error if biblio has square brackets in fields (critical – bug 12593)
Duplicate records in Zebra after editing NORMARC records with DOM (critical – bug 13163)
Search behaviour inconsistent with QueryParser on Perl 5.18 (major – bug 12738)
Serials
Working with serials now requires admin (parameters) permission (major – bug 11226)
Staff Client
Holds Waiting: not showing from check out screen (major – bug 12892)
System Administration
Can’t add new patron categories (critical – bug 12454)
Templates
Omnibus: Use of CGI::scrolling_list prevents customization in template (major – bug 766)
Suggestions: ‘Organize by’ and correct display of tab descriptions broken (major – bug 10519)
Slip Print Problem in Chrome (major – bug 11014)
Phone label or data switched (major – bug 12407)
MARC Preview doesn’t always display in managed MARC record (major – bug 12755)
Columns misplaced in moremember.tt (major – bug 12963)
Addition of noEnterSubmit class should not apply to textarea, only to input (major – bug 13080)
Remove of prog theme broke the OPAC’s “view plain” option for MARC details (major – bug 13170)
Delete record don’t wait for confirmation (major – bug 13254)
Test Suite
SMS.t requires a database (major – bug 12642)
Bug 12827 causes a test to fail (major – bug 12953)
T/Koha_Email.t depends on the database (major – bug 13172)
Tools
Calendar with weekly repeating holidays completely broken by DataTables upgrade (blocker – bug 13289)
The export tools is broken (blocker – bug 13308)
Inventory tool fails with “Could not reads headers”, or sometimes a timeout (critical – bug 12025)
Tools/export.pl fix to forbid adding of invalid records (critical – bug 12229)
MTT FIX: Advanced notices are duplicated and not sent to the right patron (critical – bug 12315)
Patron category filter in batch patron deletion tool is broken (critical – bug 12727)
Overdue notice/status triggers displaying the wrong notice for default (major – bug 11742)
Patron import tool doesn’t import extened attributes values any longer (major – bug 12859)
Bugfix : tools/export.pl don’t works in commandline without id_list_file parameter (major – bug 13085)
Websites, Mailing Lists, etc
B 11926 (HEA – Render community koha statistic usages) introduces an column count error in sysprefs.ql (major – bug 13149)
Z39.50 / SRU / OpenSearch Servers
Z39.50 title search doesn’t work with multiple words (critical – bug 12898)
Other bugs fixed in Koha 3.18.0
(this list include all bugfixes since the previous major version. Most of them have already been fixed in maintainance releases)
About
Update credits for Arabic translation (minor – bug 13347)
Bug for tracking changes to the about page (trivial – bug 7143)
Acquisitions
GetBudgetHierarchy needs optimization (normal – bug 11714)
Make variable aqorders.listprice in acq claim notice work and improve error handling (normal – bug 12505)
The removal of a contract which is linked to a basket does not display an error (normal – bug 12508)
Cannot revert the changes done by AcqItemSetSubfieldsWhenReceived on canceling a receipt (normal – bug 12557)
Only “top 20″ rows visible in invoices search result (normal – bug 12646)
Only suggestion manager can order from accepted suggestion (normal – bug 12775)
The budgeted cost and the total should not be manually modified (normal – bug 12840)
Deleting suggestions should ask for a confirmation (normal – bug 12937)
Users are not linked to a fund (normal – bug 12956)
Fund planning does not display actual values (normal – bug 12992)
Bad encoding in acquisition basket (minor – bug 12438)
Show budget name when editing it (minor – bug 13055)
C4::Biblio GetMarcPrice does not handle NORMARC (trivial – bug 12554)
Receive shipment error message incorrectly styled (trivial – bug 13065)
“Branch:” on basket page should read “Library:” (trivial – bug 13207)
Architecture, internals, and plumbing
Cart in staff interface displays location pulled from Description (OPAC) (normal – bug 9013)
Authorized values are not Plack-compatible (normal – bug 9967)
Ajaxfileupload.js failing in IE9 for local image upload (normal – bug 10652)
OPACBaseURL sometimes set by ENV variable and not system preference (normal – bug 11575)
MARC framework editing is broken when memcache is enabled (normal – bug 11842)
Web installer fails under plack (normal – bug 12023)
The “feed” MTT does not seem to be used (normal – bug 12298)
Remove smartmatch operator from C4/Serials.pm (normal – bug 12338)
TransformKohaToMarc() is adding MARC subfields in random order (normal – bug 12343)
Encoding broken in the syspref template plugin (normal – bug 12411)
The file C4/Maintainance.pm can be removed (normal – bug 12456)
Lost items marked as not on loan even if they are! (normal – bug 12467)
C4::Budgets : Replacement of subroutine calls of C4::SQLHelper by DBIx::Class (normal – bug 12482)
C4::Contract.pm : Replacement of subroutine calls of C4::SQLHelper by DBIx::Class (normal – bug 12487)
PROG/CCSR deprecation: Remove hardcoded theme from C4/Templates.pm (normal – bug 12539)
DBIx::Class schema update 07/2014 (normal – bug 12558)
DelItem takes $dbh in parameter (normal – bug 12583)
SQLHelper replacement – Koha::Borrower::Modifications (normal – bug 12623)
SQLHelper replacement – C4::Acquisition (normal – bug 12626)
SQLHelper replacement – C4::Suggestions (normal – bug 12627)
DOM indexing should be the default (normal – bug 12651)
GetMarcISBN should return the corresponding subfield (normal – bug 12672)
Get rid of warning in aqbudgets.pl (normal – bug 12957)
Price formatting should only be defined at one place (normal – bug 12979)
Parsing a date on sending a letter generates a warning (normal – bug 13011)
Zotero connection with Koha: problem with UTF-8 (minor – bug 12174)
Can’t access MARC bibliographic frameworks and other pages (minor – bug 12800)
Get rid of redefined subroutine warnings from dateaccessioned.pl (minor – bug 12884)
Minor improvements on code documentation (omnibus) (trivial – bug 11856)
Fix some POD errors (trivial – bug 12462)
Add StatisticsFields to sysprefs.sql (trivial – bug 12728)
Tiny typo in POD for SetMessagingPreferencesFromDefaults (trivial – bug 13194)
Authentication
Disabled Shibboleth authentication spams logs (minor – bug 13114)
And remember, usernames are not case sensitive (trivial – bug 13051)
Browser compatibility
HTML fixes triggered by cleaning up language=”javascript” (trivial – bug 12862)
Cataloging
Dewey cn_sort inaccurate (normal – bug 8837)
008 forgetting what material type was chosen (normal – bug 9093)
Prompt for confirmation if more than 99 items are being added (normal – bug 10473)
Add 359, 947 and 969 fields in french unimarc_complete framework (normal – bug 11030)
Barcode scanner clicking ‘save’ (normal – bug 11292)
When editing item, cursor is positioning in search box and not to item (normal – bug 11905)
Can’t tab to save buttons on add item (normal – bug 12380)
Not for loan items are not listed (normal – bug 12419)
Ddc sorting of call numbers truncates long Cutter parts (normal – bug 12424)
On editing an item, some fields can be set to NULL (normal – bug 12874)
Plugin housekeeping: do not redefine wrapper (normal – bug 13223)
Z39.50 result Card View doesn’t work for UNIMARC (normal – bug 13225)
Shelving location PROC does not work according to manual (normal – bug 13297)
C4::Charset -> nsb_clean() remove  (minor – bug 9859)
In records merge greatest field can not be added (minor – bug 10648)
Delete useless 9XX field in french unimarc_complet default Framework (minor – bug 11021)
Catalog details page displaying incorrect status for items with itemtype level notforloan status (minor – bug 12307)
Cataloging search no longer passes search terms to z39.50 search (minor – bug 13062)
HTML and JS escapes missing in unimarc_field_4XX.tt (minor – bug 13129)
Minor correction for C4::DelBiblio documentation (trivial – bug 12592)
Plugin housekeeping: UNIMARC field 123i, 123j, 210c (trivial – bug 13203)
Circulation
ILS-DI: CancelHold needs to take a reserve_id (normal – bug 8868)
Visual Bug under fines tab (normal – bug 9245)
Holds Queue Report display loc code not description (normal – bug 10960)
It should be possible for Holds charges to count towards blocking checkout (normal – bug 12205)
Multi-clicking the renewal buttons on circulation.pl can trigger “renewal failed” message. (normal – bug 12337)
Tabs inconsistency in different circ-menu.inc uses (normal – bug 12542)
Ajax-based check in does not work for some system preference settings enabled (normal – bug 12662)
Overdue items won’t show as overdue in red in circulation (normal – bug 12729)
Patron ‘Details’ and ‘Check out’ pages not working properly for staff users which don’t have renewal override permissions (normal – bug 12811)
Row grouping in checkouts table is alphabetical and layout depends on words chosen in translation (normal – bug 12899)
Strings.inc is missing a semicolon in var CIRCULATION_RENEW_FAILED = _(“Renew failed:”) (normal – bug 12938)
Checkouts table default ordering is incorrect (normal – bug 13020)
“