Lolly
Otwórz aplikację

WdrażanieAktualizacje, kwalifikacja i historia wydań

Release 1.2.0: Lolly and Lolly Work

Notatka: Lolly Work

This guide covers the optional organisation service. Configuration, console and API paths refer to your Lolly Work instance. The packaged console keeps its release-matched copy of this guide.

This is the current release. Lolly Work 1.2.0 pairs the Lolly Work server and render worker with Lolly 1.2.0, built from Lolly source b2128b260525e82cd6d7d29647eef915354ffc8f. It is published as Lolly Work v1.2.0. Installation and production acceptance are tracked separately.

Start with the tagged installation guide, deployment options and documentation index.

1.2.0 adds partner programmes. Resellers, distributors and other partners each get their own tools, templates, files, company details and agent tokens. Files reach them by the licence each file records, and a partnership can end on a set date and be reopened within 30 days. Service tokens gain scopes and limits, an organisation MCP endpoint serves them, a reviewer approves the exact exported file, and the durable render routes catch up with the older job API. Most of this waits until an administrator sets it up. The changes that apply on upgrade are listed under On upgrade below.

Matching components

ComponentVersion or source
Lolly product version1.2.0
Lolly Work application1.2.0
Render worker and admission adapter1.2.0
Lolly Work Helm chart1.2.0, with appVersion 1.2.0
Lolly sourceb2128b260525e82cd6d7d29647eef915354ffc8f
Engine1.343.0
Tool-author core1.8.0
Lolly web archive for YunoHostlolly-web-1.2.0-ynh1.tar.gz, 808,658,284 bytes, SHA-256 3a324eef05128d32c6154ab88e360c40a8235ee181c3b49abe4ef5b556d1ac0f

Engine and core versions describe their own contracts and are not reset to the product version. engine-pin.json and content-resolver-pin.json record the Lolly source above. The maintained producers generated both.

Lolly Work 1.1.3 carried engine 1.285.0 and core 1.5.0. From engine 1.343.0, Lolly Work uses the approval record in Content Credentials (including the record for a template's variants), the design system and colourway keys of the Lolly record, the licence reader and the .lolly credits text, the intent checks for templates, the Design compiler that rebuilds a Share with rules file, and the DESIGN.md writer. Core 1.8.0 carries the partner-kit-v1 format.

What Lolly 1.2.0 needs from this release

Lolly 1.2.0 featureWhat Lolly Work 1.2.0 adds
Approval of the file itselfThe export-review approval subject: the exact exported file, frozen with the request and released by GET /api/v1/approvals/:id/artifact
"Until approved" shows PREVIEW until an approved request matchesServer enforcement of enforce.watermark: until-approved, and POST /api/v1/approvals/match for the export bar
Brand managers edit colours, colour roles and the brand page address with no rebuild/api/v1/brand/edits, the brand.edit action and the brand-manager role
Publish a brand page to a Lolly Work instancePOST /api/v1/brand-pages and public pages at /brand/<slug>/, off unless brandPages.enabled
Workspace templates on the home shelf and in the Start chooserTemplate entries in each caller's feed, with version, editable inputs, retirement, replacement and company bindings
A partner's logo and details already in place, the company card, and a home that keeps to what is theirsorg-config partner and programmeScoped, and per-tool defaults, bindings and locked values
View as partnerPOST /api/v1/programmes/:id/view-as, the x-lw-view-as header and POST /api/v1/view-as/end
Partner kits in Designorg-config partner.company.kit and GET /api/v1/me/company/kit
A tool turned off for a group stays off, and an export rule for one tool holdstool.use grants decide the tool feed and /tools/*, and org-config answers tools[<id>].can per tool
Links whose recipients can change the inputs"open": true in a tool link's signed target
A release-built web app lists tools when the feed holds workspace filesInstance asset checksums served in SRI form

The API detail behind each feature

Other changes since 1.1.3

Partner programmes

Service tokens and agents

Renders

Public files behind a CDN

Permissions, links and errors

Retention and housekeeping

Changes for API clients and operators

New routes

New configuration

New environment variable

Changed behaviour for API clients

On upgrade

Migrations

This release adds 21 SQL migrations since 1.1.3:

The numbers 0091 and 0092 were never used, and the runner accepts the gap. pnpm run migrate:classify classes 17 files as additive and four as maintenance: 0079, 0080, 0082 and 0083. An install that sets LW_MIGRATE_EXPECT lists all 21 files or their manifest. An older release can run on the new schema, with one limit: rolled back while render callbacks are pending, it records those entries as failed and not-sent without sending them.

Before upgrading, check the database with pnpm run migrate:status, take a fresh verified backup and complete an independent restore. Then apply the maintained migration runner or the chart's migration Job, against the selected instance only. The maintained history now has 88 files.

Deployment

Prepare and qualify

This section is for Lolly Work maintainers cutting the release.

Maintainer commands

The commands are the same as for 1.1.3, with vendor/lolly at the Lolly source above:

node scripts/vendor-content-resolver.ts --write
pnpm run repin-engine --apply
pnpm run verify:engine-pin
pnpm run typecheck

The packaged documentation comes from a Lolly commit that contains this page:

node scripts/sync-docs-bundle.ts --source=/path/to/lolly --commit=<full-commit-sha>
pnpm run verify:docs-pin

Before tagging or publishing images, the exact final Lolly Work commit needs ordinary CI, including the native server image checks and the real Chromium worker checks with the matched signed shell. The tagged server and worker images must come from that same Lolly Work commit.

YunoHost packaging

Lolly 1.2.0 publishes a new web archive, and the Lolly Work YunoHost package pins the lolly-web-1.2.0-ynh1.tar.gz archive above. The maintained producer cuts the package on the final Lolly Work commit:

node scripts/yunohost-release.ts --ynh-rev 1 --shell-url https://lolli.li/lolly-web-1.2.0-ynh1.tar.gz --shell-sha256 3a324eef05128d32c6154ab88e360c40a8235ee181c3b49abe4ef5b556d1ac0f --out ABS_NEW_ARTIFACT_DIRECTORY

Commit the generated manifest, recut into a separate directory and require full archive byte equality, as for 1.1.3. The package is mirrored to lolly-work_ynh and qualified with a yunohost-runtime.yml run after publication. Until then it is not qualified.

Images and qualification

The release workflow builds, signs and publishes the server and render-worker images from the v1.2.0 tag push. The release's release-source-images.json records their verified digests. Both are signed keylessly with identity https://github.com/lolly-tools/lolly-work/.github/workflows/release.yml@refs/tags/v1.2.0, the identity lolly-update accepts.