Skip to main content

๐Ÿ“‹ Update Log

Last Updated: 2026-04-28

This page tracks major updates across Rabetbase CLI, Lovrabet Runtime CLI, and the TypeScript SDK.

2026-04-28โ€‹

Lovrabet Runtime CLIโ€‹

  • ๐Ÿš€ Added the launch note for Lovrabet CLI as an AI operation suite for business scenarios

    On April 21, 2026, Lovrabet CLI officially launched as the runtime operation entry that brings Lovrabet capabilities into the AI ecosystem. It turns app directories, datasets, data operations, SQL, BFF, and diagnostics into stable commands for Agents, delivery teams, business operations teams, and enterprise IT.

    Its value is not to replace admin pages, but to turn enterprise data, rules, interfaces, and accumulated operating experience into business capabilities that AI can understand, call, audit, and reuse. A business request can then become a repeatable, controlled, and collaborative Agent workflow.

  • โœจ Added lovrabet update and restored lovrabet skill install as the primary Skill install path

    lovrabet update updates the CLI from npm, supports --latest, --beta, and --version, and refreshes the official Skill by default. lovrabet skill install is now the recommended CLI entry for installing the published Lovrabet Skill through the official skills tool.

  • ๐Ÿงญ App resolution semantics now treat defaultApp as a candidate, not strong context

    In Agent workflows, explicit --app / --appcode wins. When no app is specified, defaultApp is only the first candidate to validate. If a request clearly points to a business domain such as orders, products, inventory, CRM, or tickets, the Agent should validate the default candidate with dataset search first, then expand to the app list when it does not match.

  • ๐Ÿ“š Docs now separate the business path from advanced technical material

    Lovrabet CLI 2.0 docs now include โ€œAdvanced usage: config, cache, and integration troubleshooting.โ€ Details about .lovrabet.json, app cache, AccessKey scope, extension constants, and integration troubleshooting have been moved out of the business-user path and into a page for enterprise IT, delivery teams, extension developers, and Skill maintainers.

2026-04-20โ€‹

Lovrabet Runtime CLIโ€‹

  • โœจ Added skill install and auth info โ€” v2.0.3

    lovrabet skill install can now install the published Lovrabet Skill directly through the official skills CLI. This release also adds lovrabet auth info, making it easier to verify which user the current access key actually belongs to.

2026-04-18โ€‹

Rabetbase CLIโ€‹

  • โœจ Introduced a read-only data command group โ€” v2.1.2-beta.1

    rabetbase data filter and rabetbase data getOne bring SDK-style record querying directly into the CLI. They are especially useful for inspecting live data, validating field values, and troubleshooting front-end or BFF behavior without leaving the terminal.

2026-04-15โ€‹

Rabetbase CLIโ€‹

  • ๐Ÿ”’ Version policy now supports both warnings and hard stops โ€” v2.1.2-beta.1

    The CLI now reads both the recommended stable version and the minimum supported version from the CDN:

    • If your CLI is behind stableVersion, it shows an upgrade warning
    • If it falls below minimumVersion, it blocks critical commands from running

    That gives project creation, run flows, and similar entry points a consistent version floor, reducing failures caused by old CLIs talking to newer templates or protocols.

2026-04-13โ€‹

Lovrabet Runtime CLIโ€‹

  • ๐Ÿ”„ Auth re-initialization is now centered on auth init โ€” v2.0.2

    The "wipe and rebuild auth config" flow has been consolidated into lovrabet auth init. It clears the current scope and writes back a fresh accessKey and optional env, making it the right recovery path when auth config becomes messy or inconsistent.

2026-04-12โ€‹

TypeScript SDKโ€‹

  • โœจ v1.4.1 rounds out Client AK, batchCreate(), and $notNull support

    This release completes three of the most practical runtime capabilities in one pass:

    • Client AK authentication: SDK clients can now run in client-ak mode with only an accessKey, calling /client/ endpoints and automatically sending X-User-AK
    • Batch creation: batchCreate() is now available, using paramList in OpenAPI mode and a raw array body in WebAPI / Client AK mode, with a limit of 1000 records per request
    • Non-null filtering: filter() now supports the $notNull operator for concise "field must not be empty" queries

Lovrabet Runtime CLIโ€‹

  • โœจ Authentication and app-directory behavior were redesigned โ€” v2.0.1 / v2.0.2

    Across these releases, the runtime CLI converged on a cleaner AccessKey + remote app directory model:

    • accessKey is now the primary authentication path, and doctor explicitly tells users that session-cookie auth has been removed
    • app list and app pull now consistently revolve around the remote app directory plus local cache
    • app use stores user intent such as defaultApp, while app import can migrate default-app selection from .rabetbase.json
  • ๐Ÿฉบ Added doctor diagnostics and data batchCreate โ€” v2.0.1

    lovrabet doctor now helps verify global and project config, JSON validity, the active default app, and AccessKey state. At the same time, lovrabet data batchCreate adds batch writes using either a JSON array or { items: [...] }, aligning the CLI more closely with SDK behavior.

Rabetbase CLIโ€‹

  • ๐Ÿงญ App views are now named more clearly: app discover โ†’ app remote โ€” v2.1.2-beta.1

    Platform-directory views and local-config views are now more clearly separated: rabetbase app list focuses on local or merged config, while rabetbase app remote shows which apps the current login can access on the platform.

