Crossfire 0.3a7 Migration Guide

During 0.3a7 development there was a lot of work done to make the protocol more consistent and coherent, as expected, this work brought with it many changes to the protocol and a few changes that are no longer compatible with existing versions of Crossfire.
This guide will help ease the transition from using a pre-0.3a7 version of Crossfire, with each affected protocol entity described in its own following section.

context_id

In an effort to make the protocol as consistent as possible the last remaining packet attribute has been camel-cased. The changes made are a protocol-wide rename of context_id to contextId.

Action Required

Clients must discontinue use of the context_id attribute in all request, response and event packets and begin using the contextId attribute.

Details

No additional details.

continue

The continuerequest has been updated to accept the stepAction argument.

Action Required

Clients must discontinue use of the stepaction argument and begin using stepAction.

evaluate

The evaluaterequest has been updated to accept the frameIndex argument and serialize all results.

Action Required

Clients must discontinue use of the frame argument and begin using frameIndex. Clients can also know what kind of values have been returned because
all values are no properly serialized as outlined in the protocol specification.

onBreak

The onBreakevent has been updated to place location information in a new location body object and include a new cause body object.

Action Required

Clients must discontinue use of the line and url body values and begin using the location body object to find these values. Clients can also optionally begin using the cause body object to retrieve causal information about the event.

onContextChanged

The onContextChangedevent has been renamed to onContextSelected and the body values have been updated: href to url and new_href to newUrl. The event also has no root context_id entry and the body has two additional values contextId and newContextId.

Action Required

Clients must discontinue use of the onContextChanged event name and begin using onContextSelected.
Clients also must discontinue use of the href body value and begin using oldUrl and discontinue use of the new_href body value and begin using url. Lastly clients must begin using the new body values contextId and oldContextId.

onContextLoaded

The onContextLoadedevent has been updated to change the name of the href body value to url and to remove the context_id from the root of the event and place it in the body using the new contextId value.

Action Required

Clients must discontinue use of the href body value and begin using url and discontinue use of the context_id in the root of the event and being using the contextId body value.

scopes

The scopesrequest has been updated to accept the frameIndex argument as well as update the response body value to use the new scope object form.

Action Required

Clients must discontinue use of the frameNumber argument and discontinue use of the old scope object form. For more information on the new scope object shape, see the new scope request migration entry.

source

The source request has been removed. The results of the request are the same as using the script request specifying the includeSource argument set to true.

Action Required

Clients must discontinue use of the source request and begin using the script request with the includeSource argument set to true.

Details

There are no further details.

updatecontext

The updatecontextrequest has been renamed to better reflect what it actually does. The new name of the request
is createcontext.

Aside from the rename of the request, two other changes have been made:

Action Required

Clients must discontinue use of the updatecontext request and begin using createcontext, and must begin using the new url argument. Clients must also note the change in location of the context_id optional argument in the packet.