Skip to main content

Joinup 2.8.0 Latest release

Published on: 16/02/2026

New features

  • ISAICP-10366: Assessments
    • ISAICP-10323: Create a POC for the assessments based on entities
    • ISAICP-10367: Rename 'Assessment' bundle as 'Report'
    • ISAICP-10368: Rename 'Assessment content' entity type as 'Assessment'
    • ISAICP-10369: Rename 'Assessment content type' entity type as 'Assessment type'
    • ISAICP-10380: Precreate the EU list of institutions
    • ISAICP-10381: Rename bundle machine name to public_organisation
    • ISAICP-10382: [PoC] Widget to select/create the organization
    • ISAICP-10384: Rename field is_provided_by as provider
    • ISAICP-10386: Convert 'name' to a base field
    • ISAICP-10395: Rename bundle key to 'type'
    • ISAICP-10399: Improve testing of oauth_client
    • ISAICP-10401: Fix failing tests in epic
    • ISAICP-10412: REST UI should not be enabled in production
    • ISAICP-10413: Create a schema for POST data
    • ISAICP-10414: Custom REST resource for assessment report
    • ISAICP-10415: Limit the list of countries to EU
    • ISAICP-10416: Assessment moderation
    • ISAICP-10417: Add behat tests for oauth_client
    • ISAICP-10418: Changes to workflow
    • ISAICP-10419: Access control
    • ISAICP-10420: Create an 'Assessments' OAuth2 request type
    • ISAICP-10422: [analysis] Joinup API paths patterns
    • ISAICP-10423: Changes to assessment_report REST resource
    • ISAICP-10424: API documentation
    • ISAICP-10425: Minimal formatting for the OAuth2 client request type description
    • ISAICP-10427: GET resources to query existing data
    • ISAICP-10429: Rename 'Assessment' bundle as 'Report' (leftover)
    • ISAICP-10430: Implement entity constraint to restrict request status transitions
    • ISAICP-10431: Assessment statements
    • ISAICP-10432: Bulk actions and filters for assessment entities
    • ISAICP-10434: Reference to previous assessment
    • ISAICP-10437: Reimport countries to include the ISO code & EU membership
    • ISAICP-10441: Assessment report canonical page is broken
    • ISAICP-10443: Download assessment as PDF
    • ISAICP-10444: Clean up after report deletion
    • ISAICP-10445: Allow to filter report entities
    • ISAICP-10446: Review report tab
    • ISAICP-10452: Problem with the model and the schema
    • ISAICP-10465: I cannot see the description of the Assessments operations.
    • ISAICP-10483: Improvements in the assessment report form
    • ISAICP-10489: Binding requirement description
    • ISAICP-10490: Add initiative description field
    • ISAICP-10492: Binding requirements documents fail to be duplicated
    • ISAICP-10494: Add tests to entity_form_field_label
    • ISAICP-10495: Convert assessment asset 'landing_page' field to 'External links only'
    • ISAICP-10497: Remove 'N/A' option from 'interpretation' field
    • ISAICP-10498: Add one more statement bundle in reports
    • ISAICP-10515: Assessment reports URLs
    • ISAICP-10516: Assessments reports page
    • ISAICP-10517: Make legacy page unpublished
    • ISAICP-10518: Change 'Add Assessment report' to 'Create assessment report'
    • ISAICP-10519: Move 'Initiatives' as first tab
    • ISAICP-10520: Set RDF Sync mappings according to the data model
    • ISAICP-10525: Binding requirement: Hide the multivalue fields label
    • ISAICP-10526: Binding requirement: Hide Assets field label
    • ISAICP-10527: Move the 'Interoperability solutions' between 'Affected stakeholders' and 'Documents'
    • ISAICP-10528: Remove 'Drag to re-order taxonomy terms.' from stakeholder country field
    • ISAICP-10529: Tabs are missbehaving on smaller screens
    • ISAICP-10530: Change interpretation values to 'Beneficial, Negligible, Risky'
    • ISAICP-10531: Assessment report state field
    • ISAICP-10532: Search API integration
    • ISAICP-10534: Change the file field for assessments, statements and binding requirements
    • ISAICP-10535: Rename General, Initiatives tabs 'Link' label to 'Documented in'
    • ISAICP-10536: Simplify wording (label/description) of statement fields
    • ISAICP-10537: Replace assessment_statement judgement label
    • ISAICP-10538: Test assessment report CRUD
    • ISAICP-10539: Convert 'Code' fields to term references
    • ISAICP-10540: Handle the statement type
    • ISAICP-10542: Delete unused 'description' fields
    • ISAICP-10543: Config schema issues for assessments
    • ISAICP-10544: Assessment supporting documents section displays unnecessary fields
    • ISAICP-10545: Statement supporting document
    • ISAICP-10546: The 'entity:assessment_statement:33516' plugin does not exist.
    • ISAICP-10548: No term exists for vocabulary 'assess_statement_type' and identifier 'technical'
    • ISAICP-10549: Label is missing for the name field of assessment entity-type, bundle 'expression'
    • ISAICP-10550: Revert ISAICP-10534
    • ISAICP-10551: Fix tagify padding/margin
    • ISAICP-10552: Interoperability solutions tab
    • ISAICP-10560: Test RDF export
    • ISAICP-10570: Improve report view page
    • ISAICP-10571: Final comment in report
    • ISAICP-10572: Binding Requirement layout/style in edit mode
    • ISAICP-10573: Link to solution from binding requirements
    • ISAICP-10574: Disable webform + moderator form
    • ISAICP-10579: Assessment sub-entity access control
    • ISAICP-10580: Page cache not flushed
    • ISAICP-10582: Assessment styling tasks
    • ISAICP-10586: Quality rule violations in ProvidedByWidget
    • ISAICP-10587: Don't duplicate the organisation in API
    • ISAICP-10588: API: GET all assessments
    • ISAICP-10589: Decide RDF URI pattern for each object
    • ISAICP-10590: Prevent solutions added via report to be indexed
    • ISAICP-10591: Message to encourage user to search first for an existing solution
    • ISAICP-10592: File uploads via API
    • ISAICP-10597: Inline radio buttons of relevant_report field
    • ISAICP-10598: Handle assessments collector collection
    • ISAICP-10603: Merge develop to assessments epic
    • ISAICP-10604: Improve IOPEU form questions -Public Organistation
    • ISAICP-10605: Improve IOPEU form questions -Remaining Barriers
    • ISAICP-10606: Improve IOPEU form questions - Trans-European digital public service
    • ISAICP-10607: Improve IOPEU form questions - Initiatives
    • ISAICP-10608: Improve IOPEU form questions -Affected Stakeholders
    • ISAICP-10609: Improve IOPEU form questions -Binding requirements supporting documents
    • ISAICP-10611: Access control (follow up)
    • ISAICP-10612: Add the final comment to the resource API
    • ISAICP-10613: GET request for the full assessment
    • ISAICP-10614: Expose RDF URI in report API
    • ISAICP-10616: Fix AssessmentContext issue in behat tests
    • ISAICP-10618: Error when existing provider is used by creating report
    • ISAICP-10619: Rename permission
    • ISAICP-10620: Users with 'create assessment report' perm should be able to create Draft report
    • ISAICP-10621: Save option and status transitions
    • ISAICP-10627: Review and improve test coverage
    • ISAICP-10628: Fix PHPUnit tests
    • ISAICP-10629: EPIC-10366-Assessments tests fail
    • ISAICP-10630: Assessment Moderation Form
    • ISAICP-10631: State Transition Labels for assessment report
    • ISAICP-10632: State-Based Edit Access for AssessmentReport
    • ISAICP-10633: Wrong assessment links under the Admin page
    • ISAICP-10634: Assessment moderator role
    • ISAICP-10635: oAuth does not pass through to ephemeral environments
    • ISAICP-10636: Duplicating paragraphs with a URI duplicates the URI
    • ISAICP-10637: Create assessment report
    • ISAICP-10638: Use trait for assessment sub-entities deletion
    • ISAICP-10639: Constrain to not allow a country when an European organisation is selected
    • ISAICP-10640: Add pagination to /api/assessments/v1/asset
    • ISAICP-10641: Examples of openapi yaml file not working
    • ISAICP-10642: Admin assessments screen problematic links
    • ISAICP-10643: REST views: Add pagination information and total count result
    • ISAICP-10649: Publish a postman collection for the assessments API
    • ISAICP-10664: Possible obsolete file in Assessments EPIC
    • ISAICP-10665: Assessment related entities should follow the status of the parent
    • ISAICP-10666: Add pagination to all resources
    • ISAICP-10667: Restrict “New Assessment Report to Be Reviewed” Notification to Assessment Moderator Role
    • ISAICP-10668: Add Report ID to Assessment Review Notification
    • ISAICP-10681: Per request type custom message in notifications
    • ISAICP-10683: Modernize code - convert behat annotations to attributes
    • ISAICP-10687: Improve new assessment form sections fonts
    • ISAICP-10688: Deploy Assessments on POC
    • ISAICP-10695: Fields possibly not parsed through the API
    • ISAICP-10700: Assessment related entities should follow the status of the parent - API version
    • ISAICP-10701: Exclude reports by any search api field view
    • ISAICP-10702: Remove add new option from European Union bodies
    • ISAICP-10703: Change 'General' tab name To Binding requirement'
    • ISAICP-10704: Create new Location field in TDPS
    • ISAICP-10705: Create new column with solution description
    • ISAICP-10706: Change Title name of the solution to 'Title of Solution'
    • ISAICP-10707: Create 'European Union' option available for selection in the Affected stakeholders
    • ISAICP-10709: Apply ISAICP-10702 to swagger/API
    • ISAICP-10729: Remove remaining barriers from Identified effects on cross-border interoperability
    • ISAICP-10730: Title change of the binding requirements
    • ISAICP-10731: Renaming the tab sections
    • ISAICP-10732: Change names of sub entities of binding requirement description
    • ISAICP-10733: Rename Cancel button of the binding requirement
    • ISAICP-10747: Convert hard-coded query column to optional parameter
    • ISAICP-10748: Extend description value in assessment report binding requirement's solution table
    • ISAICP-10749: JSON response on 401
    • ISAICP-10750: Empty values are not counted as empty
    • ISAICP-10751: Pagination details in responses
    • ISAICP-10773: Title is missing in pdf report
    • ISAICP-10776: Return JSON responses for all 4xx and 5xx responses
    • ISAICP-10780: Move assessment's 'Remaining barriers' description between label and input
    • ISAICP-10782: Cleanup swagger styling
    • ISAICP-10788: Change description of 'Remaining barriers to cross-border interoperability'
    • ISAICP-10789: Rename Cancel button of the binding requirement -Revert
    • ISAICP-10790: Renaming the tab sections follow up
    • ISAICP-10791: Introduce new country criterion in advance search
    • ISAICP-10792: Assessment statements should be editable if the parent is editable
    • ISAICP-10795: Textarea bottom margin
    • ISAICP-10798: Assessment statement interpretation term's canonical page is accessible by everyone
    • ISAICP-10799: [UI] First checkbox at 'Affected stakeholder(s)' is greedy, second does nothing
    • ISAICP-10800: Update Assessments epic with the latest develop
    • ISAICP-10801: Slow listing responses
    • ISAICP-10803: Description for the Interoperability solutions tab of the binding requirement
    • ISAICP-10804: Assessment related entity remains unpublished if it was added to a public report
    • ISAICP-10805: Improve behaviour for cross-border interoperability section
    • ISAICP-10806: Empty participation entities are created
    • ISAICP-10807: Mismatching cardinality on Assessment API and on UI
    • ISAICP-10808: [API] Documents of different binding requirements are added to the first item
    • ISAICP-10810: Binding requirement's documented_in property cannot be created by API
    • ISAICP-10811: Binding requirement expression description is required on API, optional on UI
    • ISAICP-10814: Update description of GET /asset in swagger
    • ISAICP-10817: Specify 'uniqueItems' constraint
    • ISAICP-10822: Align Assessment epic

