EPrints Technical Mailing List Archive

See the EPrints wiki for instructions on how to join this mailing list and related information.

Message: #10378


< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

Re: [EP-tech] EPrints 3v5 release candidate 1 - ready for Community testing


Hi Yuri,

Sorry, for the long reply.  Hopefully the five bullet points below answer most of your questions.  If not there is more detail that follows.

  • The reason for 3.5 is that there are some major changes from 3.4, an upgrade between versions of 3.4.x should be relatively trivial (dependent on local changes) whereas an upgrade between 3.4 and 3.5 will require slightly more effort. 
  • There will be further versions of 3.4.x with the aim to release 3.4.8 around the end of August this year (2026).
  • EPrints 3.5.0 is not intended to be a version you can upgrade to, it will only be suitable for those want to creating a new EPrints repository or importing data from a non-EPrints repository/system.
  • EPrints 3.5.1 will be the first version intended for upgrade from 3.4.x.  
  • EPrints 3.5.1 will be packaged with various tools to assist the upgrade from 3.4.x.

A non-exhaustive list of the "breaking" changes between EPrints 3.4 and 3.5 are as follows.  As you may be able to imagine there could be tools written to facilitate upgrading through these breaking changes and that it is difficult to produce an exhaustive list as this is dependent on how your 3.4.x repository is configured/modified:

1. a flavours "inc" file is replaced with a YAML file (called package.yml) at the archive level. 

2. Bootstrap is the default for archive templates and general styling.  Although an eprints_classic_style ingredient is included if you want to continue using the original styling or use these as a basis for your archive's current branding.

3. Use of Prototype _javascript_ has been completely removed.  Theoretically this was all used "under the hood" to provide an EPrints _javascript_ library, which has been rewritten to use native (to modern browsers) _javascript_.  However, if you archive has bespoke changes you might be using some Prototype _javascript_ directly.

4. EPrints 3.5 introduces the concept of entities for people and organisations.  This will require generating these for the current eprint records (e.g. creators, editors, contributors, corporate creators, funders, etc.).  We have done some testing exporting 3.4.x eprints records as EP3XML and importing to 3.5.0.  (We have actually found in 3.5.0 rc1 bug with this if you do not first reconfigure your EPrints repository to support pre EPrints 3.5 EP3XML but this will be fixed before the full 3.5.0 release).  We have not significantly looked into how you might go about this if you tried to use an EPrints 3.4 database on 3.5.0.  (This is why we are saying that EPrints 3.5.1 will be the first EPrints designed for upgrading from 3.4.x).

5. EPrints 3.5 databases will use UTF8-MB4 (4 byte) character encoding by default (rather than plan UTF8 (3 byte) encoding).  Again one of the main tasks for 3.5.1 will be investigation into how to manage this change of encoding.

There are various other changes which may affect the appearance of certain pages on your EPrints repository if you try to upgrade it to 3.5.0, such as dynamic page templating, introduction of an in-screen PDF viewer and panels based layout for abstract/summary pages.  

Once EPrints 3.5.0 is available our next step will be to take real-world examples (e.g. cloned VMs) of EPrints 3.4.x repositories and investigate upgrading them to 3.5.0, this will inform the tools required to facilitate this upgrade and formal advice/instructions of how to upgrade from EPrints 3.4.x to 3.5.1, when that release becomes available.  

We feel it has been important to initially somewhat decouple producing a new major* version of EPrints and how you would upgrade to this.  Otherwise, you will end up being far too timid in the changes you make, defeating the purpose of producing a major new version.  I have made the comment to colleagues that "developing the EPrints core codebase can be like a game of 5-D chess".  All the following thoughts need to be kept in mind.

1. How might a change affect upgrading to this new version?

2. Will the change impact backwards compatibility?

3. How will the change impact use of any of the many popular Bazaar plugins, ingredients, etc.?

4. How or even will an archive's config (which may be legacy dating back to EPrints 3.2.x or earlier) work with a particular change? (At what point do you say that is out of scope?)

5. How will the interaction between a number of different plugins be affected by a particular change.  (One of the major "under the hood" change in EPrints 3.5 are changes to the load path to make load order behaviour more consistent between different parts of the load path (e.g. Perl modules, Perl config, workflows, citations, page templates, phrases, CSS, _javascript_. etc. under perl_lib, lib, flavours, ingredients, site_lib and archive)).

If you fixated about all of the above before making a change, you would never make it.  Obviously, we don't want to make a change that will lead to the need of a nasty kludge to facilitate upgrading but sometimes either that or the requirement for the maintainer of a repository to replace their legacy configuration may be the only realistic approach.

Regards

David Newman

*I am aware that the version numbering conventions don't initially suggest this for 3.4 to 3.5.

On 24/06/2026 18:31, yurj@alfa.it wrote:
CAUTION: This e-mail originated outside the University of Southampton.

CAUTION: This e-mail originated outside the University of Southampton.

Great news!

 Some questions: why 3.5 and not 3.4? What are the breaking changes? How
to update archive cfg directory?

 We would like to update our repository (3.3) this year, so 3.5 seems
the best candidate. Or is it better to go for 3.4 and then perform a
standard upgrade procedure? Thanks!


Il 2026-06-24 16:45 Justin Bradley ha scritto:
Hi All,

 EPrints 3v5 release candidate 1 is now ready for Community testing!

 We welcome you to try out our latest version of EPrints.
 The plan is that the Community try it out and fed back to us with any
snags via GitHub. Once any show stopping snags have been addressed, we
will look to create a full release of EPrints 3v5.0. Any great ideas
can be put on the roadmap for 3v5.1.

 To get started, head over to the Wiki, which has installation
instructions and details of what you need.
 https://eur03.safelinks.protection.outlook.com/?url=""> [1]

 We are collecting minor fixes to RC1 here -
https://eur03.safelinks.protection.outlook.com/?url=""> [2]
 Many of these have already been addressed, so it may be easier to
update to master.

 Regards,
       Justin

 --
 Professor Justin Bradley
 Director, EPrints Services [3] – _digital repository solutions_
 Enterprise Software Services – _hosted, supported, reliable_
 School of Electronics and Computer Science
 University of Southampton
 
justin@soton.ac.uk / B32 1023



Links:
------
[1] https://eur03.safelinks.protection.outlook.com/?url="">
[2]
https://eur03.safelinks.protection.outlook.com/?url="">
[3]
https://eur03.safelinks.protection.outlook.com/?url="">

*** Options:
https://eur03.safelinks.protection.outlook.com/?url="">
*** Archive:
https://eur03.safelinks.protection.outlook.com/?url="">
*** EPrints community wiki:
https://eur03.safelinks.protection.outlook.com/?url="">

*** Options: https://wiki.eprints.org/w/Eprints-tech_Mailing_List
*** Archive: https://www.eprints.org/tech.php/
*** EPrints community wiki: https://wiki.eprints.org/