Change Log
March 21, 2026 ยท View on GitHub
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
[3.1.8] - 2026-03-20
๐ Security
- Backend: Upgraded
github.com/gofiber/fiber/v2fromv2.52.9tov2.52.12(fixes CVE-2025-66630, CVE-2026-25882) - Backend: Upgraded Go toolchain from
go1.24.12togo1.26.1(fixes CVE-2026-25679, CVE-2026-27142, CVE-2026-27139)
[3.1.6] - 2026-03-02
๐ง Fixed
- Backend & MCP: Endpoint paths with any number of leading slashes are now stripped on both write (create/update/import) and read (request lookup), preventing
/mocktail//posts/1-style double-slash URLs
[3.1.5] - 2026-03-02
๐ง Fixed
- MCP: Endpoint paths are now normalized โ leading double slashes and any
//within the path are collapsed to a single/before storing - MCP:
MOCKTAIL_URLtrailing slashes are stripped, preventing malformed URLs when the env var includes a trailing slash
โจ Added
- Catalog: Pagination โ the endpoint list paginates when it exceeds a page; Previous/Next controls are shown only when there is more than one page
[3.1.4] - 2026-02-22
โจ Added
MCP Server โ AI Integration
- MCP protocol support โ manage mock endpoints from AI assistants like Claude via natural language
- 5 tools:
list_mocks,create_mock,update_mock,delete_mock,import_mocks - Published to npm as
mocktail-mcpโ install withnpx mocktail-mcp, no build required - Setup instructions for Claude Code and Claude Desktop
- Automated npm publishing via CI/CD (dev tag on push, latest tag on release)
Randomize & Anonymize โ Custom & AI Generate Types
- Custom type - Enter a fixed value applied to all matching fields; always enforces "apply same value to all"
- AI Generate type - Write a natural language prompt; embedded provider/model selector (OpenAI, Anthropic, Google) in compact header bar
- "Apply same value to all" checkbox โ generate once and reuse the same value across all array items
- Auto-checks "Apply same value to all" when user enables "Apply to all" while Custom type is selected
Randomize & Anonymize โ UX Overhaul
- Three-column layout: JSON tree (left) | config & options (center) | type selector (right)
- Type selector redesigned as a scrollable grouped list with sticky category headers and icons
- Selected row highlighted (blue) in JSON tree for clear navigation
- Expanded tree nodes at any depth โ no longer limited to top two levels
- Checkboxes and Reset button only appear after a type is selected (cleaner empty state)
- Modal width increased to 1400px for comfortable three-column layout
Create Tab
- Delay field removed from Create tab; defaults to 0ms automatically
- Delay remains configurable per-endpoint in the Catalog tab
๐ง Fixed
- Reset button no longer adds a "configured" green badge โ correctly discards the config entry
- Clicking a field no longer auto-assigns a type (no more spurious green badges on click)
- First-click highlight bug in JSON tree: bracket notation (
[0]) and dot notation (.0.) paths now correctly normalized before comparison - Nested objects (e.g.,
links) now show expand arrow and are expandable at all tree depths
๐จ Improved
- PreviewBox redesigned with left-accent bar and subtle blue background (consistent with overall style)
- Checkboxes replaced with
CheckRowcomponent โ custom styled, compact, with blue fill on checked state - "Apply to all" and "Apply same value to all" grouped in single bordered card with divider
- Review modal cards are now single-row (path + type badge inline) for compact display
- Review modal: Apply Changes on left, Close on right
[3.1.3-alpha] - 2026-02-03
โจ Added
Backend Logs Tab (New)
- Split-view interface: request list on left, full details on right
- Click any request to inspect full response body
- Pretty-printed JSON with automatic formatting (2-space indentation)
- Method badges color-coded by HTTP verb (GET=green, POST=blue, PUT=orange, DELETE=red)
- Status badges color-coded by range (2xx=green, 3xx=blue, 4xx=orange, 5xx=red)
- Real-time monitoring with 2-second auto-refresh
- Auto-pause when browser tab is hidden (performance optimization)
- Copy/download individual responses as JSON files
- Structured logging: stores method, path, status, duration, and full response
- In-memory buffer keeps last 500 requests
- Smart filtering excludes polling endpoints from display
Enhanced Code Examples
- API key input field with masked display (******* by default)
- Show/hide toggle (eye icon) for API key visibility
- Copy button always includes actual API key (not masked)
- Code examples dynamically include X-API-Key header when set
- Works for all languages: cURL, Node.js, Python, Go
- Read-only display (configure via REACT_APP_MOCKTAIL_API_KEY env var)
๐ง Fixed
- Critical: String mutation bug causing request paths to corrupt (e.g., /mocktail/users โ /core/v1/logsa)
- Root cause: Fiber's internal string buffers were being shared across requests
- Solution: Use
strings.Clone()to force new string allocations in Go logger - Double string copying at middleware and logger levels ensures complete isolation
- Deep copying on frontend prevents React state mutation
- Request list properly scrollable with fixed height
- Response viewer has fixed height with scroll (doesn't expand layout)
- Clear All now clears both request list and selected details panel
- Excluded /core/v1/apis and /core/v1/logs from request logs (polling endpoints)
๐จ Improved
- Response JSON automatically pretty-printed for readability
- Terminal-style dark theme for response viewer
- Auto-selects most recent request on page load
- Request list shows newest first (reverse chronological)
- Duration formatting (milliseconds for <1s, seconds for longer)
[3.1.2-alpha] - 2026-02-03
โจ Added
Security & Configuration
- API key authentication for mock endpoints (MOCKTAIL_API_KEY)
- Dashboard and Core API automatically exempt from API key requirement
- Supports both X-API-Key header and ?api_key=... query parameter
- .env file support for local development (uses godotenv)
- Startup logging shows all configuration with masked API key
Dependencies
- Updated golang.org/x/crypto to v0.47.0 (fixes CVE-2024-45338)
- Updated golang.org/x/net to v0.49.0 (fixes CVE-2023-45288)
- Updated golang.org/x/sys to v0.40.0
- Added github.com/joho/godotenv v1.5.1
๐ง Improved
- Dockerfile uses Alpine-based images (smaller, more secure)
- Optimized CI/CD workflows (removed unnecessary artifact upload/download)
- Docker layer caching with GitHub Actions cache (faster builds)
- Build tags use short commit SHA (7 chars) instead of full SHA
- Yarn install with 10-minute timeout and triple retry (fixes ARM64 build timeouts)
๐ Documentation
- CORS configuration fully documented with examples
- .env.example with clear usage instructions for local dev, Docker, and docker-compose
- Security rule documented: cannot combine credentials=true with origins=*
- API key authentication usage examples
[3.1.1-alpha] - 2026-02-01
โจ Added
Cross-Reference Detection & Synchronization
- Key-based reference detection - automatically detects when field values appear in other fields with different keys
- "Update References" checkbox - maintains data integrity by updating all references when randomizing a field
- Works for ANY field type (IDs, names, emails, companies, phone numbers, addresses, etc.)
- Reference indicators show which fields have cross-references with count
- Supports irregular arrays and nested object structures
Review & Preview
- Review modal to preview all pending changes before applying
- View configured faker types, options, and checkbox states for each field
- Remove individual configurations from review list
- Two-way workflow: Review first OR Apply directly
Visual Improvements
- Green badges on tree nodes show configured fields with faker type
- ObjectConfigPanel displays useful information when selecting objects
- Cleaner tree view without value previews
- Shows only irregular fields in array structure warnings
- Fixed modal height prevents UI jumping when changing options
Configuration
- CORS configuration via environment variables (MOCKTAIL_CORS_ORIGINS, MOCKTAIL_CORS_METHODS, etc.)
- Supports allowed origins, methods, headers, and credentials
- Default: permissive (allow all) for easy local development
- API key authentication for mock endpoints (MOCKTAIL_API_KEY)
- Dashboard and Core API are exempt from API key requirement
- Supports both header (X-API-Key) and query parameter (?api_key=...)
๐ง Fixed
- Path normalization works correctly in all zoom levels
- Configuration indicators appear at any tree depth
- Reference detection works with both bracket
[0]and dot.0.notation - Modal maintains consistent height when switching between faker types
๐๏ธ Removed
- "Keep Original" button (still available in type dropdown)
- Field path display (breadcrumb shows path)
- Current value display (reduces visual clutter)
- Value previews in tree (cleaner navigation)
[3.1.0-alpha] - 2026-01-25
โจ Added
Randomize & Anonymize (Alpha)
- Interactive tree-based JSON editor with breadcrumb navigation
- 20+ faker types with intelligent field name detection
- Auto-generated configuration forms based on faker type
- Live preview with regenerate button
- "Apply to all" checkbox for bulk operations across array items
- Smart handling of irregular arrays with field frequency indicators
- Custom phone format patterns
- Tree zoom functionality for deeply nested structures
Code Examples Modal
- Multi-language code snippets (cURL, Node.js, Python, Go)
- One-click copy buttons
- Accessible from catalog detail view
๐ Fixed
- Catalog selection persistence after saves
- React key prop usage for proper list reconciliation
๐ฆ Dependencies
- Added @faker-js/faker@^10.2.0
[3.0.3] - 2026-01-18
โจ Added
- Code Examples modal with cURL, Node.js, Python, and Go snippets
- Generate menu dropdown in Create tab (UI preview for upcoming features)
๐ Fixed
- Catalog selection persistence with search filters active
- Endpoint selection lost after updating status codes or delays
- Improved state management with useReducer
[3.0.2] - 2026-01-19
โจ Added
- Custom status codes and response delays per endpoint
- CodeMirror JSON editor with syntax highlighting and error detection
- Quick actions in catalog (test, edit, copy, delete)
- Quick edit modal for status codes and delays
- Tab persistence in URL
๐จ Improved
- Two-column Create tab layout
- Visual feedback for copy and test actions
- Cleaner delete dialog
๐ง Technical
- Backend: StatusCode and Delay fields with validation (max 30000ms)
- Import/Export: Full support for new fields with backward compatibility
[3.0.0] - 2026-01-10
โจ Added
- Chakra UI v3 upgrade with modern design
- Multi-platform Docker support (amd64, arm64)
- Health endpoint
/healthfor monitoring - Customizable URLs with MOCKTAIL_BASE_URL env var
- Auto-skip duplicates on import
- Database directory auto-creates on first run
๐ง Updated
- Go 1.21 โ 1.23 (security patches)
- GORM v1 โ v2 (performance)
- Fiber v2.22 โ v2.52 (security)
- golang.org/x/crypto v0.31.0 (CVE fixes)
๐ Changed
- Import moved to Catalog tab
- Drag & drop removed (native file input)
- react-dropzone removed
โ ๏ธ Breaking
- v3.0 not backwards compatible with v2.x databases
- Migration: Export from v2 โ Import to v3
[2.0.4] - 2025-12-16
Updated
- Add Dockerfile to build dashboard + api
- Add docker-compose.yml
- Move
apis.dbto/dbdirectory for support docker mounting volumes (persistent db needs)
2.0.3 - 2022-02-26
Bugfix
2.0.2 - 2022-01-14
Updated
- UI improvements
2.0.1 - 2022-01-05
Updated
- UI improvements
- input validations improved.
2.0.0 - 2022-01-03
Updated
- NodeJS replaced with Go Fiber.
- React Upgrade
- Containerization automated (GitHub Actions)
[1.0.1] - 2020-06-19
Changed
- Docker Image size shrinked with multi-stage build.