P3X Redis UI is a database GUI tool designed for managing Redis databases with an intuitive interface. It works seamlessly as both a responsive web application and a desktop app, offering flexibility in how users interact with their data.
Key Features:
Real-Time Data Updates: Ensures that users always have the latest information displayed.
Query Builder: Simplifies complex queries, reducing errors and enhancing efficiency.
Data Visualization Tools: Includes charts and graphs to help analyze and present data effectively.
Multi-Database Support: Manages multiple Redis databases from a single interface.
Integration Capabilities: Seamlessly integrates with other tools and environments for enhanced workflow.
Role-Based Access Control (RBAC): Provides secure, granular access management.
Audience & Benefit:
Ideal for developers, database administrators (DBAs), and DevOps engineers working with Redis. P3X Redis UI offers efficient database management, reduces human error through the query builder, enhances data analysis with visualizations, improves productivity via integrations, provides flexibility across environments, and ensures secure access control with RBAC.
Installation is straightforward using winget, making it easy to set up on your system.
README
๐ก P3X Redis UI: A highly functional and convenient database GUI that fits in your pocket, accessible on both responsive web and desktop applications v2026.4.2007
๐ Bugs are evidentโข - MATRIX๏ธ
๐ง This project is under active development!
๐ข We welcome your feedback and contributions.
NodeJS LTS is supported
๐ ๏ธ Built on NodeJs version
v24.14.1
๐ Description
p3x-redis-ui is a versatile Redis GUI that works as a web-based server application or a standalone desktop app. It excels at managing JSON data through an integrated CodeMirror editor with GitHub dark/light themes, supports uploading and downloading binary data, and handles SSH, cluster, and sentinel configurations.
> Kubernetes / Docker: Always use the latest tag (patrikx3/p3x-redis-ui:latest) with imagePullPolicy: Always. Version-specific tags are available but latest is the recommended and supported tag.
Supported Languages
Switch language in Settings โ 54 languages covering 88+ countries:
Arabic (ar), Azerbaijani (az), Belarusian (be), Bengali (bn), Bosnian (bs), Bulgarian (bg), Chinese (), Chinese - Hong Kong (), Chinese - Taiwan (), Croatian (), Czech (), Danish (), Dutch (), English (), Estonian (), Filipino (), Finnish (), French (), Georgian (), German (), Greek (), Hebrew (), Hungarian (), Armenian (), Indonesian (), Italian (), Japanese (), Kazakh (), Khmer (), Korean (), Kyrgyz (), Lithuanian (), Macedonian (), Malay (), Nepali (), Norwegian (), Polish (), Portuguese (), Portuguese - Brazil (), Romanian (), Russian (), Serbian (), Sinhala (), Slovak (), Slovenian (), Spanish (), Swahili (), Swedish (), Tajik (), Tamil (), Thai (), Turkish (), Ukrainian (), Vietnamese ()
Daily data reset: the Redis database restores certain datasets every morning (CET)
Brief downtime: occasional ~1 second interruptions may occur due to automatic updates from Git changes
Version differences: the live instance may differ from the GitHub or NPM release; updates are typically published monthly
Features
Triple GUI: Angular + React + Vue
P3X Redis UI was originally built with AngularJS and has been fully migrated to three modern frontends โ Angular, React/MUI, and Vue/Vuetify โ all at full feature parity. You can switch between them live in Settings โ GUI.
Angular (/ng/) โ Angular CLI with esbuild, CDK virtual scrolling, standalone components with signals
React (/react/) โ Zustand state management, @tanstack/react-virtual, MUI (Material UI), Vite
Vue (/vue/) โ Pinia state management, Vue 3 Composition API, Vuetify, Vite
/ auto-redirects to your last used frontend
Shared across all three: same Socket.IO protocol, same 54-language translation system, same 7 themes (4 dark + 3 light), Web Worker tree building, Playwright E2E tests
Works in the Electron desktop app, Docker, and standalone server
AI-Powered Redis Query Translation
Natural language queries: type plain English (or any language) in the console โ if Redis doesn't recognize the command, AI translates it to a valid Redis command and replaces the console input; the command is not executed automatically โ you review, edit if needed, and press Enter to run it
Multi-command AI: AI can generate multiple commands or multi-line EVAL scripts โ they are placed in the textarea for review, then executed with Enter
Input replacement: after AI translation, the console input is replaced with the generated Redis command so you can see exactly what will be executed before running it
Multilingual: understands 54 languages, explanations are returned in the language you type in
Context-aware: sends Redis version, loaded modules, available RediSearch indexes, current page, active connection, and selected database to the AI for accurate, situation-aware answers
Agentic tool-use: for investigation prompts ("why is memory high?", "show me the 10 busiest keys"), the AI can call safe read-only Redis tools (INFO, MEMORY STATS, SLOWLOG, SCAN, ACL WHOAMI, etc.) in a bounded loop and surfaces every tool call + result in the console scrollback for transparency
AI Cheatsheet: dedicated dialog (replaces the old Redis Commands popup) with categorized, searchable prompts grouped by feature (diagnostics, keys, data types, RedisJSON, RediSearch, TimeSeries, Bloom, VectorSet, scripting, cluster, ACL, translation). Module- and version-aware: groups only appear when the relevant module is loaded
Stop button: click the stop icon in the console input to cancel a running AI query instantly โ the input is cleared and re-enabled while the server-side loop finishes in the background and its response is discarded
Bring your own key: optionally set your own free Groq API key in Settings for better performance (get one at console.groq.com)
ai: prefix: explicitly trigger AI translation by starting your input with ai: โ works when AI is enabled in Settings
AI toggle in console: when AI is globally enabled in Settings, a slide toggle appears in the console toolbar to control auto-detect behavior:
AI ON (default): unrecognized commands automatically try AI translation
AI OFF: only the explicit ai: prefix triggers AI โ console errors are instant with no Groq round-trip delay
When AI is disabled in Settings, the toggle is hidden and all AI features are off
Settings AI
Console Toggle
ai: prefix
Auto-detect on errors
Disabled
Hidden
Off
Off
Enabled
ON (default)
Works
Works
Enabled
OFF
Works
Off (instant errors)
AI Configuration
The AI query translation feature works out of the box โ natural language queries are automatically translated to Redis commands via the Groq API.
How It Works
By default, AI queries are routed through network.corifeus.com, which handles the Groq API call. No configuration needed.
If you set your own Groq API key, you can choose to:
Keep routing via network.corifeus.com (default) โ your key is used but queries still go through the proxy for analytics
Route directly to Groq โ toggle "Route via network.corifeus.com" OFF in AI Settings to bypass the proxy entirely
AI Settings in the UI
The Settings page has an AI Settings panel with:
AI Enabled โ toggle AI on/off (enabled by default)
Route via network.corifeus.com โ toggle routing (only visible with a valid Groq API key)
Groq API Key โ set via the Edit button (validated against Groq before saving)
Configuration Options
Recommended: Configure AI settings via the GUI first (Settings > AI Settings). Once configured, you can optionally add groqApiKeyReadonly: true to p3xrs.json or --groq-api-key-readonly CLI flag to lock the settings.
All settings can also be configured via p3xrs.json or CLI options.
SSH tunneling for single instances, cluster, and sentinel
Environment variables: customize server port and home directory via P3XRS_PORT and P3XRS_DOCKER_HOME
Data Handling
Auto data decompression โ automatically detects and decompresses compressed values stored in Redis. Supports GZIP, ZIP (PKZip), zlib/deflate, Zstandard (zstd), LZ4, Snappy, and Brotli. Shows a compression badge with the algorithm name and space savings ratio. Only decompresses when the result is valid text โ binary uploads (e.g., gzipped images) are left untouched. Works for string, list, hash, set, and sorted set values.
Value format toggle โ switch between Raw, JSON, Hex, and Base64 display for all key types (string, hash, list, set, zset, stream); display-only โ copy and edit always use the raw original value
Hex dump viewer โ proper hex editor layout with address column, hex bytes (16 per line), and ASCII representation
JSON pretty-print โ auto-formats valid JSON values with indentation
Base64 encoding โ encodes values including Unicode and binary data via TextEncoder
Binary data: use the download button for binary content; direct text editing is not supported for binary values
Large values (>256 kB): shown as [object ArrayBuffer]; use binary upload/download
Clipboard: text can be copied directly; binary data requires the download button
Editing Safety
Diff view before save โ optional diff dialog shows inline or side-by-side comparison of old vs. new value before committing changes; works for string, hash, list, and JSON key types including the JSON editor; collapsible unchanged sections with context lines; toggle in Redis Settings (default: off)
Undo after save โ after saving a string or JSON key, a toast notification appears with an Undo button; clicking it restores the previous value immediately; works for both direct edits and JSON editor saves
Key Export / Import
Export: download keys as a JSON file โ supports string, list, set, zset, hash, stream, and JSON types with binary data encoded as base64 and TTL preservation
Search-aware: when a search is active, export only the matching results; otherwise export all keys in the current database
Import: upload a previously exported JSON file with a preview dialog showing all keys with their translated types, virtual scrolling for large key sets, and conflict handling (overwrite or skip existing keys)
Hamburger menu: export and import actions are accessible from the โฎ menu in the tree controls toolbar; the menu label dynamically shows the key count and whether it's exporting all keys or search results
Bulk delete: delete all keys matching the current search pattern directly from the hamburger menu; when no search is active, deletes all keys using FLUSHDB for efficiency
Real-Time Monitoring (Pulse / Profiler / PubSub)
Three dedicated tabs accessible from the monitoring page:
Pulse โ Live Dashboard
Live metrics: memory usage (used, RSS, peak, fragmentation), ops/sec, connected/blocked clients, hit rate, network I/O, expired/evicted keys โ updating every 2 seconds
Dashboard info cards: server info (OS, port, PID, config file, CPU usage), persistence status (RDB last save, AOF), replication (role, replicas, master host), keyspace breakdown (keys + expires per database), loaded modules with versions โ all with individual export buttons
uPlot charts: four lightweight canvas charts (~35 KB) for memory, ops/sec, clients, and network I/O with theme-aware colors
Slow log viewer: recent slow queries with execution duration
Client list: all connected Redis clients with address, name, database, current command, idle time, and kill button
Memory top keys: top 20 biggest keys by memory usage with byte sizes
Auto-refresh: toggle auto-polling for client list and memory top keys
Pause/resume: pause live updates without leaving the page
Export: download overview data, dashboard info, charts (PNG), slow log, client list, and top keys as text files; Export All bundles everything into a ZIP with TXT + PNG + PDF
Theme + language reactive: charts reinitialize on theme or language change
Profiler โ Real-Time Command Stream
Redis MONITOR: streams every command executed on the server in real time via a dedicated Redis connection
Command display: timestamp (ms precision), database number, source IP, and full command with arguments
Performance: renders max 66 DOM entries for smooth scrolling, stores up to 10,000 entries in memory
Persistence: last 100 entries saved to localStorage
Export: download all entries as a text file
PubSub โ Channel Message Monitoring
Pattern subscription: subscribe with configurable glob patterns (default * for all channels) via PSUBSCRIBE
Message display: timestamp, channel name, and full message content in real time
Restart: re-subscribe with a new pattern without leaving the page
Performance: same 66 DOM / 10,000 memory / 100 localStorage limits as Profiler
Export: download all entries as a text file
Analysis โ Memory Analysis Dashboard
One-click snapshot: capture the full state of your Redis server at a point in time โ type distribution, memory allocation per namespace, key expiration stats, and INFO memory breakdown
Type distribution chart: canvas bar chart showing how many keys and how much memory each data type (string, hash, list, set, zset, stream) uses
Memory by prefix: groups keys by their first : segment and ranks prefixes by total memory โ quickly find which namespace is consuming the most resources
Key expiration overview: shows the count of keys with TTL vs persistent keys, plus the average TTL across all expiring keys (formatted with humanize-duration)
Memory breakdown: total, RSS, peak, overhead, dataset, Lua, fragmentation ratio, and allocator โ all from INFO memory
Server info header: Redis version, mode (standalone/cluster/sentinel), and uptime displayed in the accordion header
Configurable scan: adjust "Top N" and "Max Scan Keys" to control scan depth; the UI shows how many keys were sampled out of the total database size
Export All (ZIP): download a complete analysis bundle as a ZIP file ({connection}-analysis.zip) containing the full text report and all chart images (PNG) โ useful for sharing with your team or attaching to incident reports when investigating server issues
Chart export: each chart accordion has its own Export button to download individual charts as PNG
Theme-aware: bar charts use CSS custom property colors and automatically redraw on theme or window resize
User Interface
Responsive design: works on phones, tablets, and desktops
7 themes: Light, Enterprise, Redis (light) + Dark, Dark Neu, Darko Bluo, Matrix (dark) โ with auto-switch that follows your system's dark/light preference in real time
Theme auto-switch: defaults to system preference on first visit; manually selecting a theme overrides auto mode
Info page: dedicated page with keyboard shortcuts reference, about section (version, Redis info, links), and supported languages list
Command palette: VS Code-style quick command palette (Ctrl+K in Electron) with search and keyboard navigation
Desktop shortcuts: press ALT to access menus in the desktop version
Tree view: adjustable key count (100โ100,000) with virtual scrolling for performance
Smart tree memory: expanded/collapsed folder state is saved per connection and database in session storage โ survives page refreshes and database switches, restored automatically when reconnecting to the same server
Keyboard Shortcuts (Electron Desktop)
Shortcut
Action
Ctrl+R / F5
Refresh current view
Ctrl+F
Focus search input
Ctrl+N
New key dialog
Ctrl+K
Command palette
Ctrl+D
Disconnect
Connection Management
Connection groups: organize connections into named groups with collapsible headers in Settings
Drag-and-drop: reorder connections within a group and reorder groups themselves by dragging headers
Group toggle: enable/disable grouped view with a single click โ persisted in localStorage
Group field: optional group name in the connection dialog with autocomplete from existing groups
Console and Search
Global console drawer: bottom slide-up drawer accessible from any page โ toggle via the footer Console button or Ctrl+` shortcut. Lets you run commands without leaving the Keys / Monitoring / Settings page you're on. Preference persists across reloads (per-connection โ drawer stays hidden when disconnected)
Multi-line input: the console uses a textarea that supports multi-line commands
Shift+Enter inserts a new line, Enter executes
Multiple commands (one per line) are executed sequentially
Multi-line EVAL/EVALSHA scripts are sent as a single command โ Lua newlines are preserved
The textarea auto-grows up to 3 lines when focused, with a scrollbar for longer content
On blur the textarea collapses to a single line to keep the output visible
Command history:Shift+ArrowUp/Down navigates history (plain arrows scroll the textarea)
AI multi-line: AI-generated commands can be multiple lines โ they are placed in the textarea for review before execution
Channel monitoring: toggle monitoring for all channel messages via a checkbox; the last 20 entries are stored in local storage
Database selection: choose databases via the console or dropdown (shows empty/filled status)
Search modes: client-side for small key sets, server-side for large key sets; search by prefix or substring
Networking
Sub-directory support: use Nginx/Ingress path rewriting โ see Issue #43
Cluster support: continuously improving, with significant contributions by @devthejo
RediSearch Full-Text Search
Search page: full-text search UI with index selector, query input, and paginated results โ only visible when RediSearch module is detected
Index management: create indexes with schema builder (TEXT, NUMERIC, TAG, GEO, VECTOR fields), drop indexes with confirmation
Index info: view index metadata and statistics after running a search
Module-aware: header button automatically appears when the search module is loaded (Redis 8+ or Redis Stack)
RedisTimeSeries Visualization
Module auto-detection โ TimeSeries UI automatically appears when the timeseries module is loaded (Redis Stack or Redis 8+)
Interactive line chart โ uPlot canvas chart with theme-aware colors (dark/light), responsive resizing, and locale-aware time formatting via native Intl
Live auto-refresh โ toggle auto-polling (10-second interval) to watch incoming data in real time
Reactive inputs โ chart auto-reloads on any input change (from/to, aggregation, overlay, label filter) with debounced updates
Time range & aggregation โ filter by from/to timestamps, apply aggregation functions (avg, min, max, sum, count, first, last, range, std.p, std.s, var.p, var.s) with configurable time buckets
Data point management โ add, edit, and delete individual data points with confirmation dialogs; inline add form directly below the chart
Bulk edit โ edit all data points at once via the Edit button in the chart header; monospace textarea with timestamp value per line; * timestamps are auto-spread by a configurable interval (1s to 24h)
Bulk generate on create โ toggle "Bulk generate" in the Add Key dialog to create a new timeseries key with multiple data points at once using the formula generator
Formula generator โ generate test data with mathematical formulas (sin, cos, linear, random, sawtooth) with configurable point count, amplitude, and offset
TS.INFO panel โ view retention, total samples, memory usage, chunk info, duplicate policy, labels, and compaction rules in a settings-style mat-list
Labels editor โ edit retention, duplicate policy, and labels on existing keys via TS.ALTER; labels are also editable from the Edit dialog
Default labels โ keys created from the GUI automatically get a key= label for discoverability; keys without labels get the default label assigned on first view
Multiple series overlay โ overlay additional timeseries keys on the same chart by entering comma-separated key names
TS.MRANGE label filter โ query across multiple keys by label filter (e.g. sensor=temp) and overlay all matching series on the chart with different colors
Export chart as PNG โ download the chart as a PNG image with proper background (dark/light aware), title, and color legend
Key creation โ create new timeseries keys with configurable retention, duplicate policy (LAST, FIRST, MIN, MAX, SUM, BLOCK), and labels
Tree integration โ timeseries keys show with a chart-area icon and display the data point count (totalSamples) in the tree view
Theme + language reactive โ charts reinitialize on theme or language change
No external date library โ all date formatting uses native Intl.DateTimeFormat, no dayjs dependency for the timeseries component
Redis 8 Module Support (ReJSON)
ReJSON (JSON data type) โ view, create, edit, format, copy, and download JSON documents stored with JSON.SET
Module auto-detection โ available modules are detected on connection via MODULE LIST
JSON keys appear in the tree with a </> icon; JSON type is available in the "Add Key" dialog when the module is detected
Inline JSON tree โ JSON keys display as an expandable/collapsible tree with syntax coloring
CodeMirror editor โ edit JSON documents with syntax highlighting, GitHub dark/light themes, line wrapping toggle, and code folding
RedisBloom Probabilistic Data Structures
Full support for 5 types โ Bloom filter, Cuckoo filter, Top-K, Count-Min Sketch, and T-Digest
Module auto-detection โ probabilistic types appear when the bf (RedisBloom) module is detected via MODULE LIST
Info display โ click any probabilistic key to see its metadata (capacity, size, error rate, items inserted, etc.) in a clean card layout
Inline actions โ add items, check membership (Bloom/Cuckoo), query counts (CMS), query quantiles (T-Digest), and list top items (Top-K) โ all from the key view
Key creation โ create new keys with smart defaults pre-filled (error rate, capacity, K, width, depth, decay, compression)
Tree integration โ each type has its own icon (filter, trophy, chart) and shows item count in the tree view
Console hints โ full autocomplete support for all BF., CF., TOPK., CMS., and TDIGEST.* commands
AI query support โ the AI console understands all RedisBloom types and commands
Redis 8 VectorSet Support
Native vector type โ full support for Redis 8's built-in VECTORSET data type (no module required)
Vector info โ view metadata (dimensions, element count, quantization, projection) via VINFO
Element browser โ paginated list of all vector elements with search, attribute inspection, and delete actions
Similarity search โ search by element name or by raw vector with configurable COUNT; results displayed with similarity scores
Attribute viewer โ inspect VGETATTR attributes on individual elements via info icon + toast
Add elements โ inline form to add new vector elements with VADD (element name, vector, optional attributes)
Key creation โ create new VectorSet keys from the "Add Key" dialog with dimension and initial element
Tree integration โ VectorSet keys show with a data-array icon and display element count (VCARD) in the tree view
VSIM IN filter (Redis 8.2+) โ filter expression input for similarity search, narrow results by attribute values
AI query support โ the AI console understands VectorSet types and commands
Redis 8.x Advanced Features
Per-field hash TTL (Redis 8.0+) โ set expiration on individual hash fields via HEXPIRE; schedule icon per field row with live countdown, color-coded (green >1h, yellow <1h, red <5min, pulsing <30s), tooltip with humanized duration; auto-refresh when a field expires
String digest (Redis 8.4+) โ view the hash digest of any string key value via the DIGEST command; one-click button in string key actions
Hybrid search (Redis 8.4+) โ toggle FT.HYBRID mode on the search page to combine text queries with vector similarity using Reciprocal Rank Fusion; requires a RediSearch index with a VECTOR field
Cluster slot stats (Redis 8.2+) โ monitoring dashboard accordion showing top slots by key count, CPU time, or memory usage via CLUSTER SLOT-STATS; only visible in cluster mode
Console command hints โ autocomplete for all new Redis 8.0โ8.6 commands: HGETEX, HSETEX, HGETDEL, HTTL, HEXPIRE, HPERSIST, MSETEX, XDELEX, XCFGSET, DIGEST, FT.HYBRID, CLUSTER SLOT-STATS, CLUSTER MIGRATION
AI query support โ AI prompt updated with all Redis 8.0โ8.6 commands; Redis server version now correctly sent to AI for version-aware command generation
Version-gated UI โ all Redis 8.x features automatically appear/hide based on the connected Redis server version
ES Modules Backend
The server codebase has been fully migrated from CommonJS to ES Modules (.mjs), enabling native Node.js ESM support and better tree-shaking.
ACL Management (Redis 6.0+)
User list โ view all ACL users with status (enabled/disabled), current user indicator, and rules summary
Create / Edit / Delete โ full ACL user management via a dialog with chip-based rule editing
Chip inputs โ commands, key patterns, and pub/sub channels are entered as chips with placeholder hints
Deny highlighting โ commands starting with - (e.g. -@dangerous) are visually highlighted with the warning color
Default user warning โ editing the default user shows an inline warning alert explaining the risk of locking out connections
Save confirmation โ every ACL save shows a themed confirm dialog
Consistent across GUIs โ identical chip styling, layout, and behavior in Angular, React, and Vue
Security
Secure configuration: passwords and sensitive data are protected with unique identifiers for both main and node configurations
Important Notice
Do not manually create the configuration JSON file with a text editor. Use the GUI to generate it instead โ the resulting file can then be deployed to systems like Kubernetes.
Optional HTTP Basic Authentication
Protect both HTTP routes and Socket.IO with HTTP Basic authentication.
Use HTTPS or a reverse proxy with TLS when HTTP auth is enabled.
All Features Are Free
All features including SSH tunneling, Cluster/Sentinel, ReJSON, binary upload/download, and readonly connections are available for free. No license required.
Start the server via Node.js/NPM and access it in a browser.
npm install -g p3x-redis-ui
p3xrs
Open: http://localhost:7843
CLI Options
Usage: p3xrs [options]
Options:
-V, --version output the version number
-c, --config [config] Set the p3xr.json p3x-redis-ui-server configuration, see more help in p3x-redis-ui-server
-r, --readonly-connections Set the connections to be readonly, no adding, saving or delete a connection
-n, --connections-file-name [filename] Set the connections file name, overrides default .p3xrs-conns.json
--http-auth-enable Enable HTTP Basic auth
--http-auth-disable Disable HTTP Basic auth
--http-auth-username [username] HTTP Basic auth username
--http-auth-password [password] HTTP Basic auth plain password
--http-auth-password-hash [hash] HTTP Basic auth bcrypt password hash
--http-auth-password-hash-file [file] Read HTTP Basic auth bcrypt password hash from file
--groq-api-key [key] Groq API key for AI-powered Redis query translation (get a free key at console.groq.com)
--groq-api-key-readonly Prevent users from changing the Groq API key via the UI
-h, --help display help for command
wget https://raw.githubusercontent.com/patrikx3/redis-ui/master/docker-compose.yml
# Adjust the settings folder path in docker-compose.yml as needed.
docker-compose up
The Docker image includes a built-in HEALTHCHECK that polls /health every 30 seconds. Container orchestrators (Docker Compose, Swarm, etc.) will automatically mark the container as unhealthy if the server stops responding.
Graceful Shutdown
The server handles SIGTERM and SIGINT signals gracefully โ it closes Socket.IO connections, disconnects all Redis clients, and shuts down the HTTP server before exiting.
This application uses Socket.IO instead of REST for client-server communication. While unconventional, Socket.IO provides better responsiveness by avoiding HTTP protocol overhead, resulting in a smoother interaction experience.
redis-commander has more Docker pulls due to its longer history and presence in tutorials/CI pipelines. p3x-redis-ui adoption continues to grow steadily.
If you appreciate our work, consider โญ starring this repository or ๐ฐ making a donation to support server maintenance and ongoing development. Your support means the world to usโthank you!
๐ About My Domains
All my domains, including patrikx3.com, corifeus.eu, and corifeus.com, are developed in my spare time. While you may encounter minor errors, the sites are generally stable and fully functional.
๐ Versioning Policy
Version Structure: We follow a Major.Minor.Patch versioning scheme:
Major: ๐ Corresponds to the current year.
Minor: ๐ Set as 4 for releases from January to June, and 10 for July to December.
Patch: ๐ง Incremental, updated with each build.
๐จ Important Changes: Any breaking changes are prominently noted in the readme to keep you informed.