koha-release-notes/release_notes_17_12_00.md

63 KiB

RELEASE NOTES FOR KOHA 17.12.00

23 Mar 2018

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 website for the Koha project is:

Koha 17.12.00 can be downloaded from:

Installation instructions can be found at:

  • Koha Wiki
  • OR in the INSTALL files that come in the tarball

Koha 17.12.00 is a major release, that comes with many new features.

It includes 3 new features, 170 enhancements, 223 bugfixes.

New features

Architecture, internals, and plumbing

  • [15707] Add ability to define hierarchical groups of libraries

Patrons

  • [18403] Hide patron information if not part of the logged in user library group

Searching

  • [19290] Browse selected biblios - Staff

Enhancements

About

  • [19542] Koha should display Elasticsearch information in the about page

Acquisitions

  • [10032] Uncertain prices hide 'close basket' without explanation
  • [17182] Allow Keyword to MARC mapping for acquisitions searches (subtitle)
  • [17457] Use SearchWithISBNVariations in acquisition advanced search (histsearch.pl)
  • [19993] use Modern::Perl in Acquisition perl scripts

Architecture, internals, and plumbing

  • [10021] Remove dead code related to notifys
  • [10306] Koha to MARC mappings (Part 1): Allow multiple mappings per kohafield (for say 260/RDA 264)
  • [12001] GetMemberAccountRecords slows down display of patron details and checkout pages
  • [12904] Force browser to load new JavaScript and CSS files after upgrade

For non-package installations, the following rewrite rules will need to be added to the apache config file:
RewriteRule ^(.)_[0-9][0-9].[0-9][0-9][0-9][0-9][0-9][0-9][0-9].js$ $1.js [L]
RewriteRule ^(.
)_[0-9][0-9].[0-9][0-9][0-9][0-9][0-9][0-9][0-9].css$ $1.css [L]

  • [16735] Replace existing library search groups functionality with the new hierarchical groups system
  • [17672] Items table should have a damaged_on column
  • [17833] _initilize_memcached() warns if errors
  • [18255] Koha::Biblio - Remove GetBiblioItemByBiblioNumber
  • [18789] Send a Koha::Patron object to the templates
  • [18913] Allow symbolic link in /etc/koha/sites
  • [19096] Koha to MARC mappings (Part 2): Make Default authoritative
  • [19280] CanBookBeIssued must take a Koha::Patron in parameter
  • [19299] Replace C4::Reserves::GetReservesForBranch with Koha::Holds->waiting
  • [19300] Move C4::Reserves::OPACItemHoldsAllowed to the Koha namespace
  • [19301] Move C4::Reserves::OnShelfHoldsAllowed to the Koha namespace
  • [19303] Move C4::Members::GetFirstValidEmailAddress to Koha::Patron->first_valid_email_address
  • [19304] Move C4::Members::GetNoticeEmailAddress to Koha::Patron->notice_email_address
  • [19802] Move Selenium code to its own module
  • [19826] Introduce Koha::Acquisition::Budget(s) and Koha::Acquisition::Fund(s)
  • [19828] Koha::Object->store should catch DBIC exceptions and raise Koha::Exceptions
  • [19830] Add the Koha::Patron->old_checkout method
  • [19841] AddMember should raise an exception if categorycode is invalid
  • [19929] Add Koha Objects for class_source and class_sort_rules
  • [19933] Move C4::Members::patronflags to the Koha namespace - part 1
  • [19940] Koha::Biblio - Remove GetBiblioItemInfosOf
  • [19943] Koha::Biblio - Remove GetBiblioItemData
  • [19998] use Modern::Perl in error perl scripts
  • [20009] use Modern::Perl in Members perl scripts
  • [20010] use Modern::Perl in Patroncards perl scripts
  • [20011] use Modern::Perl in plugins perl scripts
  • [20012] use Modern::Perl in Reports perl scripts
  • [20013] use Modern::Perl in Reserves perl scripts
  • [20015] use Modern::Perl in Serials perl scripts
  • [20016] use Modern::Perl in svc scripts
  • [20017] use Modern::Perl in Tools perl scripts
  • [20018] use Modern::Perl in offline circulation perl scripts
  • [20019] use Modern::Perl in miscellaneous perl scripts
  • [20020] use Modern::Perl in XT scripts
  • [20157] Use group 'features' to decide which groups to use for group searching functionality
  • [20264] Syspref checkdigit is no longer in used
  • [20275] Add comment to let users know they can define multiple plugindirs

