Skip to main content

Technical Changes

Information for developers and API users about what's changed, and what's planned.

Written by James Scholes

This article contains technical details on notable changes to underlying processes, automations, data structures and API calls for sheepCRM. It is also where we will announce upcoming changes which may affect any custom integrations or workflows.

If you need any further details on any of the changes please contact us via support.

Upcoming changes

Any planned changes which you may need to be aware of will appear here. Please check back regularly.

  • Segments: Extend available resources for segments to include evidence

August 2026

  • Contact Mapreduce: A change has been made to the main contact mapreduce when processing form_responses.

    • Previously form_fields would be added as a simple key:label pair

    • Going forward form_fields contains a rich dictionary for each question:

      "form|1234|5678|910": {
      "label": "Form > Name > Section > Question",
      "type": "select-from-list",
      "choices": [
      "Red",
      "Green",
      "Blue"
      ]
      }

  • SchemaFields: A parallel change has been made to the SchemaFields GET call to correctly process form_fields after the change above

  • Membership selfservice call (/api/v1/{flock}/user/hosted/membership/{uid}/): Change from using membership_type when fetching plan details (for renewal) to preferring next_membership_type if set. This fixes an issue where membership joining_fee could be incorrectly applied during a renewal with a plan change.

  • Fieldset exports: form fields in exports will now show their label rather than the raw field UID

July 2026

  • Booking: uncancel action will now set status to "draft" rather than "pending", bringing states in line with expectations for events managed in sheepAlpine

  • SMS messages are now queued and sent asynchronously to avoid a timeout issue with larger segments.

Did this answer your question?