2026-04-09โ€‹

Rabetbase CLIโ€‹

  • โœจ Database connection (dblink) commands are now first-class โ€” v2.1.0 / v2.1.1

    The CLI now covers the full database-connection workflow with commands such as db list, db detail, db create, db update, db delete, db test, db analyze-start, db analyze-cancel, db analyze-status, db tables, and db diff. In practice, that brings connection setup, validation, schema analysis, and diff inspection out of the web console and into the terminal.

  • ๐Ÿฉบ Multi-app diagnostics were tightened up further โ€” v2.1.1

    rabetbase doctor now shows the final effective configuration together with its source, and app list does a better job of marking the current app, the default app, and where each value came from.

2026-04-06โ€‹

Rabetbase CLIโ€‹

  • โœจ SQL pull, config isolation, and API scoping all became more usable โ€” v2.0.10 โ€“ v2.0.13

    This batch of releases closes several high-frequency gaps that surfaced right after CLI 2.0 launched:

    • sql pull can now batch-pull custom SQL from the platform into local .rabetbase/sql/
    • inherit: false allows a project to opt out of global config merging entirely
    • api list / api pull --global make the boundary between "project apps only" and "merged global + project apps" explicit
    • upgrade --yes enables fully non-interactive upgrade flows for scripts and CI

2026-04-04โ€‹

Rabetbase CLI 2.0โ€‹

  • โœจ Rabetbase CLI 2.0 Documentation Launch โ€” A complete documentation overhaul for the 2.0 release

    The CLI 2.0 docs have been rebuilt from scratch on a new architecture, covering every core module:

    • Fresh Install and Upgrade from CLI 1.x as two standalone guides, cross-referencing each other
    • Command Reference: 13 global flags explained (--jq, --dry-run, --yes, etc.) along with environment variables
    • Typical Use Cases rewritten around five real workflows: front-end data onboarding, SQL development, BFF scripting, AI-assisted development, and CI/CD automation
    • API & Datasets, BFF Scripts, Code Generation & Menus, Custom SQL, Schema and other core command docs
    • Configuration: Apps, Environments, Multi-App plus Config Reference, Risk Level Control, Maintenance & Diagnostics
    • CLI 1.x Command Migration guide for existing users

    ๐Ÿ‘‰ Rabetbase CLI 2.0 Documentation

  • ๐Ÿ“ Documentation Structure Refinements

    • Navbar: Lovrabet CLI replaced by Rabetbase CLI 2.0; MCP & Skills moved to archived docs
    • Sidebar labels made more direct: "Fresh Install", "Upgrade from CLI 1.x", "Configuration: Apps, Environments, Multi-App"
    • Stray --- horizontal rules removed throughout to prevent Docusaurus rendering artifacts
    • Fixed intro.md โ†’ index.md route conflict so /docs/rabetbase-cli/ resolves correctly
  • ๐ŸŒ Full English Translation โ€” All Rabetbase CLI 2.0 docs now available in English

TypeScript SDKโ€‹

  • โœจ Streamlined update / delete API โ€” v1.3.7 unifies the calling convention between front-end SDK and BFF contexts

    Both update() and delete() now accept an object-style parameter, matching the context.client calling pattern inside BFF scripts:

    // โœ… Recommended (object merge โ€” consistent across front-end and BFF)
    await client.models.users.update({ id: 1001, name: 'Zhang San' });
    await client.models.users.update({ id: [1001, 1002], status: 'active' });
    await client.models.users.delete({ id: 1001 });
    await client.models.users.delete({ id: [1001, 1002, 1003] });

    // โœ… Legacy style (still works)
    await client.models.users.update(1001, { name: 'Zhang San' });
    await client.models.users.delete(1001);

    Why the change?

    • Front-end SDK and BFF context.client now share the same calling convention, reducing cognitive overhead
    • The object-merge style maps more naturally onto RESTful semantics โ€” and AI-generated code reads better too
    • The legacy positional style remains fully compatible; no existing code needs to change
  • ๐Ÿ”ง runtimeDomain replaces serverUrl โ€” v1.3.7

    A new runtimeDomain configuration field aligns with the .rabetbase.json naming used by the CLI. The previous serverUrl is marked @deprecated but continues to work.

    const client = createClient({
    appCode: 'your-app',
    runtimeDomain: 'https://runtime.my-company.com', // New field
    // serverUrl: '...', // Legacy field โ€” still functional
    });
  • ๐Ÿ“ Default environment name changed โ€” online โ†’ production (the old online value remains accepted)


2026-03-26โ€‹

Note: The entries below belong to the CLI 1.x era. Rabetbase CLI 2.0 launched on 2026-04-04 โ€” we recommend heading straight to the CLI 2.0 docs.

Lovrabet CLIโ€‹

  • ๐Ÿ”„ Skills Installation Method Changed - Recommend using npx skills for installation

    Skills installation has migrated to the npx skills tool, the old lovrabet skill install command is deprecated:

    # โœ… New method (Recommended)
    npx skills add lovrabet/lovrabet-skill

    # โŒ Old method (Deprecated)
    # lovrabet skill install --cursor

    Why the change?

    • โœ… No CLI installation required, use npx directly
    • โœ… Always use the latest version of Skills
    • โœ… Better ecosystem alignment

    ๐Ÿ‘‰ AI Skills Installation Documentation