Authentication

Browser compatibility

  • [20062] Remove support for Internet Explorer 7 in the staff client

Internet Explorer 7, released in 2006, is no longer supported by Koha.

Cataloging

  • [11046] Better handling of uncertain years for publicationyear/copyrightdate
  • [18417] Advanced Editor - Rancor - add shortcuts for copyright symbols (C) (P)
  • [18878] Improve item form display / labels too far from input fields
  • [19996] use Modern::Perl in cataloguing perl scripts

Circulation

  • [11210] Allow partial writeoff
  • [15752] Automatically switch from circulation to new patron when a cardnumber is scanned during circulation

The new system preference AutoSwitchPatron allows to automatically switch to another patron record on scanning the cardnumber during circulation. This will allow to streamline processes at the circulation desk a bit more. Note: Use only if there is no overlap in your cardnumber and barcode ranges.

  • [19494] Add reservedate to Holds awaiting pickup
  • [19831] Turn on EnhancedMessagingPreferences by default for new installations
  • [19997] use Modern::Perl in Circulation perl scripts

Command-line Utilities

  • [12598] New misc/import_borrowers.pl command line tool
  • [17467] Introduce a single koha-zebra script to handle Zebra daemons for instances

To ease multi-tenant sites maintenance, several handy scripts were introduced. For handling Zebra, 4 scripts were introduced: koha-start-zebra, koha-stop-zebra, koha-restart-zebra and koha-rebuild-zebra.
This patch introduces a new script, koha-zebra, that unifies those actions regarding Zebra daemons on a per instance base, through the use of option switches.

  • [18964] Add a --debugger flag to koha-plack

Remote debugging capabilities are added to the koha-plack script. This is very important for developers.

  • [19451] Let borrowers-force-messaging-defaults.pl optionally add preferences only when not already present
  • [19454] Script borrowers-force-messaging-defaults.pl should be able to filter on patron category

Course reserves

  • [15378] Remove 'lost' items from course reserves

Hold requests

  • [19769] 'Pickup library is different' message does not display library branch name when placing hold

I18N/L10N

  • [20295] Allow translating link title in ILL module
  • [20296] Untranslatable "All" in patrons table filter

Installation and upgrade (web-based installer)

  • [18819] Correct "whereas UNIMARC tends to be used in Europe." in web installer files

Label/patron card printing

  • [19999] use Modern::Perl in Labels perl scripts

Lists

  • [19658] Style fix for staff client lists page

MARC Authority data support

  • [18071] Add new script update_authorities.pl

MARC Bibliographic data support

  • [16427] Direct link to authority records missing in staff detail view (MARC21 6xx)
  • [18198] MARC21: Further improve handling of 5XX$u in GetMarcNotes

OPAC

  • [11976] Add column settings + new column "Publication date" to the subscription table
  • [15794] Add emoji picker to tag entry in OPAC
  • [18083] Don't show 'library' selection on popular titles page for single-branch libraries
  • [18313] Remove Delicious icon from OPAC social network links
  • [19338] Dates sorting incorrectly in opac-account.tt
  • [19573] Link to make a new list in masthead in OPAC only appears / works if no other list already exists
  • [19989] opac-memberentry.pl has a FIXME that can be fixed
  • [20155] Improve readability of OPAC header language menu
  • [20432] Add black version of small Koha logo for use in the OPAC

Packaging

  • [17951] koha-create should create the template cache dir and configure it in koha-conf.xml

