Rabetbase CLI Changelog
This page documents user-facing version updates for Rabetbase CLI. The focus is on what you can do now, what improved, and what bugs were fixed.
v2.1.6 (2026-04-21)
Highlights
--jqinstallation is now much more reliable: The CLI now bundles jq as a sidecar, so installation no longer depends onnode-jqdownloading binaries from GitHub. The resolution order isJQ_PATH-> bundled jq -> jq on PATH`, which is much more stable for China-based networks, offline mirrors, and CI environments.- The development CLI can now inspect live data directly: Added
rabetbase data filterandrabetbase data getOne, so developers can verify real dataset records and response shapes without switching to the runtime CLI. - Machine-readable contracts were updated together:
rabetbase schemaand--helpnow expose the newdataservice and the current jq behavior, making AI agents, automation scripts, and documentation easier to keep aligned.
Fixes & Improvements
- JQ override behavior is more predictable: If
JQ_PATHis explicitly set but invalid, the CLI now fails fast instead of silently falling back to another jq binary. - Fewer installation failures overall: Installation is no longer blocked by external binary downloads being filtered or unavailable.
v2.1.5 (2026-04-17)
Highlights
- More consistent installation experience: Documentation, scaffolding, upgrade flows, and the Skill installation commands in CLI output now stay consistent -- no more "one way here, another way there."
- Fewer surprises when following documentation: If you are setting up for the first time or writing onboarding instructions for teammates, this version reduces confusion caused by inconsistent command examples.
v2.1.4 (2026-04-17)
Highlights
- Quieter SQL pulls: Running
sql pullno longer generates a bunch of irrelevant file changes due to "sync timestamp changed." - Prompts only when something actually changed: Behavior is now closer to what users expect -- only changes to the SQL content itself trigger downstream processing.
v2.1.3 (2026-04-17)
Highlights
- Capabilities from
v2.1.3-beta.0are now stable: If you were already trying page generation, SQL lifecycle management, menu sync, and version strategies, this release means those features are ready for production use.
v2.1.3-beta.0 (2026-04-16)
Highlights
- Standard page generation scales to larger tasks: Page generation now runs asynchronously, so long-running jobs no longer block the terminal -- better suited for AI agents, automation pipelines, and multi-user collaboration.
- More complete local SQL management: You can manage SQL creation, sync, and state locally in a more natural way instead of treating it as a one-off script.
- Unified BFF / SQL commands: Creation commands now use the
createsemantic consistently, lowering the learning curve and matching user intuition. - Menu sync results are easier to automate: The returned result after synchronization is better structured for downstream automation.
- Clearer upgrade strategy: The CLI now supports more explicit version hints and upgrade strategies, reducing "I upgraded but got the wrong version" situations.
Fixes & Improvements
- Fewer failures from inconsistent API responses: The CLI handles backend response formats more robustly in BFF, menu, SQL, and database connection features.
- More predictable upgrade results:
cli updateis less likely to install a version you did not intend.
v2.1.2 (2026-04-14)
Highlights
- Capabilities from
v2.1.2-betaare now stable: If you were already trying the new configuration system, multi-app rules, and database connection compatibility fixes, this version is a more reliable baseline.
v2.1.2-beta.3 (2026-04-14)
Highlights
- A pre-release housekeeping version: Minimal user-visible changes; primarily aimed at making the upcoming stable release cleaner and more reliable.
v2.1.2-beta.2 (2026-04-14)
Highlights
- More reliable database connection creation: If you encountered "created successfully but CLI couldn't retrieve the result," this version fixes those compatibility issues.
- Fewer broken follow-up actions: Post-creation steps such as automatic analysis connect more smoothly.
v2.1.2-beta.1 (2026-04-12)
Highlights
- Beta validation release: Primarily for wrapping up and validating the
v2.1.2-beta.0batch of changes. No new user-facing features.
v2.1.2-beta.0 (2026-04-12)
Highlights
- Clearer multi-app experience: The relationship between default app, project config, and global config is easier to understand, and it is harder to "connect to the wrong app."
- Smoother legacy project migration: Many legacy configurations are automatically normalized to the new structure during reads, so users do not need to clean up manually before continuing.
- More useful doctor output: You now see "the final effective configuration," making it more intuitive to troubleshoot config issues.
- More consistent command naming: Names like
app remoteandapi generatebetter match user expectations, reducing "I can't tell what this command does."
Fixes & Improvements
- Fixed default app selection errors: Especially when a project already has a config, it no longer gets silently overridden by the global default app.
- Fixed ambiguity when switching apps in multi-app setups:
app useresults now match user expectations.
v2.1.1 (2026-04-09)
Highlights
- More accurate BFF template examples: The ENDPOINT type API path examples now align with the current platform conventions, making it easier to get started after creating a new script.
v2.1.1-beta.0 (2026-04-09)
v2.1.1-beta.0is an important starting point for the2.1.xcycle: database connection capabilities took shape, and the configuration and multi-app experience began converging.
Highlights
- Database connections are truly usable now: You can more completely manage database connections, test them, initiate schema analysis, and view tables and diffs -- all from the CLI.
- Friendlier default output: Commands like
api listnow display in a more human-readable format when no explicit format is specified. - Clearer multi-app and config boundaries: The relationship between project config, global config, and default apps is starting to converge, reducing misconfigurations.
- More complete Skill integration: If you integrate the CLI with AI assistants or agents, this version is noticeably smoother.
Fixes & Improvements
- Reduced risk of accidentally writing config: In inappropriate directories, the CLI no longer silently writes a config file you did not want.
- Fixed default app resolution anomalies: In single-app legacy config scenarios, the global default app is no longer incorrectly applied.
v2.0.13 (2026-04-06)
New Features
- sql pull command: Added
rabetbase sql pullto batch-pull custom SQL from the remote to the.rabetbase/sql/directory. Supports--sqlcode/--namefiltering,--forceoverwrite, and--dry-runpreview; interactive mode confirms before overwriting; files include@lovrabetheader comments; duplicate names auto-append thesqlCodesuffix. - sql/shared.ts shared module: Extracted
resolveSqlLocalDir,safeSqlFileBaseName,assignSqlFileNames, andbuildPulledSqlFileContentfor reuse bypulland subsequent commands.
Bug Fixes
- Path anchoring failure in subdirectories: Running commands in a project subdirectory caused the CLI to fail to find
.rabetbase.json, leading to config read failures. AddedfindProjectRootDirectory(), which walks upward fromcwdto locate the directory containing the config file. - sql list blocked by insufficient permissions: When users lacked the
listDatasetsAPI permission,rabetbase sql listwould error and exit. Fixed to silently fall back to displaying the rawdbIdon failure.
v2.0.12 (2026-04-05)
New Features
- Project-level
inherit: falseconfig isolation: Added a top-levelinheritfield (defaulttrue) to project.rabetbase.json. When set tofalse, the CLI stops reading~/.rabetbase.jsonfor merging, ensuring complete project config isolation.
v2.0.11 (2026-04-05)
New Features
- upgrade --yes fully non-interactive upgrade: Passes the
--yesflag through toskills remove/skills addsubcommands, supporting an automated upgrade flow without human confirmation.
v2.0.10 (2026-04-05)
New Features
- api --global switch:
rabetbase api list/rabetbase api pullnow support a--globalflag. By default, only project-level.rabetbase.jsonapps are resolved; passing--globaluses the global + project merged config. - DEFAULT_API_DIR constant: Extracted
DEFAULT_API_DIR = "./src/api"toconstant/paths.ts, eliminating multiple hardcoded magic strings. - getMultiAppConfigs scope parameter: Added a
scopeparameter (project | merged) to read apps by config level.
Bug Fixes
- Cross-project global apps leaking through: Running
rabetbase api listin project A's directory would incorrectly display apps from the global config belonging to project B. Fixed to read only project-level apps by default;--globalexplicitly opts into the merged view. - api pull multi-app branch missing apiDir fallback: Multi-app mode output directories used hardcoded values instead of profile or context
apiDir. Added the full fallback chain.
v2.0.9 (2026-04-05)
New Features
@/path alias: AddedbaseUrl+pathsconfiguration totsconfig, replacing relative path imports with@/*aliases across many files.- Simplified output formats: Removed the
tableoutput format;OutputFormatnarrowed tojson | pretty | compress; addednormalizeLegacyOutputFormat()for backward compatibility.
Bug Fixes
- Duplicate jq error message prefix: Fixed the
jq: jq: error: ...duplicate prefix display. --jqwithprettyformat causing spurious errors: Automatically switches tojsonformat when--jqis detected.- Incomplete
execFileSyncstderr capture: Explicitly specifiedstdioto ensure complete failure output capture.
v2.0.8 (2026-04-04)
New Features
- schema command: Added
rabetbase schema, exporting machine-readable command metadata JSON sourced from--help, for LLM agents, IDE plugins, and CI toolchains to automatically discover all commands, flags, and risk levels. --jqglobal flag: Added global--jq <expr>, which applies jq filtering to output when combined with--format json/compress.--format compress: Added thecompressoutput format -- single-line compact JSON envelope without whitespace indentation to minimize token overhead.- app list structure upgrade: Return structure upgraded to
{ items, meta }, each app annotated withdefinedIn(global/project/both), andmetaincludes config file paths and default source info. - app positional arguments:
app add <name>/use <name>/remove <name>now use positional arguments instead of the--nameflag;app removerisk level raised tohigh-risk-write. - dataset detail expansion: Now parses
requestBody/responseBodyJSON,dbtablesummary,relatedPages,formatRules,validateRules,extend,doVersion, andcolumnCodeListWithDeleted. - Layered config architecture: Context config loading refactored to
loadRawConfigLayers()/readRawConfigWithLayers()/inspectCliConfigJsonFile(), distinguishingmissing/empty/erroron JSON parse failure and printingstderrwarnings. - doctor Config JSON diagnostics: Added a config file JSON syntax check section, diagnosing global/project config file validity.
Bug Fixes
- Config file JSON parse errors silently swallowed: When
.rabetbase.jsonhad syntax errors, the CLI silently ignored the file. After refactoring, parse failures now output astderrwarning. - app use unable to find globally configured apps in project directory: Fixed name validation logic to use the global + project merged view.
- app add --format flag conflicting with pipeline-level --format: Renamed the app default format flag to
--defaultFormat.
Document updated: 2026-04-21 Versions covered:
v2.1.6,v2.1.5,v2.1.4,v2.1.3,v2.1.3-beta.0,v2.1.2,v2.1.2-beta.0throughv2.1.2-beta.3,v2.1.1,v2.1.1-beta.0,v2.1.0,v2.0.8throughv2.0.13Repository:rabetbase-cli