Skip to content

Releases: uwrit/leaf

3.2.4 (2019-7-19)

19 Jul 19:29
d25c012
Compare
Choose a tag to compare

This release fixes several bugs, and contains client, server API, and database changes.

Bug Fixes

  • #244 - In the Admin Panel Datasets screen, after saving a new Dataset, the UI appeared to update but would confusingly revert to the previous state if you click to another screen, then return (the DB was updated correctly, however). The UI now updates and maintains state correctly.
  • #243 - If for some reason the initial demographics query did not return expected patient ids (eg because they have no demographics data) but a subsequent dataset did return the expected id, an error was thrown. This is now corrected and the unknown patient data is ignored.
  • #244 - In the Patient List, if one additional dataset remained to be added, the "+ Add Data" button was incorrectly hidden.
  • #246 - If a dataset errored out on the API request, the "Loading" modal was not dismissed. The user is now alerted to the error and the modal disappears.
  • #247 - If a field name contained characters not allowed in REDCap or was too long, the export process to REDCap could break. Field and dataset names are now checked and cleaned prior to export.
  • #253 - If numeric units were not defined for a concept but it was dragged over, the UI would show 'undefined' as units. It now doesn't display any text.

Upgrading to 3.2.4

  • Client app and server API - Recompile and deploy the latest client and server API files as described in the Leaf installation instructions, making sure to first remove any previously deployed instances.

  • Database - execute the 3.2.3__3.2.4 database update script on your Leaf application database.

3.2.3 (2019-7-5)

05 Jul 20:20
f8167f9
Compare
Choose a tag to compare

This release fixes several bugs, and contains client, server API, and database changes.

Bug Fixes

  • #236 - This appears to be a bug related to the CSS position: fixed property, but after saved a query, as the query save pane on the right slides out, the main UI content would be pushed to the left. The pane slide is now delayed and occurs after the main modal fades away, which prevents the issue (likely related to their simultaneous CSS transitions).
  • #237 - Identified mode did not return any PHI. This had multiple causes, as the initial attestation data was not being captured due to changes in .NET Core WebAPI 2.2 GET requests, as well as the Leaf API not checking the appropriate user roles to allow identified data.
  • #239 - After explicitly logging out, the client successfully notified the server and the IdToken was blacklisted, but did not remove it from localStorage on the client. This caused subsequent logins to reuse the invalidated IdToken, which was rejected by the server. The IdToken is now also cleared from the browser cache on logout.
  • #46 - The patient counts on the Visualization screen could be cut off if the bars were particularly lopsided. This is now fixed and includes padded room for up to ~1 billion patients, depending on viewport size.
  • #238 - The app.sp_CalculatePatientCounts stored procedure did not properly reset the loop number after each root concept loop, causing certain concepts to be missed when running it.
  • #241 - Previously it was possible to modify a query while running it, which caused unpredictable changes in UI state depending on various asynchronous event orders. This is now prevented, and information is shown the the user as to why they cannot modify it while running it.

Upgrading to 3.2.3

  • Client app and server API - Recompile and deploy the latest client and server API files as described in the Leaf installation instructions, making sure to first remove any previously deployed instances.

  • Database - execute the 3.2.2__3.2.3 database update script on your Leaf application database.

3.2.2 (2019-07-01)

02 Jul 00:15
f78c858
Compare
Choose a tag to compare

This release fixes two bugs, and contains client and database changes only (ie, no server API changes).

Bug Fixes

  • #229 - The snackbar-style notification was not rendering correctly in Firefox, though Chrome and Edge appeared to have no issues.
  • #230 - The sp_UpdateDemographicQuery stored procedure requires a [Shape] field, but that was not supplied on the initial insert.

Upgrading to 3.2.2

  • Client app - Recompile and deploy the latest client and server API files as described in the Leaf installation instructions, making sure to first remove any previously deployed instances.

  • Database - execute the 3.2.0__3.2.2 database update script on your Leaf application database.

3.2.1 (2019-06-27)

28 Jun 14:32
ccf84bb
Compare
Choose a tag to compare

This is a patch release which fixes several bugs related to session token refresh, concept search, and navigating to the admin panel. It also adds a snackbar-style notification on admin panel save events, removing the previous post-save/delete event notification, which forced the admin to wait ~2 seconds after each API call to continue editing.

Notable Change

  • #190 - After an admin save event, the admin can immediately continue editing without delay. A simple auto-disappearing notification is shown on the left after a save/delete event notifying the admin that the operation was successful.

Bug Fixes

  • #225 - The session token was not being refreshed more than twice. This was a subtle bug that would only become obvious after extended use of Leaf in a session, and was accidentally introduced in 3.2.
  • #223 - If the user types in exactly the text of a concept, confusingly the concept did not appear as a suggestion or hint.
  • #221 - If the browser is in semi-minimized mode, the tooltip for the admin panel on the left covered the side panes, disrupting the ability to click and navigate to administrative panes.
  • #220 - Concept search requests for many concepts (e.g., 40+) created a URL with an exceedingly long length which could be rejected by the server the API is hosted on. Concept search now returns only the top 20 results.

Upgrading to 3.2.1

  • As this patch involves only client application changes, assuming you are on version 3.2 you only need to recompile and re-deploy the client app under leaf/src/ui-client. This version is fully compatible and should be used with API and database versions 3.2.

3.2 (2019-6-25)

26 Jun 15:36
081a179
Compare
Choose a tag to compare

This release focuses on significant Admin panel additions, usability improvements, and numerous bug fixes found by various sites deploying Leaf. Special thanks to @sgchoe and @WeberLab for all their hard work and helpful feedback.

Notable Changes

  • The Admin sidebar now shows a subpane of different configuration panes, including Concept SQL Sets as a standalone pane.

