Changelog
March 2026
v0.5.3
Added
Developer experience:
- New
scriptling.similaritylibrary with fuzzy matching plustokenize(),minhash(), andminhash_similarity() - Richer console capabilities, including panel-based output and new examples for building interactive terminal experiences
- Python-style string formatting support for more natural text rendering in scripts
Changed
Runtime and tooling:
- Background tasks and runtime synchronization are more robust, including safer argument handling and better thread/task behavior
- MCP tool execution now captures script output more cleanly
- Dictionary and set behavior is more consistent, with improved hashing and copying semantics for complex values
__name__is now available to scripts for module-aware behavior
Fixed
Language fixes:
- Fixed tuple exception matching in
except (TypeError, ValueError):clauses
March 2026
v0.4.1
Added
WebSocket Support:
-
scriptling.websocketlibrary — WebSocket client for connecting to serversconnect(url, timeout, headers)— Connect to a WebSocket serversend(message),send_binary(data)— Send text (auto-JSON for dicts) or binaryreceive(timeout)— Receive a message (None on timeout/disconnect)connected(),close()— Connection lifecycleis_text(msg),is_binary(msg)— Check message type
-
runtime.http.websocket(path, handler)— Server-side WebSocket endpoints- Handler receives a
WebSocketClientobject for the connection lifetime client.send(),client.receive(),client.connected(),client.close()client.remote_addr— Client’s remote address
- Handler receives a
v0.4.0
Added
Package System:
- Packed library files — distribute Scriptling libraries as
.zippackages with automatic download and caching scriptling packcommand — create packages from directories with# sha256=<hash>integrity verification- Package cache with ETag/Last-Modified validation and automatic pruning (7-day TTL)
- Documentation support in packages for
helpcommand integration
Language:
- Relative imports —
from .module import nameandfrom ..package import namefor hierarchical module organization
Changed
CLI:
helpcommand now works in TUI mode with topic lookup support
v0.3.2
Added
Language:
- Multiple
forclauses in list, dict, set comprehensions and generator expressions ([x for x in a for y in b]) __getitem__and__setitem__dunder methods for custom bracket access (obj[key]) — dot access (obj.attr) no longer triggers__getitem____hash__dunder method — instances that define__hash__can be used as dict keys and set elements;hash()builtin calls it- Arithmetic dunder methods:
__add__,__sub__,__mul__,__truediv__,__floordiv__,__mod__ - Set and dict entry points raise
TypeErrorfor unhashable types (lists, dicts, instances without__hash__), matching Python semantics - Tuple
in/not inoperator - Tuple slicing (
t[1:3],t[::-1]) returns a tuple - Tuple
count()andindex()methods
v0.3.0
Added
New messaging libraries:
Platform-agnostic bot framework for building chat bots with a unified API:
scriptling.messaging.telegram— Telegram Bot API clientscriptling.messaging.discord— Discord Bot API clientscriptling.messaging.slack— Slack Bot API clientscriptling.messaging.console— Console-based messaging client for testing
All platforms share a common interface with:
- Command handlers (
/commandsyntax) - Button callbacks with keyboard support
- Message send/edit/delete operations
- File upload/download
- Typing indicators
- Rich message support (title, body, color, images)
- Authentication handlers for access control
v0.2.23
Added
New standard libraries:
scriptling.ai.memory— Long-term memory store for AI agents with MinHash-based semantic search, memory types (fact, preference, event, note), importance scoring, decay, and optional LLM-powered compactionscriptling.runtime.kv— Persistent key-value store with TTL support, thread-safe operations, and both in-memory and file-backed storage
Language:
- Set comprehensions (
{x for x in iterable}) __file__variable provides the current script’s path
AI API:
Agent.interact()gainsmax_iterationsparameter to limit conversation turns
February 2026
v0.2.0
Added
Language:
withstatement and context managers- Decorators (
@decorator),@property,@staticmethod, and@classmethod - Dunder methods:
__str__,__repr__,__len__,__bool__,__eq__,__lt__,__contains__,__iter__ - Dict comprehensions (
{k: v for k, v in ...}) - Set literals (
{1, 2, 3}) for/whileelseclausesmatchor-patternsint()now accepts a base argument for base conversion
New built-in functions:
next(),iter(),dir(),issubclass(),copy()
New standard libraries:
io—StringIOfor in-memory I/Ocontextlib—suppresscontext managerdifflib— LCS-based sequence comparison, unified diff,get_close_matches
Go API:
GetVarAsSet(name)— typed getter for set variablesGetVarAsTuple(name)— typed getter for tuple variablesEvalFile(path)— read and evaluate a script file directlyListVars()— returns a sorted list of variable names in the current environmentUnsetVar(name)— remove a variable from the environmentClone()— create an isolated interpreter that inherits library registrations but starts with a fresh environmentClassBuildergainsProperty,PropertyWithSetter, andStaticMethodfor registering Go-backed class members
CLI / TUI:
- Scripts that use
console.run()now launch a full TUI automatically; no separate flag needed console.set_labels()lets scripts customise the user/assistant labels shown in the TUI
v0.1.0
Initial pre-release of Scriptling.
Features:
- Python-like syntax with indentation-based blocks
- Core types: integers, floats, strings, booleans, lists, dictionaries, sets
- Control flow: if/elif/else, while, for loops, break, continue, match statements
- Object-oriented: Classes with single inheritance, methods, and constructors
- Functions, lambda, list comprehensions, error handling
- Background tasks with
scriptling.runtimefor concurrent execution - 25+ built-in libraries including JSON, regex, math, HTTP requests, subprocess
- Go integration with direct type mapping
- AI/LLM integration with OpenAI-compatible API support
- MCP (Model Context Protocol) server and client
- HTTP server with route registration
- Sandboxed execution with configurable security
- CLI tool with interactive mode, HTTP/MCP server, and built-in linter
- Extensible: create custom functions, libraries, and classes in Go or Scriptling
- Cross-platform binaries for Linux, macOS, and Windows