Lovrabet SDKโ€‹

  • โœจ Batch Operations Support - v1.3.7 adds batch update and batch delete capabilities

    SDK now supports batch operations, greatly improving data processing efficiency:

    // Batch update - max 1000 records
    await client.models.users.update(
    [1001, 1002, 1003, 1004, 1005],
    { status: "inactive", updateTime: new Date().toISOString() }
    );

    // Batch delete - max 1000 records
    await client.models.orders.delete([1001, 1002, 1003]);

    Core Features:

    • Process up to 1000 records at once
    • Supports both single ID and ID array formats
    • Operations are atomic - all succeed or all fail
    • Works in both OpenAPI and WebAPI modes
    • Clear error messages when limits are exceeded

    Use Cases:

    • Batch status updates (e.g., activate/deactivate users)
    • Batch field updates (e.g., set tags in bulk)
    • Batch cleanup of test data
    • Batch deletion of expired records

    ๐Ÿ‘‰ API Usage Guide

  • ๐Ÿ“ Documentation Enhancement - Added comprehensive usage guide

    New help/lovrabet-sdk-guide.md (16KB) includes:

    • Batch operations detailed explanations and best practices
    • Advanced queries (filter method) complete guide
    • Data export (Excel), SQL API, dropdown options, and all features
    • Aggregation statistics (aggregate) usage guide
    • Common questions and best practices

Lovrabet CLIโ€‹

  • โœจ Windows 10 Compatibility Optimization - v1.3.4 comprehensively improves Windows 10 support

    CLI is now fully compatible with Windows 10, working properly in all mainstream terminals:

    Core Improvements:

    • ๐Ÿ”ง Path Handling Optimization - Uses path.join() instead of hardcoded separators, automatically adapts to Windows path format
    • ๐Ÿš€ Process Execution Optimization - Adopts execa instead of spawn, providing better cross-platform process management
    • ๐ŸŽจ Emoji Display Fix - Removes incompatible emojis, uses ASCII characters instead, ensuring proper display in CMD/PowerShell

    Fix Examples:

    # Before (displayed as boxes)
    ๐Ÿš€ Generating documentation...
    โŒ Generation failed

    # After (normal display)
    * Generating documentation...
    [ERROR] Generation failed

    Test Coverage:

    • โœ… Windows CMD - All features work normally
    • โœ… PowerShell - All features work normally
    • โœ… Git Bash - All features work normally (Recommended)
    • โœ… WSL - All features work normally (Recommended)
    • โœ… Cmder - All features work normally

    ๐Ÿ‘‰ Windows Usage Guide

  • ๐Ÿ—‘๏ธ Remove add page Command - v1.3.4 simplifies command set

    Removed lovrabet add page command, recommend using more flexible approaches:

    Alternative Solutions:

    # Use API generation + manual page creation
    lovrabet api pull # Generate API configuration
    # Then manually create page components, more flexible and controllable

    Why Removed:

    • Page template too simple, not suitable for real business scenarios
    • Manual page creation more flexible, allows custom component structure
    • Using SDK + API configuration is a better development pattern

    ๐Ÿ‘‰ Command Reference


2026-02-12โ€‹

Documentation Restructureโ€‹

  • ๐Ÿ“ Enhanced menu update command documentation - Added iterative update workflow instructions

Lovrabet CLIโ€‹

  • โœจ i18n Internationalization Support - v1.3.3 adds internationalization capabilities

    CLI now supports multi-language switching, enhancing global user experience:

    # Switch display language
    lovrabet config set locale en # English
    lovrabet config set locale zh # Chinese (default)

    Core Features:

    • Built-in Chinese and English support
    • All prompt messages and documentation support multiple languages
    • Easy to extend with new languages

Lovrabet SDKโ€‹

  • โœจ Filter Multi-table Query Support - Filter API now supports cross-table relational queries

    Implement table joins without writing SQL, using dot notation for automatic association:

    const result = await client.models.orders.filter({
    // Use dot notation in select to get related table fields
    select: [
    "id",
    "order_date",
    "total_amount",
    "customer.name", // Related customer name
    "customer.phone", // Related customer phone
    "customer.company", // Related customer company
    ],
    // Dot notation also works in where
    where: {
    status: { $eq: "completed" },
    "customer.is_signed": { $eq: true }, // Only signed customers
    },
    // orderBy also supports dot notation
    orderBy: [{ order_date: "desc" }, { "customer.name": "asc" }],
    currentPage: 1,
    pageSize: 20,
    });

    // Results automatically include related data
    result.tableData.forEach((order) => {
    console.log(order.customer?.name); // Direct access to related fields
    });

    Core Features:

    • Use table_name.field_name syntax, no additional configuration needed
    • Automatic LEFT JOIN, ensuring main table data is preserved
    • Works in select, where, and orderBy
    • Supports up to 5 levels of nested associations
    • Field selection reduces data transfer
    • Fully compatible with filter conditions and sorting

    ๐Ÿ‘‰ Filter API Complete Guide


2026-01-26โ€‹

