← Chatlog Magician

CHANGELOG

Chatlog Magician™ · Release Notes & Version History

Every release of Chatlog Magician, what changed, and when. The most recent version sits at the top. For the in-app "What's New" toast that highlights the latest release on every visit, just open the tool — this page is the deep archive for anyone curious about the project's evolution.

v2.3.17 LATEST 2026-05-31

  • Exported and copied images are crisp again — fixed the soft, blurry text introduced recently.

v2.3.16 2026-05-29

  • Editing label no longer lingers in chat mode after using canvas mode.
  • Undo no longer fails to redraw chat blocks after a page reload.

v2.3.15 2026-05-29

  • Fixed an intermittent crash when copying or downloading images.

v2.3.14 2026-05-28

  • Image exports now save at the same size on every device — no more larger PNGs on HiDPI or 2K screens for the same chatlog.
  • Sharper text and stroke edges in downloaded images.

v2.3.13 2026-05-27

  • Removed all ads and the cookie consent banner.

v2.3.12 2026-05-24

  • Press Esc to close color mode.
  • Selecting words now auto-opens the color palette — works in both the input and the preview.

v2.3.11 2026-05-24

  • Fixed the "Update cookies preferences" link on the privacy page.

v2.3.10 2026-05-24

  • Sharper downloaded images with the new stroke style on high-DPI screens.

v2.3.9 2026-05-23

  • Translated landing pages (FR/DE/ES/PT/RU/TR/PL/ID) now match the main site look.

v2.3.8 2026-05-22

  • Faster cold load: jQuery now minified, Inter preloaded.
  • Security polish: tighter CSP, safer character-name handling.
  • Social embed previews now show an image on guides, about, changelog, and contact pages.

v2.3.7 2026-05-22

  • Fix: page-blocking script error on some browsers.

v2.3.6 2026-05-22

  • Help & FAQ split into How-to and FAQ tabs; how-to items have a "Show me how" button that demos the feature live on the UI.

v2.3.5 2026-05-22

  • Support notice only appears when ads are actually blocked.

v2.3.4 2026-05-21

  • Inter font now renders correctly in image exports.

v2.3.3 2026-05-20

  • Firefox/Waterfox now works fully — exports, copy, and overlay layers all render correctly.
  • Removed the Firefox compatibility warning modal.
  • Firefox note: clipboard paste flattens transparency in some apps; use Download for transparent PNG.
  • Canvas mode PPI: 72 (fixed; input removed).

v2.3.2 2026-05-20

  • Firefox/Waterfox now works fully — exports, copy, and overlay layers all render correctly.
  • Removed the Firefox compatibility warning modal.
  • Firefox note: clipboard paste flattens transparency in some apps; use Download for transparent PNG.
  • SAMP toggle values: Arial Bold, size 14, 128-char line cap.
  • Sources: open.mp wiki, SA-MP wiki Limits page, D3DXCreateFont rendering.
  • Canvas mode PPI: 72 (fixed; input removed).

v2.3.0 2026-05-20

  • Added: hover or click the ? on key controls for inline help.
  • Added: SAMP look toggle — pins Arial, size 11, length 125, PPI 100.
  • Added: named history snapshots with rename, delete, and 60s autosave.
  • Added: auto-colors for landline, ticket, POLICE DC, /myphones, business rank, new phone number, and "is wearing" lines.
  • Improved: feedback form now captures category, example, and current vs expected behavior.

v2.2.5 2026-05-19

  • Added: per-block horizontal alignment (Left/Center/Right) for canvas chat.
  • Fix: new canvas chat blocks now inherit the active font.
  • Fix: export no longer captures stale chatlog after rapid typing.
  • Fix: canvas mode now respects Arial/Trebuchet/Inter font switches.

v2.2.3 2026-05-19

  • Added cookie consent banner for ad personalization.
  • Shrunk favicon (7MB → 58KB) for faster first load.

