Skip to content

Releases: usnistgov/NEMO

7.4.0

10 Mar 22:01
a06186b

Choose a tag to compare

Upgrade notes

  • Remove django-jsonform: this dependency is no longer used and must be removed from your INSTALLED_APPS.
  • Only if using custom policy classes or for plugin developers:
    • Update policy settings: to prevent deprecation warnings, rename NEMO_POLICY_CLASS to MAIN_NEMO_POLICY_CLASS and NEMO_POLICY_CLASSES to EXTRA_NEMO_POLICY_CLASSES (backward compatibility is temporarily maintained).
    • Developers: when adding policy classes, update your AppConfig to use the new add_extra_policy_class helper from NEMO.plugins.utils.

Improvements

  • Added configurable calendar resolution and label interval.
  • Added a link back to staff charge on usage events when both are started at the same time from the tool control page
  • Handling user access errors more gracefully in area views (tablet and web) by showing the error instead of a blank error page
  • Added linked consumable withdrawal details in calendar usage
  • Added option to stop charging staff time but keep using the tool
  • Added customization to hide tool owners information from the tool details tab
  • Users are now able to create reservations on the "reservation and use" calendar view
  • Added new customization to choose what the default event view should be on the calendar
  • Added conditions for showing labels in tool control customizations, so only options used are shown
  • Added "usage_event" to autocomplete fields in consumable withdrawal admin to speed up page load
  • Added consumable category filter in consumable withdrawal admin
  • Added category and area filters to jumbotron and status dashboard views: ?category=<category_one>&category=<category_two>&area=<area_name_one>&area=<area_name_two>
  • Added first_name, last_name, email and correlation_id parameters to the URL for creating new users to have it pre-fill the corresponding fields (you can now use /users/new/?first_name=John&last_name=Smith&email=john.smith@example.com&correlation_id=12345). The correlation id will be set on the user but not saved in the database (it will be available in signals for linking another model)

Bug fixes

  • Fixed staff on tool not seeing charges on behalf of users in my usage
  • Fixed adjustment requests not showing correctly for child tools
  • Fixed adjustment requests not showing own requests for users who are also reviewers
  • Fixed calendar view not going all the way to the end of the day
  • In tool control, when required resources are unavailable and they don't have a category, nothing will be shown (instead of (None) previously)
  • Fixed policy issues with child tools (when checking required_resources for example)
  • Fixed reservation not being shortened when using child tools
  • Fixed verbose names on tool fields still having underscores
  • Fixed django warning related to naive datetime (when checking policy off times for reservations)
  • Fixed Oracle issues with JSON field in python 3.13 (when Oracle drivers already translate string into dict but django tries to do it again)
  • Fixed usage view not displaying customer label for account managers

Libraries

  • django-jsonform was removed
  • cryptography 46.0.3 -> 4.0.5
  • Django 4.2.28 -> 4.2.29
  • pymodbus 3.11.4 -> 3.12.1
  • Pillow 12.1.0 -> 12.1.1

7.3.7

07 Feb 20:03
0f6748e

Choose a tag to compare

Improvements

  • Tool usage history now shows tool name if the tool has parents/children

Bug fixes

  • Fixed session timeout middleware which was incorrectly stopping non-authenticated ajax requests

7.3.6

05 Feb 16:23

Choose a tag to compare

Bug fixes

  • Fixed pre usage questions not showing up on kiosk
  • Fixed capitalization of tool fields in Detailed administration

7.3.5

04 Feb 22:45

Choose a tag to compare

Libraries

  • Django 4.2.27 -> 4.2.28

7.3.4

03 Feb 15:57
a0dd264

Choose a tag to compare

Improvements

  • Moved tool qualification expiration to individual tools
  • Usage data history tab in tool control is now shows all usage history (not just ones with run data)
  • Updated late cancellation penalty to only apply to start time being moved later. if the start time is moved earlier, that is allowed

Bug fixes

  • Fixed issue with usage data history not showing for child tools

7.3.3

23 Jan 21:32
e6ccdc3

Choose a tag to compare

New features

  • Added late cancellation reservation threshold (in minutes) to area and tool to mark late cancellations as missed. If set to 5 min for example, when a user cancels or moves a reservation less than 5 minutes before it starts, that reservation will be marked as missed. Thanks MIT.nano for the contribution!
  • Now tracking when tool is shut down (not operational) in UnplannedOutage model. It only covers cases when a tool status is changed to operational/non-operational from detailed admin or from a problem report. The model is accessible through the API as well. Thanks Cornell NanoScale Facility for the contribution!