Improvements

  • ISAICP-10815: Assign UUID to 'European Union' spatial term
  • ISAICP-9974: community_content_listing.feature takes 188s
  • ISAICP-10137: Update mydumper (v16 => v19) according to infra
  • ISAICP-10178: Playwright test for the language picker
  • ISAICP-10253: Enable best-practice instead of separated rules
  • ISAICP-10363: Introduce Country filter in the advanced search
  • ISAICP-10410: Locking a translation
  • ISAICP-10435: Misleading warning regarding the category
  • ISAICP-10481: Update phpoffice/phpspreadsheet to 5
  • ISAICP-10488: Refresh mysql table statistics after DB restore
  • ISAICP-10491: Improve install-clean performance
  • ISAICP-10499: Slowness from babel contrib
  • ISAICP-10509: Ambiguous error messages logged by EuOssCatalogue
  • ISAICP-10512: Delete options for draft assessments
  • ISAICP-10594: Rename the search filter of the Interoperable Solutions
  • ISAICP-10595: Rename the 'Solution Function' filter
  • ISAICP-10607: Improve IOPEU form questions - Initiatives
  • ISAICP-10617: Investigate alternative ways for images in the tiles
  • ISAICP-10626: Show the Solution Type in the Detailed Information field
  • ISAICP-10645: publiccode.yml Validation Alternatives
  • ISAICP-10663: Create 'OSS Catalogue Manager' role
  • ISAICP-10682: [rdf_sync] Add support for deriver in RdfUriGenerator
  • ISAICP-10686: Portal Glossary improvements
  • ISAICP-10779: New banner for Collection's Announcement mail
  • ISAICP-10791: Introduce a new country criterion in advance search

