All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
Fixed
- Use Unicode font for tracking labels
Added
- Redirect user directly to booking/labels page
- Return whether or not sample is in internal inventory
- Relay staff email address to shipping service
Added
- Update shipment on cancellation
Changed
- Remove CAS auth logic
Changed
- Remove leading zeroes from proposal number passed to shipping service
- Set name max length to 80 characters
- More descriptive error messages for attempting to delete referenced samples
- Update name when dewar code changes
- Update PDF report text
Changed
- All grids are now displayed in PDF reports, even if they don't have a cassette slot assigned
Added
- Perform manufacturer serial number check when creating dewars
- Add endpoint for creating inventory dewar
Changed
- Display more information in sample collection report
Fixed
- Fix permissions issues when pushing to ISPyB
Fixed
- Hide EORI from tracking labels
Added
- Add sessions endpoint
- Add endpoint to get shipments in a given proposal
Added
- Push manufacturer serial number to ISPyB
- Include more information when pushing shipment to shipping service
Fixed
- Pin Pillow version to prevent image rendering issues in FPDF2
Added
- Add option to always push samples to ISPyB
- Add option to not add suffix when creating samples
Changed
- Expeye JWT is now required in config
Changed
- Include instruments in barcode
Added
- Alert LCs 24 hours before session
Changed
- Update dependencies
Changed
- Sort samples by cassette slot in report page
Added
- Populate firstExperimentId and dewarRegistryId in dewars
Changed
- Generate barcodes using old ISPyB standard
Fixed
- Display tracking labels even if lab contact is missing
Added
- Lock sessions 24 hours before they start (for users)
Changed
- Users can access proposal resources if they're in the session (not just the proposal)
Added
- Render temporary barcodes for dewars
Changed
- Always update shipment statuses, even when getting a whole shipment tree
Fixed
- Fixed dewar prefix generation behaviour
Added
- Include dewar history when getting top level containers
- Update shipment status automatically when getting shipments
Added
- Allow user to set separate backend and frontend URLs for sample shipping
Changed
- Only display instructions once per set of tracking labels
- Only display first two lab contacts in tracking labels
Added
- GET requests for samples now return a list of parents/children
- POST requests for samples now allow users to set sample parents when creating samples
Changed
- Allow users to push unassigned samples
- Improve logic for ordinal suffixes on samples
- Display more information in tracking labels
Fixed
- More accurately pair up samples from Expeye with samples in SCAUP database
Fixed
- Use app JWT for authenticating against Expeye
Added
- Allow users to automatically generate dewar codes
Fixed
- Fix assertion when both barcodes and names are missing in container
Added
- PDF generation (:code:`/shipments/{shipmentId}/pdf-report)
- Endpoint for assigning cassette positions to data collection groups (
/shipments/{shipmentId}/assign-data-collection-groupsand :code:`/proposals/{proposalReference}/sessions/{visitNumber}/assign-data-collection-groups)
Changed
- Rename "shipment" in shipping label to "sample collection"
Added
- Query parameter to ignore samples in internal containers
- Sample collection name is now returned alongside sample list
Changed
- Sample name is now checked against macromolecule to prevent duplicate prefixes
Changed
- Rename application to Scaup
Changed
- Include barcode data when pushing to ISPyB, to ensure compatibility with the dewar logistics service
Added
- Generate bar codes for dewars
Changed
- Include dewar in line items
- Do not include walk-ins in shipment requests
- Prevent overlapping children on patches/posts
Added
- Callback handler, passes callback URL to shipping service
- Add ISPyB data to samples endpoint
Fixed
- Allow orphan containers in authorisation
- Fixed dummy authentication
Removed
- Unused top level container fields
Added
subTypecolumn inContainerisInternalcolumn inContainerisCurrentcolumn inContainersubLocationcolumn inSample- Inventory endpoints (
topLevelContaineras parent) - New filters for samples/containers listing endpoints
Fixed
- Use new proposal-specific endpoints for dewar registry data
Added
- Allow new generic TLC types
Added
- Pre session information endpoints
Added
- Samples endpoint now returns type as well
- Invalid characters are not allowed in item names
- Allow user to make multiple copies of sample
- All sample names will get prefixed with the macromolecule name
- Shipments are now session specific
Fixed
- Duplicate container names inside shipment are not allowed
Added
- Items exported to ISPyB now prepend the comments field with Created by eBIC-SH