Improvements

  • Added detailed admin validation for charges to never have an end date before the start date
  • Now rounding reservation duration in detailed admin list display
  • Added customization option to decide whether to let staff lock tool on problem shutdown or not (instead of being on by default)
  • Added a new option for supervisors to see all managed users' usage in their usage page
  • Allowing to define the order in which to display usage and alerts and occupancy based on the order of the parameters in the URL (for kiosk and area access pages)
  • Added alert creator and creation time in alerts page
  • Added new use_project_billing permission that can be given to users who should be able use the Administration -> Project billing page. Thanks Stanford SNF for the contribution!
  • Now allowing any user with the add_consumablewithdraw permission to use the supplies page in the Administration menu and in the kiosk, to checkout consumables for other users. Thanks MIT.nano for the contribution!

Bug fixes

  • Fixed error thrown when trying to create a reservation when a tool list is selected in calendar
  • Fixed alerts, occupancy and usage showing after badging in on area access tablets even without the parameters being present
  • Fixed tooltips in recurring charges showing True/False instead of showing the reason the charge is invalid
  • Fixed validation error when consumable withdrawal quantity is null preventing proper comparison with consumable quantity

Libraries

  • Pillow 12.0.0 -> 12.1.0
  • packaging 25.0 -> 26.0

7.3.2

09 Jan 17:58

Choose a tag to compare

Bug fix

  • fixed migration failing when adjustment requests are referencing a deleted usage event or area access record (displaying a warning instead)

7.3.1

08 Jan 14:05
cd72d69

Choose a tag to compare

Bug fixes

  • Added missing migration for area tree index
  • Fixed error when showing adjustment requests only for reviewers and using a non remote-user authentication method
  • Staff should always be able to shut down a tool when reporting a problem (even when problem shutdown is disabled for users)

7.3.0

19 Dec 20:25
d3e879e

Choose a tag to compare

Upgrade notes

  • Make sure to update the adjustment request email in Customization -> File & email templates with this one
  • Support for python 3.9 has been removed (end of life)
  • In settings.py you can remove django_jsonform from INSTALLED_APPS since it is no longer needed
  • The python version in the docker container has been updated to python 3.13 (make sure to update the volume paths in docker-compose.yml if you are overriding files in the container)
  • Plugins can now make use of the new NEMO_POLICY_CLASSES in settings.py which allows multiple policies. They have to all be OK for each method (save reservation, enable tool etc.) to be allowed

New features

  • Added Account managers for accounts, who can see usage across all the projects under their managed accounts. Also added an option to email all account managers. Thanks UPenn Singh Center for the contribution!
  • Users can now pick their landing page if they want to go directly to the Calendar or Tool control (and bypass the dashboard). This can be done in their preferences. Clicking on the "NEMO" link at the top left of the menu bar will always take them to the dashboard. Thanks UPenn Singh Center for the contribution!
  • Added consumable checkout to the Kiosk (it needs to be enabled in Customization -> Application). Thanks Stanford SNF for the contribution!
  • Tool usage questions are now in a separate Tool usage questions part of Detailed administration. They can now be used with specific projects, groups, users, and can be set for multiple tools at once
  • Added a way for users to make their own custom tool lists in the calendar
  • Added a reservation note which can be added on calendar reservation events. Thanks Stanford SNF and Michigan Lurie Nanofabrication Facility for the contribution!
  • Added option in Customization -> Tool to allow tool usage note to be set. If enabled, the reservation note can be automatically copied into the usage note. The usage note can be set/updated before turning on the tool and before turning off the tool
  • Added supervisor <-> managed users relationship, allowing to set managed users for a supervisor and allowing them to see the usage of all their managed users
  • Added a required area occupancy minimum in tools to prevent tool engagement unless there are at least that many people logged in the area. Thanks MIT.nano for the contribution!

