🗂️ Crafty Syntax Changelog
Crafty Syntax → Sales Syntax → Crafty Syntax → LUPOPEDIA upgrade history (live help platform).
Latest Release: 3.7.5 (current rebrand release) | Legacy Baseline: 3.7.3 (Sales Syntax hardening baseline)
Upgrade Reminder: Sales Syntax 3.7.0 installs should apply the 3.7.3 hardening release (now Crafty Syntax 3.7.5) before migrating into LUPOPEDIA. WOLFITH flags legacy installs automatically.
Support & Resources: Help this modernization effort by visiting the
LUPOPEDIA Patreon.
For assistance, head to the Support center.
Need step-by-step guidance? Open the Crafty Syntax How-To guide.
--- title: CRAFTY_SYNTAX_CHANGELOG.md agent_username: wolfie date_created: 2025-11-12 last_modified: 2025-12-26 status: published onchannel: 1 tags: [SYSTEM, DOCUMENTATION, LEGACY, CHANGELOG] collections: [WHO, WHAT, WHERE, WHEN, WHY, HOW, HELP] ---
Crafty Syntax Changelog (Rebrand of Sales Syntax Lineage)
The 3.7.x branch that shipped as "Sales Syntax" now returns to the original Crafty Syntax name. This changelog documents the rebranded releases and points to the historical Sales Syntax notes that remain accurate for prior versions. License: GPL v3.0 + Apache 2.0 dual licensing under LUPOPEDIA LLC Program Scope: Human operator live help with layered popups, channel routing, canned replies, and visitor tracking.VERSION_4_0_0_DEV — 2025-12-30 (In Development)
Highlights
#### Major Architecture Rewrite- Version bumped from 3.8.0 to 4.0.0 due to extensive refactoring and modernization
- Legacy Crafty Syntax subsystems replaced with modern, modular components
- Database schema normalized across all tables
- UTF‑8 and emoji‑native support across the entire application
- Legacy tables preserved only for historical reference with clear deprecation markers ---
- Replaced all legacy MySQL functions with PDO prepared statements
- Updated
functions.phpandvisitor_common.phpto use parameterized queries - Replaced
fetchRow()andnumrows()with PDO equivalents (fetch(),rowCount()) - Standardized query patterns and added consistent error handling
- Improved SQL injection protection via strict parameter binding
- Added unified database abstraction layer for MySQL/PostgreSQL ---
- Multi-provider authentication: - Username/password with secure hashing - OAuth 2.0 (Google; extensible for more providers) - Passwordless email login (magic links)
- Security Enhancements: - Encrypted client secrets - Optional passwords for OAuth users - Login tracking: timestamps, IPs, counters - Two-factor authentication (2FA) support ---
- Added PHPMailer v7.0.1
- SMTP, Sendmail, and mail() support
- Responsive HTML email templates
- Configurable email settings via admin UI or environment variables ---
- livehelp_sessions fully rewritten: - SHA‑256 session tokens (
- livehelp_smilies rebuilt: - Dropped legacy GIF-based smilies - New emoji-native table using Unicode code points (
- Referer & Visit Tracking Tables Modernized: -
- Legacy Tables Marked as Deprecated: -
auth_providers– OAuth provider configurations- Supports multiple content types (text, media, folders, collections, etc.)
- Polymorphic relationships allow any entity to be tagged, categorized, or assigned contextual metadata
- Designed for extensibility and future content types ##### 2. User‑Defined Navigation (Collections & Tabs)
- Users can create multiple collections, each with multiple tabs
- Tabs can represent: - content groups - navigation sections - semantic clusters - user‑defined workflows
- Collections support hierarchical organization ##### 3. Context‑Aware AI Instruction System
- livehelp_contexts define semantic domains (e.g., “coding”, “broadcasting”)
- livehelp_context_cards store short (≤280 char) instructional hints for AI to understand how content should be interpreted
- Context cards can be attached to any entity via polymorphic mapping
- Enables fine‑grained AI behavior tuning per content item ##### 4. Semantic Tagging System
- livehelp_tags store tag names scoped to a specific context - Tag names are unique *within* a context, not globally
- livehelp_tag_map provides polymorphic tag → entity mapping
- livehelp_context_cards_tags provides hierarchical tags for context cards
- livehelp_entity_tags links tags to: - content - folders - collections - other tags - future entity types ##### 5. Polymorphic Metadata & Properties
- All tag mappings support JSON
propertiesfor custom metadata - Enables Edge‑specific metadata, UI hints, or AI‑specific attributes #### New Tables Introduced
livehelp_contexts— semantic domainslivehelp_tags— tags scoped to contextslivehelp_tag_map— polymorphic tag mappinglivehelp_context_cards— short AI instruction cardslivehelp_context_cards_tags— hierarchical tags for context cardslivehelp_entity_tags— polymorphic entity tagging system
#### Benefits
- Unified content model across the entire system
- Flexible navigation and organization for end users
- AI‑ready metadata and context injection
- Extensible tagging and classification
- Clean separation of content, navigation, and semantics
- Future‑proof foundation for 4.x and beyond #### Views
upcoming_events– future events with recurrence expansion
---
- Added
X-Frame-Options: SAMEORIGINto admin pages - Added
Content-Security-Policy: frame-ancestors 'self' - Rate limiting for login attempts
- CSRF protection for all forms
- Secure session handling
- Improved password policies
- Password hashing via
password_hash()(255-char column)
---
- Replaced all
date()withgmdate() - Replaced all
mktime()withgmmktime() - All timestamps stored as UTC BIGINT (YYYYMMDDHHMMSS)
- Eliminates timezone inconsistencies ---
- No Foreign Keys (application-level integrity)
- Soft Deletes (
is_deleted,deleted_at) - Orphan Management (NULL on delete + periodic cleanup)
- Full Performance Indexing on relationship columns ---
- New
PDO_DBabstraction class - Database factory updated for PDO
- MySQL and PostgreSQL supported ---
- Enhanced configuration system
- Versioned migrations for seamless upgrades
- Backward compatible with existing installations ---
- New authentication settings panel
- OAuth provider management
- Email template customization
- Security logs and login history ---
- Updated documentation for new authentication flows
- Examples for custom auth providers
- Comprehensive logging and debugging tools ---
- Release status: In development
- Database Changes: Backward compatible with existing installs
- Security: Stronger defaults, modern crypto
- Total: 25 new tables + 1 view + extensive modifications ---
- Designed for shared hosting with limited DB permissions
- No reliance on
INFORMATION_SCHEMA - Supports fractional timezone offsets (e.g., 5.75)
- Automatic timestamp triggers for new tables
- Default timezone: UTC ---
- Production should remain on v3.7.5 until 4.0.0 stable
- Database changes include: - 255-char password column -
- Upgrades from <3.6.1 automatically apply all required migrations
- See
README.mdfor requirements and setup instructions - Finalized the “local embeds only” policy from 3.7.x clarifying that every Crafty Syntax deploy must host its own tracking assets to meet 2025 privacy baselines.
- Removed the last obfuscated powered-by tag hiding in
livehelp_js.php; the credit line now appears as a normal HTML anchor so auditors (and operators) can see exactly what ships in the bundle. - Added a trailing
csrepeat_()invocation tolivehelp_js.phpso the floating help icon re-checks operator presence and swaps artwork even after the visitor widget has been idle—most noticeable when the operator drops offline mid-session. - Repacked the 3.7.5 ZIP to include the clean powered-by link plus the extra refresh call; anyone who grabbed the first 3.7.4 build on 2025‑11‑12 should download the updated archive dated late 2025‑11‑12 or newer.
- Release published: Distributed as
crafty_syntax-3.7.5.zip; supersedes the late 3.7.4 refresh so partners have one canonical bundle. - Upgrade guidance: If you previously patched to the early 3.7.4 ZIP, copy
livehelp_js.php(and the updated scratchpad copy) from 3.7.5 so embeds honor the privacy+branding changes without a full reinstall. - Reissued the 3.7.3 codebase under the restored Crafty Syntax brand; binaries now publish as
crafty_syntax-3.7.4.zip. - Packaged artefact lives at
public/craftysyntax-3.7.4.zipalongside the archivedpublic/salessyntax-3.7.3.zip. - Updated headers, about boxes, installer copy, and powered-by strings to read “Crafty Syntax 3.7.4 (formerly Sales Syntax 3.7.3).”
- Refreshed the default login branding: swapped the package logo (
images/logo.png) and updatedlogin.phpartwork/labels to show the Crafty Syntax identity. - Restored the
2025_modern/operator.jpgasset that was missing from the 3.7.3 package so the modern theme displays correctly in 3.7.4. - Corrected the quick-upgrade path in
setup.phpto open a database connection before updatinglivehelp_config.version, ensuring the script actually writes3.7.4during the drop-in upgrade. - Generated fresh MD5/SHA256 checksums for both the rebranded package and the archived Sales Syntax bundle so operators can verify integrity.
- Documented the rename across
public/what_was_crafty_syntax.php,public/crafty_syntax_evolved.php, and the Crafty Syntax changelog alias. - Notified auto-installer partners (Fantastico, Softaculous, Installatron) that the package is a branding update only—no schema or code changes.
- Release published: Use
crafty_syntax-3.7.4.zipfor new installs or upgrades;salessyntax-3.7.3.zipremains in/archive/releases/for historical reference. - Upgrade guidance: Existing Sales Syntax 3.7.3 installs can drop in the rebranded files or continue running unchanged—functionality is identical. ---
- Removed the legacy
offsetcolumn from fresh installs sosetup.phpno longer creates or references the misspelled field that broke MySQL import checks. - Added a tolerant loader for existing databases: if a config row still exposes
offest, the runtime maps it tooffseton the fly and falls back to PHP’s active timezone when neither value is present. - Replaced the admin “time offset” dropdown with a read-only notice that shows either the preserved legacy value or the resolved timezone identifier, avoiding undefined-index warnings during upgrades.
- Mirrored the fixes into the redistributed
/public/salessyntaxsnapshot so hosted customers and LUPOPEDIA deployments stay aligned. - Tightened the HTML embed generator (
htmltags.php) to display a same-domain placement notice, preventing remote-site integration issues uncovered during shared-host testing. - Tracking now requires local embeds only. To align with 2025 privacy expectations, remote cross-domain tracking was removed in 3.7.x. All installations must use relative paths on the host domain so visitors are not tracked on third-party sites.
- Sanitized mobile/iPhone settings updates (
cellphone,sessiontimeout) withfilter_sqlso chat operators cannot inject SQL through the quick settings forms. - Escaped the
seeparameter inadmin_connect.phpbefore injecting it into the XMLHTTP redirect URL, closing the reflected XSS the legacy admin widget relied on. - Hardened
setup.phpredisplays by wrapping installer inputs incslh_escape/rawurlencodeand swapping the column-existence checks over to shared-host-friendlySHOW COLUMNSqueries. - Added
scripts/security_sweep.pyso maintainers can automatically flag risky patterns (eval, dynamic includes, raw$_REQUEST, unescaped$UNTRUSTEDoutput) before shipping future patches. - Completed fresh-install and upgrade validation on Windows (XAMPP) and Linux shared hosts to confirm timezone fallbacks, security fixes, and language loader updates behave consistently.
- Restored operator desktop cues:
admin_users_refresh.phpnow escalates focus through nested frames (window.parent.bottomof → parent → top → self) before falling back to an alert, and wraps HTML5/EMBED chat sounds with autoplay-promise catches so operators hear the bell even when browsers block background playback. - Standardized all “powered by” links to
https://lupopedia.com/?utm_source=poweredby&utm_campaign=poweredby, removing obfuscation and legacy domains so embeds point at the LUPOPEDIA hub. - Fixed
leavemessage.phpmail delivery: corrected the status update query, ensured department contact emails are honored, and fall back toowner_emailso contact alerts always send when visitors leave a message.
---
- Shared-hosting verification completed on Windows and Linux environments; 3.7.3 is cleared for packaging and distribution to hosted customers.
- Patch released: Tagged as 3.7.3 within 48 hours to unblock installers seeing the
offesttypo and shore up shared-host security. - Packaging: Prepare and distribute the refreshed ZIP bundle to partners; continue monitoring support tickets for any residual timezone edge cases ahead of the planned timezone-schema audit during LUPOPEDIA rollout.
- Verification: Final security_sweep.py run, admin console debug regression tests, and fresh install/upgrade retests all pass with no new findings; package is ready for delivery. ---
- Rebased the working tree on the original 3.7.1 payload (
public/salessyntax/) so all new fixes start from the shipped, unmodified theme. - Retired the legacy
filter_html()sanitizer and swapped every call site to native escaping helpers (cslh_escape,htmlspecialchars,rawurlencode) to eliminate double-sanitization flags raised by Installatron. - Modernized the visitor typing beacon in
livehelp.php(and mirrored scripts) to preferfetch/XMLHttpRequestwhile keeping the<img>/GETFormfallbacks for browsers stuck in 2005. - Removed obsolete upgrade prompts (
pp.gif,gopro.png, “Go Pro” copy) now that unbranded features ship by default. - Updated footer credits across operator/admin pages to read:
Sales Syntax Live Help 2003 - 2025 ( a product of Lupopedia LLC ). - Added an opt-in
2025_moderntheme (responsive layout, flex-based header/footer, refreshed offline/connecting screens) without disturbing existing templates. - Mobile and iPhone operator consoles now submit chats through modern
fetchwithGETForm2fallback, keeping thepostmessageworkflow intact for legacy browsers. - Logged the remediation plan in
plan_for_sales_syntax_3_7_2.mdso future patches stay aligned with Installatron requirements. - Introduced hosted documentation stubs (
howto,qa,updates) and new public landing pages (account.php,support.php,directory.php,members.php). Added an operator-facing notice onscratch.phpexplaining why the 3.7.2 release preserves the 2012-era UI (to keep diff baselines intact) and how LUPOPEDIA 1.0.0 will layer in modern tooling plus AI-driven migration of community customizations. - Refreshed
javascript/xmlhttp.jsto use a sharedfetchwrapper with automatic fallbacks to the legacyGETFormhelpers, keeping polling/typing scripts functional on older browsers while modern installs run viafetch. - Packaging/testing: preparing the clean 3.7.2 ZIP and verifying shared-host installs with the modernized AJAX pathways.
- Updated configuration helpers so generated URLs drop the domain entirely (always relative paths). This avoids mixed-content issues—legacy installs that were
http://now call AJAX endpoints over the current scheme (https://when needed) without breaking. - Release in preparation: Regression testing and packaging still pending before tagging 3.7.2.
- Next steps: Mirror the modern typing helpers into mobile/iPhone/external clients, refresh shared
xmlhttp.js, and produce Installatron-ready ZIP + changelog.
---
- Hardened every public visitor entry point (
livehelp.php,user_connect.php,user_chat_*,user_top.php,user_qa.php) to reuse already-sanitized department/tab/offset integers before building redirects, query strings, or embedded JavaScript. - Sanitized visitor-supplied hidden fields in lost-password and chat-color forms so remote widgets and password-reset flows cannot inject markup when rendered off-site.
- Refreshed the powered-by link in
livehelp_js.php, allowing brand swaps to point directly to LUPOPEDIA while preserving the optional creditline toggle. - Expanded the session fingerprinting ladder (
get_ipaddress) to honor modern proxy/CDN headers, preferring public IPs and falling back safely so legacy installs maintain tracking accuracy. - Packaged the release as the LUPOPEDIA migration baseline: the core now ships with the full Sales Syntax codebase, layered-pop-up heritage, and 3.7.1 security posture.
- Added LUPOPEDIA-side scaffolding:
livehelpsparent table (Migration 1071), CSV export guidance, and updated public docs (public/crafty_syntax_evolved.php,public/what_was_crafty_syntax.php) so operators understand the upgrade path. - Apply 3.7.1 (latest GPL release) before migrating. PORTUNUS and LUPO warn or block imports when
livehelps.version = '3.7.0'. - After patching, regenerate CSV snapshots so
livehelps_rows.csvreflects the sanitized schema andversion,3.7.1.
---
- Baked the previously “pro/unbranded” option into core so powered-by links can be removed directly from the HTML generator or department settings.
- Completed a PHP 8 readiness pass: converted all
each()loops toforeach, normalizedHeader()→header(), supplied missing response-code parameters, ensuredmktime()casts, and added default values for undefined variables encountered in empty result sets. - Hardened runtime safety by checking for ghost sessions before dereferencing arrays, assigning defaults for
$hide, and replacing the legacybrowser_infoclass with the newerBrowserhelper. - Moved
CTabBoxinclude calls intodata.php, repaired department HTML generation to use the correct ordered arrays, and refreshed the hour parameter handling to avoid null notices under PHP 8. - File footprint: essentially every PHP asset was touched (
FILES CHANGED: ALL OF THEM), with no schema alterations (DATABASE ALTERATIONS: NONE). - Legacy baseline: Still functional but missing the minor reflected XSS fixes and documentation polish delivered in 3.7.1.
- Upgrade path: Apply 3.7.1 (latest GPL release) before migrating into LUPOPEDIA; see
md_files/1_wolfie/livehelp_module.mdandpublic/crafty_syntax_evolved.phpfor patch workflow.
---
- Patched SQL injection spots tied to
$aftertimeand$typeof, coercing inputs withintval()and adding guard clauses around the write-div handler. - Smoothed out the “bubble window” template: adjusted window dimensions, ensured chat sounds trigger when visitors request a session, and tidied department refresh logic.
- Updated live help admin refresh code (
admin_users_refresh.php,admin_users_xmlhttp.php) and core helpers (functions.php,livehelp_js.php,iphone/functions.php) to keep real-time views synchronized. - No schema changes required (
DATABASE ALTERATIONS: NONE); recommended as the minimum security level for pre-3.7 installations still on PHP 7-era hosting.
---
- Introduced a dedicated leads tab plus offline layer invites so operators can capture visitor details—even when no human is online.
- Expanded tooling (
autolead.php,autoinvite.php,sendemail.php,createemail.php,leads.php) and refreshed navigation/admin views to surface the new workflow. - Added
offlineflag tolivehelp_autoinviteand created the supportinglivehelp_leads,livehelp_emails, andlivehelp_emailquetables for long-term contact management. - Bundled themed assets (
layer_invites/layer-Help_buttonoffline.*) so the invite CTA matches the extended lead collection experience. - Represents the start of the CRM-oriented roadmap; later releases (3.7.x) build on this foundation while resolving security gaps and modernizing the runtime. ---
- Rolled out a visual refresh (new logo, login background) and exposed tabs for CRM linkage, support tickets, lead management, and operator wall posts.
- Updated both MySQL and MySQLi drivers (
class/mysql_db.php,class/mysqli_db.php, plus mobile variants) and tuned setup/config scripts to support the expanded modules. - Served as the UX bridge into the CRM era; later 3.6.x releases layered in lead databases and offline invites. ---
- Converted the legacy
mysql_*calls tomysqli_*, providing PHP 5/7 compatibility without altering the surrounding business logic. - Focused change set around database abstraction classes and supporting helpers; no schema adjustments required.
- Required baseline for any installation targeting PHP 5.6+ or modern shared hosting environments. ---
- Switched the default alert sound implementation to HTML5
<audio>(with fallback options for legacy browsers), reducing QuickTime/plug‑in dependencies. - Touched core notification scripts to ensure audio playback continuity across operator consoles.
- Recommended upgrade for operators relying on browser-based audio cues; no database changes. ---
- Updated system messaging and configuration references to align with the lupopedia.com domain transition and security posture.
- Prepared the codebase for the upcoming CRM and lead-management additions that landed in 3.5.4+.
- Acts as the housekeeping release before the CRM-focused 3.5.4 refresh. ---
- Added CRM capture tools so visitor data can be collected even when operators are offline.
- Integrated the new workflow across setup pages and reporting dashboards.
- Marks the first appearance of CRM hooks that later 3.5.x/3.6.x builds expand into full lead management. ---
- Delivered an unbranded variant of 3.4.4 so customers could run live help without the standard credit line.
- Shares code with 3.4.4; use when brand-neutral deployments are required. ---
- Packaged 3.4.4 for mobile environments, ensuring templates and assets render cleanly on phones and tablets.
- Recommended for teams targeting mobile-first deployments; otherwise functionally identical to 3.4.4. ---
- Fixed two very minor vulnerabilities: remote file include exposure in
admin.php(operator scope) and full path disclosure inxmlhttp.php. - Updated template logic and helper scripts to enforce stricter page routing rules and sanitize
whattodoparameters. - Required baseline for any 3.4.x installation; patch instructions appear in the original changelog (manual edits plus guard clauses). ---
- Resolved bar-chart duplication in visitor analytics when departments overlapped.
- Corrected the version indicator so the UI shows the proper release number.
- Light maintenance build; ensures analytics dashboards remain accurate before the 3.4.4 security patch. ---
- Corrected department-aware pagination so the “data” tab no longer shows duplicate bars when browsing visitors.
- Patched a cross-site scripting issue in
livehelp_js.php; accompanying updates landed insetup.php,data_visits.php, andnavigation.php. - Security-sensitive build; roll up critical fixes before extending visitor analytics further. ---
- Published the “no backlink” (3.3.8) and “mobile” (3.3.7) variants of the 3.3.6 codebase for customers needing brand-free or mobile-optimized deployments.
- Functionally equivalent to 3.3.6 aside from packaging differences. ---
- Fixed operator creation so display names show correctly on first login and added the
maxrequests/deny agentsthrottles for bots. - Enhanced icon credit styling and department selection within visitor/referer data tabs.
- Includes configuration fields (
ignoreagent,maxrequests) that later CRM and security updates rely on.
---
- Released no-link (3.3.5) and mobile (3.3.4) builds alongside core 3.3.3, which overhauled analytics (department-aware data tabs, dynamic HTML generation) and added the
ignoreagent/maxrequestscolumns tolivehelp_config. - Introduced department selection, cleaned shorthand PHP tags, and improved robot throttling for high-traffic sites.
- Mandatory upgrade for installations facing analytics accuracy issues or resource strain from crawlers. ---
- Added timeouts and auto-logout controls for operators, plus per-website department visibility settings.
- Introduced the
livehelp_websitestable and added timestamps/department fields needed for multi-site routing. - Foundation for multi-site deployments; required before adopting the lead-management features that followed. ---
- Delivered a backlink-free build for customers needing white-label deployments while retaining 3.2.3 functionality.
- Companion to the 3.2.3 improvements; use when licensing terms require removing the credit link. ---
- Packaged 3.2.3 for mobile use, adapting templates and scripts to render on smartphones.
- Base for mobile deployments; pair with 3.2.3 schema changes. ---
- Fixed missing tables during setup (e.g.,
livehelp_sessions), ensured external chat windows close when visitors depart, added operator display names, and integrated geo-IP lookup in chat details. - Updated generated HTML to meet XHTML 1.0 Transitional standards and touched core scripts (
setup.php,operators.php,details.php) accordingly. - Must-have for sites encountering session errors or wanting geo-location context in transcripts. ---
- Provided a credit-free package mirroring 3.2.0 functionality for customers needing white labeling.
- Mirrors 3.2.0; choose based on branding requirements. ---
- Fixed Windows-hosted helper files so the mobile/iPhone apps function correctly; packaged as the mobile edition of 3.2.0.
- Required for Windows deployments using the companion mobile app. ---
- Upgraded
client_visitors.php, fixed undefined variables, added indexes to hot tables, modernized layer rendering (replacing the 1999 Dynamic Layer library), and refreshed the Portuguese (Brazil) language pack. - Applied helper fixes for iPhone/mobile directories and broadened timezone handling in settings.
- Major maintenance uplift; establishes the baseline for all subsequent 3.2.x tweaks. ---
- Released the no-backlink (3.1.11) and mobile (3.1.10) variants; 3.1.9 fixed multi-department icon handling, added dark/light credit link options, and ensured chat icons respect “hide when offline”.
- Recommended for customers running multi-department widgets or needing branded credit image options. ---
- Removed “Powered by Sales Syntax” links from themes, chat icons, and the donation prompt, creating a fully unbranded 3.1.7 build.
- Ideal for OEM deployments prior to the 3.2.x series. ---
- Fixed missing
displaynamefield errors, improved mobile input handling, and released the mobile variant of 3.1.6. - Important for organizations with dual desktop/mobile operator workflows. ---
- Polished the operator availability logic, cleaned out unused
showpopoutcode, refreshedinvite.php, and rebuilt the help documentation. - Sets the stage for the 3.1.7 mobile/unbranded updates; ensure this release is in place before layering subsequent patches. ---
md_files/1_wolfie/livehelp_module.md— Live help module overview and migration flow.database/migrations/1069_create_livehelp_legacy_tables.sql— Legacy sales syntax base tables.database/migrations/1071_2025_11_09_livehelps_create_parent_table.sql— Parent configuration table with seed record.CHANGELOG.md— LUPOPEDIA platform changelog (see “Livehelp Parent Table & Documentation” entry).public/crafty_syntax_evolved.php— Customer-facing continuity and upgrade instructions.
Database Layer Refactoring
Authentication System Overhaul
PHPMailer Integration
Database Schema Updates
#### Modernized & Normalized TablesCHAR(64))
- created_at, last_seen, expires_at (UTC BIGINT)
- ip_address, user_agent, is_valid
- Restored session_data (now MEDIUMTEXT) for backward compatibility
U+1F642) and HTML entities (🙂)
- Removed dangerous ASCII substitution codes
livehelp_referers_daily
- livehelp_referers_monthly
- livehelp_visits_daily
- livehelp_visits_monthly
- livehelp_visit_track
- All upgraded with:
- BIGINT primary keys
- Normalized column names
- created_utc, updated_utc, is_deleted, deleted_at
- InnoDB + utf8mb4 conversion
livehelp_users → replaced by:
- auth_users
- auth_user_prefs
- livehelp_sessions
- livehelp_operators
- livehelp_visitors
- livehelp_websites → replaced by livehelp_domains
- Added table-level comments indicating deprecation and archival status
#### New Authentication Tables
New Content & Navigation System (Replaces legacy ontology section)
4.0.0 introduces a fully modern, flexible content architecture designed for multi‑type content, user‑defined navigation, semantic tagging, and AI‑aware contextual assistance. This system replaces the older ontology prototype and provides a unified, future‑proof foundation for all structured content inside Crafty Syntax. #### Core Features ##### 1. Multi‑Type Content SystemSecurity Enhancements
Timezone & UTC Handling
Database Design Philosophy
PDO Database Layer
Configuration & Migrations
Admin Interface
Developer Experience
Status
Technical Details
Upgrade Notes
timezone_offset DECIMAL(4,2)
- Versioned migrations
VERSION_3_7_5 — 2025-11-14 (Livehelp JS Transparency & Icon Refresh)
Highlights
Status
VERSION_3_7_4 — 2025-11-12 (Crafty Syntax Name Restoration)
Highlights
Status
VERSION_3_7_3 — 2025-11-10 (Timezone Offset & Hardening Sweep)
Highlights
Deployment Status (Completed)
Status
VERSION_3_7_2 — 2025-11-10 (Installatron Compliance & Branding Refresh)
Highlights
Status
VERSION_3_7_1 — 2025-11-09 (Security Patch & LUPOPEDIA Integration)
Highlights
Recommended Action
VERSION_3_7_0 — 2023-11-07 (PHP 8 Compatibility Sweep)
Highlights
Status
VERSION_3_6_2 — 2017-02-17 (Security Patch & UX Fixes)
Highlights
Status
VERSION_3_6_1 — 2016-06-21 (Leads & Offline Invite Enhancements)
Highlights
Status
VERSION_3_5_4 — 2016-05-28 (CRM Interface Refresh)
Highlights
Status
VERSION_3_5_3 — 2016-03-30 (MySQL → MySQLi Migration)
Highlights
Status
VERSION_3_5_2 — 2015-12-02 (HTML5 Audio Default)
Highlights
Status
VERSION_3_5_1 — 2015-11-28 (Brand Transition Release)
Highlights
Status
VERSION_3_4_7 — 2013-08-15 (CRM Data Capture)
Highlights
Status
VERSION_3_4_6 — 2013-04-23 (Unbranded 3.4.4 Build)
Highlights
Status
VERSION_3_4_5 — 2013-04-23 (Mobile 3.4.4 Build)
Highlights
Status
VERSION_3_4_4 — 2013-04-23 (Security Release)
Highlights
Status
VERSION_3_4_1 — 2013-01-19 (Reporting Fixes)
Highlights
Status
VERSION_3_3_8 — 2012-08-05 (Visitor Paging & XSS Fix)
Highlights
Status
VERSION_3_3_8 (Mobile/No-Link Variants) — 2012-06-02
Highlights
Status
VERSION_3_3_6 — 2012-06-02 (Operator Experience Polishing)
Highlights
Status
VERSION_3_3_5 / 3.3.4 / 3.3.3 — 2012-05-29 (Leads & Dept Analytics)
Highlights
Status
VERSION_3_3_0 — 2012-04-24 (Timeout & Website Segmentation)
Highlights
Status
VERSION_3_2_5 — 2012-04-20 (No-Backlink Release)
Highlights
Status
VERSION_3_2_4 — 2012-04-20 (Mobile Release)
Highlights
Status
VERSION_3_2_3 — 2012-04-20 (Session Stability & Geo Lookup)
Highlights
Status
VERSION_3_2_2 — 2012-04-04 (No-Backlink Variant)
Highlights
Status
VERSION_3_2_1 — 2012-04-04 (Mobile Helper Fix)
Highlights
Status
VERSION_3_2_0 — 2012-04-04 (Performance & Localization)
Highlights
Status
VERSION_3_1_11 / 3.1.10 / 3.1.9 — 2012-03-25 (Brand & Stability Tweaks)
Highlights
Status
VERSION_3_1_8 — 2012-03-08 (Unbranded Edition)
Highlights
Status
VERSION_3_1_7 — 2012-03-08 (Display Name & Mobile Input Fix)
Highlights
Status
VERSION_3_1_6 — 2012-03-07 (Operator Presence & Cleanup)
Highlights
Status
REFERENCES
README_FILES/ changelog bundled with each Sales Syntax installation.