Releases: vuluu2k/webcake-landing-mcp
Releases · vuluu2k/webcake-landing-mcp
Release list
v1.5.2
[1.5.2] - 2026-08-25
Fixed
- Colors written in any CSS notation other than the legacy
rgba(r,g,b,a)form (hex,rgb(),hsl(), CSS named colors, and the modern space/slashrgba()syntax) — including individual stops insidelinear-gradient()/radial-gradient()values — are now canonicalized torgba(r,g,b,a)on every expand (create_page/update_page/add_section/patch_page/validate_page) across all color-bearing keys (color,background,backgroundTxt,borderColor,overlay, and other*color*keys), fixing the Webcake editor's color and background traits showing black instead of the intended color. - A
styles.color/backgroundTxt/borderColorvalue set on only one breakpoint is now mirrored onto the other breakpoint on save, since the editor's color traits read one breakpoint at a time with no desktop/mobile fallback and previously showed (and could save) black on the breakpoint missing the value.
Changed
validate_pagenow warns when a color-bearingstyles/configvalue cannot be converted torgba()(e.g.var(--x),color-mix(...)), naming the offending element and apatch_pagefix.- The generation guide and
page-schema.jsondescriptions forstyles.color/background/borderColor/overlaynow document the rgba()-only requirement, the both-breakpoints requirement, and the automatic conversion/mirroring behavior.
v1.5.1
[1.5.1] - 2026-08-24
Added
update_pagenow detects when the live page was edited outside this session (e.g. in the Webcake editor) since it was last read, and rejects the overwrite withreason:"page_changed_externally"orreason:"unverified_overwrite"instead of silently reverting those changes; passforce:trueafter the user confirms to overwrite anyway.get_pagenow returns asource_versionfield; pass it back asupdate_page's newbase_versionparameter to make the staleness check exact.update_pageandpatch_pagegain aforceparameter to bypass the new staleness check when committing a cachedupdatedraft.
Changed
get_pageand the source read path used byupdate_page/add_section/patch_pagenow normalize numeric style and config values the Webcake editor writes as strings (fontSize:"59",height:"600",opacity:"50%",top:"unset", and similar) back to numbers, so a page hand-tweaked in the editor is no longer locked out ofupdate_page/add_section/patch_page.page-schema.jsonnow accepts string/null values fortop/left/width/height/zIndex/fontSize/borderWidth/opacityand other per-breakpoint numeric fields on read, and widens theborderStyleand eventtype(trigger) enums to match the editor's own option sets (addsgroove/ridge/inset/outset/hiddenborder styles anderror/delayevent triggers).validate_pagenow warns whenstyles.top/left/width/heighton a non-sticky element holds a non-numeric-string value, since the renderer appendspxverbatim and would emit invalid CSS.- Repeated
get_page/patch_pagereads of the same page now reuse a cached copy of its source when the backend confirms nothing changed since the last read, avoiding a redundant full download.
v1.5.0
[1.5.0] - 2026-07-23
Added
search_imagesnow returns asizesmap on every photo (the delivered width/height in px for each src variant, accounting for retinadpr) plus asize_guidefield explaining how to match a variant's width to the target slot's rendered width, so the model pickssrc.large/src.large2xfor a hero,src.mediumfor a card/thumb, andsrc.tinyfor an avatar instead of guessing — avoiding pixelated upscaled images and bloated pages from oversized variants in small slots.
Changed
- The generation guide's IMAGES rule now teaches variant-to-slot size matching (using the new
sizes/size_guidedata and each photo's native width) instead of the previous bare "large for hero, medium for card" rule of thumb.
v1.4.0
[1.4.0] - 2026-07-23
Changed
publish_pagenow reuses the page's currently-attached domain whencustom_domainis omitted — mirroring the editor's publish modal, a plainpublish_page({ page_id })republish keeps the page live at its existing domain instead of silently dropping to an ephemeral/preview/<page_id>link; the domain is read fromget_page_source, falling back to afind_pageslookup by id, and the dry-run response now notes when a domain was inherited this way. Passcustom_domain: ''to explicitly force a domain-less publish.
v1.3.0
[1.3.0] - 2026-07-17
Added
upload_imagesand the automatic image re-hosting oncreate_page,update_page,add_section, andpatch_pagenow file uploaded images into the organization's media collection (bộ sưu tập) — the same library the editor's media picker reads — creating anAssetrow so images are re-pickable in the editor, instead of only pushing bytes to the public CDN; the response marks these entriescollection:truewith theirasset_id(upload_images) orrehost.collection/rehost.collection_org_id(the save path).upload_imagesgainsin_folderandorganization_idparameters to target a specific collection folder or a specific organization's collection.
Changed
upload_imagesnow requires the organization to be settled before filing into a collection: with 2+ organizations and none chosen it returnsok:falsewithreason:"organization_required"plus the organization list, mirroringcreate_page; an account with exactly one organization still auto-selects it, and accounts with no credentials keep falling back to the public CDN endpoint unchanged.- Images uploaded via the collection route are now named after their source URL/filename instead of a generic
upload.<ext>name. - Server instructions now ask the user to approve the server's tools once, up front, during intake (to avoid a per-call permission prompt interrupting a page build), and move settling the target organization via
list_organizationsto the start of intake, before any image or page-building work.
v1.2.1
[1.2.1] - 2026-06-21
Changed
- Server instructions and
get_generation_guidenow restrict the visual-check step to three explicit triggers — cloning a reference to compare pixel fidelity, the user explicitly asking to see or verify the look, or a specific aesthetic doubt thatvalidate_pagecannot judge — so the model no longer screenshots by default after every build; when a screenshot is warranted, a single shot replaces the previous two-to-three-round loop, reducing unnecessary token use and round-trip latency on ordinary page builds.
v1.2.0
[1.2.0] - 2026-06-21
Added
- New
layouttool computes exacttop/left/width/heightcoordinates for both breakpoints so the model never hand-calculatesleft/top(the number-one source of off-center defects); four modes —center(one box centered on the canvas),row(N boxes in a horizontally-centered desktop row that auto-stacks into a single mobile column),grid(N uniform cells incolscolumns, block-centered; stacks on mobile), andstack(a vertical list down the shared content column on both breakpoints) — honour the page-margin axis (content column 80..880 desktop / 20..400 mobile by default), support 960/1200 and 420/360 canvases, accept left/right alignment, and flag off-canvas or over-wide inputs innotes; the tool is pure math with no network or environment requirement.
Fixed
- The MCP
serverInfo.versionfield reported a hard-coded"1.0.0"to all clients regardless of the installed package version; it now reads the real version frompackage.jsonat runtime, so MCP clients and the connector registry always see the correct version.
v1.1.0
[1.1.0] - 2026-06-20
Added
create_page,add_section, andvalidate_pagenow apply a deterministic layout auto-fix before validating or saving: off-canvas children are pulled back on-canvas (left clamped to[0, canvasW − width]; negativetopset to 0); wrappedtext-blockheights are resized to the estimated real rendered line count using the same font-metrics estimate the validator uses for warnings; elements sitting below a reflowed block are pushed downward to clear the spill; and parent containers are grown to contain the corrected subtree — the fix is conservative (only adds whitespace or pulls boxes inward, never moves intentionally layered elements such as badge overlays or backdrops), idempotent, and applied only to new-page tools (update_pageandpatch_pageare intentionally excluded to avoid moving elements on existing pages).- Every layout correction applied by
create_page,add_section, orvalidate_pageis now surfaced in the newauto_fixedresponse field along with anauto_fixed_noticedirective, replacing the previous validate→warn→patch_page→re-validate round-trip with zero round-trips for these two defect classes on new-page builds.
v1.0.84
[1.0.84] - 2026-06-17
Added
create_pagenow sends aby_aifield in the create request body (default value"mcp") so the backend can stamp each MCP-generated page in itsby_aicolumn; set theWEBCAKE_BY_AIenvironment variable to override the tag per deployment.
v1.0.83
[1.0.83] - 2026-06-16
Added
- The server web guide (
GET /) now includes a bilingual video guides section with per-app installation walkthrough cards (Claude, Codex, Antigravity); cards with a recorded video show a YouTube thumbnail poster that opens a privacy-friendlyyoutube-nocookieembed in a lightbox modal on click, while cards without a video yet show a "coming soon" placeholder. - The server web guide (
GET /) now has a sticky section navigation bar that lets readers jump between sections (How it works, What you build, Clone a page, Connect, Videos, FAQ) and highlights the active section as the page scrolls.