Patrons

  • [18626] Add ability to track cardnumber changes for patrons
  • [19471] Show creation date in patron restrictions list
  • [19801] Display messages on user details page as well as on check out page
  • [19988] Change 'sex' to 'gender'

REST api

  • [16213] Allow to select hold's itemtype when using API
  • [18330] REST API: Date-time handling
  • [19234] Add query parameters handling helpers
  • [19278] Add a configurable default page size for endpoints
  • [19369] Add a helper function for translating pagination params into SQL::Abstract
  • [19370] Add a helper function for translating order_by params into SQL::Abstract
  • [19410] Add a helper function for generating object searches for the API
  • [19686] Add to_model and to_api params to objects.search helper
  • [20004] Adapt /v1/cities to new naming guidelines

Reports

  • [9573] Ability to download items lost report
  • [16782] Display report URL in staff client report interface
  • [19664] Reports sidebar menu should match list of reports on reports home page
  • [19716] Add option to send header line for CSV output with runreport.pl
  • [19856] Improve styling of reports sidebar to match tools sidebar

SIP2

  • [17826] Allow extended patron attributes to be sent in arbitrary SIP2 fields

Searching

  • [13660] rebuild_zebra_sliced.sh - Exclude export phase and use existing exported MARCXML.
  • [19995] use Modern::Perl in Catalogue perl scripts

Staff Client

  • [19806] Add class to items.itemnotes_nonpublic

System Administration

  • [13287] Add a system preference to define the number of days used in purge_suggestions.pl

Apart from introducing the new preference PurgeSuggestionsOlderThan, this report also adds a -confirm flag to the cron job purge_suggestions.pl. Please adjust existing cron tab files and add this flag in order to have the expected results.

  • [16764] Update printers administration page
  • [19292] Add MARC code column on libraries list
  • [19992] use Modern::Perl in Admin perl scripts
  • [20133] "Hide patron information" feature should not affect all library groups

Templates

  • [4078] Add the ability to customize and display the symbol for a currency
  • [19592] Move admin templates JavaScript to the footer: Acquisitions
  • [19594] Move admin templates JavaScript to the footer: MARC-related
  • [19600] Move admin templates JavaScript to the footer: Other catalog pages
  • [19601] Move admin templates JavaScript to the footer: Additional parameters
  • [19603] Move admin templates JavaScript to the footer: Patrons and circulation
  • [19607] Move admin templates JavaScript to the footer: Basic parameters
  • [19608] Move admin templates JavaScript to the footer: The rest
  • [19623] Move template JavaScript to the footer: Cataloging
  • [19627] Move patron clubs templates JS to the footer
  • [19628] Move course reserves templates JS to the footer
  • [19641] Move patron templates JavaScript to the footer
  • [19647] Move patron lists templates JS to the footer
  • [19653] Move tools templates JavaScript to the footer: Additional tools
  • [19654] Move tools templates JavaScript to the footer: Batch MARC tools
  • [19656] Move rotating collections templates JS to the footer
  • [19657] Move lists templates JS to the footer
  • [19659] Move JS to the footer: Suggestions and tags
  • [19663] Move JS to the footer: Reports
  • [19672] Move tools templates JavaScript to the footer: More MARC tools
  • [19679] Move templates JavaScript to the footer: More tools templates
  • [19680] Move JS to the footer: Patron and circulation tools
  • [19682] Move JS to the footer: Two patron-related tools
  • [19697] Move template JavaScript to the footer: Search results
  • [19700] Move template JavaScript to the footer: Some circulation pages
  • [19710] Move plugins templates javascript to the footer
  • [19726] Move admin templates JavaScript to the footer: Preferences
  • [19744] Move template JavaScript to the footer: Offline circulation
  • [19751] Holds awaiting pickup report should not be fixed-width
  • [19753] Move template JavaScript to the footer: Acquisitions
  • [19754] Move template JavaScript to the footer: Acquisitions, part 2
  • [19755] Move template JavaScript to the footer: Acquisitions, part 3
  • [19758] Move template JavaScript to the footer: Serials, part 1
  • [19761] Move template JavaScript to the footer: Serials, part 2
  • [19777] Move template JavaScript to the footer: Serials, part 3
  • [19778] Move template JavaScript to the footer: Serials, part 4
  • [19785] Move template JavaScript to the footer: Authorities, part 1
  • [19805] Add DataTables to Koha to MARC mapping page
  • [19823] Move template JavaScript to the footer: MARC21 editor plugins
  • [19860] Make staff client home page responsive
  • [19932] Update popup window templates to use Bootstrap grid: Cataloging Z39.50 search
  • [19939] Move cataloging Z39.50 results actions into menu
  • [19947] Update popup window templates to use Bootstrap grid: Acquisitions transfer order
  • [19950] Update popup window templates to use Bootstrap grid: Serials
  • [19954] Update popup window templates to use Bootstrap grid: Patrons
  • [19960] Update popup window templates to use Bootstrap grid: Add to list
  • [19981] Switch single-column templates to Bootstrap grid: Course reserves
  • [19982] Switch single-column templates to Bootstrap grid: Patrons
  • [20032] Switch single-column templates to Bootstrap grid: Tools
  • [20033] Switch single-column templates to Bootstrap grid: Catalog
  • [20034] Switch single-column templates to Bootstrap grid: Circulation
  • [20035] Switch single-column templates to Bootstrap grid: Patron clubs
  • [20036] Switch single-column templates to Bootstrap grid: Offline circulation
  • [20037] Switch single-column templates to Bootstrap grid: Serials
  • [20038] Switch single-column templates to Bootstrap grid: Acquisitions

