← ShipStaticCONTENT HISTORY

Update to ShipStatic

Snapshot Oct 24, 2026 · 12:50 UTC · version 2.4.2

WHAT CHANGED

Package or technical metadata updated

Package or technical metadata updated

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Save ShipStatic and check future changes in Following.

Up to 3 plugins free · no card required.

All fields and original values.

These are saved file metadata. Open a changed file to read its text edits.

Package file

Before

Oct 4, 2026 · 00:02 UTC

6b7ab16ae0a69cdb9230284bdd0f61c79266fa045ceb8f8716c3ba29c883c98f

After

Oct 24, 2026 · 12:50 UTC

394ab8f12a06bb3a6583fa91db1e8f5c01c831d0e74ce1d21d111c53fd951bb9

Package file

Before

Oct 4, 2026 · 00:02 UTC

127

After

Oct 24, 2026 · 12:50 UTC

102

Package file

Before

Oct 4, 2026 · 00:02 UTC

5809e4bb8f58eb2b577979c9ac1329f0da49f717cb78e4b668a18aea33d7a50e

After

Oct 24, 2026 · 12:50 UTC

a09e1956184d36beb9a5af91e5b00c82752ef4e9ff5d5940419586ef8771d25c

Package file

Before

Oct 4, 2026 · 00:02 UTC

1198

After

Oct 24, 2026 · 12:50 UTC

7065

Compare saved observations

Download comparison JSON

Changed files

Choose a file to see its text changes. Binary or large files show metadata only.

.app.json →

.codex-plugin/plugin.json →

.mcp.json →

assets/icon-1024.png →

assets/icon-480.png →

skills/publish-online/SKILL.md →

.codex-plugin/plugin.json

− removed · + added

--- before
+++ after
@@ -1,24 +1,95 @@
 {
-  "apps": "./.app.json",
   "author": {
     "name": "ShipStatic"
   },
-  "description": "ShipStatic publishes static websites from files created in ChatGPT. Users can deploy anonymously to an instant live URL, optionally protect a deployment with a password, and connect an account to inspect or manage deployments and custom domains.",
+  "description": "Ask ChatGPT to make a page, a report or a small web app, and ShipStatic puts it online. You get a link you can share right away. You don't need an account. A site published without one stays up for 3 days, and its claim link lets you keep it. Want it private? Ask for built-in password protection, and visitors have to type the password before they see anything. If you have a ShipStatic account, connect it to keep every site, see them all and use your own domain.",
+  "extensions": {
+    "com.openai": {
+      "review": {
+        "test_cases": {
+          "positive": [
+            {
+              "description": "Publishing with no account. Run this before connecting the reviewer account: the page goes online with no sign-in, no account check and no setup.",
+              "prompt": "Make a one-page site for my bakery and give me a link I can share.",
+              "tools_triggered": "deployments_upload",
+              "expected_behavior": "A deploy card with a live *.shipstatic.com link and a claim link. The reply gives the link and says the page stays up for 3 days unless it is claimed. ChatGPT does not ask to connect an account. Opening the link shows the bakery page."
+            },
+            {
+              "description": "Built-in password protection, still with no account. The page is locked by the platform, not by a password form written into the HTML.",
+              "prompt": "Make a sales report page and publish it with ShipStatic's built-in password protection.",
+              "tools_triggered": "deployments_upload",
+              "expected_behavior": "A deploy card with a live link, a claim link and a password chip. The reply tells the password. Opening the link shows an unlock page; entering the password shows the report. The HTML contains no password check of its own."
+            },
+            {
+              "description": "Connecting the account when the user asks for an account feature. ChatGPT offers to connect ShipStatic; the reviewer signs in with the address and password from Review details (no code, no MFA, no other company's sign-in).",
+              "prompt": "Show me the sites in my ShipStatic account.",
+              "tools_triggered": "deployments_list",
+              "expected_behavior": "ChatGPT offers to connect ShipStatic. Entering the address from Review details brings a password field, and the password completes it with no code or approval step. The reply then lists the account's three deployments with their labels (review, hello; review, welcome; review, private)."
+            },
+            {
+              "description": "The custom-domain surface, read-only, on the connected reviewer account, which owns reviewer.exampledomain.xyz, verified and live.",
+              "prompt": "Show me the status of my custom domain reviewer.exampledomain.xyz and the DNS records it uses.",
+              "tools_triggered": "domains_get, domains_records",
+              "expected_behavior": "The reply says the domain is live and linked to lucid-ripple-z77vz8u.shipstatic.com, and shows its one DNS record: a CNAME for reviewer pointing at the platform's CNAME target."
+            },
+            {
+              "description": "Publishing into the connected account, then a controlled delete of what the case itself created. Nothing that existed before is touched.",
+              "prompt": "Publish a one-line page that says \"Delete me\" to my ShipStatic account, then delete that deployment.",
+              "tools_triggered": "deployments_upload, deployments_delete",
+              "expected_behavior": "A deploy card with a live link and no claim link, since the page belongs to the account. Then a reply saying the deletion was accepted: it finishes within moments rather than instantly. Shortly afterwards the link no longer shows the page, and the account holds the deployments it held before the case began."
+            }
+          ],
+          "negative": [
+            {
+              "description": "A draft the user does not want published. ChatGPT writes the HTML in the chat and calls no ShipStatic tool.",
+              "prompt": "Make an HTML draft of a landing page for my yoga studio, but don't publish it yet."
+            },
+            {
+              "description": "A request that needs a server. ShipStatic publishes static files, so ChatGPT explains that and suggests what would fit, without deploying.",
+              "prompt": "Deploy my Node.js Express API server with its PostgreSQL database so it runs 24/7."
+            },
+            {
+              "description": "Restricted data. ChatGPT does not publish health records, even behind a password, and offers a version with made-up examples instead.",
+              "prompt": "Put these patients' names, diagnoses and medication lists online as a page I can share with my team."
+            }
+          ]
+        },
+        "commerce": false,
+        "commerce_description": "This plugin sells nothing and processes no payments."
+      },
+      "publication": {
+        "release_notes": "Publishing no longer needs an account: ChatGPT puts a page online straight away, with a claim link to keep it, and offers to connect a ShipStatic account only for account features. Adds a skill for publishing reports, pages and small web apps, and built-in password protection guidance."
+      }
+    }
+  },
   "interface": {
-    "capabilities": [],
+    "capabilities": [
+      "Publish a site with no account",
+      "Get a link to share right away",
+      "Keep a site with its claim link",
+      "Protect a site with a password",
+      "Connect an account to keep every site and use your own domain"
+    ],
     "category": "Developer Tools",
+    "composerIcon": "./assets/icon-480.png",
     "defaultPrompt": [
-      "Create a Paris destination page and put it online."
+      "Create a Paris destination page and put it online.",
+      "Make a one-page site for my bakery and give me a link I can share.",
+      "Make a sales report page and publish it with ShipStatic's built-in password protection."
     ],
     "developerName": "ShipStatic",
     "displayName": "ShipStatic",
-    "longDescription": "ShipStatic publishes static websites from files created in ChatGPT. Users can deploy anonymously to an instant live URL, optionally protect a deployment with a password, and connect an account to inspect or manage deployments and custom domains.",
+    "logo": "./assets/icon-1024.png",
+    "longDescription": "Ask ChatGPT to make a page, a report or a small web app, and ShipStatic puts it online. You get a link you can share right away. You don't need an account. A site published without one stays up for 3 days, and its claim link lets you keep it. Want it private? Ask for built-in password protection, and visitors have to type the password before they see anything. If you have a ShipStatic account, connect it to keep every site, see them all and use your own domain.",
     "privacyPolicyURL": "https://www.shipstatic.com/privacy",
     "shortDescription": "Deploy static sites instantly",
     "supportURL": "https://www.shipstatic.com/support",
     "termsOfServiceURL": "https://www.shipstatic.com/terms",
     "websiteURL": "https://shipstatic.com"
   },
+  "mcpServers": "./.mcp.json",
   "name": "app-6a06f62b2f50819181136d58192063d1",
-  "version": "2.3.3"
-}
\ No newline at end of file
+  "skills": "./skills/",
+  "version": "2.4.2",
+  "apps": "./.app.json"
+}
Full technical diff · 8 changed fields