v2.2.2 2026-05-15

  • Fix: manual word colors now survive line edits, wrap changes, and project save/load.
  • Internal: content-anchored color overrides (new ColorAnchors module); project schema v2.
  • Internal: censor rendering unified into one helper (closes the divergence behind past export bugs).
  • Fix: pre-existing
    tags now correctly reset the line-wrap counter (was silently miscounting 4 visible chars per tag).

v2.2.1 2026-05-15

  • Fix: manual word colors now survive line edits, wrap changes, and project save/load.
  • Internal: content-anchored color overrides (new ColorAnchors module); project schema v2.
  • Internal: censor rendering unified into one helper (closes the divergence behind past export bugs).

v2.2.0 2026-05-15

  • Fix: manual word colors now survive line edits, wrap changes, and project save/load.
  • Internal: content-anchored color overrides (new ColorAnchors module); project schema v2.

v2.1.13 2026-05-15

  • Fix: censor escaping hardened.
  • Fix: manual word colors stick on whisper lines.
  • Fix: duplicate save toast on edits.
  • Fix: smart-quote (curly apostrophe) normalization.
  • Fix: font size and line length clamped on load.
  • Fix: touchpad zoom no longer scrolls the page in canvas mode.
  • Fix: long-then-short canvas text wrap no longer overflows.
  • Fix: words inside inline-colored chat segments are now selectable in coloring mode.
  • Fix: history panel self-heals from a corrupted local-storage blob.
  • Internal: cleanup, consolidations, and listener/observer hygiene.

v2.1.12 2026-05-15

  • Fix: censor blur no longer duplicates onto the line above on export.

v2.1.11 2026-05-13

  • Fix: .bcmag project files now actually carry your font size, line length, stroke mode (Classic / New), and the canvas export width / height / PPI. Previously font size was hardcoded to 13 on save and never applied on load; stroke mode was being written to a phantom localStorage key that nothing reads; line length was set in the input box but the parser was never notified; and canvas size was not saved at all. Reopening a project now restores the layout you saved, end-to-end.
  • Fix: manual colors applied to unrecognized chat lines (e.g. lines starting with [PHONE] that the parser does not match against any of its built-in line types) used to silently revert on the next render — most visibly the moment you clicked Download in canvas mode, since the export pipeline re-parses before capture. Two underlying bugs: the parser was treating its internal "unrecognized" marker class as a real color and overwriting your choice with it on every re-render; and toggling Coloring mode on was re-running the word-wrap pass over already-word-wrapped spans, nesting a second .colorable span inside each one and doubling the count. The second bug only showed up after the first was fixed — half the words would revert in an every-other-word pattern because the snapshot stored 2× as many entries as the rebuilt DOM had slots for. Both fixed: custom colors on these lines now survive renders and exports cleanly.
  • Improve: the canvas-mode "Clear Image" button now removes only the background image, keeping every chat block, custom overlay, color choice, font and size setting in place — so you can swap backgrounds mid-edit for multi-image sets without rebuilding your layout. Previously it ran a full canvas reset and forced you to re-do everything. Drop a new image after clearing and it lands cleanly against the dropzone, with all your chat blocks already in their saved positions.
  • Fix: canvas-mode lines no longer orphan a single word onto its own visual line when the chosen line-length is wider than the canvas at the current font size. Example: line-length 80 on a 500x600 canvas at 11px font was producing "…Bureau" / "and" / "ask for a copy…" because the browser was running its own soft-wrap on top of the parser's already-correct 80-char wrap. Now the parser's
    is the sole break point — if 80 chars don't fit horizontally at your font, the line overflows the canvas instead of getting silently re-broken in a place that orphans words. Reduce the line-length, widen the canvas, or shrink the font to bring it back into bounds.