Lovrabet SDKโ€‹

  • โœจ New Model Alias Configuration Documentation - Detailed guide on human-friendly model access

    Core Features:

    • Use aliases instead of complex datasetCode to access datasets
    • CLI auto-generates configuration, no manual writing needed
    • Complete TypeScript type support

    Access Method Comparison:

    // Using alias (Recommended) - Clear and readable
    const orders = await client.models.orders.filter();
    const customers = await client.models.customers.filter();

    // Using datasetCode - Less readable
    const orders = await client.models.dataset_8d2dcbae08b54bdd84c00be558ed48df.filter();

    CLI Auto-generation:

    lovrabet api pull

    Generated configuration includes:

    • datasetCode - Dataset unique identifier
    • tableName - Database table name
    • alias - Human-friendly alias (camelCase format)

    ๐Ÿ‘‰ Model Alias Configuration Documentation

  • ๐Ÿ“ BFF API Documentation Release - Complete BFF API usage guide

    BFF (Backend For Frontend) API is supported from v1.3.0:

    // Call backend function
    const result = await client.bff.execute({
    scriptName: 'calculatePrice',
    params: { productId: '123', quantity: 10 }
    });

    ๐Ÿ‘‰ BFF API Reference

  • ๐Ÿ“ Syntax Sugar Documentation Release - Complete guide for safe and sqlSafe

    Version Requirements:

    • safe function: v1.3.0+
    • sqlSafe function: v1.3.0+

    Simplified error handling:

    import { safe, sqlSafe } from "@lovrabet/sdk";

    // safe - Regular API
    const { data, error } = await safe(() => client.models.users.filter());
    if (!error) {
    console.log(data);
    }

    // sqlSafe - SQL queries
    const { data, error } = await sqlSafe(() =>
    client.sql.execute({ sqlCode: "xxx" })
    );
    if (!error) {
    console.log(`Found ${data.length} records`);
    data.forEach(row => console.log(row));
    }

    ๐Ÿ‘‰ Syntax Sugar Documentation

  • ๐Ÿ“ SQL API Change Note - Recommend using new namespace approach

    From v1.1.19, it's recommended to use client.sql.execute() instead of the old client.api.executeSql():

    // โœ… Recommended: Use client.sql namespace
    const data = await client.sql.execute({
    sqlCode: "fc8e7777-06e3847d",
    params: { userId: "123" }
    });

    // โš ๏ธ Compatible: Old method still works
    const data = await client.api.executeSql("fc8e7777-06e3847d", {
    userId: "123"
    });

    ๐Ÿ‘‰ SQL API Usage Guide