Test Suite

  • [19243] Selenium test for testing the administration module functionality - part 1
  • [19483] t/db_dependent/www/* crashes test harness due to misconfigured test plan

Tools

  • [19554] The inventory table should jump to detail instead of MARCdetail
  • [19585] Inventory: Allow additional separators in a barcode file
  • [19837] Add multiple patrons to a list by cardnumber

Critical bugs fixed

(This list includes all bugfixes since the previous major version. Most of them have already been fixed in maintainance releases)

Acquisitions

  • [19694] Edited shipping cost in invoice doesn't save
  • [20303] Receive order fails if no "authorised_by" value

Architecture, internals, and plumbing

  • [15770] Number::Format issues with large numbers
  • [19319] Reflected XSS Vulnerability in opac-MARCdetail.pl
  • [19439] Some error responses from opac/unapi get lost in eval
  • [19568] Wrong html filter used in opac-opensearch.tt url
  • [19569] X-Frame-Options=SAMEORIGIN is not set from opac-showmarc.pl
  • [19570] autocomplete="off" no set for login forms at the OPAC
  • [19599] anonymise_issue_history can be very slow on large systems
  • [19611] XSS Flaws in supplier.pl
  • [19612] Fix XSS in /cgi-bin/koha/members/memberentry.pl
  • [19614] Fix XSS in /cgi-bin/koha/members/pay.pl
  • [19766] Preview routing slip is broken
  • [19847] tracklinks.pl accepts any url from a parameter for proxying
  • [19881] authorities-list.pl can be executed by anybody
  • [20126] Saving a biblio does no longer update MARC field lengths
  • [20145] borrowers.datexpiry eq '0000-00-00' means expired?
  • [20229] Remove problematic SQL modes
  • [20323] Batch patron modification tool broken

Cataloging

  • [19646] value_builder marc21_linking_section template is broken
  • [19706] Item search: Unsupported format html
  • [19968] Undefined subroutine &Date::Calc::Today
  • [20063] $9 is lost when cataloguing authority records

Circulation

  • [4319] waiting and in transit items cannot be reserved
  • [19444] Automatic renewal script should not auto-renew if a patron's record has expired
  • [19771] Pending offline circulation actions page will crash on unknown barcode or on payment action
  • [19798] Returns.pl doesn't define itemnumber for transfer-slip.
  • [19899] The float items feature is broken - cannot checkin

Command-line Utilities

  • [12812] Longoverdue.pl --mark-returned doesn't return items
  • [17717] Fix broken cronjobs due to permissions of the current directory
  • [19730] misc/export_records.pl should use biblio_metadata.timestamp

Hold requests

  • [20167] Item hold is set to bibliographic hold when changing pickup location

ILL

  • [20001] ILL: Adding a 'new request' from OPAC is not possible

Installation and upgrade (web-based installer)

  • [19514] No Password restrictions in onboarding tool patron creation

MARC Authority data support

  • [20074] Auth_subfield_structure changes hidden attribute

Notices

  • [18477] AR_PENDING notice does not populate values from article_requests table

OPAC

  • [18915] Creating a checkout note (patron note) sends an incomplete email message
  • [18975] Wrong CSRF token when emailing cart contents
  • [19496] Patron notes about item does not get emailed as indicated
  • [19808] Reviews from deleted patrons make few scripts to explode
  • [19843] reviews.datereviewed is not set
  • [19911] Passwords displayed to user during self-registration are not HTML-encoded
  • [19913] Embedded HTML5 videos are broken
  • [19975] Tag cloud searching does not working
  • [19978] Fix ITEMTYPECAT feature for grouping item types for search
  • [20218] Tracklinks fails when URL has special characters
  • [20286] Subscribing to a search via rss goes to an empty page

Packaging

  • [20061] koha-common is not pulling libsearch-elasticsearch-perl

Patrons

  • [19466] Cardnumber auto calc is broken because field is required
  • [19908] Password should not be mandatory
  • [19921] Error when updating child to adult patron on system with only one adult patron category
  • [20214] Patron search is broken

REST api

  • [19546] Make koha-plack run Starman from the instance's directory

SIP2

  • [20251] SIP checkout broken in master

Searching - Elasticsearch

  • [19563] Generation of sort_fields uses incorrect condition

System Administration

  • [20216] Editing itemtypes does not pull existing values correctly

Templates

  • [20135] Staff client language choose pop-up can appear off-screen

Web services

  • [19725] OAI-PMH ListRecords and ListIdentifiers should use biblio_metadata.timestamp

Other bugs fixed

(This list includes all bugfixes since the previous major version. Most of them have already been fixed in maintainance releases)

About

  • [7143] Bug for tracking changes to the about page

Acquisitions

  • [3841] Add a Default ACQ framework
  • [18183] jQuery append error related to script tags in cloneItemBlock
  • [19200] Warns when exporting a basket
  • [19401] No confirm message when deleting an invoice from invoice detail page
  • [19429] No confirm message when deleting an invoice from invoice search
  • [19813] MarcItemFieldsToOrder cannot handle a tag not existing
  • [19928] Acquisitions' CSV exports should honor syspref "delimiter"
  • [20110] Don't allow adding same user multiple times to same budget fund
  • [20148] Don't allow adding same user multiple times to a basket or an order
  • [20201] Silence warnings in admin/aqplan.pl

Architecture, internals, and plumbing

  • [18336] Add support for Unicode supplementary characters

Koha now supports Unicode supplementary characters like emojis or supplementary japanese, chinese and others.
The DB structure definition is changed to make use of the utf8mb4 encoding, instead of utf8.

  • [19713] 2 occurrences of OpacShowLibrariesPulldownMobile have not been removed
  • [19714] 2 occurrences of memberofinstitution have not been removed
  • [19738] XSS in serials module
  • [19746] Debug statements are left in returns.pl
  • [19756] Encoding issues when update DB is run from the interface
  • [19760] Die instead of warn if koha-conf is not accessible
  • [19827] checkuniquemember is exported from C4::Members but has been removed
  • [19839] invoice.pl warns about bad variable scope
  • [19985] TestBuilder.t fails if default circ rule exists
  • [20031] CGI param in list context warn in guided_reports.pl
  • [20056] Uninitialized warn in cmp_sysprefs.pl
  • [20060] Uninitialized warn from Koha::Template::Plugin::Branches
  • [20088] Use of uninitialized value in array element in svc/holds
  • [20097] marc2dcxml croaks on format dc
  • [20185] Some scripts don't pass perl -wc
  • [20187] New rewrite rules can break custom css
  • [20189] No style on authentication and installer pages
  • [20190] TinyMCE is broken and not displayed
  • [20219] t/smolder_smoke_signal is no longer used
  • [20225] Remove unused script reports/stats.print.pl
  • [20321] C4:XISBN->get_biblionumber_from_isbn is not used

Cataloging

  • [18833] plugin unimarc_field_210c pagination error
  • [19595] Clicking plugin link does not fill item's date acquired field
  • [20341] Show authorized value description for withdrawn like damaged and lost

Circulation

  • [16603] Hide option to apply directly when processing uploaded offline circulation file
  • [19530] Prevent multiple transfers from existing for one item
  • [19825] List of pending offline operations does not links to biblio
  • [19840] Patron note is not displayed on checkin
  • [20003] Result summary of remaining checkouts items not displaying.

Command-line Utilities

  • [11936] Consistent log message for item insert
  • [19452] The -truncate option in borrowers-force-messaging-defaults.pl should not remove category preferences
  • [20234] Make maintenance scripts use koha-zebra instead of koha-*-zebra

Course reserves

  • [19230] Warn when deleting a course in course reserves
  • [19678] Clicking Cancel when adding New Course to course reserves shows message Invalid Course!

Database

  • [19547] Maria DB doesn't have a debian.cnf
  • [19724] Add timestamp to biblio_metadata and deletedbiblio_metadata

Fines and fees

  • [19750] Overdues without a fine rule add warnings to log

Hold requests

  • [19533] Hold pulldown for itemtype is empty if hold placement needs override

I18N/L10N

  • [11827] Untranslatable "Cancel Rating" in jQuery rating plugin
  • [20082] Vietnamese language display name is incorrect
  • [20109] Allow translating "Remove" in Add Fund
  • [20124] Allow translating did you mean config save message
  • [20139] Improve MARC mapping translatable strings
  • [20140] Allow translating more of OAI sets
  • [20141] Untranslatable string in Transport cost matrix
  • [20142] Allow translating offline circ message
  • [20147] Allow translating prompt in label edit batch
  • [20166] Untranslatable course reserves delete prompt
  • [20195] Untranslatable Show/Hide title attr replacement in opac detail
  • [20301] Allow translating "View" in manage MARC import
  • [20302] Allow translating Delete button in Patron batch mod tool

ILL

  • [20041] ILL module missing from more menu in staff when activated

Installation and upgrade (web-based installer)

  • [12932] Web installer's Perl version check will not raise errors if all modules are installed
  • [19790] Remove additionalauthors.author from installer files
  • [19973] SQL syntax error in uk-UA/mandatory/sample_notices.sql
  • [20075] Change authority hidden attribute in sql installer files

Label/patron card printing

  • [10222] Error when saving Demco label templates
  • [19681] label-item-search.pl result count formatting error when there is only one page
  • [20193] Path to Greybox CSS broken after Bug 12904

MARC Authority data support

  • [18458] Merging authority record incorrectly orders subfields
  • [20430] Z39.50 button display depends on wrong server count

Notices

  • [18570] Password recovery e-mail only sent after message queue is processed
  • [18990] Overdue Notices are not sending through SMS correctly

OPAC

  • [12497] Make OPAC search history feature accessible when it should
  • [17682] Change URL for Google Scholar in OPACSearchForTitleIn
  • [19450] OverDrive integration failing on missing method
  • [19640] IdRef webservice display is broken
  • [19702] Basket not displaying correctly on home page
  • [19845] Patron password is ignored during self-registration if PatronSelfRegistrationVerifyByEmail is enabled
  • [20054] Remove attribute "text/css" for