Repository navigation
v1.1
Release Notes for CIVET v1.1
This release's pre-built executables bundle PyQt6, which is licensed under the GNU GPL v3 (or a commercial licence from Riverbank Computing). CIVET's own source code is, and always was, released under the BSD 3-Clause licence. As distributed, however, these executables are a combined work with PyQt6 and are therefore subject to the terms of the GPL v3.
From the next release onwards, CIVET uses PySide6 (LGPL v3) instead, so the executables carry no GPL obligations. If the GPL is a problem for how you use CIVET, please use a newer release.
🎯 Major New Features
Enhanced suggestion options for checks
- Support for several suggested data values: Multiple suggested data values can be specified per data name in .cif_rules files
- Dropdown menu in field dialogs: Data values can be selected from dropdown menus in the field checking dialogs
Legacy notation as default
- Legacy formatted CIF data names recommended: Discrepancies and uncertainties surrounding modern CIF data name notation
- Legacy notation for now the recommended formatting option
- This will be changed when modern notation (and/or conversion to it) is more robust
- Warnings displayed for CIFs in modern notation: Procedures that would lead to CIFs in modern notation will result in a warning being displayed
Malformed Field Name Detection and Correction
- Automatic Detection: CIVET now identifies incorrectly formatted CIF field names that use only underscores instead of the proper
category.attributeformat - Smart Correction: Suggests the correct modern field name by intelligently analyzing the field structure
- Example:
_diffrn_total_exposure_time→_diffrn.total_exposure_time
- Example:
- Prevents Duplicates: Fixing malformed fields before validation prevents duplicate entries (one from the original CIF, one added by checks)
- Manual Access: New menu item CIF Format → Fix Malformed Field Names... for on-demand checking
- Integrated Workflow: Enabled by default in the pre-check cleanup phase of field validation
✨ User Experience Improvements
Enhanced Validation Workflow
- Pre-Check Cleanup: New configuration section for automated corrections before validation
- Clearer Dialogs: Improved button labels in input dialogs
- Changed "Use Default" to "Use suggested (default) value" for clarity
- Better Workflow: Malformed field fixes run before standard field checks, streamlining the validation process
Updated Configuration Dialog
- New "Pre-Check Cleanup" section with "Fix malformed field names" option (enabled by default)
- Recommended options now clearly marked with bold styling
- Expanded dialog width for better readability (450px → 500px)
🐛 Bug Fixes
Field Rules Corrections
- 3DED Field Rules: Fixed flux density unit description
- Changed from
e-/Ųtoe-/Ų/s(added time component)
- Changed from
CIF 2 header
- CIF 2 header by default: A CIF 2 header is now added by default as CIVET strives to adhere to CIF 2 syntax (e.g. UTF8 support)
🔧 Technical Details
New Methods in CIFDictionaryManager
find_malformed_fields(content): Scans CIF content for incorrectly formatted fields_guess_modern_equivalent(field_name): Intelligently guesses correct modern field namesfix_malformed_fields_in_content(content, fixes): Applies corrections to CIF content
Updated Components
config_dialog.py: New pre-check cleanup configuration groupmain_window.py:- New
fix_malformed_field_names()method - New
_fix_malformed_fields_before_checks()workflow integration - Added menu action for manual malformed field fixing
- New
input_dialog.py: Clearer button text for user actions
🎓 Use Case
This release specifically addresses issues with CIF files generated by data processing pipelines that output field names using incorrect formatting. For example:
Before v1.1:
- Pipeline outputs:
_diffrn_total_exposure_time - Validation adds:
_diffrn.total_exposure_time
With v1.1:
- CIVET detects malformed:
_diffrn_total_exposure_time - Automatically suggests:
_diffrn.total_exposure_time - User approves correction
🙌 Acknowledgments
Dr Arianna Lanza is thanked for continued testing and feedback.
Dr James Hester is thanked for testing and feedback on many things CIF.
This software was developed primarily using Anthropic's Claude Sonnet 4.5 AI assistant.
Full Changelog: v1.0...v1.1