Repository navigation
barakoBrew 1.3.0
Changed
- Speaks API contracts 1 to 4. barakoCMS 4.2.0 moves the contract to 4: a locked account is answered
like a wrong password (BaryoDev/barakoCMS#640) and a content type holds at most 200 fields
(BaryoDev/barakoCMS#650). This console works against 4.1.x and 4.2.0, so upgrade the console before
the API.
Added
-
API keys offer the
content:destructivescope. Erasing an entry and rolling one back now need
it, andcontent:writesays it does not cover them. The new key dialog warns when that scope or
*is picked. Needs BaryoDev/barakoCMS#863; an older API refuses the scope with its own message. -
Site mode, the holding page and share links on the Site screen. A Mode select (Live or
Holding, unset reads as Live, a choice field's own options when it has them) with a note that
Holding changes what visitors see and hides nothing at the API. A holding page picker from the page
tree, empty for the default holding page, typed as a path when the Pages module is off. A Share
links panel creates a link with a label and an expiry of 1, 7, 30 or 90 days, shows
{site address}/_share#{key}once with a copy button, lists each link as active, expired or
revoked with when it was last used, and revokes after a confirmation. Mode and holding page show
only when the site type has those fields, and the panel is hidden when
/api/site/share-linksanswers 404. Needs BaryoDev/barakoCMS#850. (#147) -
Pages has a tree.
/pagesshows the page tree fromGET /api/pages/tree: drag a page, or use
its move buttons, to reorder it or put it under another page, with the new path shown while
dragging. Each move saves through the ordinary content update withIf-Match, writing
NavigationOrderandParentPage. The API's refusal (a cycle, too deep, a reserved slug) is shown
on the row, and a 412 reloads the tree and says someone else changed the page. Rows show status and
path, switch the navigation flag, change the slug, add a page under a page, and open the entry.
After a move or slug change that changes addresses, the screen offers a redirect from each old
path. A 404 says the Pages module is not enabled, and a contract other than 1 lists the pages flat.
Needs BaryoDev/barakoCMS#826. Seedocs/pages.md. (#91) -
A page's blocks are edited as blocks. A json field named
Blocksgets a list built from the
block schema the site publishes at/api/blocks: add from a palette, drag or use Move up and Move
down to reorder, remove, and a form per block using the same controls as entry fields, with blocks
nested in aslotsfield such as columns. What the site would refuse to render is marked on the
row and the field. A block of a type the site does not list is shown read-only and saved as it was.
SetNEXT_PUBLIC_PRESS_URLto turn it on; without it, or when the schema cannot be read, the field
stays the JSON editor. Seedocs/blocks.md. (#90) -
Choice fields. The content type designer offers a Choice type: options with a value and a
label, reordered by dragging or with the move buttons, and whether the field holds several values.
Values that differ only in case are flagged before the API refuses them. In the entry editor a
single choice is a radio group up to five options and a select beyond that, and a multiple choice
is checkboxes. Clearing an optional choice leaves the value out of the save. A stored value the
field no longer offers is marked "not offered any more" and the save waits until it is changed.
A type's detail screen edits a choice field's options later through
PUT /api/content-types/{name}/fields/{field}/options; when entries hold an option being removed,
the API's message and entry count are shown with a Remove anyway button that resends withforce.
A saved query filters a choice by option; the entries list waits on BaryoDev/barakoCMS#825 for a
field filter. Needs BaryoDev/barakoCMS#820; an API without the choice
type refuses the content type and the page shows its message. (#136) -
Site and Theme screens. Site edits a tenant's name, tagline, address, locale, logo, footer logo,
favicon, share image, top bar, header links, footer columns and social links; image fields can pick a
public image from Files. Theme edits the colour slots and site colours, fonts, corner radii, widths,
visitor variants and colours per option, with a preview of a header, card, dark band and prose block.
Each text colour is measured against its background, and a pair below WCAG AA is flagged but never
blocks the save. Both edit the one entry of thesitetype and send the whole stored document back,
so neither wipes what the other saved. A tenant without the type is offered the site blueprint, which
needs barakoCMS after 4.1.0 (BaryoDev/barakoCMS#797). A link the renderer would drop is flagged, and a
stored value not in the documented shape is shown as JSON rather than trimmed to fit. (#134) -
Tenants shows and edits each tenant's domains. A domain another tenant holds is refused inline with
the API's own sentence naming that tenant. The save sends the rest of the tenant back unchanged, since
the endpoint overwrites every profile field. Needs BaryoDev/barakoCMS#796; an API that reports no
domains shows that instead of an edit button. (#134) -
Resolving an error asks for a reference and remarks. Resolve on the Errors screen opens a dialog
with an optional reference (a pull request or ticket link, or a number such asAB#1234or
PROJ-42) and optional remarks. The error details show who resolved it, when, and both fields, with
an http or https reference as a link. Needs BaryoDev/barakoCMS#790 to store them; an older API
ignores the extra fields and resolves as before. (#130)
Changed
- barakoBrew is MIT.
LICENSE, thelicensefield inpackage.jsonand the image's
org.opencontainers.image.licenseslabel say MIT from this release. Releases up to and including
1.2.0 keep MPL-2.0. The contributor terms inCLA.mdnow name barakoBrew rather than barakoCMS,
state MIT, and grant a patent licence of their own, since MIT carries none. Follows the licence
rule in BaryoDev/barakoCMS#815. (#135)
Fixed
-
An expired session keeps the base path. When a token refresh failed, the console sent the
browser to/loginat the domain root, so a build withNEXT_BASE_PATH(the playground and
barakocms.com) left the console. It now goes to{base path}/login. -
The PWA installs screen crashed on load with
filter is not a function. It read
GET /api/pwa/installsas a bare list, but the API returns the paged envelope and has since
barakoCMS 4.0.0. The screen now readsitems, asks for the largest page the API serves (100), and
takes the device count fromtotalItems, saying so when there are more devices than the table
shows. (#128) -
Import says when a large sheet cannot be imported in full. The analyze step returns at most 500
rows and the import is built from those, so the rows after them were never imported while the page
said a large sheet was imported in full. The Import step now names how many rows will be left out
and asks for a confirmation first. Importing a whole sheet on the server is BaryoDev/barakoCMS#870. -
The Kubernetes health panel is hidden when the API has no Kubernetes endpoint. A 404 from
GET /api/monitoring/k8snow hides the panel instead of showing an unnecessary error state.
Other API failures remain visible with a retry action. (#103)
Image: ghcr.io/baryodev/barako-brew:1.3.0, linux/amd64 and linux/arm64. Also pushed as ghcr.io/baryodev/barako-admin:1.3.0 until 2.0.0.