Skip to content

chore(main): release 2.8.0#159

Closed
buremba wants to merge 1 commit into
mainfrom
release-please--branches--main--components--lobu-monorepo
Closed

chore(main): release 2.8.0#159
buremba wants to merge 1 commit into
mainfrom
release-please--branches--main--components--lobu-monorepo

Conversation

@buremba
Copy link
Copy Markdown
Member

@buremba buremba commented Mar 23, 2026

🤖 I have created a release beep boop

2.8.0 (2026-04-10)

Features

  • add Bedrock provider and AWS deployment docs (#171) (9210a36)
  • cli,landing: add connections CLI + themeable chat component (506b91c)
  • cli: add lobu eval command with model comparison and CI workflow (910da9b)
  • cli: add WhatsApp, Teams, and Google Chat to init platform choices (d140b3b)
  • gateway: embedded runtime credential resolver + secret-backed device auth (8b3053a)
  • gateway: proxy-driven MCP tool approval with execute-on-approve (cde529a)
  • observability: vendor-neutral OTEL tracing + opt-in Sentry (#172) (f3345d3)
  • otel: switch from OTLP HTTP to gRPC exporter (port 4317) (60178db)
  • settings: add generic OpenAI provider (fcae8c3)
  • worker: generic MCP login tools + bash hardening (5e167a4)

Bug Fixes

  • ci: remove invalid secrets check from eval workflow job condition (1889cc4)
  • ci: repair broken npm publish workflows (6f6ea08)
  • ci: restore release config for package releases (6c7190c)
  • ci: restore release manifest for package releases (892cdc5)
  • ci: upgrade npm to latest for OIDC trusted publishing (a85bbb2)
  • ci: use Node 24 for bundled npm 11 (OIDC trusted publishing) (3697004)
  • ci: use NODE_AUTH_TOKEN for npm auth instead of manual .npmrc (606a82b)
  • ci: use OIDC trusted publishing, drop stale NPM_TOKEN path (e8f5ca0)
  • cli: auth reliability — server-side logout, --force login, stale cred cleanup, concurrent refresh (b0ee7a3)
  • cli: hide hidden skills from 'lobu skills list' (abbf99e)
  • cli: restore system skills and add CLI to publish workflow (1fc3687)
  • docs: correct outdated references across documentation (b78fa65)
  • docs: fix Teams Chat SDK link and update CLI generated files list (737a3d7)
  • eval: continue running remaining evals after individual failures (8187b7f)
  • eval: create data dir for Redis persistence in CI (3f7f598)
  • eval: disable Redis RDB persistence in CI to avoid MISCONF errors (c131bbb)
  • eval: don't override provider/model unless --model flag is set (8b8bd4b)
  • eval: don't pass provider/model to session creation, use agent config (49f3b4d)
  • eval: improve judge prompts with prose fallback, CI runs smoke only (6876107)
  • eval: pass Z_AI_API_KEY to gateway container in docker-compose (ad890e3)
  • gateway: preserve base path when mounted as sub-app (edc0be5)
  • gateway: publish embedded runtime packages (148e7dc)
  • landing: bold connector label inline instead of separate heading (3ac690e)
  • landing: inline connector labels to balance recall/auth column heights (6125016)
  • packages: add repository.url to all published package.json files (c3f14c0)
  • release: sync helm chart to 3.0.5 (92c5142)
  • update README and landing page (Baileys→Cloud API, Anthropic→OpenRouter, bare lobu→npx) (45ee64f)
  • use npx @lobu/cli consistently across CLI output, docs, and landing page (ca1133c)
  • worker: use string concatenation for session-context URL (09d474e)

This PR was generated with Release Please. See documentation.

@buremba buremba force-pushed the release-please--branches--main--components--lobu-monorepo branch from c8687b0 to fb69c98 Compare March 23, 2026 11:22
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: fb69c98bbb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread package.json
{
"name": "lobu-monorepo",
"version": "2.7.0",
"version": "2.8.0",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Update Helm chart metadata for the 2.8.0 release

This bumps the repository version to 2.8.0, but charts/lobu/Chart.yaml is still version: 1.0.1 / appVersion: "1.0.0". The release pipeline packages whatever version is in Chart.yaml (.github/workflows/docker-publish.yml lines 141-150), so publishing this commit as the 2.8.0 release will still push a lobu-1.0.1.tgz chart. That leaves Helm users without a chart that matches the 2.8.0 release and may also fail publication if 1.0.1 has already been pushed.

Useful? React with 👍 / 👎.

@buremba buremba force-pushed the release-please--branches--main--components--lobu-monorepo branch 6 times, most recently from 477d433 to 971c9c8 Compare March 30, 2026 01:17
@buremba buremba force-pushed the release-please--branches--main--components--lobu-monorepo branch 9 times, most recently from 4847cad to c9c24e2 Compare April 6, 2026 23:27
@buremba buremba force-pushed the release-please--branches--main--components--lobu-monorepo branch 12 times, most recently from bdeaff6 to 11fe950 Compare April 9, 2026 17:08
@buremba buremba force-pushed the release-please--branches--main--components--lobu-monorepo branch 19 times, most recently from f3a0723 to 379848a Compare April 10, 2026 20:53
@buremba buremba force-pushed the release-please--branches--main--components--lobu-monorepo branch from 379848a to 6f047c7 Compare April 10, 2026 20:55
buremba added a commit that referenced this pull request Apr 10, 2026
Both release workflows were broken or unused:

- release-please.yml: the manifest was stuck at 3.0.7 (actual
  state: 3.0.19), producing zombie release PRs (#111, #159) that
  would roll versions backward if merged. Its publish step also
  still referenced the expired NPM_TOKEN secret path that we just
  removed from publish-packages.yml, so even a merge would 401.
- release.yml: a copy-paste of the Anthropic claude-code-action
  release template. Created `v*` tags and tried to sync releases to
  the unrelated `anthropics/claude-code-base-action` repo. No
  business being in this repo.

We now ship via the manual PR + `gh workflow run publish-packages.yml`
flow, powered by npm OIDC trusted publishing. Document it in
docs/RELEASING.md so future contributors have a single reference.

Removed:
- .github/workflows/release-please.yml
- .github/workflows/release.yml
- release-please-config.json
- .release-please-manifest.json

Added:
- docs/RELEASING.md

Updated:
- AGENTS.md: point the Versioning section at docs/RELEASING.md and
  call out the "don't bump in CI" rule.
@buremba
Copy link
Copy Markdown
Member Author

buremba commented Apr 10, 2026

Closing as part of release-please removal (aa998bc). We moved to manual PR-based releases via publish-packages.yml + npm OIDC trusted publishing. Current version on main is 3.0.19, far ahead of the 2.8.0 this PR targeted. See docs/RELEASING.md for the new flow.

@buremba buremba closed this Apr 10, 2026
@buremba buremba deleted the release-please--branches--main--components--lobu-monorepo branch April 21, 2026 21:41
buremba added a commit that referenced this pull request May 17, 2026
…ayout

Adds three Chrome-extension connectors (browser.evaluate, browser.fill_form,
browser.page_text) whose executors live in the Owletto for Chrome extension.
Definitions sit under `packages/connectors/src/browser/` so primitive
groupings are structurally distinct from third-party service connectors.

- packages/connectors/src/browser/{evaluate,fill_form,page_text}.ts (new)
- packages/connectors/src/index.ts: re-export browser/*
- packages/connector-worker/src/compile-connector.ts: resolve dotted keys
  via subdir (`browser/evaluate.ts`) in addition to the existing
  underscore-flat convention (`chrome_tabs.ts`).
- packages/server/src/utils/connector-catalog.ts: scan one level deep so
  browser/* is discovered; preserve relative `source_path` so resolvers
  don't collide on basename.

Submodule (packages/owletto) is left at main's pin (aeb3324) — the
browser.evaluate executor already shipped via #825/#159, so no bump is
needed by this PR.
buremba added a commit that referenced this pull request May 18, 2026
…#828)

* feat(connectors): browser.evaluate / fill_form / page_text + subdir layout

Adds three Chrome-extension connectors (browser.evaluate, browser.fill_form,
browser.page_text) whose executors live in the Owletto for Chrome extension.
Definitions sit under `packages/connectors/src/browser/` so primitive
groupings are structurally distinct from third-party service connectors.

- packages/connectors/src/browser/{evaluate,fill_form,page_text}.ts (new)
- packages/connectors/src/index.ts: re-export browser/*
- packages/connector-worker/src/compile-connector.ts: resolve dotted keys
  via subdir (`browser/evaluate.ts`) in addition to the existing
  underscore-flat convention (`chrome_tabs.ts`).
- packages/server/src/utils/connector-catalog.ts: scan one level deep so
  browser/* is discovered; preserve relative `source_path` so resolvers
  don't collide on basename.

Submodule (packages/owletto) is left at main's pin (aeb3324) — the
browser.evaluate executor already shipped via #825/#159, so no bump is
needed by this PR.

* chore(format): biome format pre-existing diff.test.ts drift

Pre-existing format drift introduced in #829 was failing main's
format-lint CI for several commits. Bundling the auto-fix here so PR
#828's format-lint check turns green on top of an already-red main.

* fix(connectors): subdir-aware resolvers + userManaged on browser primitives

Pi review found four follow-ups to the browser/* subdir layout introduced
in the previous commit:

- packages/server/src/utils/connector-catalog.ts: server-side
  findBundledConnectorFile() was still flat-only — auto-install /
  device-reconcile / worker-poll would treat browser.evaluate as "no
  bundled source." Now mirrors the worker-side resolver (subdir first,
  underscore-flat fallback). Adds bundledConnectorSourcePath(filePath)
  so subdir paths round-trip through connectorSourcePathToUri.
- packages/server/src/utils/ensure-connector-installed.ts +
  packages/server/src/worker-api/device-reconcile.ts: stop persisting
  basename(filePath) as source_path — collides on basename across
  subdirs and breaks source_uri resolution for subdir connectors.
- packages/cli/src/commands/_lib/connector-loader.ts: CLI resolver was
  also flat-only.
- packages/connectors/src/browser/{evaluate,fill_form,page_text}.ts:
  mark feeds userManaged so device-reconcile doesn't auto-wire them
  with config=NULL. These are bridge-composing primitives (script /
  url + fields / url are required, gateway-author-supplied), not
  end-user feeds.

* fix(mcp,device-reconcile,owletto): inherited main failures + pi follow-up

- packages/server/src/workspace/multi-tenant.ts: when a Bearer header is
  present but PAT verify, OAuth verify, AND session-cookie lookup all
  fail, return RFC 6750 `invalid_token` 401 (with WWW-Authenticate
  error=invalid_token) instead of falling through to anonymous and
  returning generic `unauthorized` later. Fixes mcp/auth.test.ts
  "should reject expired/invalid OAuth access token" — they assert the
  standards-compliant error code so MCP clients (Claude Desktop etc.)
  surface "bad token" rather than mistaking it for "no auth needed."
- packages/server/src/worker-api/device-reconcile.ts: short-circuit
  ensureDeviceConnectorWired() when declaredFeedKeys is empty (every
  feed userManaged → nothing to auto-wire). Avoids a compile + upsert +
  no-auth-connection adopt per Chrome poll for browser.* primitives.
  Definition + version row still get installed lazily by
  ensureConnectorInstalled when a composing connector runs them.
  (Second-round pi review finding.)
- packages/owletto: bump pointer to 2552ed0 — fix(build): vite
  target=esnext for top-level await in main.tsx (lobu-ai/owletto#161,
  merged). Unblocks PR Validation / build-test which had been failing
  on packages/owletto's vite build since the auth-pivot landed.

* fix(server): repair sibling-walk SPA template/dist paths post-rename

The packages/web → packages/owletto rename in #817 updated
APP_ROOT-relative candidates but missed two:

- The `../web/{dist,index.html}` sibling-deploy candidate was kept
  verbatim ("for out-of-monorepo deployments"), but after the rename
  the sibling dir is `../owletto/`, not `../web/`. The stale path
  silently misses on every lookup.
- The `path.resolve(process.cwd(), '../packages/owletto/...')`
  candidate has always resolved to `packages/packages/owletto/...`
  (double `packages`) when cwd is `packages/server` — i.e. exactly
  the layout the integration job runs under. Rewriting as
  `../owletto/...` lands in the right sibling.

Symptoms: every `public-pages-contract.test.ts` (and
`mcp/auth.test.ts` indirectly) failure on `main` since 7a72456 —
`buildPublicPageModel` returned a real model but
`loadAnySpaHtmlTemplate()` returned null, so the catch-all fell
through to the JSON discovery response with `Cache-Control: no-store`.
Reproduces against PGlite locally; fixed and verified all 3
public-pages tests pass.

Same broken pattern repaired in `utils/public-origin.ts:hasLocalFrontend`
(8 candidates, 4 corrected).

* fix(device-reconcile,catalog): pi review pass-3 follow-ups

Third pi review flagged two issues with the prior round:

- worker-api/device-reconcile.ts: the earlier early-return-when-empty
  short-circuited too aggressively. `local.directory` and other
  device connectors whose only feed is `userManaged` rely on
  ensureDeviceConnectorWired to install the connector_definition +
  version + connection — `/api/workers/me/feeds` 404s on
  "no connection wired" otherwise. Move the short-circuit into the
  fast-path check instead: when the connection + version already
  exist AND there's nothing to verify (declaredFeedKeys empty),
  fast-path returns without compiling. First poll still does the
  full install; subsequent polls are zero work.
- utils/connector-catalog.ts: the one-level subdir scan was
  descending into `connectors/src/__tests__/` and trying to extract
  catalog metadata from test files that import `bun:test`,
  producing esbuild warnings on every cold scan. Skip `__tests__`
  and any leading-underscore dir.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant