Skip to content

Latest commit

 

History

History
555 lines (328 loc) · 19 KB

CHANGELOG.md

File metadata and controls

555 lines (328 loc) · 19 KB

Changelog

[Unreleased]

Changed

  • base44 exec loads an SDK released in the last 24 hours instead of Deno's default minimum dependency age silently holding scripts on the previous one. Other npm packages a script imports keep the default.

Added

  • base44 sessions import continues a Claude Code or Codex session in Base Code and prints the branch link. --current picks the session the command runs inside (what Base Code's Import session prompt runs), a claude.ai session address pulls a cloud session down with claude --teleport, --file uploads a file as is, and no argument opens a picker. --token <b44imp_…> uses the one-time key from Base Code instead of the CLI login. Before uploading the current session it stops if the work isn't on GitHub yet (Base Code starts from there) — --skip-push-check imports without it — and it sends the current branch as source_branch for the new branch to start from. Each upload carries an Idempotency-Key, so a retry never creates a second branch.

  • base44 site install runs the site's installCommand and nothing else, so a machine that only needs a project's dependencies no longer has to go through create, scaffold or eject. Local only: no login and no app id required.

  • base44 site dev runs the site's serveCommand exactly as written, with no local backend and the frontend reaching its backend same-origin — the shape a hosted sandbox needs, where base44 dev (local backend) and dev --remote (the published app) are the developer-machine paths. It appends nothing of its own — anything after -- is appended as given, so npm run dev needs a second -- to reach the script (base44 site dev -- -- --config wrapper.mjs) — and where the dev server binds is the command's own business, and in a sandbox @base44/vite-plugin binds Base44 apps to 0.0.0.0:5173. Serving is its whole job, so it falls back to npm run dev when the block names none.

  • base44 branches list --app-id <id> --json lists main and active branch names for agents working outside Builder.

  • Global --branch <name> targets sandbox commands at a specific app branch. Names resolve within the selected app; missing or ambiguous names fail. Other commands reject the flag explicitly; omitting it or using --branch main targets main.

  • App visibility: base44 visibility <public|private|workspace> sets it on the server directly (accepts --app-id to target any app). Also configurable via "visibility" in config.jsonc, which base44 deploy applies. New projects scaffold "visibility": "public".

  • base44 build runs the site's buildCommand with VITE_BASE44_APP_ID injected, so built bundles always carry the linked app's id.

  • base44 deploy (and base44 site deploy) can now build first: interactive runs ask, and --build / --no-build pre-answer the prompt.

  • base44 dev --remote serves the frontend against the production backend: it runs site.serveCommand with VITE_BASE44_APP_ID and VITE_BASE44_APP_BASE_URL pointing at the app's own published URL, without starting the local backend. Fails if the app has no published URL.

Changed

  • base44 deploy --git-hash <hash> ships the site through the deployments API — the same lane base44 site deploy uses — addressed by that commit, and publishes it, so a full-stack build's worker ships too. Without --git-hash the site deploys through the archive upload and goes live, as before; a full-stack build, which that upload cannot carry, now fails asking for the flag before anything ships instead of silently dropping its worker.
  • base44 site deploy is no longer behind BASE44_DEPLOYMENTS_API; setting the env var now does nothing. --git-hash / --concurrency are always available, and --git-hash is what selects the deployments API: with it, the build is deployed by that commit but not published — --publish asks for that, and the command says so when it leaves production alone — because the platform's own build step runs it against builder-managed apps, which are published from the builder. Without --git-hash it deploys through the archive upload and goes live, as before.
  • The site block's two commands now default to the conventions base44 create scaffolds, so a block only has to name what a project does differently: installCommand npm install and buildCommand npm run build. site itself stays optional, and serveCommand and outputDirectory are deliberately not defaulted — their absence says "no frontend to run here" and "nothing built to upload", so base44 dev still runs the backend alone and base44 deploy still skips the site step. For a project that declared a partial block, base44 build and deploy --build now build it instead of refusing, and the deploy flow may offer to build first.
  • base44 sandbox help now explains that writes are committed but not checkpointed: a Restore or Revert in the builder rolls the app back to the last checkpoint and discards everything after it, so run base44 sandbox checkpoint after each unit of work and before stopping. The note appears on sandbox, sandbox write, sandbox edit, sandbox run, and sandbox checkpoint.
  • The backend-and-client template now scaffolds the same client convention editor-created apps use: @base44/vite-plugin + src/lib/app-params.js, with the SDK client on same-origin /api (serverUrl: ''). Under base44 dev the plugin proxies /api to the local dev backend, so scaffolded apps get local entities and functions; the app id is injected via VITE_BASE44_APP_ID by base44 dev, base44 dev --remote, and the build/deploy commands instead of being baked into source.

Fixed

  • Agent files accept server route tools ({ "tool_name", "route_path", "method", "description" }), the tool type that lets an in-app agent call one of a full-stack app's own server routes. base44 agents pull wrote them, but every later command that reads the project — agents push, deploy, and most others — refused the file at tool_configs[N]. method defaults to post and description to agent server route, as on the server.
  • base44 link --app-id links directly instead of first listing your apps to confirm the ID. The listing only covered the 50 most recently updated apps, and a workspace API key (BASE44_API_KEY) is refused on it, so link --app-id failed in CI. A wrong ID now fails on the first request that addresses the app.
  • base44 deploy --git-hash (and site deploy --publish) no longer fails after a successful publish when the app's URL can't be looked up, as happened with a workspace API key (BASE44_API_KEY). It reports the deploy and leaves out the URL.
  • An app id passed with --app-id or BASE44_APP_ID no longer discards the project the command runs in. Commands that need a project — site dev, dev, connectors pull/push — refused as if there were none. A checkout with base44/config.jsonc but no .app.jsonc, such as a hosted sandbox, can now run them.
  • The backend-and-client template names its entity file Task.jsonc, matching the entity's name; the Base44 platform derives the entity from the filename, so task.jsonc read as a second entity.
  • base44 link now lists editor-created apps; previously only apps created by the CLI could be linked.

[0.0.51] - 2026-04-28

Added

  • Auth and user registration in local dev (#475)
  • Social login and custom Google OAuth commands (#445)
  • Connector automation support for backend functions (#471)
  • Forward service token header from Authorization in base44 dev (#461)

Fixed

  • Convert function entry path to file URL for Windows compatibility (#482)

[0.0.50] - 2026-03-30

Added

  • Non-interactive runTask function for programmatic task execution (#441)
  • Windows test runner (#454)

Changed

  • Rename dev logger (#443)

Fixed

  • Classify auth timeout as AuthExpiredError (#453)

[0.0.49] - 2026-03-27

Changed

  • Show auth command in top-level help (#444)
  • Remove devDependencies before publish

[0.0.48] - 2026-03-25

Added

  • auth password-login, pull, and push commands (#422)
  • User entity schema support in local dev (#406)

Changed

  • Refactor logger to simple logger (#425)
  • Make logs command discoverable in help output (#432)
  • Add local dev media tests (#439)
  • Set up infrastructure for dev tests (#428)

Fixed

  • URL-encode function name in fetchFunctionLogs to fix 404 for zero-config functions (#429)

[0.0.46] - 2026-03-18

Added

  • base44 exec command (#357)
  • Use TypeScript directly for Deno runtime, skip bundling (#386)

Changed

  • Use Commander.js classes for base44 commands (#420)

[0.0.45] - 2026-03-16

Added

  • Functions commands: list, delete, pull, deploy, and unified deploy (#412)
  • Schema validation while running base44 dev (#395)

Changed

  • Refactor base44 create command to be more flexible (#407)
  • Make upgrade notification non-blocking and use bordered box (#365)
  • Move cursor command to claude commands (#417)

Removed

  • Revert simplified root README to monorepo overview (#405)

[0.0.44] - 2026-03-11

Maintenance release with publishing workflow fixes

[0.0.43] - 2026-03-11

Changed

  • Update Homebrew tap (#404)

[0.0.42] - 2026-03-11

Added

  • Stripe connector support (#251)
  • connectors list-available command (#367)
  • Binary test mode to testkit for real binary testing (#394)
  • Token support for private files (#379)

Changed

  • Move Biome configuration to monorepo root (#389)

[0.0.41] - 2026-03-09

Changed

  • Migrate to monorepo structure (#372)

[0.0.40] - 2026-03-08

Changed

  • Update npm package files field

[0.0.39] - 2026-03-08

Added

  • Standalone binary builds for Homebrew distribution (#362)
  • Entity watching in base44 dev (#364)

Changed

  • Generate a new request ID for each request (#376)

Fixed

  • Disable timeout for delete secret request (#375)

[0.0.38] - 2026-03-05

Added

  • Zero config for functions (#246)
  • Watching and reloading functions (#353)

Fixed

  • Increase secrets set timeout to match functions push (#361)
  • Expand README check trigger and fix lychee format (#360)

[0.0.37] - 2026-03-02

Added

  • Show the base44 secret command in help menu (#356)
  • Include x-request-id in ApiError and error reporter (#346)
  • CLI Local Dev - Media (#339)

Changed

  • Improve Errors - Changed system to user errors, and display validation errors returned from the server (#355)

[0.0.36] - 2026-02-25

Added

  • Secrets list, set, and delete commands (#321)
  • CLI local dev support for entities (#279)

Changed

  • Hide secrets command from help output (#333)

Fixed

  • Fixed eject command when there are no options (#332)

[0.0.34] - 2026-02-23

Added

  • base44 logs command for fetching function runtime logs (#225)

Docs

  • Add authoring agent instructions topic guide (#286)

[0.0.33] - 2026-02-19

Added

  • CLI local dev functions support (#249)
  • Automated error reporter GitHub Action (#267)
  • MIT License (#257)

Changed

  • Update CLI status from alpha to beta (#248)
  • Refactor AGENTS.md to a new docs structure (#253)
  • Add isNonInteractive to CLIContext for aligned behavior (#254)
  • Align CLI schemas with backend (#252)
  • Bump clack version to latest with small fixes (#264)
  • Knip include classMember (#263)

Fixed

  • Reauthorization issue (#250)
  • Remove PII from error reports (#269)

[0.0.32] - 2026-02-16

Added

  • OAuth connector resource with base44 connectors commands (#189)
  • Connector pull command to sync connectors from remote (#214)
  • Connectors integration in unified base44 deploy command (#211)
  • Allow skipping OAuth with Esc key in connector setup (#217)
  • ConnectorTypeRegistry to generated types (#236)
  • limit parameter to listProjects API call (#245)
  • type command shown in the help menu (#244)
  • Knip dead code detection setup (#239)
  • Readme update workflow (#209)

Changed

  • CLI local dev full proxy support (#226)
  • Trailing comma standard enforcement (#230)
  • Biome linting on save (#227)
  • Change global timeout to request-specific timeouts (#243)
  • Extend request timeouts to 3 minutes (#242)
  • Remove agent name pattern validation (#231)

[0.0.31] - 2026-02-10

Added

  • base44 eject command to eject project from Base44 (#220)

Fixed

  • Wrap name registries with quotes for safety (#223)
  • Use npm install -g base44@latest instead of npm update -g base44 for upgrade notification (#222)

[0.0.30] - 2026-02-09

Added

  • Function automation schemas for trigger-based function execution (#197)

Fixed

  • Handle 428 Precondition Required API error status codes in entity operations (#218)

[0.0.29] - 2026-02-09

Added

  • Upgrade notification when a newer CLI version is available (#157)
  • Collect API request/response data in error reporter for better debugging (#201)
  • Upload sourcemaps to PostHog for improved error tracking (#208)

Changed

  • Simplify function schemas (#196)
  • Add Bun build with watch mode for faster development (#198)

Fixed

  • Fix user ID collection in error reporter context (#206)

Docs

  • Add missing commands to README (#204)

[0.0.28] - 2026-02-02

Changed

  • Use Bun for local development and Biome for linting/formatting (#183)
  • Fix publish workflows for npm authentication

[0.0.27] - 2026-02-02

Added

  • base44 site open and base44 dashboard open commands to open URLs in browser (#169)

Changed

  • Improve schema validation error messages with nicer error message (#177)
  • Wrap PR description in NOTE callout block (#172)
  • Add CLAUDE.md symlink to AGENTS.md for code review plugin (#182)

[0.0.26] - 2026-02-01

Added

  • PostHog error monitoring and telemetry for CLI executions (#156)
  • Dependency injection for commands and program via CLIContext (#156)
  • Agent hints and error context display on errors (#161)
  • Agent deployment to unified base44 deploy command (#149)
  • AI agent to backend-and-client template (#153)
  • CLI integration tests (#19)

Changed

  • Better error messages with structured error hierarchy (UserError / SystemError) (#159)
  • Enhance resource schema validation with comprehensive Zod types (#151)
  • Centralize API error handling in ky client (#135)

Fixed

  • Update skill installation command in README and CLI create command (#162)

[0.0.25] - 2026-01-28

Added

  • Support multifile upload when deploying functions (#146)

[0.0.24] - 2026-01-28

Added

  • --no-skills flag to create command to skip skills installation (#142)

[0.0.23] - 2026-01-28

Added

  • Detect non-TTY environments and disable animations (#139)

Changed

  • Change 'Pick a template' to 'Pick an option' in create command (#137)

Fixed

  • Trigger skills repo notification directly from publish workflow (#134)

[0.0.22] - 2026-01-27

Added

  • Agents integration with base44 agents pull and base44 agents push commands (#112)
  • Path alias mapping @ to src/ for imports (#124)
  • GitHub Actions workflow to notify skills repository on release (#115)
  • Allowed bots configuration for claude bot in workflows (#126)

[0.0.21] - 2026-01-26

Re-release with no changes

[0.0.20] - 2026-01-26

Added

  • GitHub Action for auto PR description generation (#118)

Changed

  • Minor improvements to create command output (#122)

Fixed

  • Make skills installation non-critical in create command (#121)
  • Use colon-based allowed-tools patterns for gh commands (#120)
  • Change globby pattern to find .app.jsonc files (#117)

[0.0.19] - 2026-01-26

Fixed

  • Change stdio to shell option in skill installation for cleaner output

[0.0.18] - 2026-01-26

Added

  • AI agent skills option to base44 create command (#95)

Changed

  • Simplify AI agent skills selection to yes/no prompt (#111)
  • Refactor CLI code to separate concerns between running and exporting (#109)
  • Update README documentation (#93)

[0.0.17] - 2026-01-25

Changed

  • Remove --existing flag from link command API (#107)

[0.0.16] - 2026-01-25

Added

  • Support for linking to existing projects with base44 link (#97)
  • Claude Code GitHub Workflow for automated code review (#98, #106)

Changed

  • Configuration file changed from .env.local to .app.jsonc (or .app.json) (#96)

[0.0.15] - 2026-01-22

Added

  • New unified base44 deploy command to deploy entities, functions, and site in one step (#92)
  • Template option (--template) to project creation command (#86)

Fixed

  • Find both .json and .jsonc files for configuration (#90)

[0.0.14] - 2026-01-22

Fixed

  • Align params to backend requirements (#89)

[0.0.13] - 2026-01-22

Fixed

  • Align entities schema API to match backend requirements (#81)
  • Fix intro background color (#84)

[0.0.12] - 2026-01-21

Added

  • New base44 link command to link an existing directory to a Base44 app (#83)
  • New base44 dashboard command to open the app dashboard in browser (#82)

[0.0.11] - 2026-01-21

Added

  • New base44 functions deploy command to deploy backend functions (#75)

[0.0.10] - 2026-01-21

Added

  • Automatic changelog generation on release (#68)

Fixed

  • Add .gitignore to backend-only template to ignore .env.local files (#70)
  • Fix issue with version detection (#71)

Changed

  • Consolidate color definitions into centralized theme file (#74)
  • Relax GitHub issue templates to be more flexible (#72)

[0.0.8] - 2026-01-19

Added

  • Non-interactive mode for base44 create command with --deploy flag (#67)

Fixed

  • Fix command output formatting with proper line wrapping (#63)

[0.0.7] - 2026-01-18

Changed

  • Align intro/outro styling across all commands (#61)
  • Various small fixes and improvements (#60)

[0.0.6] - 2026-01-18

Added

  • Auto-login flow before create command when user is not authenticated (#48)
  • Automatic npm install, entities push, and site deploy after project creation (#47)
  • EJS frontmatter support for custom output paths in templates (#46)
  • GitHub issue and PR templates (#44)

Changed

  • Improve template option clarity in create command (#49)
  • Minor UI beautifications in create command (#53)

[0.0.4] - 2026-01-15

Added

  • New base44 site deploy command to deploy frontend to Base44 hosting (#20)
  • Authentication checks for commands that require user authentication (#28)

Removed

  • Remove unused show-project command (#42)

[0.0.3] - 2026-01-14

Fixed

  • Fix entities push to send the entire schema object instead of just the name (#23)

[0.0.2] - 2026-01-14

Added

  • Initial public release of the Base44 CLI
  • Authentication commands: login, logout, whoami (#5, #10)
  • Project configuration parsing from config.jsonc and sub-directories (#7)
  • base44 entities push command to sync entities to remote (#13)
  • base44 create command to initialize new Base44 projects (#14)
  • Template selection when creating new projects (#16)
  • Bundle CLI to single file for easier installation (#21)
  • Display dashboard link after login (#22)

Changed

  • Refactor folder structure to be organized by command/resource (#8)
  • Use tsdown for building (#11)
  • Solve circular dependencies and improve API client architecture (#18)