Lovrabet Toolchainโ€‹

  • ๐Ÿค– AI Vibe Coding System - CLI, SDK, MCP trinity, fully empowering AI-assisted development

    Three Core Tools:

    ToolCore FeaturesUser Value
    Lovrabet CLIProject initialization, code generation, menu sync, AI integrationOne-click completion of tedious configuration, saving 80% initialization time
    Lovrabet SDKTypeScript SDK with CRUD, Filter, SQL, BFF four major APIsType-safe data access, reducing 60% interface debugging time
    Lovrabet MCPAI IDE dataset access capability, automatic code generationAI directly understands business models, code generation accuracy 90%+

    ๐Ÿ”ง Lovrabet CLI (v1.2.5+) - Development Efficiency Multiplier

    # Project initialization
    lovrabet init # Quick appCode configuration
    lovrabet api pull # Auto-generate SDK config (api.ts)

    # AI integration (New)
    lovrabet mcp install --cursor # Configure Cursor MCP
    lovrabet skill install --cursor # Install development standards Skill

    # Menu management
    lovrabet menu sync # Sync local pages to platform menu

    User Value:

    • โšก Quick Start: New project configured in 5 minutes, not 1 hour of manual setup
    • ๐ŸŽฏ Zero Configuration Errors: Auto-generated config files, avoiding appCode, datasetCode typos
    • ๐Ÿ”„ Auto Sync: One-click menu sync, no need to manually create on platform
    • ๐Ÿค– AI Ready: One-click install MCP and Skill, AI immediately understands project structure

    ๐Ÿ“ฆ Lovrabet SDK (v1.3.0+) - Type-Safe Data Access Layer

    // CRUD operations
    const users = await client.models.users.filter({ status: 'active' });
    const user = await client.models.users.create({ name: 'Alice' });

    // Advanced queries (Filter API)
    const result = await client.models.orders.filter({
    where: { amount: { $gte: 100, $lte: 500 } },
    select: ['id', 'amount', 'status'],
    orderBy: [{ createTime: 'desc' }]
    });

    // Custom SQL (SQL API)
    const stats = await client.sql.execute({
    sqlCode: 'user-stats',
    params: { startDate: '2025-01-01' }
    });

    // Backend functions (BFF API)
    const price = await client.bff.execute({
    scriptName: 'calculatePrice',
    params: { productId: '123', quantity: 10 }
    });

    User Value:

    • ๐Ÿ›ก๏ธ Type Safety: TypeScript hints throughout, catching 90% of errors at compile time
    • ๐Ÿš€ Development Speed: Unified API style, no need to memorize multiple interface specifications
    • ๐ŸŽจ Flexible Queries: Filter API supports complex conditions, no need to write SQL
    • ๐Ÿ”Œ Business Decoupling: BFF API encapsulates complex logic, frontend focuses on UI

    ๐Ÿง  Lovrabet MCP - AI's Dataset Knowledge Base

    Enables AI IDEs (Cursor, Claude Code, Windsurf) to:

    • ๐Ÿ“Š Understand Data Models: Direct access to dataset fields, types, enum values, relationships
    • ๐Ÿค– Generate Accurate Code: Generate SDK call code based on real metadata, 100% correct field names
    • ๐Ÿ” Smart SQL Creation: 5-step workflow (validateโ†’confirmโ†’saveโ†’testโ†’generate), preventing SQL errors
    • ๐Ÿ“ Follow Standards: Skill guides AI to follow project development standards (API usage, UI standards, error handling)

    Lovrabet Skill Six Modules:

    ModuleFeaturesTechnical ValueBusiness Value
    TypeScript SDK UsageComplete Filter, SQL, BFF usageReduce API misuseLower 30% debugging time
    MCP SQL WorkflowMandatory validation processPrevent SQL errorsAvoid production data issues
    AntD UI StandardsAvoid "AI-flavored" codeUnified UI styleReduce UI rework
    API Integration GuideStandardized call patternsImprove stabilityShorten 50% integration time
    Menu ManagementAutomated syncAvoid configuration errorsImprove ops efficiency
    BFF Script StandardsBest practicesImprove maintainabilityReduce technical debt

    Supported AI IDEs:

    • Cursor (.cursorrules + .cursor/skills/)
    • Windsurf (.windsurf/workflows/)
    • Claude Code (.claude/skills/)
    • Codex, OpenCode, Qoder, CodeBuddy, Trae

    Overall Business Value:

    • ๐Ÿ“ˆ Development Efficiency Increased 3-5x: AI auto-generates code, reducing 60-80% repetitive work
    • ๐ŸŽฏ Learning Cost Reduced 70%: New developers onboard in 1 day, no need to deeply learn all APIs
    • ๐Ÿ›ก๏ธ Error Rate Decreased 80%: AI follows standards, avoiding common errors (SQL injection, field typos, etc.)
    • โšก Delivery Cycle Shortened 40%: From requirements to launch, development time significantly compressed
    • ๐Ÿ”„ Code Quality Improved: Unified style, smoother team collaboration, more efficient code reviews

    ๐Ÿ‘‰ CLI Command Reference | SDK Quick Start | MCP Configuration Guide

  • ๐Ÿ“ Skill Installation Directory Correction - Cursor skills install to .cursor/skills/ not .cursor/commands/

    Correct File Structure:

    your-project/
    โ”œโ”€โ”€ .cursorrules # Cursor general rules
    โ”œโ”€โ”€ .cursor/
    โ”‚ โ””โ”€โ”€ skills/ # Cursor skills โœ…
    โ”œโ”€โ”€ .windsurf/
    โ”‚ โ””โ”€โ”€ workflows/ # Windsurf workflows
    โ”œโ”€โ”€ .claude/
    โ”‚ โ””โ”€โ”€ skills/ # Claude Code skills
    โ””โ”€โ”€ .lovrabet/
    โ””โ”€โ”€ skill/ # Shared guides

    Installation Command:

    lovrabet skill install --cursor

    ๐Ÿ‘‰ Skill Installation Documentation

Documentation Internationalizationโ€‹

  • ๐ŸŒ Completed English Translation - All new and updated documentation synchronized to English version

    New English Documentation:

    • Model Alias Configuration
    • BFF API Reference
    • Syntax Sugar
    • Skill Installation

    Updated English Documentation:

    • API Usage Guide - Added BFF API and SQL API change notes
    • All version numbers corrected to v1.3.0

    Access English Version:

    • Visit /en/ path in browser
    • Or use language switcher in top right corner

2026-01-02โ€‹

Lovrabet SDKโ€‹

  • ๐Ÿค– AI-Friendly Error Handling - v1.2.5 enhanced LovrabetError, added description field

    Optimized error messages for AI Coding scenarios, helping LLMs understand error causes and provide fix suggestions:

    try {
    await client.models.users.create({ invalid_field: 'value' });
    } catch (error) {
    if (error instanceof LovrabetError) {
    console.log(error.message); // "Column invalid_field does not exist"
    console.log(error.code); // "SERVER_ERROR"
    console.log(error.description);
    // "Server returned error: Column invalid_field does not exist. Error type: Parameter error. Status code: 400.
    // Suggestion: Field "invalid_field" does not exist, please check if the field name is spelled correctly;
    // Use MCP tool to get the correct field list for the dataset"
    }
    }

    Covered Error Types:

    • MODEL_NOT_FOUND - Model does not exist, provides available model list
    • CONFIG_NOT_FOUND - Configuration does not exist, provides registered configuration list
    • SERVER_ERROR - Server parameter error, provides field fix suggestions
    • 401 Insufficient permissions - Login expired/appCode unauthorized/HTTPS/CORS and other suggestions
    • TIMEOUT - Request timeout, provides timeout configuration suggestions

2025-12-29 ๐ŸŽ‰ v1.2.0 Major Releaseโ€‹

