[#383] Added the 3D Editor — build 3D scenes next to the Map Editor with basic shapes, GLB models, lights, environment presets/HDR, floor images, text, paths, and saved camera views; edit with move/rotate/scale gizmos, multi-select, grouping, snapping, orthographic views, and full undo/redo, in either a local XYZ or a GEO (longitude/latitude) coordinate system
[#383] Added data binding to 3D elements — connect CSV, API, Union, IoT, and Kafka data to labels, position, rotation, and scale, and attach click/hover actions that receive the row values
[#383] Added state flows and effects to 3D elements — threshold rules can trigger color changes, glow, blink, pulse, spin, bob, animation clips, path following, hide, and label emphasis, and alarms/actions work the same way as maps and charts
[#383] Added Data Rows elements — spawn one 3D instance per key in a dataset with per-key labels, states, and effects, including a high-performance instanced render mode for large counts
[#383] Added the 3D player for dashboards — embed scenes as a layout item with camera view buttons, auto-rotate, labels, hover popups, and a CAMERA_VIEW action; scenes are included in publishing and site backup/restore
[#383] Added a 3D Editor item to the license feature list so administrators can enable or disable it per license
[#384] Added an optional on-premise map tile server — the installer asks whether to install it; the image bundles the styles, fonts, and map data (world map up to zoom 12 plus South Korea in full detail) so map widgets work without internet access and without the "API KEY REQUIRED" watermark that CARTO started adding. Configure it with public.tileServerURL in settings.json and the allowed domains in tileserver.env
[#384] Added the Tile Server page to the admin menu — register external customer domains that are allowed to load map tiles (the site domain and custom domains of published sites are allowed automatically)
[#367] Added an input context limit option to AI settings — turn it on to cap the tokens sent to the model, seeded from the model's configured limit
[#367] Added version history to AI Dashboards — every save is kept as a version with a (v2), (v3) label and creation time in the history dropdown
[#367] Model entries in settings.json now honor contextLimit, so the input limit can match the GPU of each deployment instead of the model's theoretical maximum
[#367] AI Dashboard scripts are now validated before saving (syntax errors and definite runtime defects), the model receives line-level fix guidance, and missing data renders an empty chart instead of a blank screen
[#367] Improved AI chat and report reliability on long conversations by counting tool definitions and attached images in the input budget and trimming in one place
[#378] Removed the Pivot option from the User Editor block list
[#378] Added User Editor — users can build their own pages from site data such as charts and tables, with layout and theme editing, undo/redo, and new-window editing
[#378] Added user page sharing — share pages through per-user share URLs, and let link viewers access data, files, and real-time updates with owner-level access
[#378] Added user page download to PNG or PDF, including full capture of long pages
[#378] Added union data creation in the User Editor
[#378] Added User Editor permissions — control User Editor availability from the permission page, and configure site page, AI Dashboard, and AI Agent visibility individually
[#247] Added maintenance mode — administrators can turn on maintenance with a custom message; regular users are redirected to a maintenance page and automatically return to their original page when maintenance ends
[#247] Added SCLAB GPT prompt history — review previously used prompts in data and union settings and apply them again
[#247] Added fullscreen support to the iframe popup content area
[#247] Improved chart, table, pivot, and location settings popups with a unified layout, popup titles, reorganized settings sections, updated chart list thumbnails, and a cancel button
[#378] Unified the site's top-right buttons and changed them to a dropdown for users with edit permissions
[#148] Improved large file imports with batched, concurrent embedding for faster processing and detailed progress for the loading, parsing, and OCR stages
[#148] Improved AI Agent internal tool call structure for faster responses and better stability
[#368] Improved HWPX export speed for documents with CJK text such as Japanese
[#68] Cleaned up an unused time series option in chart settings
[#367] Added OpenAI GPT-5.6 models (Luna, Terra, and Sol) to the AI model selection
[#367] Added a Tool Use option (Auto / Required) to AI settings — set it to Required to make the model always call an available tool, which helps with lighter models that might otherwise answer data questions without using tools
[#375] Added SCLAB Vision CCTV integration — register multiple Vision servers, select cameras in layout CCTV widgets, and play live streams through the Studio player
[#375] Added CCTV support to Map Editor — place cameras on maps by server, toggle camera visibility, assign actions, apply settings in bulk, and customize marker icons
[#376] Added multi vector DB support — manage site-scoped vector DB settings, connection status, provider migration, and external vector DB mode for read/write blocks
[#376] Added vector DB provider support for Elasticsearch/OpenSearch, Pinecone, Weaviate, Milvus, Chroma, pgvector, and AWS OpenSearch Serverless compatibility
[#379] Added Tool Bank — build and manage reusable AI tools with vector DB provider selection, attachments, and automated build flow
[#368] Added a parallel report and slide section pipeline to improve large document generation speed
[#68] Added an Agent Mode toggle to LLM blocks and cleaned up text output rendering for Agent Mode runs
[#368] Improved AI Agent logs with real-time running time, copy support, raw log viewing for truncated entries, automatic expansion of running blocks, and automatic scrolling
[#368] Improved report and slide generation quality with final review gates, safer section replacement, chart validation, date guidance, title-based file names, and stronger formatting rules for PDF/PPTX/HWPX output
[#368] ReportWorker output now uses a structured file-tree format, while regular JSON output continues to render as a JSON tree
[#247] Added new-tab edit buttons from page and block settings for maps, charts, pivots, tables, SCLAB GPT, and AI Agent pages
[#247] Added enlarged preview popups for charts and tables, and added a popup for viewing API data
[#247] Chart, table, and location tooltip column settings can now be reordered by sorting
[#375] Improved Vision server management with API token fields, connection tests, status indicators, server search, and immediate status refresh after adding a server
[#376] Added vector DB encryption key support and improved provider-migration progress feedback
[#68] API data sources now support Basic and Digest authentication — enter the username and password in the new Auth fields instead of embedding credentials in the URL
[#68] AI Agent can now create report blocks directly
[#68] Map settings "apply to all" now shows which items the settings were applied to, and warns which items were skipped when applying to multiple items at once
[#374] Improved the sign-in screen — social login buttons now show the service name followed by "Sign in" (e.g., "Google Sign in"), and the login and sign-up screens are fully translated across 12 languages
[#368] Shortened the add/delete buttons on report themes to prevent label overflow (all 12 languages)
[#368] Raised the maximum token limit for AI Agent runs to support larger reports
[#368] Fixed report text appearing blank — Latin characters in PDF reports, and Japanese and Chinese characters in PDF and HWPX reports, now render correctly
[#368] Report and file generation now stop immediately with a clear message when the site API token is missing, instead of retrying and consuming tokens
[#368] Added report themes — upload a design template (DOCX/HTML/PPTX/PDF/HWPX) and generated reports reproduce its layout, styles, and fonts across every output format
[#247] Added Python execution to the Code block — choose Python alongside JavaScript, running in an isolated sandbox with common data libraries (NumPy, PyTorch, etc.) preinstalled
[#368] Report theme management — added theme deletion, and re-uploading a theme with the same file name now replaces the existing one instead of creating duplicates
[#247] Code block editor — added a per-language writing guide popup (the ? button) and a fullscreen editing toggle
[#368] Fixed report rendering — text alignment and font sizes are now applied correctly, leftover HTML markup is cleaned up, and <br> tags are converted to line breaks
[#368] Fixed a chart image ID collision when applying HWPX themes
[#368] Fixed data permission enforcement in AI Agent blocks — data access is now validated before a block runs, and the data-import block only lists data groups and lists assigned to the agent's roles
[#68] Fixed Ollama models running with reasoning always enabled even when reasoning strength was set to None; unsupported "xhigh" strength is now clamped to "high"
[#218] Modified to adjust the screen when setting the location data to fit the screen, so that multiple location data is combined (previously adjusted to the last loaded area)
[#218] Fixed a bug where empty values were sent as empty strings in combine, and null strings were sent as null, and undefined strings were sent as undefined
[#218] Fixed a bug where the maximum and minimum values in OD location were fixed to the values at the time of API call