Bug fixes

  • ISAICP-10842: Commits removed from develop
  • ISAICP-10796: Not all ExistingSite tests are triggered
  • ISAICP-9742: Browser cache in selenium chrome behaves differently between CI and DDEV
  • ISAICP-10333: Hide title on nodes should not stop the Title from rendering
  • ISAICP-10464: Administer vs Manage OAuth2 clients permission
  • ISAICP-10447: JavaScript assets need recompile
  • ISAICP-10479: Playwright tests are failing but pipeline succeeds
  • ISAICP-10506: Broken requirement on the bot
  • ISAICP-10511: Errors in logs from babel module
  • ISAICP-10524: Intermittent playwright failures with sticky header
  • ISAICP-10558: Pagination styling is broken
  • ISAICP-10559: Wrong link for external solutions in the Assesment report
  • ISAICP-10563: Fix contextual_links.feature:34 test
  • ISAICP-10575: Add back EU to the list of countries
  • ISAICP-10577: Data too long for column 'oss_features_value'
  • ISAICP-10585: Incorrect behaviour for anonymous users on the Bookmark page
  • ISAICP-10593: TypeError: Drupal\cas_attributes\Form\CasAttributesSettings
  • ISAICP-10599: OAuth does not work in ephemeral environments
  • ISAICP-10601: Restart the selenium browser session between each @javascript behat scenario
  • ISAICP-10644: Random failure for calendar test
  • ISAICP-10647: General warnings for composer
  • ISAICP-10768: Hide language selector for normal users in user profile

Technical debt, security

  • ISAICP-10802: Add optional Python 2 service for publiccode-editor build (Debian 13 compatibility)
  • ISAICP-10373: Minor improvements to Custom page OG Menu link manager
  • ISAICP-10438: Fix typical service construction antipatterns
  • ISAICP-10480: Remove debug Behat step
  • ISAICP-10501: Unpin drupal/publication_date
  • ISAICP-10502: Unpin drupal/search_api
  • ISAICP-10505: Unpin cas_mock_server
  • ISAICP-10523: Temporarily revert Webforms handling
  • ISAICP-10581: sa-contrib-2025-121
  • ISAICP-10624: Modernize code - convert behat annotations to attributes
  • ISAICP-10625: Modernize code - additional plugin annotations to attributes
  • ISAICP-10627: Review and improve test coverage
  • ISAICP-10648: PKSA-1gck-s111-yq7g
  • ISAICP-10691: Review/update search_api patches
  • ISAICP-10696: Role Delegation - Moderately critical - Access bypass - SA-CONTRIB-2026-002
  • ISAICP-10719: Drop asset-packagist
  • ISAICP-10819: Migrate plugin annotations