Changelog

Presage API
8/24/2026

Minor Changes

  • PA-1068 - Mutation.createUserAccount - Include a link that will take the user to the "Activate New Account" interface with their username and activation PIN prefilled
  • PA-631 - Query.workOrders - Add new search filter property that allows searching a number of fields with a text string
  • PA-1049 - Mutation.createUserAccount, Mutation.passwordRecovery - Include support and knowledgebase info in account activation and password reset emails
  • PA-1061 - Query.workOrderTypes - Alphabetize results by work order type name
  • Improve activation links in the first time setup emails, and include knowledgebase info
  • PA-907 - ReportQueue - Print/email job fields (title, emailBody, attachmentName, destination) containing {?token} placeholders (e.g. {?param.startDate}, {?user.firstName}) are now resolved to their actual values before the job is sent. New jobs briefly pass through a Staging status while tokens are resolved before moving to Ready.

Patch Changes

  • PA-1051 - Query.getDocumentsByAssociation - If a given lookup has documents both with and without files, the document with a file will be returned instead of the one without a file
  • PA-1101 - Query.getDocumentsByAssociation - Fix the wrong document being returned for the wrong lookup if an earlier lookup did not return any documents
  • PA-1058 - The GraphQL sandbox at /graphql no longer depends on NODE_ENV. Set ENABLE_QUERY_SANDBOX=true to enable it in production; defaults to off.
  • PA-907 - ReportQueue.emailSubject - Deprecated in favor of title, which is functionally identical and more widely used. Will be removed in API v8.
7/30/2026

Patch Changes

  • During first time setup, don't skip setting up support account if it is marked as 'Active' with no password
7/30/2026

Patch Changes

  • Prevent a failure to initialize OAuth from crashing the server immediately after startup
  • Fix OAuth failing to initialize under certain circumstances
7/30/2026

Major Changes

  • PA-1025 - SavedSampleSearch.searchState - Output type is now SampleSearchState! instead of String! to allow for stronger type safety
  • PA-851 - Remove all deprecated endpoints/fields
  • PA-372 - Mutation.recalculateSamples - Change return type to NonNegativeInt! and return the number of records changed by the mutation
  • Company code must be set before the API can start, in order to facilitate the new licensing system

Minor Changes

  • PA-994 - Implement first time creation of users, and always ensure that a valid support user is present
  • Licensing - Required DB Version 711
  • PA-828 - Email user, support, prompting account setup on first run of application
  • PA-990 - Licensing - Added infrastructure to automatically update licenses
7/30/2026

Minor Changes

  • PA-1024 - Mutation.createAlertSubscription, Mutation.updateAlertSubscription - Allow creating "Sample Value" alerts with "Expiration Approaching" timing
  • PA-665 - Query.dbSchema - New query that returns a simple representation of the database schema, intended for use in Presage Web's query editor interfaces. This query is restricted to users who have permission to use one of those query editor interfaces.

Patch Changes

  • Query.loadArbitraryChartData, Query.loadChartDataForReport - Fix multiseries row data being returned out of order when the serieses are numbers
7/13/2026

Minor Changes

  • PA-978 - Query.file - Move Query.file to a new FileWithContent entity/resolver. FileWithContent adds a new content field resolver that returns that file as a base64-encoded string

Patch Changes

  • Added cleanup operations for oauth database tables.
  • PA-948 - SavedSampleSearch.searchState - statuses filter is now properly serialized as the DocumentStatus enum when loading a saved search. This matches the type of SampleSearchStateInput.statuses as was originally intended
  • PA-710 - Mutation.createPlants, Mutation.updatePlants - Fix saving plant logo
  • PA-842 - Saving and loading saved searches will now properly convert between ResultStatus and the values stored in the database by Presage Desktop
  • Transparent pngs now correctly have a white background when converted to JPEG, rather than black
  • PA-1019 - Fix error when attempting to generate a column chart that does not have a valid option set
6/29/2026

Minor Changes

  • PA-609 - Mutation.unlockSession - Create new unlockSession mutation that can be used by Presage Web to unlock a locked session

Patch Changes

  • Mutation.verifyPermission - Improve error messages when authentication fails
6/10/2026

Patch Changes

  • Updated BASECLIENTURL to work with or without https://. Updated OAUTHISSUER to use BASECLIENT_URL unless overridden.
6/5/2026

Minor Changes

  • Added OAuth 2.1 compatibility.

Patch Changes

  • PA-1002 - Mutation.updateAutomaticWorkOrders - Fix workOrderId not being updated on save
5/26/2026

Patch Changes

  • Mutation.updateAlert - Fix issue where not passing nullable fields on alertUpdate that are required on Alert would result in the API attempting to return those fields as null, failing GraphQL validation
  • AutomaticWorkOrder - Fix dateCreated field being incorrectly marked as nullable
  • PA-962 - Database - Increased stability of saving sample values on newer databases using modern character sets
  • PA-951 - Query.samples - Improve performance when filtering by analysis and option
  • PA-958 - When saving AnalysisOptionChoice.choice any trailing spaces will now be removed
  • Mutation.createAndUpdateProducts - Change batchesToAdd and batchesToUpdate input types to NewProductBatchOnProduct and UpdateProductBatchOnProduct which no longer require sending the productId as it is not needed. The productId field on those two input types is also marked as deprecated for removal in version 8
  • PA-939 - Upgrade Node version to fix /health route
Newer Older