Update to Subscription Renewal Calendar
Snapshot Nov 2, 2026 · 06:11 UTC · version 1.0.4
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.
Up to 10 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
Oct 24, 2026 · 13:50 UTC
Not present
Nov 2, 2026 · 06:11 UTC
{"sha256":"0d7265019c2782909fc2b3970cc6ba10249929c8facea2a29bbc6227be4caf63","size":583}
Package file
Oct 24, 2026 · 13:50 UTC
Not present
Nov 2, 2026 · 06:11 UTC
{"sha256":"a6e961413b6cb968ad8a8b188225d82cb45b0c00cd4a7b18618b01464b67381d","size":583}
Package file
Oct 24, 2026 · 13:50 UTC
Not present
Nov 2, 2026 · 06:11 UTC
{"sha256":"ab5e12887603c350034aa904c8d9d3ab6d0a6d4eb24bf889f228170a4354dcac","size":474}
Package file
Oct 24, 2026 · 13:50 UTC
2013edc73732faeae089caab2ae08e86d446a22281ba70625352ba6653789d1b
Nov 2, 2026 · 06:11 UTC
72e1800867bf79df7a6fecd82b3249a51613bc22179b728b3bbcde537f7d23a1
Compare saved observations
Download comparison JSONChanged files
Choose a file to see its text changes. Binary or large files show metadata only.
plugin.json
− removed · + added
--- before +++ after @@ -1,8 +1,8 @@ { "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", "name": "duopore-public-subscription-renewal-calendar", - "version": "1.0.1", - "description": "Lists supplied subscription renewal dates and notice deadlines, calculating days remaining and annualized cost for monthly or annual charges. Captures one supplied renewal per subscription; does not verify contracts, auto-renewal rules or cancel services.", + "version": "1.0.4", + "description": "See upcoming subscription renewals and the last dates to give notice.", "author": { "name": "DUOPORE VENTURES PTE. LTD.", "email": "ch.kae88@gmail.com", @@ -10,6 +10,7 @@ }, "homepage": "https://duopore-public-tools.ch-kae88.workers.dev/tools/subscription-renewal-calendar", "keywords": [ + "see renewal notice dates", "subscription renewal calendar", "small business operations", "worksheet", @@ -19,24 +20,27 @@ "com.openai": { "interface": { "displayName": "Subscription Renewal Calendar", - "shortDescription": "Subscription Renewal Calendar", - "longDescription": "Lists supplied subscription renewal dates and notice deadlines, calculating days remaining and annualized cost for monthly or annual charges. Captures one supplied renewal per subscription; does not verify contracts, auto-renewal rules or cancel services. Uses explicitly supplied structured inputs. Server computations are transient; the standalone website computes locally in your browser. Review the output before exporting it. No persistent account records, external source retrieval, sending, transactions or paid model calls. CSV/JSON review and export are available on the standalone website. MCP requests are capped at 128 KiB and computed responses at 256 KiB; individual field and record limits also apply.", + "shortDescription": "See renewal notice dates", + "longDescription": "See upcoming subscription renewals and the last dates to give notice. Enter renewal dates, notice periods and monthly or yearly costs. Get a dated list showing days left and the yearly cost based on your figures. It uses one renewal date per subscription. It does not check contract terms, send reminders or cancel subscriptions.", "developerName": "DUOPORE VENTURES PTE. LTD.", "category": "Productivity", "capabilities": [ - "Prepare subscription renewal calendar" + "See renewal notice dates" ], "websiteURL": "https://duopore-public-tools.ch-kae88.workers.dev/tools/subscription-renewal-calendar", "supportURL": "https://duopore-public-tools.ch-kae88.workers.dev/support", "privacyPolicyURL": "https://duopore-public-tools.ch-kae88.workers.dev/privacy", "termsOfServiceURL": "https://duopore-public-tools.ch-kae88.workers.dev/terms", "defaultPrompt": [ - "Help me prepare a subscription renewal calendar.", - "Review my inputs for subscription renewal calendar." + "List my subscription renewal dates and notice deadlines.", + "What is the yearly cost of these monthly subscriptions?" ], - "brandColor": "#1463EC", - "composerIcon": "./assets/icon.svg", - "logo": "./assets/logo.svg" + "brandColor": "#8D1B71", + "composerIcon": "./assets/brand4-composer.svg", + "logo": "./assets/brand4-logo.svg", + "brandColorDark": "#EA7BCF", + "composerIconDark": "./assets/brand4-composer-dark.svg", + "logoDark": "./assets/brand4-logo.svg" }, "review": { "test_cases": { @@ -95,7 +99,7 @@ "demo_recording_url": "https://duopore-review-evidence.ch-kae88.workers.dev/duopore-subscription-renewal-calendar/" }, "publication": { - "release_notes": "Initial public review candidate. Five recorded positive endpoint cases and malformed-input guards accompany the review walkthrough. The evidence page clearly separates API checks from native ChatGPT evaluation. No public approval or publication is claimed." + "release_notes": "Clear benefit-first descriptions and original bold geometric branding with light/dark icon variants. App behavior, privacy, connections and review evidence unchanged." }, "apps": "./.app.json" }
Full technical diff · 5 changed fields
added /files/assets~1brand4-composer-dark.svg
Field was absent
{
"sha256": "0d7265019c2782909fc2b3970cc6ba10249929c8facea2a29bbc6227be4caf63",
"size": 583
}added /files/assets~1brand4-composer.svg
Field was absent
{
"sha256": "a6e961413b6cb968ad8a8b188225d82cb45b0c00cd4a7b18618b01464b67381d",
"size": 583
}added /files/assets~1brand4-logo.svg
Field was absent
{
"sha256": "ab5e12887603c350034aa904c8d9d3ab6d0a6d4eb24bf889f228170a4354dcac",
"size": 474
}changed /files/plugin.json/sha256
"2013edc73732faeae089caab2ae08e86d446a22281ba70625352ba6653789d1b"
"72e1800867bf79df7a6fecd82b3249a51613bc22179b728b3bbcde537f7d23a1"
changed /files/plugin.json/size
11965
11496
Full snapshot data
{
"files": {
".app.json": {
"sha256": "fd1b73ab3e4d53ebecd641caad4ea7919dd05faaa9c3f16ae6c14ee6f58a90be",
"size": 129
},
"EXAMPLE.json": {
"sha256": "5dfd15834288e642284001d550152fcc9779110700f5ca78c51df9b3791779a7",
"size": 1370
},
"PUBLICATION-STATUS.md": {
"sha256": "7be3cc2abaece4f19ab8d77d639174820af16984594e5358adc8d13ce45d404a",
"size": 130
},
"README.md": {
"sha256": "670d7bb85a700b3563a6fd4688e8d299555a8cded799f68776b79b60f3159baa",
"size": 1412
},
"RELEASE-NOTES.md": {
"sha256": "2f939bff13a2bcfcfa9d8a4bedb3204f175d23261f29afbedb583a53d5cdbdd5",
"size": 317
},
"REVIEW-EVIDENCE.md": {
"sha256": "e072ff016cb04f02463dca1d0398518149b8083a7c79cad2cbda3b6aaa6d1c71",
"size": 499
},
"assets/brand4-composer-dark.svg": {
"sha256": "0d7265019c2782909fc2b3970cc6ba10249929c8facea2a29bbc6227be4caf63",
"size": 583
},
"assets/brand4-composer.svg": {
"sha256": "a6e961413b6cb968ad8a8b188225d82cb45b0c00cd4a7b18618b01464b67381d",
"size": 583
},
"assets/brand4-logo.svg": {
"sha256": "ab5e12887603c350034aa904c8d9d3ab6d0a6d4eb24bf889f228170a4354dcac",
"size": 474
},
"assets/icon.svg": {
"sha256": "2e1e83d2b72c328fe30302a849eee9a50e3eb3796c6988dda894551349269f8e",
"size": 351
},
"assets/logo.svg": {
"sha256": "2e1e83d2b72c328fe30302a849eee9a50e3eb3796c6988dda894551349269f8e",
"size": 351
},
"mcp.json": {
"sha256": "1f05c82f95eadc038b672c62f4903f07ef665a45f75c0b6d199489f396473104",
"size": 407
},
"plugin.json": {
"sha256": "72e1800867bf79df7a6fecd82b3249a51613bc22179b728b3bbcde537f7d23a1",
"size": 11496
}
}
}SHA-256 of public snapshot: 873a0df18b315c1e17d17b94657db2cb9f301ae08bf36281545cbbb9c3612e3e