Process for updating plugins

Hi All,

I’m sure @logankilpatrick and others at OpenAI are working on it… still can we plugin devs provide our collective feedback in this thread so we can get a good process in place for upgrading plugins?

  1. Store content update
    Currently this is done by updating ai-plugin.json.
    Plugin docs say that ai-plugin.json changes will require resubmission.
    Does the verified version of the plugin that is already in the store stay live while the newly submitted version is being reviewed?

  2. API expansion
    Let’s say a plugin was verified and published to the Plugin store with just a GET endpoint. And a POST endpoint is added to the openapi.yaml file later.
    a) Is the new endpoint automatically accommodated by the Plugin store?
    b) Or does this invalidate the submission verification requiring a new submission?

  3. API signature changes
    Let’s say a plugin was verified and published to the Plugin store with a GET endpoint. After it has gone live, openapi.yaml file is updated to define newer request params.
    a) Is the new signature automatically accommodated by the Plugin store?
    b) Or does this invalidate the submission verification requiring a new submission?

  4. API response changes
    Let’s say a plugin was verified and published to the Plugin store with a GET endpoint. After it has gone live, significant changes are made to the responses to the plugin requests.
    a) Are the new changes automatically accommodated by the plugin?
    b) Or does this invalidate the submission verification requiring a new submission?

Please add your own questions below, so OpenAI can address them all in one go and possible publish to the Plugin docs.

Thanks.

11 Likes

I’m interested in these answers too - we are getting ready to submit our plugin to the store but anticipate adding features over time and the docs aren’t super clear. At https://platform.openai.com/docs/plugins/production/updating-your-plugin it mentions

Manifest files must be manually updated by going through the “Develop your own plugin” flow in the plugin store each time you make a change to the ai-plugin.json file. ChatGPT will automatically fetch the latest OpenAPI spec each time a request is made so changes made will propagate to end users immediately. If your plugin is available in the ChatGPT plugin store and you go through the “Develop your own plugin” flow, we will automatically look for changes in the files and remove the plugin if it has changed. You will have to resubmit your plugin to be included in the store again.

I think this says that the process to update a plugin is:

  1. Modify plugin, making sure to modify something in the ai-plugin.json manifest so the system can pick up that there’s been a change [and/or the openapi spec? see 3 below]
  2. Use the “develop your own plugin” again, which will cause OpenAI to fetch the new spec for the plugin
  3. Since the ai-plugin.json has changed (maybe it also looks at openapi.json since it looks for “changes in the files”), it will remove the plugin from the store. I wonder what
  4. At which point we can use the resubmission process, once approved it will be re-added

So it sounds like the plugin will have to be offline while the new submission is reviewed?

I also wonder how it knows which plugin to disable in the store, maybe by matching the name_for_model or name_for_human? Plugins aren’t versioned, I saw a thread somewhere that folks were putting version numbers in the name_for_model during local development.

related:

1 Like

As a followup, I wonder how people are handling testing new versions of plugins without triggering removal of the live version.

4 Likes