v2.1.6 2026-05-13

  • Fix: silenced the wall of CSP / base-uri console errors that appeared when exporting in canvas/overlay mode. Image-overlay exports were passing a font-embed flag the wrong rasterizer recognises, so the library kept walking the Font Awesome CDN stylesheet and tripping the site CSP every time you generated an image. Exports themselves were unaffected, but the console is quiet again — and the export pipeline now skips that wasted work entirely.

v2.1.5 2026-05-11

  • New: inline color tokens are now supported. Drop !{#rrggbb} (or 3-char shorthand like !{#f0a}) anywhere in a line and every character that follows gets that color until the next token or the end of the line. Works in says, /me, /do, /ame — anywhere. Example: "John Doe says: Test test.!{#C2A2DA} emote !{#f0f0f0}Test." colors " emote " purple and "Test." light grey, while keeping the rest of the line in its normal color. Invalid hex (e.g. !{#zzz}) is left in place as plain text so typos do not silently disappear.

v2.1.4 2026-05-11

  • Fixed: dragging the Background opacity slider was sluggish on long chatlogs because every mouse tick triggered a full redraw. The slider is now smooth — the heavy work runs once when you release the mouse (or commit with the keyboard) instead of on every pixel.
  • Fixed: opening a saved .bcmag project did not apply the saved Background opacity until you nudged the slider. The saved value now takes effect the moment the project loads.
  • Fixed: in Canvas mode with multiple chat blocks, changing the background color or opacity only updated the first block — the rest stayed at the previous value. All blocks now update together.
  • Fixed: after a failed image export (e.g., copy-image hit a transient browser error), the chat preview was sometimes left with extra empty space below it. The preview now restores to its original size whether the export succeeds or fails.

v2.1.3 2026-05-10

  • New Background opacity slider next to the BG color picker — dial the chat background from 0% to 100% to match the see-through chat box from in-game GTAW. Saves with your project and bakes into PNG / clipboard exports.
  • Fixed: in Stroke: New mode, the per-letter outline disappeared whenever Background was on (most visible against light or white BG colors). The stroke now renders cleanly through every BG color and opacity.
  • Fixed: large font sizes (around 23px and above) clipped the bottom of the chat in downloaded and copied images. The export buffer now scales with font size so the last line always fits.
  • Fixed: turning Background on in Stroke: New mode could hide the entire chat behind the background fill. Text now stays visible above the BG layer in every render mode.
  • Fixed: 23px specifically still cut off after the previous buffer fix — per-line pixel-rounding drift was eating just enough room for the bottom line to clip. The export buffer is now much more generous and adds an unconditional post-measurement margin so every font size in range fits cleanly.

v2.1.2 2026-05-10

  • New Background opacity slider next to the BG color picker — dial the chat background from 0% to 100% to match the see-through chat box from in-game GTAW. Saves with your project and bakes into PNG / clipboard exports.
  • Fixed: in Stroke: New mode, the per-letter outline disappeared whenever Background was on (most visible against light or white BG colors). The stroke now renders cleanly through every BG color and opacity.
  • Fixed: large font sizes (around 23px and above) clipped the bottom of the chat in downloaded and copied images. The export buffer now scales with font size so the last line always fits.
  • Fixed: turning Background on in Stroke: New mode could hide the entire chat behind the background fill. Text now stays visible above the BG layer in every render mode.

v2.1.1 2026-05-10

  • New Background opacity slider next to the BG color picker — dial the chat background from 0% to 100% to match the see-through chat box from in-game GTAW. Saves with your project and bakes into PNG / clipboard exports.
  • Fixed: in Stroke: New mode, the per-letter outline disappeared whenever Background was on (most visible against light or white BG colors). The stroke now renders cleanly through every BG color and opacity.

v2.1.0 2026-05-08

  • Save and reload your edits — projects now persist across reloads and crashes (autosave) and can be exported as .bcmag files for sharing.
  • Reopen Stack items as editable scenes (older Stack exports remain view-only).
  • If a project file is corrupted, you can now try to recover what is readable.
  • New censor style: Black bar — solid black covering, alongside the existing Remove and Blur options. Cycle through all three with the Censor toggle.
  • Censor markers (÷) are now highlighted directly in the chatlog input so you can see at a glance where you have placed them.
  • Canvas visual effects — toggle Grain (monochromatic film noise), Vignette, VHS Tone (warm color grade + soft blur on the screenshot), and VHS Overlay (real VHS-static footage screen-blended over the canvas). Each has an opacity slider; all four only tint the screenshot, leaving chat blocks and overlay images clean; everything bakes into the exported PNG.
  • Chat block sizing now follows the toolbar font size only. Scrolling over a chat block no longer resizes it — the page scrolls naturally instead.
  • Custom fonts now travel with .bcmag files. If your project uses a font you uploaded, the file embeds it — share the .bcmag with someone else and the chat renders in the same font on their browser.

v2.0.9 2026-05-07

  • New Guides section — four articles for GTA RP creators: GTA World chat commands (/me, /do, /low, /b, /pme, /ame, /whisper), a walkthrough of the Roleplay Transcription method for cinematic RP screenshots, a deep-dive on IC vs OOC in scene write-ups, and a terminology glossary covering IC/OOC/PG/MG/RDM/VDM/FRP across servers. New "Guides" link in the footer, or /chatlog-magician/guides/.
  • Full release history now lives at /chatlog-magician/changelog/ — every version back to v1.5.0, with dates. The in-app "What's New" toast still highlights the latest release.
  • New /contact page with email, Discord (@q5wk), and GitHub channels for collaborations, bug reports, feature requests, and license inquiries.

v2.0.8 2026-05-07

  • Canvas mode: chat blocks now drag vertically only — horizontal is locked so the text stays centered (paddingH already insets it symmetrically, dragging sideways just broke the centering). Vertical snap also got the same padding-aware behavior overlays already had: when you drag, the block locks onto the top/bottom safe-area defined by Pad ×.

v2.0.7 2026-05-06

  • Hotfix: site stopped loading overnight, but nothing in our code changed. A third-party library on a CDN (snapdom, used for image rendering) shipped a release whose internals leaked a function called $ to the page and overrode jQuery's $. Every $(document) call then returned undefined and nothing else could start. Reordered the script tags so jQuery loads after snapdom and wins. Output, history, drag-and-drop and everything else are back.

v2.0.6 2026-05-06

  • Hotfix: site stopped loading for fresh page loads roughly a day after each release. Root cause was an over-aggressive anti-tamper layer in the build that started misfiring after a recent Chrome update — every $(document) call ended up returning undefined and nothing downstream could initialize. Disabled the fragile checks and locked the build pipeline so this drift can't happen again. Output, history, drag-and-drop and everything else are back.

v2.0.5 2026-05-06

  • Hotfix: site stopped loading overnight because the build pipeline was silently pulling a newer build tool with each deploy. Pinned the toolchain to a known-good version, locked the dependency tree so future builds are reproducible, and swapped the jQuery URL while we were at it. Output, history, drag-and-drop and everything else are back.

v2.0.4 2026-05-06

  • Hotfix: the site stopped loading overnight because the jQuery beta we were pinned to started misbehaving in the browser. Swapped to stable jQuery 4.0.0 — output, history, drag-and-drop and everything else are back.

v2.0.3 2026-05-05

  • Privacy stance is now visible instead of buried — the landing page and the Chatlog Magician footer both spell it out: runs in your browser, no account, nothing leaves your device unless you explicitly send it (ImgBB uploads use your own key).
  • Saved canvas-mode settings now live under a single, versioned storage key instead of a dozen scattered ones — old keys are migrated automatically the first time you load the page, no settings reset.
  • Under the hood: shared IndexedDB wrapper for the image stack and custom-fonts stores (less duplicated plumbing), one-command version bump script for releases, and 23 new tests covering the settings migration so future renames stay safe.

v2.0.2 2026-05-05

  • New "Inset" text position in canvas mode — pins the chat strip to the bottom of the image, growing upward as text is added. Same look as "Below" but the export keeps its original height instead of getting taller.
  • Text position is now a proper [ Overlay | Below | Inset ] segmented switcher (same style as the Chat | Canvas pill) instead of a single button you had to click through three times to find the right mode.
  • If you had the old "Below" toggle saved, it carries over automatically — no settings reset.

v2.0.1 2026-05-04

  • Top inputs are labeled — "Size 12", "Length 50", "Highlight John Smith" instead of bare numbers and a vague "Enter character name" placeholder.
  • The "Add" button now reads "Add highlight" so it is clear what gets added.
  • "Outline: New / Classic" is now "Stroke: New / Classic" — that is the actual graphics term for the text outline style.
  • Help and Font are now dropdowns. Help ▾ has FAQ + Replay tour. Arial ▾ shows every font (rendered in its own typeface), the active one has a check, and "Manage custom fonts…" lives at the bottom.
  • The standalone megaphone and route icons are gone — replaced with a "What's new" text button and a "Replay tour" entry inside Help.
  • Right-edge tabs say "HISTORY" and "STACK" instead of just an icon.
  • Canvas mode controls are labeled — PAD, SIZE, FIT — and the duplicate "Fit" text after the dropdown is gone.
  • BG color swatch and the ÷ censor button now show what they do at a glance — eyedropper icon on the swatch, copy icon on the ÷ button.
  • Interactive tour now covers every toolbar control end to end (18 steps). Returning visitors keep their seen flag — replay it from Help ▾ → Replay tour.
  • Changelog toast now uses square edges to match the rest of the UI.

v2.0.0 2026-05-01

  • Interactive tour — first-time visitors get a guided walkthrough. Each step spotlights one control and dims the rest, with smart tooltip placement that flips around the viewport. Covers character setup, the paste flow, live preview, background toggle, color tool (with auto-lock note), font cycle plus the custom-fonts manager, canvas mode (with undo/redo, arrow nudge, smart guides, opacity), the right-edge History and Image Stack tabs, and copy/download. Replay any time from the new route icon next to the Help button, or append ?tour=1 to the URL.
  • Custom fonts — click the new font icon next to the Font toggle to open the manager. Drop in any .ttf, .otf, .woff, or .woff2 file (10MB cap, 20-slot cap). Files stay in your browser via IndexedDB, the FontFace API registers them with the page, and they appear in the Font cycle alongside Arial / Trebuchet / Inter. A one-time disclosure clarifies that we do not provide support for issues caused by third-party fonts.
  • Undo and redo for canvas-mode edits. Use Ctrl+Z / Ctrl+Y or the new ↶ ↷ buttons next to the Outline toggle. Stack covers block moves, scaling, add/duplicate/delete, image swaps, background changes, opacity, and snap toggle.
  • Arrow-key nudge for the active chat block — 1px per tap, hold Shift for 10px steps.
  • Smart alignment guides — orange lines appear while dragging when blocks line up with each other, the image, or the canvas center.
  • Per-layer opacity sliders on chat blocks and the background image. Undo-aware and persists across reloads.
  • New Image Stack — save finished canvas exports to a local IndexedDB-backed tray. Open it from the layer-stack icon below the History tab on the right edge.
  • "Save to stack" button next to Download in canvas mode adds the current export, with auto-generated filename, 200×200 thumbnail, inline rename, re-download, and delete. Soft cap at 50, hard cap at 100.
  • ImgBB upload — set your API key once in the Stack panel (gear icon), then upload single rows or selected batches. Bulk-select and copy direct URLs.
  • Coloring tool now auto-locks the chat layer in canvas mode — click and drag to color text without nudging the block out from under the cursor. Movement returns when you exit coloring mode.

v1.8.1

  • Multiple chat blocks per canvas. Click "Add chat block" in the layers panel for another draggable chat overlay.
  • Each block has its own position and scale. Click a block to edit it in the chat box on the left.
  • Standard layer controls: hide, lock, duplicate, remove. Global chat styles (font, padding, colors) apply to every block.

v1.8.0

  • Canvas mode is now a visible [ Chat | Canvas ] segmented control — both modes are on screen at once, so it's no longer hidden behind a toggle button.
  • Color tool works in canvas mode — click the Color button, then click or drag-select words directly on the canvas overlay to recolor them. Colors persist across re-renders.
  • "Use a solid color" button under the dropzone is properly clickable and sized, with hover/focus states.
  • Firefox compatibility prompt uses the real Chrome, Edge, Brave, Opera, and Vivaldi brand logos instead of placeholder shapes.

v1.7.3

  • New "Outline" toggle above the Copy/Download buttons — switch between the current crisp outline and the classic pre-1.6.0 outline (8-way text-shadow via dom-to-image).
  • Your choice is remembered across sessions and applies to both the live preview and the exported image.

v1.7.2

  • Downloads render at native size again — text is crisper, no more softened edges from an upscale-then-downsample pipeline.
  • Text outline is horizontally lighter but vertically full — fixes vanished strokes on the tops of caps like J, D, T.

v1.7.1

  • Firefox users now see a heads-up when they land on the site — image export, clipboard copy, and overlay layers misbehave in Firefox, so the warning points to Chrome, Edge, Brave, Opera, and Vivaldi instead.
  • Text outline in exports toned down — Arial and other fonts read closer to their natural weight, less filled-in at the corners.

v1.7.0

  • Canvas mode layers got a real toolkit: hide, duplicate, reorder by drag, flip horizontal or vertical, and rotate with a handle above each layer.
  • Per-layer opacity slider in the selected layer — dial in composite screenshots without leaving the tool.
  • Solid-color background: skip the image upload entirely and pick a fill color under the dropzone.

v1.6.1

  • Canvas mode: hide any overlay with the eye icon — preview and export both respect it.
  • Canvas mode: duplicate a layer with the clone icon, offset 16px so you can see both copies.
  • Layer panel icons refreshed — Font Awesome icons in a compact strip.

v1.6.0

  • Text outlines in exports are crisp now. One continuous stroke around each letter, no choppy edges or ghosting on small text.
  • Canvas overlay preview is 1:1 with the export. Where you drop chat on your screenshot is where it ends up in the PNG.
  • Normal chat exports render faster and choke less on custom fonts or cross-origin images.

v1.5.10

  • Chatlog Magician wordmark added to the header.
  • Donate button is easier to spot in the toolbar.
  • Mobile layout no longer scrolls sideways on phones.
  • Tightened the suggestion endpoint to same-origin only.
  • Downloaded and copied images render with crisp text strokes at small font sizes.

v1.5.9

  • Post-export support nudge every few exports.
  • Fixed background gaps between lines at certain font sizes.
  • Stable button sizing across modes.
  • Canvas renderer improvements.
  • Skip background on empty lines; adjusted background positioning.

v1.5.8

  • Fixed color bleed when removing lines.
  • Simplified button UI.

v1.5.7

  • Added text-below-image overlay mode.
  • Fixed color persistence across exports.

v1.5.6

  • Empty lines preserved in output.
  • Centered empty-state message in the history panel.

v1.5.5

  • Changelog toast for new versions.

v1.5.4

  • Polish language support ("mówi:" for line coloring, asterisk formatting).

v1.5.3

  • Stripped standalone devGaming timestamp lines.

v1.5.2

  • Version bump, changelog toast refinement.

v1.5.1

  • Blur censor now inherits color correctly.
  • Initial changelog toast implementation.

v1.5.0

  • Security and reliability release.