Lovrabet SDK v1.2.0โ€‹

  • โœจ Model Access Method Upgrade - Supports standard and alias methods

    // Standard method (Recommended) - Uses dataset_ prefix + datasetCode
    // Globally unique, convenient for AI tool code generation
    const users = await client.models.dataset_8d2dcbae08b54bdd84c00be558ed48df.filter();

    // Alias method (Syntactic sugar) - Uses configured alias
    // Convenient for human reading, functionally identical to standard method
    const users = await client.models.users.filter();

    Alias is just a pointer, internally still uses datasetCode for access, all features are the same as standard method.

  • โœจ Configuration Structure Redesign - Optimized for AI invocation, redesigned registerModels function parameter structure

    registerModels({
    appCode: "your-app-code",
    models: [
    {
    datasetCode: "8d2dcbae08b54bdd84c00be558ed48df",
    tableName: "users",
    alias: "users", // Optional: Model alias, syntactic sugar
    name: "User Table", // Optional: UI display name
    },
    ],
    });

    New structure is centered on datasetCode as the core identifier, more AI-friendly, generated code is more standardized.

  • โœจ Model Manager Enhancement - Added multiple management methods

    // Get all model details
    const details = client.getModelListDetails();
    // Returns: [{ datasetCode: '8d2dcbae08b54bdd84c00be558ed48df', alias: 'users', name: 'User Table' }, ...]

    // Dynamically add model
    client.addModel({
    datasetCode: 'f7e6d5c4b3a2901234567890fedcba98',
    tableName: 'products',
    alias: 'products'
    });
  • โœ… Fully Backward Compatible - All existing code runs without modification

    ๐Ÿ‘‰ SDK Configuration Guide | Quick Start

Lovrabet CLI v1.2.0โ€‹

  • โœจ SDK Version Compatibility Check - Automatically detects @lovrabet/sdk version in the project at startup

    • Displays yellow warning to upgrade if version below 1.2.0 is detected
    • Ensures access to latest features like model aliases
  • โœจ API Configuration Structure Optimization - Generated configuration is more AI-friendly, supports model aliases

    // api.ts generated by v1.2.0+
    export const LOVRABET_MODELS_CONFIG = {
    appCode: 'my-app',
    models: [
    {
    datasetCode: '8d2dcbae08b54bdd84c00be558ed48df',
    tableName: 'users',
    alias: 'users', // Model alias, convenient for code reading
    name: 'User Management', // UI display name
    },
    ],
    } as const;

    ๐Ÿ‘‰ CLI Command Reference

Lovrabet MCP v1.2.0โ€‹

  • โšก Significant Performance and Stability Improvements - Full upgrade of underlying architecture, faster response, more stable operation

  • โœจ Further Reduction of AI Hallucinations - Provides more precise field metadata (database type, length, auto-increment, etc.), helping AI generate more accurate code

  • โœจ SDK/CLI Version Compatibility Guidance - Generated code automatically prompts SDK version requirements, guiding users to upgrade to 1.2.0+ to use new features like alias access

    ๐Ÿ‘‰ MCP Service Documentation


2025-12-03โ€‹

Lovrabet SDKโ€‹

  • โœจ New Excel Export Feature - v1.1.24 supports exporting datasets to Excel files

    Export data quickly with excelExport() method:

    // Export all data
    const fileUrl = await client.models.users.excelExport();
    window.open(fileUrl, '_blank');

    // Export with filter conditions
    const fileUrl = await client.models.users.excelExport({
    status: 'active',
    createTime: '2025-01-01'
    });

    Core Features:

    • Returns downloadable file URL (OSS address)
    • Supports passing filter conditions (ListParams)
    • Direct use of window.open() to open download
    • Only WebAPI mode (Cookie authentication) supported

    ๐Ÿ‘‰ API Usage Guide | Practical Examples


2025-11-21โ€‹

Lovrabet SDKโ€‹

  • โœจ Filter API Supports OpenAPI Mode - v1.1.22 extends filter() to full mode support

    Starting from v1.1.22, filter() method supports both OpenAPI mode and WebAPI mode:

    // Using filter in OpenAPI mode
    const client = createClient({
    appCode: "your-app-code",
    accessKey: process.env.LOVRABET_ACCESS_KEY,
    models: { users: { tableName: "users", datasetCode: "ds-001" } },
    });

    const result = await client.models.users.filter({
    where: {
    $and: [
    { age: { $gte: 18, $lte: 45 } },
    { country: { $in: ["China", "United States"] } },
    ],
    },
    select: ["id", "name", "age"],
    orderBy: [{ createTime: "desc" }],
    currentPage: 1,
    pageSize: 20,
    });

    Updates:

    • OpenAPI mode now supports filter() advanced filtering queries
    • Maintains consistent API interface with WebAPI mode
    • Supports all conditional operators and logical combinations

    ๐Ÿ‘‰ Filter API Complete Guide


2025-11-15โ€‹

Lovrabet SDKโ€‹

  • โœจ New Filter API Advanced Filtering Query - v1.1.21 supports more powerful data filtering capabilities

    Perform complex conditional queries via client.models.xxx.filter() method:

    // Range query + fuzzy search + field filtering
    const users = await client.models.users.filter({
    where: {
    age: { $gte: 18, $lte: 35 }, // Age 18-35
    username: { $contain: 'john' }, // Username contains john
    status: { $in: ['active', 'pending'] } // Status is active or pending
    },
    fields: ['id', 'username', 'age'], // Only return these fields
    sortList: [{ createTime: 'desc' }],
    pageSize: 20
    });

    Core Advantages:

    • Supports range queries ($gte, $lte)
    • Supports fuzzy matching ($contain, $startWith, $endWith)
    • Supports set operations ($in, $ne)
    • Supports complex logic ($and, $or)
    • Supports field filtering, reducing data transfer

    Use Cases:

    • Complex data filtering and search features
    • Multi-condition combined queries
    • Advanced data analysis and reporting

    ๐Ÿ‘‰ Filter API Complete Guide