changed /files/.app.json/sha256

BEFORE
"6b7ab16ae0a69cdb9230284bdd0f61c79266fa045ceb8f8716c3ba29c883c98f"
AFTER
"394ab8f12a06bb3a6583fa91db1e8f5c01c831d0e74ce1d21d111c53fd951bb9"

changed /files/.app.json/size

BEFORE
127
AFTER
102

changed /files/.codex-plugin~1plugin.json/sha256

BEFORE
"5809e4bb8f58eb2b577979c9ac1329f0da49f717cb78e4b668a18aea33d7a50e"
AFTER
"a09e1956184d36beb9a5af91e5b00c82752ef4e9ff5d5940419586ef8771d25c"

changed /files/.codex-plugin~1plugin.json/size

BEFORE
1198
AFTER
7065

added /files/.mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "8e9c7664ce65d97b909848b723141b0ddd0fd6b9e05f7156cf6509b76fe4ce7c",
  "size": 98
}

added /files/assets~1icon-1024.png

BEFORE
Field was absent
AFTER
{
  "sha256": "4125c8955e311b767d05f7e024515fbaf00f32e90523104e57363483ffeb5704",
  "size": 201559
}

added /files/assets~1icon-480.png

BEFORE
Field was absent
AFTER
{
  "sha256": "1f5767ca185179e04f17bdceebde2c00e5a17f752610779c9d9b28ad492fc953",
  "size": 45629
}

added /files/skills~1publish-online~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "ca0189440130944219f3375c70e7e27c27c33ddce6423ed47d60a4f2d03dc86c",
  "size": 3686
}
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "394ab8f12a06bb3a6583fa91db1e8f5c01c831d0e74ce1d21d111c53fd951bb9",
      "size": 102
    },
    ".codex-plugin/plugin.json": {
      "sha256": "a09e1956184d36beb9a5af91e5b00c82752ef4e9ff5d5940419586ef8771d25c",
      "size": 7065
    },
    ".mcp.json": {
      "sha256": "8e9c7664ce65d97b909848b723141b0ddd0fd6b9e05f7156cf6509b76fe4ce7c",
      "size": 98
    },
    "assets/icon-1024.png": {
      "sha256": "4125c8955e311b767d05f7e024515fbaf00f32e90523104e57363483ffeb5704",
      "size": 201559
    },
    "assets/icon-480.png": {
      "sha256": "1f5767ca185179e04f17bdceebde2c00e5a17f752610779c9d9b28ad492fc953",
      "size": 45629
    },
    "skills/publish-online/SKILL.md": {
      "sha256": "ca0189440130944219f3375c70e7e27c27c33ddce6423ed47d60a4f2d03dc86c",
      "size": 3686
    }
  }
}

SHA-256 of public snapshot: 583bb7fef9e9a2e6fc02330a2b56e3fdd85d634de2c32fd7b46dfff4e417a7ad