image

  • #146 - Datasets can now be managed directly in the UI Admin Panel, which allows administrators to configure what datasets are available, how they are shown/restricted to users, and even check that SQL queries output expected columns.

image

  • #145 - Identity (the name, description, and colors shown to users) and networked Leaf instances can now be managed directly in the UI Admin Panel.

Screen Shot 2019-06-25 at 11 32 00 AM

image

  • Improved validation during Admin Panel data entry. Required fields without data now alert the admin before save.

  • The browser console now logs both the currently running client version and server version for easier version checking on initial app login. Find this info by opening up the console using:

    • Chrome - Options -> More tools -> Developer tools
    • Firefox - Options -> Web Developer -> Web Console

Screen Shot 2019-06-25 at 11 18 53 AM

Bug Fixes

  • #211 - The instance patient count is now rounded more predictably, depending on the number of patients. Any instances with < 1,000 patients will simply display the value.
  • #210 - Updating and saving an existing concept previously removed the previous concept and replaced it with a new one in the UI, which had the confusing effect of appearing to drop the concept to the bottom of a list. The previous visual position of the concept is now preserved.
  • #206 - Removing all children under a root concept in the UI previously did not reset their root concepts, which both prevented the empty root concept from being deleted and had severe potential side effects for concept search.
  • #204 - Re-parenting a concept, then subsequently saving the parent concept had a side-effect of it's previous [IsParent] flag being reverted to false, confusingly making the re-parented child concept disappear on app reload.
  • #203 - The adm.sp_DeleteConcept stored procedure previously left concept foreign key references in two tables untouched when run, which prevented the concept from being properly deleted.
  • #199 - The Learn More population visualization overflowed if more than 8 or so years' worth of data are shown. The container object now dynamically resizes, and by default shows only data for 1995 - present, and can show all data by clicking a toggle.
  • #189 - Visualization and Patient List API call failures did not properly indicate that they had failed, instead continuing to show a spinner. They now properly indicate failure to the user.
  • #175 - In Gateway mode, because the home API node was not queried directly on 'Run Query', as a side effect no queryId would be created and thus no query could be saved. Gateway instances now return a queryId but do not query or cache patient data.
  • #163 - App-wide API logging has been reviewed and returns consistent and reliable data for a separate service to aggregate log files and perform auditing, etc. Using log files for troubleshooting also should be easier, as failure and success points are more clearly identified, as well as their data via JSON.

Upgrading to 3.2

  • Client app and server API - Recompile and deploy the latest client and server API files as described in the Leaf installation instructions, making sure to first remove any previously deployed instances.

The Leaf server API now runs on .NET Core 2.2, so make sure your deployment server is using this as well.

  • Database - execute the 3.1.1__3.2.0 database update script on your Leaf application database.

If you aren't sure what version your current Leaf application database is, there is no harm or side effects in running the 3.0.0__3.1.0 and 3.1.0__3.1.1 migration scripts first to ensure that the database is up to date with v3.2. Note also that v3.2 adds the ref.Version table specifically to avoid database version confusion going forward.

v3.1.3

06 Jun 05:34
582a765
Compare
Choose a tag to compare

Bug fixes

  • Corrected issue with long user names overflowing in the header by removing the scope (e.g., @university.edu) and showing name only. Also slightly extended available space the header items can expand to.
  • Corrected issue where IdP sessions had expired but the client app was cached in the browser. On initial login the /config call would fail, but was not properly caught. This is caught now and forces a 1x browser hard reload, which forces the IdP to re-authenticate the user.

v3.1.2

20 May 17:13
2aa3aaf
Compare
Choose a tag to compare

Notable Changes

  • Improved network composition.

    • Bi-directional federation now composed of 2 uni-directional channels.
    • Implemented user quarantine on by default, special group membership required for federation privileges.
    • Gateway runtime implemented to allow an instance of Leaf to exist in a federation without supplying data of its own.
  • REDCap Export now explicitly enabled or disabled.

  • Added visual hint to account dropdown indicating your capabilities within Leaf.

  • Added a CONTRIBUTING.md doc.

  • Significant refactoring.

    • Most Leaf controller now delegate workflow to exposed Model types.
  • Removed unnecessary NPM dependency on arc.js, which is bundled in Leaf directly. This caused npm run build to require having git installed (as arc.js isn't registered in NPM).

Bug Fixes

  • Fixed an issue where Leaf would throw on startup if there was no LEAF_REDCAP_SUPERTOKEN environment variable, regardless of intent to enable/disable that functionality.
  • Fixed an issue with the "Need help" button on Firefox where text would be truncated.
  • Fixed an issue where datasets with spaces in their names would have the space replaced by an underscore (eg, 'Platelet Count' -> 'platelet_count') silently on the REDCap side but not by Leaf. After creating the fields, Leaf would try to export data without the underscores, and REDCap would throw an error. Field names are now explicitly lowercased and spaces replaced with underscores on the Leaf side.
  • Fixed an issue where the Leaf client would not correctly enforce the REDCap row export limit.

Migration

  • If you already have a LeafDB instance you can run the migration scripts
  1. 3.0.0 -> 3.1.0
  2. 3.1.0 -> 3.1.1

Note: Any Endpoints already configured will need to updated to indicate their Interrogator/Responder status before restarting Leaf.

  • There are two new elements in the appsettings.json file.
    • Runtime contains a single field, Mode.
      • Mode can contain either the value FULL or GATEWAY.
      • GATEWAY mode disables the api/cohort endpoints.
    • Export:REDCap contains a new field Enabled.
      • Enabled controls whether or not the api/export/redcap endpoints are listening.
      • Setting this value to false disables REDCap export functionality.