2025-11-11โ€‹

Lovrabet SDKโ€‹

  • โœจ New SQL API Support - v1.1.19 supports executing custom SQL queries

    Execute custom SQL configured on the platform via client.api.executeSql() method:

    // Execute SQL query
    const data = await client.api.executeSql("fc8e7777-06e3847d");

    // Application layer checks execution results
    if (data.execSuccess && data.execResult) {
    data.execResult.forEach((row) => {
    console.log(row);
    });
    }

    Core Features:

    • Supports parameterized queries, preventing SQL injection
    • Complete TypeScript type support

    Use Cases:

    • Complex data statistics and aggregation queries
    • Cross-table relational queries
    • Custom report data retrieval
    • Flexible data analysis needs

    ๐Ÿ‘‰ Detailed Usage Guide


2025-11-04โ€‹

Lovrabet CLIโ€‹

  • โœจ New Menu Sync Command - v1.1.15 added lovrabet menu sync

    After completing new page development, sync to Lovrabet platform with one command, automatically create menus:

    lovrabet menu sync

    Core Features:

    • Automatically scan local src/pages directory, compare with platform menus
    • Visualize differences (green โœ“ exists, red โœ— not created)
    • Batch create missing menus
    • Support configuring JS/CSS CDN links
    • Real-time URL format and reachability validation

    Use Cases:

    • Sync to platform after developing new pages
    • Batch manage multiple page menus
    • Ensure local and platform consistency

    ๐Ÿ‘‰ Detailed Usage Guide


2025-10-25โ€‹

OpenAPI Documentationโ€‹

  • ๐Ÿ› Fix terminology and example inconsistencies
    • Unified datasetId โ†’ datasetCode across the board
    • Unified environment variable name to LOVRABET_DATASET_CODE
  • ๐ŸŽจ Optimize list return structure description
    • Clarified filter returns include paging/tableData/tableColumns
    • Aligned examples with descriptions, ready for direct copy and run

Lovrabet CLIโ€‹

  • ๐Ÿ“ Proofread command documentation
    • Confirmed and supplemented lovrabet api doc and --datasetcode, --params option descriptions (aligned with implementation)

Lovrabet SDKโ€‹

  • ๐Ÿ“ README example alignment
    • Unified examples to use datasetCode
    • Supplemented filter return structure reading examples (reading paging and tableColumns)

2025-10-18โ€‹

Lovrabet SDKโ€‹

  • โœจ New Select Options Interface - v1.1.18 supports quick retrieval of form option data

    • Added getSelectOptions() method for getting dropdown options from data tables

    • Returns standardized { label, value } format, directly applicable to frontend components

    • Automatically maps data table fields to option data

    • Suitable for Select, Radio, Checkbox, and other form components

    • Only WebAPI mode (Cookie authentication) supported

    • Example:

      // Get select options
      const options = await client.models.users.getSelectOptions({
      code: "user_id", // Field name used for option value
      label: "user_name", // Field name used for display text
      });

      // Return format:
      // [
      // { label: 'Zhang San', value: 'user001' },
      // { label: 'Li Si', value: 'user002' }
      // ]

      // Use in React
      <Select>
      {options.map((option) => (
      <Option key={option.value} value={option.value}>
      {option.label}
      </Option>
      ))}
      </Select>;
  • ๐Ÿ“‹ New Type Definitions - v1.1.17

    • SelectOption interface: { label: string, value: string }
    • SelectOptionsParams interface: { code: string, label: string }
  • โš ๏ธ Clarified OpenAPI Mode Limitations - v1.1.18

    • OpenAPI mode does not currently support delete() operation
    • OpenAPI mode does not currently support getSelectOptions() operation
    • If you need these features, please use WebAPI mode (Cookie authentication) or develop custom API interfaces

Lovrabet CLIโ€‹

  • ๐ŸŽจ Optimized Naming Convention - v1.1.13 improved code generation standards

    • Dataset name generation uses camelCase naming (lowercase first letter)
    • Conforms to JavaScript/TypeScript variable naming conventions
    • Examples:
      • order_items table โ†’ generates orderItems model (not OrderItems)
      • user_profile table โ†’ generates userProfile model (not UserProfile)
    • Ensures consistent style of generated code, improves code readability
  • ๐Ÿ”ง Code Generation Optimization - v1.1.13

    • Simplified model configuration generation logic
    • Improved code generation performance and maintainability

2025-10-17โ€‹

