7.0.0-RELEASE
Documentation
Updated documentation is available here.
Features
- Dynamic decorators.
- EntityType permissions can now be set in bulk by handing out permissions to the package they are in.
- EntityTypes can now be row level secured in the permission manager. This replaces the Owned entity.
- Using the includeCategories flag in a REST query will now add categorical options to the api/v2 attribute metadata response for CATEGORICAL and CATEGORICAL_MREF attributes.
- Mapping service now supports algorithms which want to use values from a referenced entity besides ID values
- Made changes to make searching and filtering in MOLGENIS case-IN-sensitive. Changes are reflected in the following modules:
- XREF / MREF filters in the data explorer
- Searching and filtering is now performed via a SEARCH query instead of a LIKE query.
- Search in settings screen
- XREF / MREF filters in the data explorer
- M5663 As data owner I want to check package permissions when creating packages or entitytypes
- Users cannot be deleted anymore, only disabled.
- Disabled users cannot authenticate nor be used to create an authentication token
- Upgraded the App store, now called the App manager.
- New UI written in Vue
- New backend
- New app zip specifications
- Apps are now described by a config.json file
- Added app search functionality
- Increased performance by implementing different strategy for evaluating javascript validation expressions
- M5796 As dev/ops I want to be able to configure MOLGENIS using only environment variables
- store version in database instead of mutating molgenis-server.properties
- set default application data root to 'user.home/.molgenis'
- generate random one-time use password for admin
- Added group API which makes it possible to add a Group with default Roles, Permissions and Package in one simple step.
- M5811 - Add Security Manager to MOLGENIS. You can manage groups and role memberships in groups. When you create a group, a folder is created implicitly. Members can be MANAGER, EDITOR or VIEWER in this folder-context.
- Data explorer delete button for those who have the proper permission
- M5980 Questionnaire PDF download: optionally include logo, introduction text and pagenumbers
- Importer now has an option to ignore metadata changes when importing EMX
Fixes
- Fix #7542 #7665 #7666 Python tests and documentation fixes
- Fix #7611 EMX import with tags fails when ignoring metadata
- Fix #7615 Deleting all row-level secured data does not delete all data
- Fix #7631 #6930 Deleting 'cascade delete' entity type does not perform cascade delete
- Fix #7588 Editor/viewer cannot view reports in the view tab
- Fix #7543 Vue style plugins are broken when using a 'top'
- Fix #7374 Vulnerability in math.js used in MagmaScript
- Fix #7184 When I upload dataset with wrong mref value I get wrong error message
- Fix #6969 label must be specified when id is hidden
- Fix #7247 lookup attributes must be visible
- Fix #7183 CSV read exception on #values mismatch with #headers
- Fix #6906 Importing an entitytype with several columns with the same name, import without errors
- Fix #6792 When adding a new setting, using it after restart will add a comma to all inputs
- Fix #6729 When adding a compound attribute to a system entity the attribute is added twice
- Fix #7254 Cannot update attributes for an abstract entity that is extended by concrete entity
- Fix "Dataexplorer should be usable without permission on genomebrowser config entities"
- Fix #7280 Importing multiple attributes with the same name doesn't throw an error
- Fix #7297 One-to-many with integer ids retrieval
- Fix #7178 Navigator results might not be up-to-date
- Fix #7302 Search all plugin missing results
- Fix #6945 NPE importing EMX with abtract entity type data
- Fix #7131 Unclear error importing an EMX file twice in ADD mode
- Fix #7336 REST API v2 unknown error instead of not found message
- Fix #7169 When having jobs running as superuser and my account is set to inactive, my jobs still run
- Fix #2691 Infinite EMX import for EMX with deep nested formulas
- Fix #7341 Excel repository assumes case insensitive headers
- Fix #292 Change default FreeMarker number formatting
- Fix #7365 Range type mismatch unclear error
- Fix #7199 Mapping service: do not map to target expressed attribute
- Fix #7335 Metadata manager: error creating file attribute
- EMX metadata parser: validate that compound parent is not itself
- Fix #7379 Import wizard package assignment broken
- Fix #7438: 2FA pincode entry does not acquire focus
- Fix #6418 As data manager user I require that 'label' attribute cannot be nillable
- Fix #7248 Label attribute can be hidden
- Fix #7360 Entities without labels cannot be saved in the metadata manager
- Fix #7455 Can't delete entity with id containing special chars
- Fix #7474 Metadata manager one-to-many attribute creation not possible
- Fix #7440 Invalid range in input in questionnaire results in loss of progress
- Fix #7415 My generated algorithm in mapping service starts with tabs
- Fix #7416 Large text indexing results in exception
- Fix #7496 Mapping service attribute search results incorrect count/results
- Fix #7498 Mappings between molgenis 6 and 7 not compatible
- Fix #7545: SearchAll does not show thrown exceptions
- Fix #7558: Test Questionnaire EMX file is not properly localized
- Fix #7536: Cannot select label in compound
- Fix broken styling for login modal in Vue menu
- Fix #7585 Quick data import fails on dates
- Fix #7666 Python test script UploadZipAndDeleteList.py is broken (this time also for python 3)
Changes
- Removed hierarchical permissions from permission manager controller plugin
- Permissions not accessible through data explorer plugin or REST API
- Remove ontology manager plugin
- Remove gavin and annotators
#7239 Elasticsearch config changes
- Reduce Elasticsearch index size by a factor of ten
- Increase Elasticsearch indexing speed (Travis integration tests finish in 28.5 instead of 40.5 min)
- Split on case transitions: search query 'ontology' matches 'ontologyTerm'
- Split on letter-number transitions: search query 'sample' matches' 'sample123'
- ASCII folding: search query 'role' matches 'rôle', 'strasse' matches 'Straße'
- Ngram tokenization changes: like query 'ring' doesn't match 'String', 'stri' does match 'String'
Breaking changes
- Tomcat 8.5.x required instead of 7.x
- Drop-in upgrade not possible: use a clean install
- Numbers in freemarker are now by default "computer language" (https://freemarker.apache.org/docs/ref_builtins_number.html#ref_builtin_c)
- Upgraded mathjs from 2.1.1 to 4.3.0
- Entities must have a visible label attribute (this may be the id attribute if no label attribute is present)
- Only superusers can use the mapping service