[v1.3.0] (2026-04-03)
Major Features
- Navbar and IA updates – Navigation structure now reflects the
Mathgrouping better, labels were clarified (Convert-> Text & Data), and active-link handling was refactored so current tool context is highlighted more reliably. - Logo Generator upgrade –
gen_imagereceived a substantial UI/UX refresh with improved layout, richer interactions, and live preview-focused iteration. - Crypto compatibility hardening – Added RSA signing/verification padding fallback and broader algorithm compatibility updates (including Ed25519/Ed448 handling paths).
- Shared output actions –
copyableOutputand related rendering paths now support optional HTML actions and more consistent action/button styling across tools. - Tool card intros – Top-of-card guidance was tightened and aligned across many modules (encoding, crypto, JWT, networking, ShellCheck, SSH, and others) so descriptions and alert-style blocks are shorter, more consistent, and easier to scan.
- Runtime/deployment refresh – Docker image/runtime config updated for PHP 8.5 +
openssh-client; release workflow/docs (README, workflow, config, ignore rules) were refined to reduce release friction. - Networking IP backend – Centralized
handle_ipflows for DNS forward/reverse lookup, IPv4 CIDR ↔ range conversion, and subnet math; subnet inputs accept dotted masks or/prefixviahandle_ip_normalize_subnet_mask(); results render through sharedhandle_ip_kv_table()for consistent key/value output. - Crontab Explorer – New Misc tool to validate cron expressions (including macros like
@dailyand Vixie@rebootas a one-shot at daemon start), human-readable summaries, field breakdown, and timezone-aware previous/next run listings powered bydragonmantank/cron-expression. The full analysis runs automatically on debounced edits (expression, timezone, run count, reference time, include-current); Analyze Schedule remains as an explicit action. More options collapses advanced fields; schedule summaries use a dedicated human-readable block,*/1step fields are described like wildcards in the time summary for clearer copy, and the results layout was refined. - ShellCheck – New Misc tool to lint pasted shell scripts via the host
shellcheckbinary when available; JSON-backed diagnostics with severity, excerpts, and wiki links. Temp-file linting only (no persistence). Carriage returns are stripped from pasted scripts before linting to avoid spurious CRLF-related SC1017 warnings. - Form-aware random data –
randomDataGetCompatibleFormBundle()extendsgenerateRandomData()so random fills line up with more tool-specific forms (JWT, keypair sign/verify, SSH verification, CIDR/networking, and others) and handle<select>elements reliably. - Random shuffle samples – Crontab and ShellCheck random-data buttons use larger scenario pools, avoid picking the same scenario twice in a row, and keep related fields in sync (cron + timezone; script + filename + shell dialect).
📋 Detailed Changes (click to expand)
Navigation and Module Organization
- Active state behavior - Refactored navbar link state handling so current modules are marked more consistently during navigation.
- Math grouping - Updated navbar/module structure to better align math-related entries (including currency/units context) with dashboard category mapping updates.
- Naming clarity - Updated wording in
index.phpand navbar labels to better describe available tool groups.
Logo Generator
- UI redesign - Reworked
modules/gen_image.phpwith improved structure, styling, and interaction flow. - Live feedback - Enhanced generation flow to better support iterative logo design with preview-oriented controls.
Cryptography
- RSA compatibility - Added OpenSSL padding fallback in signing/verification paths to improve compatibility across environments.
- Algorithm handling - Improved support logic for modern key algorithms including Ed25519/Ed448 handling paths.
Shared UX Utilities
- Reusable actions - Extended shared output helpers to accept optional HTML actions, reducing per-module divergence and improving DRY reuse.
- Action styling - Standardized button/link styles around copy/download and related output actions.
Tool card intros
- Consistency pass - Reworked introductory/description blocks at the top of many
modules/*.phpfiles (BinHex, Brainfuck, Browser, Crontab, crypto and PEM tools, datetime, JWT, networking, ShellCheck, SSH, units, and more) for uniform structure and brevity.
Infrastructure and Docs
- Docker runtime - Updated Dockerfile and image config for PHP 8.5, removed unused OPcache install steps, and added
openssh-client. - Release process docs - Expanded release workflow guidance and environment toggle documentation in
READMEand workflow-related files. - Repo hygiene - Updated ignore rules for local release tooling artifacts.
Networking
- Backend -
handle_ip(),handle_ip_normalize_subnet_mask(), andhandle_ip_kv_table()inincludes/handlers_functional.phpfor DNS lookup, IPv4 CIDR↔range conversion, and subnet calculations aligned withmodules/networking.php.
Crontab Explorer
- UI -
modules/crontab.phpunder Misc; navbar entries inincludes/navbar.php. - Backend -
handle_crontab()inincludes/handlers_functional.php; sharedcron_evaluate_schedule(), humanization helpers, and CLI helpers inincludes/tooling_helpers.php(loaded fromincludes/_includes.php). - Dependency -
composer require dragonmantank/cron-expressionfor parsing and next/previous run calculation. @reboot- Handled explicitly (not expressible as five cron fields); dedicated summary and “no periodic next runs” messaging instead of a parser error.- Live analysis -
initCrontabLiveAnalyzeUi()injs/rand.jsPOSTs the same payload as Analyze Schedule into the main results panel with debouncing and out-of-order response guarding; removed the separatecrontab_previewaction. - Human summary -
crontab_human_summary_block()presents schedule summaries in a dedicated styled block for clearer hierarchy. - Form UX - “More options”
<details>hides secondary fields; shared native<details>styling instyle.css; timezone is honored in random-data payloads and live analysis. - Time summary -
cron_time_summary()treats*/1step fields like*for more natural wording; follow-up layout tweaks to the main results container inmodules/crontab.php.
ShellCheck
- UI -
modules/shellcheck.phpunder Misc (script textarea, optional filename, dialect, minimum severity). - Backend -
handle_shellcheck()runsshellcheck --format=json1viaproc_open(cli_run_command()/cli_find_binary()inincludes/tooling_helpers.php); structured HTML cards per finding. - Input -
handle_shellcheck()strips\rfrom script input before linting to reduce CRLF-driven SC1017 noise. - Random samples - Expanded
shellcheckScenariosinjs/rand.jswithrandomPickAvoidRepeat(); shuffle clears the per-form bundle and syncs script, filename, and dialect from the chosen scenario.
Random data
js/rand.js-randomDataGetCompatibleFormBundle()andgenerateRandomData()updates for context-specific bundles (JWT, keypair sign/verify, SSH verification, CIDR/networking, etc.), improved handling of<select>elements, and crontab timezone included when shuffling cron scenarios.