Improvements

  • Added charge number and table search in transfer charges page. Thanks UPenn Singh Center for the contribution!
  • Updated the method to safely initialize queryset during startup to not throw exception on missing tables
  • Added new "manager edit mode" (which needs to be turned on in Customizations -> Accounts and projects) to allow adding/removing project and account managers on the accounts and project page
  • Added usage_event variable to required unanswered email template. Thanks Stanford SNF for the contribution!
  • Added a note field to accounts. Thanks USC Nanofab for the contribution!
  • Optimized loading time for My usage and User pages
  • Optimized general loading time everywhere by caching Customizations
  • Added readonly primary owner on tools field in Detailed administration -> Users
  • Added reservation abuse weight to tool and area configuration to allow giving more weight to some tools/areas in the abuse calculations. Thanks MIT.nano for the contribution!
  • The Kiosk URL now allows category=<category_name> and tool=<tool_name> (both parameters can be chained multiple times). Thanks MIT.nano for the contribution!
  • The Kiosk URL now supports virtual_inputs=false to disable virtual inputs (virtual keyboard) by kiosk. Thanks MIT.nano for the contribution!
  • All request parameters will now be passed from welcome_screen and farewell_screen URLs to the kiosk if the Kiosk button is enabled. Thanks MIT.nano for the contribution!
  • Both welcome_screen and farewell_screen can show alerts and usage by adding usage and alerts parameters in the URL
  • New UI for adjustment requests that should make it easier to filter and organize them. It also provides a major load time boost. Thanks UPenn Singh Center for the contribution!
  • Users can now make an adjustment request to have the charge moved to a different project. Adjustment requests now keep track of original charge data (in case you want it reverted after applying a change). Thanks Michigan Lurie Nanofabrication Facility and Cornell NanoScale Facility for the contribution!
  • Added option to only enable adjustment requests for reviewers (regular users won't be able to create new ones). Thanks Michigan Lurie Nanofabrication Facility for the contribution!
  • Added option in Customization -> Adjustment requests to allow adjustments until a certain day each month (billing day). Thanks Stanford SNF and MIT.nano for the contribution!
  • Updated user profile view by adding tools they are reviewers on, managed accounts, managed projects, managed users and supervisors.
  • Added usage, occupancy and alerts parameters to Jumbotron URL to customize sections displayed. If parameters are false, that section won't be shown. Thanks UPenn Singh Center for the contribution!
  • Jumbotron tables will automatically scroll when the data overflows. Thanks UPenn Singh Center for the contribution!
  • Added staff charge note to usage export. Thanks Stanford SNF for the contribution!
  • Tool comments can now be visible for x number of days (999 days max)
  • Added option in Customization -> Tool to allow changing tool configuration while the tool is in use. Thanks Stanford SNF for the contribution!
  • Added option in Customization -> User to decide whether new users should be active or inactive by default when creating them
  • Removed dependency on django-jsonform for tool properties (using our own widget now)
  • Added options for default reminder days and whether users should receive the reminders at all in Customization -> Recurring charges. Thanks MIT.nano for the contribution!
  • Detailed administration actions now follow django permissions (so someone without add permission cannot use the duplicate tool configuration action for example). Thanks MIT.nano for the contribution!
  • In Detailed administration -> Tools, added option to enable shutting down a tool when reporting a problem.
  • Added option to customize the banner displayed on the dashboard when Facility rules tutorial is needed (in Customization -> Application) and to customize the Facility rules tutorial name itself
  • When a reservation title or reservation note is updated, a calendar invite will be sent as well. Thanks MIT.nano for the contribution!
  • Added consumable category filters and invalid filter in Recurring charges. Thanks MIT.nano for the contribution!
  • Added option when staff are reporting a tool problem to not lock the tool (only displayed if the tool does have an interlock). Thanks MIT.nano for the contribution!

API

  • Added filters by consumable name in consumables endpoint
  • API Upload file is now under the Raw data tab and will output the content in the main text area
  • Added user_calendar_tool_lists endpoint
  • Added membership_history endpoint. Thanks MIT.nano for the contribution!
  • Tool usage questions are now available at /api/tool_usage_questions/ instead of /api/tools/

Bug fixes

  • Fixed configuration changes not being saved on the kiosk
  • Fixed issues in user form when the validation would refer to the is_staff field that doesn't exist in the regular GUI page in NEMO
  • Fixed wrong method signature causing the interlock report to fail for ProXR interlocks
  • Fixed the application identifier search not working in the project billing page
  • Fixed a bug with creating reservations on behalf of another user which would not ask for the project
  • Fixed a bug when using a tool for training did not correctly show the record training page after disabling the tool

Libraries

  • bootstrap-datetimepicker.js 4.17.43 -> 4.17.49
  • cryptography 45.0.4 -> 46.0.3
  • Django 4.2.26 -> 4.2.27
  • django-auditlog 3.2.0 -> 3.4.1
  • django-mptt 0.14.0 -> 0.18.0
  • djangorestframework 3.16.0 -> 3.16.1
  • packaging 24.2 -> 25.0
  • Pillow 11.2.1 -> 12.0.0
  • requests 2.32.3 -> 2.32.5
  • pymodbus 3.8.6 -> 3.11.4

7.2.5

11 Nov 16:27

Choose a tag to compare

Libraries

  • Django 4.2.23 -> 4.2.26