Lovrabet CLIโ€‹

  • โœจ New lovrabet init Command - v1.1.12 supports quick initialization configuration for existing projects

    • Add Lovrabet configuration support to existing projects

    • Interactive appcode input with real-time format validation

    • Automatically detect and prevent overwriting existing configuration files

    • Inherit global configuration, no need to repeat settings

    • Configuration file includes creation time and CLI version information

    • Usage example:

      # Interactive initialization
      lovrabet init

      # Directly specify appcode
      lovrabet init --appcode my-app-code
  • โœจ Enhanced lovrabet api doc - v1.1.12 supports on-demand generation and custom parameters

    • Added --datasetcode parameter: specify dataset to generate documentation

    • Supports multiple datasets (comma-separated)

    • Intelligent validation: automatically checks if specified dataset codes exist

    • Statistical feedback: shows number of matched datasets and invalid codes

    • Supports passing JSON format additional parameters via --params parameter

    • Usage example:

      # Generate documentation for all datasets
      lovrabet api doc

      # Generate documentation only for specified dataset
      lovrabet api doc --datasetcode ds_001

      # Generate documentation for multiple specified datasets
      lovrabet api doc --datasetcode ds_001,ds_002,ds_003

      # Pass additional parameters
      lovrabet api doc --params '{"customField": "value"}'
  • ๐Ÿ“Š Optimized File Naming Strategy - v1.1.12 improved filename uniqueness

    • Extended short code from 4 to 6 digits
    • Reduced possibility of filename conflicts

2025-10-16โ€‹

Lovrabet SDKโ€‹

  • โœจ New List Sorting Feature - v1.1.16 supports multi-field combined sorting

    • Use SortOrder enum to control ascending/descending order

    • Supports multi-field priority sorting

    • Compatible with both OpenAPI and WebAPI modes

    • Example:

      import { SortOrder } from "@lovrabet/sdk";

      const users = await client.models.users.filter(
      { currentPage: 1, pageSize: 20 },
      [
      { priority: SortOrder.DESC }, // Priority descending
      { createTime: SortOrder.DESC }, // Create time descending
      { name: SortOrder.ASC }, // Name ascending
      ]
      );
  • ๐Ÿ”ง ModelConfig Interface Enhancement - Added optional name field, improved configuration flexibility

  • ๐Ÿ› Debug Feature Optimization - v1.1.14 added debug logging feature

    • Supports outputting complete HTTP request details (URL, Headers, Body)
    • Enable via options.debug: true
    • Convenient for troubleshooting API call issues

Lovrabet CLIโ€‹

  • โœจ Dataset Management Optimization - v1.1.10 comprehensively improved data management capabilities

    • Intelligent deduplication mechanism: automatically identify and remove duplicate datasets
    • Optimized SDK data retrieval page templates, streamlined UI components
    • Enhanced table data processing capabilities, improved performance
  • ๐Ÿ“„ API Documentation Generation - Added automatic API documentation generation feature

    • Automatically generate API usage documentation from datasets
    • Provide complete interface descriptions and example code
    • Support custom documentation templates
  • ๐Ÿ“Š Log System Enhancement - CLI log tracking capabilities fully upgraded

    • Full process tracking of command execution
    • Enhanced error localization capabilities
    • Support log level filtering
  • ๐ŸŽฏ User Experience Optimization

    • Improved API configuration management workflow
    • Optimized interactive prompts
    • Improved command response speed

2025-10-12โ€‹

Java OpenSDKโ€‹

  • โœจ New Complete Java OpenSDK documentation system

    • ๐Ÿ“– Quick Start - Complete your first CRUD program in 5 minutes
    • ๐Ÿ“š Core Concepts - SDK working principles and authentication mechanism explained in detail
    • ๐Ÿ“‹ API Reference - Complete interface documentation and parameter descriptions
    • ๐Ÿ’ก Business Examples - 5 complete implementations of real scenarios (customer management, order sync, data dashboard, data middle platform, scheduled tasks)
    • ๐Ÿš€ Best Practices - Production environment deployment and performance optimization guide
    • โ“ FAQ - Covers troubleshooting for installation, configuration, and full development workflow
  • ๐ŸŽจ Optimized Documentation structure

    • Adjusted menu order, arranged by learning path (Quick Start โ†’ Core Concepts โ†’ Examples โ†’ Best Practices โ†’ API Reference โ†’ FAQ)
    • API Reference moved to end of menu, convenient for quick reference after getting started

Documentation Experience Optimizationโ€‹

  • ๐Ÿ› Fixed Code block syntax highlighting issues

    • Support for Java, Gradle, YAML, Bash, and other languages
    • Added correct language identifiers for all code examples
  • ๐ŸŽจ Optimized Single document mode display

    • Fixed page width limitation issue in single document mode
    • Implemented responsive design, adaptive margins for different screen sizes (compressed margins on small screens, comfortable reading width on large screens)

Content Completionโ€‹

  • ๐Ÿ“ Updated Rabetbase introduction
    • Supplemented OpenAPI current status description (beta phase, data query function only)
    • Supplemented Java OpenSDK complete feature description (supports complete CRUD operations)
    • Added quick start guide, categorized by tech stack (frontend developers, backend developers)
    • Added technology selection comparison table to help developers choose appropriate solutions

Usage Instructionsโ€‹

This update log follows the following format:

  • โœจ New - Brand new feature or documentation section
  • ๐ŸŽจ Optimized - Improved expression or structure of existing content
  • ๐Ÿ› Fixed - Corrected errors or issues in documentation
  • ๐Ÿ“ Completed / Updated - Supplemented or enriched existing content
  • ๐Ÿ” Security - Security-related updates
  • โšก Performance - Performance optimization-related updates
  • ๐Ÿ“Š Example - Added or updated code examples
  • ๐Ÿ› ๏ธ Tools - Development tools or auxiliary function-related
  • ๐Ÿ“– Documentation - Documentation-related improvements