Repository navigation
Releases: rero/rero-ils
Release list
v1.30.0
v1.30.0 (2026-10-13)
This release is published under the AGPL-3.0-or-later License.
Bug Fixes
-
Invalidate permissions cache (
82496db) -
Return 400 instead of 500 on invalid requests (
c24daf4) -
acquisition: Prevent CSV order export crash with deleted link (
1effe18) -
acquisition: Round monetary float arithmetic to 2 decimal places (
fa7f942) -
certificates: Generate instead of versioning (
42eae05) -
circulation: Log the real scan transaction location (
82c0547) -
circulation: Restrict requests view by org (
1a61c4f) -
circulation: Wrong status on at_desk cancel (
1f535ff) -
docker: Set the UTF-8 locale dropped by the Python image since 3.13 (
2ea47a6) -
documents: Combine multiple new_acq filters (
c49e366) -
documents: Count documents instead of holdings in org facet (
eff7279) -
documents: Invalidate permissions cache (
d636812) -
editor: Expand single-line fields (
09288f8) -
entities: Link MEF by identifier, not type (
13e85b3) -
entities: Log replace_identified_by failures (
fdfcbe9) -
entities: Query each MEF type endpoint (
3a1b3f3) -
files: Allow the file metadata extraction (
25d1f46) -
harvester: Read Memovs genreForm as a list (
808824e) -
harvester: Stop skipping Memovs records (
ecd455d) -
header: Keep mobile menu visible in header (
9f76e0a) -
holdings: Harden serial issue inheritance (
c55fafb) -
ill: Validate form before confirmation (
229dd31) -
ill-requests: Add pickup location name in serializer (
b0d317f) -
imports: Initialize status fields, strengthen callable guard and rename shadowed builtins (
1d0ca44) -
indexer: Ignore bulk index version conflicts (
9cd8c23) -
items: Display circulation information (
3b9655d) -
items: Remove role filter from serialiser (
70db4de) -
patrons: Drop empty entries in record links (
5331692) -
permissions: Repair wiki edition permission (
65ea9e9) -
requests: Hide not received serial issues (
292ec23) -
scheduler: Disable the harvest tasks (
d14b318) -
scripts: Kill every child on Ctrl-C (
b7974ca) -
scripts: Remove duplicated setup tail (
754cbdd) -
search: Allow Lucene/MARC special chars in query strings (
edbd95e) -
sru: Swap creator and contributor role lists (
86a6ed9) -
tests: Improve test suite quality (
2effdad) -
theme: Skip rero-ils-ui bundle on the login page (
4e2bf27) -
users: No reset password email on creation (
b583dd9)
Build System
-
Update dependencies (
f27e76f) -
deps: Run python-semantic-release through uvx (
47321cb) -
scripts: Use pnpm in russian_dolls (
801cf42)
Chores
-
Additional v1.30.0 translations (
c938176) -
Bump rero-ils-ui to 21.3.0 (
efdc7ce) -
Translate v1.30.0 (
545f459) -
Update cryptography to v50 (
60aa5de) -
Update dependencies (
c5c0b08) -
Update dependencies (
caae18f) -
Update dependencies (
9a7aac6) -
Update dependencies (
e70108f) -
Update dependencies (
048f7d7) -
docker: Remove the unused postgres build (
0ada5f5) -
jsonschemas: Add step and type to integer fields widgets (
2d290c4) -
languages: Remove dutch as preferred language (
0ed4201)
Code Style
- Add missing license headers (
e2239e2)
Continuous Integration
-
Add a license header check (
90851d7) -
Add the continuous localization workflow (
bb1a0c0) -
Bump actions to latest versions (
0ac8e2a) -
Bump astral-sh/setup-uv from 9.0.0 to 10.0.1 (
504fa56)
Documentation
-
Add a readable code review command (
e3acd43) -
Keep only non-derivable rules in CLAUDE.md (
6a6006f) -
Move commit rules into a Claude skill (
7328605)
Features
-
Adapt the help pages to flask-wiki 4 (
752c631) -
Add reset password link to welcome email (
3eef713) -
Migrate to Font Awesome Free v7 (
bf2ce86) -
circulation: Add requests exports (
350810c) -
document: Add exhibition_panel subtype (
b6dd15b) -
document: Add toy subtype (
931f1ac) -
documents: Add bibliographic antecedent role (
8b733f2) -
documents: Add everywhere search target ([
e90e602](e90e602...
v1.29.0
v1.29.0 (2026-07-14)
This release is published under the AGPL-3.0-or-later License.
Bug Fixes
-
Error message when saving user (
5bba404) -
Normalize thumbnail size in courses (
b91c89e) -
Remove unused static_folder from blueprints (
9f222ef) -
acquisition: Allow cancelling the last non-received order line (
05886c1) -
acquisition: Prevent stale browser caching of order data (
c35a863) -
cli: Make index date filters UTC-aware (
b9d2d2a) -
docker: Raise Elasticsearch mem_limit to avoid OOM kills (
7f00f7f) -
documents: Allow delete for rolled-over orders (
baa6df1) -
ext: Return 409 on concurrent PUT instead of 500 (
f74f45c) -
files: Read and write text as UTF-8 regardless of host locale (
958113e) -
homepage: Allow class attributes in the HTML blocks (
5723dbd) -
homepage: Do not display "None" for orgs without a placeholder (
bfb21ff) -
homepage: Drive the frontpage cascade by organisation view (
eb13def) -
homepage: Remove links to deleted templates (
27f8347) -
homepage-editor: Add homepage mapping (
1627da6) -
local_fields: Permission is dependent of the linked resource (
388aae0) -
login: Toggle password visibility (
0d795a8) -
organisation: Fix jsonschema and incorrect translation (
3c7d1aa) -
patrons: Avoid duplicate operation log on update (
e491fbc) -
stats: Aggregate owning_location by PID with name fallback (
55c4720) -
stats: Document owning_lib distribution also counts files (
3acf987) -
theme: Repair broken CSS files and demo assets (
9fab098)
Build System
Chores
-
Translate v1.29.0 (
0a3eb48) -
Update dependencies (
cfb4c4f) -
Update dependencies (
f18bd05) -
Update digital services URL for Bulle homepage (
9837188) -
Update Python to 3.14 and invenio deps (
994996e) -
filter: Fix the translation when it's a list (
c586a9b)
Code Style
- Replace verbose license headers with SPDX tags (
b186c34)
Continuous Integration
- Add automatic release workflow (
db24d20)
Documentation
- Update CLAUDE.md with behavioural guidelines (
b0ee2a3)
Features
-
homepage-editor: Editable homepage (
57039d5) -
organisations: Make patron_cleanup optional in the editor (
9f03a4c) -
patrons: Add task for automatic deletion of inactive patrons (
2711e02) -
patrons: Wire operation logs and add ILL requests to deletion checks (
4ee1781) -
sru: Add result sets, record schema negotiation and CQL 1.2 (
23a4356) -
stats: Add item_type distribution for number of items (
4c6c941)
Refactoring
-
modules: Remove Python type annotations (
927447a) -
search: Rename all ES identifiers to search equivalents (
905157d) -
theme: Replace node_assets with angular_assets for Angular 21 (
d87f0b6)
Testing
- Fix flaky operation log test (
54b3c47)
Detailed Changes: v1.28.0...v1.29.0
v1.28.0
New features:
- feat(thumbnails): add cover image support with rero-invenio-thumbnails #4018 (by @rerowep)
- feat(documents): add async cover image support with Redis queue #4067 (by @rerowep)
- Patrons list: add a "not expired" filter #4043 (by @PascalRepond)
- feat(locations): add a public note field #4040 (by @PascalRepond)
- feat(documents): allow deletion when acq order lines are terminal #3818 (by @rerowep)
- feat(theme): add local custom CSS and logos #4021 (by @rerowep)
- feat: auto-remove temporary item type on scan #4008 (by @PascalRepond)
Enhancements:
- Stat reports: add patron_local_codes distrib for circulation and patrons reports #4050
- Inventory list: sorting by call_number should also use inherited call_numbers #4009
- Anonymise loans 12 months after closure instead of 3/6 months #4042
- Late issues: display a filter for "0 claims" #4015 (by @PascalRepond)
- Display item-issue sort date in brief and detailed views #4032 (by @PascalRepond)
- feat(sru): enhance CQL search capabilities and performance #4027 (by @rerowep)
Fixes:
- fix(sru): do not export masked and draft documents #4086 (by @PascalRepond)
- fix(broker): harden RabbitMQ and Redis connections #4079 (by @rerowep)
- fix(documents): reindex all items of a document #4082 (by @rerowep)
- Public patron profile: reload contributors when switching organisations #4020
- Import from the web: Import (except GND) all subjects/genreForms in subjects_imported #4010 (by @rerowep)
- fix: route non-gnd 655 fields to genreForm_imported #4069 (by @PascalRepond)
- fix(circulation): prevent test failures after 23:00 UTC #4038 (by @rerowep)
- fix(location): remove minItems on public note #4052 (by @PascalRepond)
- fix(documents): fix subject imports routing condition #4035 (by @rerowep)
- refactor(items): split issue sort_date display from ES sort key #4034 (by @PascalRepond)
- fix(editor): display document notes as text areas #4033 (by @PascalRepond)
Other changes:
- docs: update "remove temp item type" hint #4073 (by @PascalRepond)
- docs(user): fix loan history description to reflect the new policy #4076 (by @PascalRepond)
- docs: add CLAUDE.md instructions #4048 (by @PascalRepond)
- docs: consolidate config and relocate wiki content #4039 (by @PascalRepond)
- chore(deps): Bump werkzeug from 3.1.5 to 3.1.6 #4037 (by @dependabot[bot])
- chore: remove unused Invenio default files and Sphinx infrastructure #4036 (by @PascalRepond)
- chore: fix vulnerability alerts #4072 (by @PascalRepond)
v1.27.1
Fixes:
- chore: update rero-ils-ui to fix error in acquisition editors (by @PascalRepond)
- chore(deps): pin setuptools<82 and fix ruff errors #4028 (by @rerowep)
v1.27.0
New features:
- feat(import): add Cambridge #4002 (by @rerowep)
- Circulation: create a
scan_itemoperation_log #3634 (by @rerowep)
Enhancements:
- Files: display a link to the collections (search) in the document detailed view #3994 (by @jma)
- Request button (public UI): show info if the request limit is reached #3985
- Enhance holdings-items display for perfs and extendability #3910 (by @Garfield-fr)
- refact(permissions): add codes to can request api #3992 (by @jma)
Fixes:
- Rollover: order line creation can fail because of validation #3996 (by @rerowep)
- Library facet not filtered dynamically #3995 (by @rerowep)
- Local fields can be added to items or holdings belonging to other libraries #1706
- SIP2: fix messages translations #3423 (by @jma)
- Holdings predictions: irregular frequency error for preview #3850 (by @PascalRepond)
- RIS export: wrong file structure when a document has multiple types #3978 (by @PascalRepond)
- fix(item_types): prevent deletion when linked to serial/electronic holdings #4007 (by @PascalRepond)
- fix(scheduler): corrects enabling disabling of scheduled tasks #3988 (by @rerowep)
- chore: update frontpage link to National Library (global and vs) #3987 (by @PascalRepond)
- fix(mappings): ensure schema completeness across all modules #4017 (by @rerowep)
Other changes:
- chore(deps): Bump pip from 25.3 to 26.0 #4023 (by @PascalRepond)
- fix(fixtures): update entities and documents #4001 (by @rerowep)
- chore: update dependencies #4000 (by @rerowep)
- chore: update dependencies #3990 (by @PascalRepond)
v1.26.0
New features:
- feat: import DNB subjects as MEF links #3896 (by @rerowep)
- feat(import): add HelveticAll #3913 (by @PascalRepond)
- feat(collections): enhance detailed view #3912 (by @PascalRepond)
- Remove an item from linked collections automatically on delete #3911 (by @rerowep)
- Display own barcode from the public app #3838 (by @Garfield-fr)
- Limit the number of requests same as the number of checkouts limit #2574 (by @PascalRepond)
- Display descriptive page titles in the pro UI #3747 (by @Garfield-fr)
Enhancements:
- fix(collections): restrict adding items of selected libraries #3968 (by @PascalRepond)
- Not all locations displayed in the library facet #2658 (by @jma, @rerowep)
- operation_logs: index notif reminder_counter #3971 (by @PascalRepond)
- Uniformize configuration prefix #3478 (by @PascalRepond)
- Add "request_start_date" and "request_expired_date" into operation logs #3351 (by @PascalRepond)
Fixes:
- fix(patron_type): add missing request limits to ES mapping #3980 (by @PascalRepond)
- docs: remove confusing indication in library emails #3950 (by @PascalRepond)
- fix(import): update UGent import url #3945 (by @PascalRepond)
- bug: plaintext email contains html tags #3969 (by @PascalRepond)
- It is possible to display and edit exhibitions/courses from other libraries and organisations #2717
- Formatted string not translated in the interface #3920 (by @PascalRepond)
- Circulation: Expected fees transaction history sometimes not loading #3957
- Circulation history: "Show more" button disappears #3655 (by @Garfield-fr)
- Quick receive: cannot edit or delete without reloading page #3625 (by @Garfield-fr)
- Serial holdings: cancelling an item delete hides the item #3853 (by @Garfield-fr)
- File upload error #3936 (by @rerowep)
- String not translated in autocomplete component #3943 (by @Garfield-fr)
- Request expire date filter incorrect #3937
- Submit editor on "Enter" #3939
- Pro UI: using quotation marks crashes the search bar #3935 (by @Garfield-fr)
- Document import: re-implement number of displayed results #3929 (by @Garfield-fr)
- Remove patron role #931 (by @PascalRepond)
- Patron: country saved on wrong field if addresses are missing #3504
- The circulation policy reminder is sometimes not correct #3930 (by @PascalRepond)
- Patron editor: "cannot manage role" error is not clear #3733 (by @Garfield-fr, @jma)
- fix(permissions): restrict the overdue APIs #3951 (by @jma)
- chore(fixtures): add predicted fees to fixtures #3938 (by @PascalRepond)
- fix(files): update nginx config on docker #3933 (by @PascalRepond)
- fix(documents): set the provision activity date #3894 (by @rerowep)
- fix(patron editor): make the
countryfield bigger #3927 (by @PascalRepond) - fix: remove multiple headers #3923 (by @PascalRepond)
Other changes:
- fix: remove webpack project #3955 (by @rerowep)
- fix(holding): ES timeout in process_late_issues #3956 (by @rerowep)
- chore(actions): auto-assign PR author #3967 (by @PascalRepond)
- fix(items): restore collections in item
get_links_to_me#3960 (by @PascalRepond) - scheduler: disable tasks for development #3958 (by @rerowep)
- fix(poe): correct server command for parameters #3944 (by @rerowep)
- chore(fixtures): remove auto_renewal in some circulation_policies #3953 (by @PascalRepond)
- fix(holding): remove duplicate code #3946 (by @rerowep)
- chore: update dependencies #3942 (by @PascalRepond)
- chore(dev): add ruff linter and formatter #3884 (by @PascalRepond)
- chore: replace poetry by uv #3883 (by @jma)
- invenio: new version #3897 (by @rerowep)
v1.25.2
Fixes:
- Regression: Missing notification info in circulation history #3888 (by @Garfield-fr)
- Regression: wrong request disappears from the UI when deleted #3907 (by @jma)
- Regression: Logout button in pro interface opens a new tab #3904 (by @jma)
- Regression: editor validation messages not displayed #3900 (by @Garfield-fr)
- Regression: "checkout denied" message displayed multiple times in circulation #3902 (by @Garfield-fr)
- Regression: impossible to add a custom recipient when sending order/claim #3898 (by @Garfield-fr)
- Error when deleting a holdings that still has items with fees #3651
- LOC import: Error 404 #3908 (by @rerowep)
- Inventory list: wrong values for circulation operations in CSV export #3905 (by @PascalRepond)
- Regression: professional document search should be filtered by organisation by default #3887
- Loans brief view: request_expire_date inconsistent #3886 (by @PascalRepond)
- Item detailed view: request list displays wrong pickup location #3889 (by @Garfield-fr)
- Vendors: display notes #3821 (by @PascalRepond)
- Error when trying to add a local entity from "genreForm" field #3842
- Numpad "Enter" doesn't work in the main search bar #3890 (by @PascalRepond)
- Select component placeholder not translated #3885 (by @PascalRepond)
- fix(circulation): extend with no open date #3903 (by @PascalRepond)
- ill requests: Fix populate document #3893 (by @rerowep)
- import: fix LOC #3915 (by @PascalRepond)
- fix: css z-index sticky #3878 (by @Garfield-fr)
- fix(editor): canton field sizing #3899 (by @PascalRepond)
- fix(circ_policy): fix patron_setting not translated #3876 (by @PascalRepond)
- fix(tests): remove translation function in cipo tests #3917 (by @PascalRepond)
v1.25.1
Fix:
- fix(editor): impossible to save a textual genre_form entity #3881 (by @PascalRepond)
v1.25.0
New feature:
- Adapt backend for the new UI version (PrimeNG/Angular19) #3805 (by @Garfield-fr & @jma)
Enhancements:
- Entities: Enhance autocomplete #3854 (by @jma)
- Acquisitions: add ability to clear
parent_accountfield #2875 (by @jma) - Acquisition accounts: allow extend/collapse of hierarchy #3771 (by @jma)
- Circulation UI alerts auto-dismiss #3758 (by @Garfield-fr)
- Add a new frontpage user message fonctionality #3697 (by @rerowep)
- Add a
rawsubfield for call_numbers in document index #3833 (by @PascalRepond) - Disable the javascript requirement for login view #3826 (by @jma)
- Public interface: always show search bar in the header #3811 (by @rerowep)
- chore(jsonschemas): enhance main descriptions and remove useless $schemas descriptions #3840 (by @PascalRepond)
- messages: Add message cli #3810 (by @rerowep)
- files: change template and max_files_count #3808 (by @rerowep)
- acquisition: add logging file to rollover cli #3801 (by @rerowep)
Fixes:
- api harvester: fix timestamp #3862 (by @rerowep)
- fix(csv serializers): enhance excel compatibility #3863 (by @PascalRepond)
- fix(intended_audience): correct content of the dropdown #3869 (by @PascalRepond)
- fix(babeltheque): prevent "more info" to display before the ng app #3871 (by @PascalRepond)
- fix(acq_orders): order date facet content #3860 (by @PascalRepond)
- fix(editor): autocomplete fields scrollheight #3861 (by @PascalRepond)
- fix: null document pid in the patron transaction events index #3852 (by @jma)
- Acquisitions: adding a receipt line right after order leads to an error 403 #3414 (by @jma)
- late issues view: error 403 in console #3307 (by @Garfield-fr)
- The shortcuts using a combination with shift are not working with QWERTY or QWERTZ keyboards. #1445 (by @jma)
- The shortcuts using a combination with shift are not working with QWERTY or QWERTZ keyboards. #1445 (by @jma)
- Local entities : genre/form field #3825 (by @Garfield-fr)
- Acquisitions: wrong indentation when changing parent account to other level #2874 (by @jma)
- Acquisitions: parent account dropdown should exclude current account and its children (error 500) #2873 (by @jma)
- JSONschema editors: form
addonsare not translated #3547 (by @PascalRepond) - mappings: document_type in item is not updated on document change #3140 (by @rerowep)
- URL size limited by uwsgi in certain deployments #3806 (by @rerowep)
- Ebooks that do not exist in the provider are not correctly deleted/updated in ILS #3718 (by @rerowep)
- Operation logs: anonymize notification recipient #3807 (by @PascalRepond)
- Missing permissions on certain API endpoints #3740 (by @rerowep)
- fix(entities): wrong date in public view #3843 (by @PascalRepond)
- remote entities: fix sync #3823 (by @rerowep)
- fix(stats): make active patrons period 12 months #3819 (by @PascalRepond)
- fix(tests): fix test problems #3820 (by @PascalRepond)
- monitoring: better timestamps #3799 (by @rerowep)
Other changes:
- chore(tests): add exceptions #3864 (by @PascalRepond)
- feat(permissions): change update receipts permissions #3870 (by @jma)
- chore(permissions): add details for acquisition permissions #3872 (by @jma)
- chore(user): update config for the datepicker #3874 (by @Garfiled-fr)
- migration: create the database migration alembic file #3858 (by @rerowep)
- migration: fixes and better code #3832 (by @rerowep)
- fix(translations): use poetry commands #3844 (by @PascalRepond)
- chore: update dependencies #3824 (by @rerowep)
- cached: fix cached functions #3817 (by @rerowep)
- chore: update dependencies #3815 (by @rerowep)
- chore(fixtures): add missing serial acq settings #3803 (by @PascalRepond)
- chore: delete Twitter link in test frontpage #3800 (by @PascalRepond)
v1.24.1
Enhancements:
- OAuth: return patron_pid in the scopes #3778 (by @rerowep)
- Topics and places profesionnal detailed view: display authorized access point #3770 (by @rerowep)
- Clarify login view #3789 (by @PascalRepond)
- Periodically delete orphan harvested documents #3776 (by @PascalRepond)
- Add user info to sentry errors #2734 (by @rerowep)
Fixes:
- Pro entity detailed view: RERO data missing #3763 (by @Garfield-fr, @rerowep)
- Acquisition receipt: Document without an identifier is not displayed correctly unless selected #3732 (by @rerowep)
- Error when displaying a loan if the item has been deleted #3710 (by @rerowep)
- Server error with incorrect viewcode #3711 (by @rerowep)
- fix(inventory list): serialization error message #3783 (by @PascalRepond)
- fix ebooks dojson language #3779 (by @rerowep)
Other changes: