release: v1.3.0 - #270
Merged
Merged
release: v1.3.0#270
Conversation
fig-ai-agent
Bot
force-pushed
the
fig/release-v1.3.0
branch
from
September 14, 2026 13:10
5aba1c5 to
19ed264
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Version
What's included
Changelog
Migration / breaking changes
Verification
Version
v1.3.0
What's included
Minor release cut from
main. Sincev1.2.0(a461cf3, 2026-09-12) — 94 commits,of which 37 landed as merged PRs.
Added — deliverables
deliverables/official-docs/: an official documentation registry.One JSON registry (
src/official-docs.json) read from both sides of the stack(
src/official_docs.py,src/official-docs.js,src/utils.ts), every linkchecked against the live URL by
scripts/verify_links.pyrather than assumed,and a React docs bar + image gallery (
src/Company.jsx) rendered from the sameregistry so the UI cannot drift from the data.
deliverables/fig-best-practices/: a quality gate for projectsbuilt on the Fig platform.
BEST-PRACTICES.mdis the policy, six agent briefs(developer / reviewer / security / designer / performance / deployment) state
who enforces what,
ci/quality-gate.ymlis the Actions entry point, and twofixture projects — a known-bad and a known-good tree — exercise the gate.
69 tests.
deliverables/ci/: the full CI/CD pipeline (orchestrator plusreusable workflows).
pr-triage-automove, the automated form oforganize-misplaced-files. A root file is moved only when it is not canonical,no tracked
.pyimports it (AST-parsed), and its name appears in no othertracked file. Wrapped in an import probe so a poisoned import cannot kill the
run; dry-run by default,
--applyrequired. 37 tests.deliverables/agent-core/: Dockerfile and Helm chart.ci-workflow-authoringpluslint.pyto check workflowsbefore they run. 16 tests.
handling cases.
Changed
A signing key shorter than 32 characters, or one of a set of known placeholder
values, is now rejected so a misconfigured deployment fails loudly instead of
signing tokens with a guessable key. Added
app/user_store.py, aSQLAlchemy-backed user table that imports legacy JSON users on first init and
keeps the existing shape, so the API surface and per-user skill gating are
unchanged.
DATABASE_URLselects Postgres, otherwise SQLite. 43 tests.cron automation, and the corresponding knowledge notes.
README.mdto describe the repository as it stands ratherthan as it was intended: the real entrypoints, which one
app/Dockerfileandvercel.jsonserve, required vs optional configuration, the real test command,and a
Known statesection recording what is genuinely broken.templates/(which Actions does not read) into.github/workflows/.Fixed
YAML.
knowledge/scripts/diff_policy.pyatknowledge/insteadof the missing
vault/.auto-compress-manage.yml, which had failed atSet up jobon all 781 runs: five action refs pointed at SHAs that do not existupstream. Four skip conditions added alongside the fix.
Auto-Index-Sync.yml.import sysin knowledge/scripts/diff_policy.py #262 — dropped the unusedimport sysfromknowledge/scripts/diff_policy.py.ci.ymlupdated.Direct to
main— besides the PRs above, 57 commits landed straight onmain:new skill docs (
SKILL.mdfiles), knowledge notes, guideline documents, acron-automation/directory, and severalAdd files via upload. These were notreviewed through PRs and are listed here rather than itemised.
Dependencies
requirements.txtupdated.requirements-dev.txtfor test/lint tooling.deliverables/product-crud/web.Changelog
Full sections:
CHANGELOG.md→[2026-09-14],[2026-09-13],[2026-09-12]. Two merged PRs had no changelog record at the time of thisrelease — #265 and #266 — and are added in this release PR alongside the
notes.
Migration / breaking changes
None. No migration required. The JWT change (#267) is stricter than before by
design: a deployment signing tokens with a short or placeholder key will now fail
at startup instead of silently continuing. Set a key of at least 32 characters —
or unset it and let the local fallback generate one.
Verification
main— see note belowfig-best-practices), 43 (app/, clean venv),37 (
pr-triage-automove), 16 (ci-workflow-authoring)CI note: every workflow on
mainstill fails at Set up job, for thepre-existing org policy reason — all actions must be pinned to a full-length
commit SHA. Repairs have been attempted repeatedly (#243, #250), and each
attempt was subsequently overwritten or left unreconciled, so the repo remains in
a state where the policy text (
README.md,SECURITY.md) does not match theworkflows that are actually on
main. This is tracked inPROBLEMS.md; it isnot introduced by this release and does not affect the artifacts above, which run
their own tests. It does mean no PR on this repository can show green checks.