Releases: doom-snapmap/snapmap-plus
Releases · doom-snapmap/snapmap-plus
Release list
v0.2.1-beta.2
Changes since v0.2.1-beta.1:
- backend: cvars + overrides -- NOCHEAT on our cvar rows (console sets work without dev mode) + persistent overrides.disabled marker to keep the user override layer off across restarts
- backend: override stream vtable -- slot +0x18 is idFile GetName, not Length; renderprog decl loads dereferenced a file size as a name pointer (#41)
- site: sort dropdown options pinned to readable colors -- the icon-button's transparent text was inherited by the popup list (#40)
- site: mobile Community toolbar -- auth row separated, search and sort share one row with sort as an icon button; Discord link in nav and footers (#39)
- site: Community Q&A open/resolved state, accepted-answer highlight, Most-upvoted sort; Announcements and General now served, content categories tabbed first (#38)
- site: Community category select -- chevron anchors to the control, not the full-width field (#37)
- site: Community buttons unified to the navbar style -- flat chamfered fills, no borders or glow; comment editors dock Cancel/submit inside the editor footer; taller writing areas; borderless action bar (#36)
- site: Community fixes -- forum rows broken by a nested author link (invalid HTML, row split apart); double focus outline on editor and fields (#35)
- site: Community UI/UX overhaul -- forum-grade list, search/sort/tags, icon set, rich-text composer, in-site dialogs (#34)
- site: Community author controls -- edit and delete your own posts and comments (#33)
- site: Community write path -- GitHub sign-in, on-site composer with image upload and preview, comments, replies, reactions (#31)
- site: add Community section (read-only) backed by GitHub Discussions (#30)
- site: hero graph -- gate right-side pulses behind the left pulse reaching SNAPMAP+ (equal dur = phase-locked; opacity guard against origin dot)
- site: guide+changelog -- pin guide TOC (no scroll drift), single section divider; match changelog padding/title/node-squares to guide
- site: mobile hamburger nav, shared header include, drop off-center node-port, wrap long guide paths
- site: Baron of Hell editor-ghost backdrops (traced 184-pt silhouette, vanilla canvas hologram w/ parallax; community section + 404) + hero spacing fix (.shot margin reset was eating the hero-shot gap)
- site: use the doom-snapmap org avatar as favicon + header mark (served from github.com/doom-snapmap.png so it tracks avatar changes)
- site: consistent nav (Home on every page, current-page highlight incl. the guide) + themed thin scrollbars
- site: full redesign + move out of docs/ into site/ (Actions Pages deploy, changelog page, lightbox) (#27)
- Update snapmap-plus-guide.md (#26)
- site: put the code-signing policy directly on the home page (footer block + #code-signing anchor); drop the standalone code-signing.html; layout link points to the home anchor
- site: move privacy + code-signing policies to dedicated standalone pages (privacy.html / code-signing.html), out of the guide; page-driven meta description; footer + sitemap updated
- site: add code-signing + privacy policy sections + SEO metadata (OG/Twitter/keywords/canonical, DOOM in title) + sitemap
v0.2.1-beta.1
Initial release.
- installer: migration is now a verified MOVE (delete the old folder), not a lossy copy
- rebrand: snaphak/open-snaphak -> Snapmap+ (doom-snapmap/snapmap-plus) across the product
- installer: relocate app-data + user content into %LOCALAPPDATA%\snapmap-plus, with one-time migration + content scaffolding
- installer: embed a version resource + application manifest, strip + trimpath the build (reduce antivirus false-positives on the downloaded snaphak.exe)
- installer: self-update skips when the on-disk exe is already current; rename-aside falls back past a still-running .old (#24)
- installer: migrate away from the original SnapHak (detect + remove its files on install/update) (#22)
- ui(webview): drop redundant entity-count status line; guide: console-command reference, Vulkan note, feedback section (#19)
- installer: friendlier no-stable 404 message + doc catch-up (#21)
- installer: status-aware interactive prompt on double-click (#20)
- installer: beta fallback while no stable release exists (#18)
- feedback: crash dialog -- drop the browser-preview demo trigger (preview crashSubmit/Dismiss handlers kept)
- package: diag-detector -- re-key to snaphak_diag.log (crash-report dump made the old marker release-legit)
- feedback: crash reporting -- crash records, in-app crash dialog, relay crash category with log-comment attachments
- logs: runtime logs move to snaphak\logs\ inside the overlay dir (was root-level snaphak_logs); installer migrates an older install's dir and uninstall cleans both
- feedback: trim APP_ID (shell-piped secrets carry a newline GitHub rejects) + log each app-auth step to the tail
- feedback: dedup lists oldest-first so confirmations land on the original report
- feedback: relay auth as an org GitHub App (bot identity, no rotation chore; PAT fallback); list-based dedup (search-index lag double-filed); '?' moved into the statusbar; bake the deployed relay host
- feedback: in-app report dialog -> relay -> labeled tracker issues; hygiene workflows; focus-mode bottom-padding fix
- ui: embed the org-avatar logo in the menubar (data URI) + best-effort per-build refresh from github.com/snaphak
- overrides: three-layer resolution (user file -> built-in default from memory -> engine) + sh_help; built-in defaults no longer written to disk (untouched seeded copies reclaimed at install), startup audit of active overrides, snaphak_user_overrides cvar to bisect a broken override set, malformed-file fallback at built-in names
- ui: IDE-style Tab indent/outdent in the decl editor + re-center the prefab empty state
- ui: decl-editor line numbers (default + focus mode) and real prefab description/tags via a per-prefab metadata sidecar (tag-aware filter)
- comments: drop the retired-second-frontend framing from source comments (webview-only product; original-SnapHak Qt facts kept)
- ui: prefab Delete/Load-Place gated on a real selection + blank-click deselect; fix the multi-select placeholder layout
- ui: decl-editor focus mode + selection/dropdown/schema-note fixes (#8)
- ui: panel-layout overhaul + schema-aware decl editor
- installer: ensure the WebView2 runtime on install/update -- detect via registry, offer MS's evergreen bootstrapper if absent (never blocks the mod install)
- ui: retire the Qt-side snapstack.cpp -- SnapStack is now backend-only, one implementation + one store shared by both frontends (Phase 2)
- backend: apply_engine -- fix misleading deserialize buffer-init comments; LexCtxCtor/def-ctor self-construct their idStrs, the save/reload crash fix was the inline apply_sync commit
- SnapStack backend port + Timelines/Entities webview polish (#5)
- WebView Timeline parity + deferred-apply crash fix + build split (#4)
- ui(webview): wire Timeline event editing + Save Timeline (#3)
- ui: add experimental WebView2 (HTML) frontend as a Qt-free snaphakui.dll (#2)
- strids: dedupe injected #str_ rows (user json wins) -- fixes the baked-set duplicate corruption
- create-timeline: place from the in-game palette + ship the "*Custom" tab built-in
- installer: don't back up our own DLL on update, so uninstall restores true vanilla
- backend: create-timeline -- spawn grabbed (enter place-tool grab mode on editor+0x22330 after PasteInstantiate, mirroring the real Ctrl+V) so a from-scratch timeline is held for placement and joins the module it's dropped into (auto-module); fixes the selected-but-not-grabbed orange-highlight state
- ui: entity list -- rebuild on same-entity module re-bucket + a live world-signature poll (hash of every valid entity's id-string) so module moves / object create+delete / module add+remove reflect in the list without a manual Refresh
- backend: create-timeline -- reset the reused staging slot before deserialize; fixes the delete-then-create crash (NULL className AV when deserializing into a stale idSnapEntityPrefab slot)
- ui: entities/timelines -- auto-prune deleted entities + guard stale rows; drop Hide-Builtin checkbox; wire-any label auto-settle
- backend: sh_target_any -- exception-safe restore of the transient input-node decl bit; fixes in-editor re-entry Error(6) from a leaked +0x3cd bit on a mid-pick creator throw
- backend: sh_target_any -- expose a wire-any connect-edit generation counter (iface +0x288 ext 4) so the UI can auto-settle the entity-list module labels after a wire
- backend: sh_target_any -- wire-any clean-direct connect (bind any target entity, suppress the input radial); drop the buggy direct-edge hook
- backend: sh_target_any -- add flag-gated direct-edge hook (output-node source -> any target, no input radial); crash/spray/input-death-safe
- backend: sh_target_any -- restore OG behavior (editor-decl visibility toggle, FUN_180021EE0); remove the interactive wire-mode
- wiring: sh_target_any -- convert an output-node source without crashing (no-free sanitize; edge stems from the output node)
- wiring: sh_target_any -- convert an in-progress wire when toggled on mid-pick; fix input loss on toggle off
- backend/ui: entities -- hide dev-layer entities from the Entities + Timelines lists unless snapEdit_enableDevLayer is set
- backend: commands -- remove the sh_unhide command + its now-orphaned unhide module
- ui: Entity-State inherit + class dropdowns enumerate the LIVE registries (complete + portable)
- commands: typeinfo -- sh_entlist/sh_validclasses enumerate the LIVE type registry (complete + portable)
- installer: self-update snaphak.exe as part of
update(best-effort, --no-self to skip) - installer: changelog -- show the latest release's notes in full + a link, and a capped preview + link for older releases
- installer: changelog -- print the latest release notes in full + generate notes from the commit log
- backend: remove the dead birth-in-module machinery (cleanup)
- backend: apply-engine -- REVERT to safe global spawn (the native-birth finalize crashed)
- backend: apply-engine -- spawn as a proper module member (replicate native birth) -- position fix
- backend: apply-engine -- fix the re-base to the CORRECT world->local transform (position)
- backend: apply-engine -- resolve the SPAWN module SPATIALLY (multi-module fix)
- ui: decl-tab -- refresh the ID field on a MODULE change (not just id/class)
- backend: apply-engine -- re-base birth-in-module SPAWN into the module's local frame
- backend: apply-engine -- birth-in-module for create-from-scratch SPAWN (class-independent)
- ui: timeline -- fix use-after-free crash when creating a timeline after deleting one
- fault_shield: log every first-chance crash-class exception (any module), not just DOOM-code AVs
- ui: timeline -- fix event-arg + target serialization that crashed maps on load
- cmd: sh_type -- clean field dump by default; -v restores offset/size
- backend: sh_target_any -- wire output-node sources directly too (Hook 3 on cdb990)
- fix: sh_type + entities list -- un-truncate the type dump + restore the entity name in the list/search
- backend: sh_target_any -- input-safe wire-any via two FSM-leaf detours (fixes the input freeze)
- backend: command-unlock -- fix the table-corruption bug + add the 5 OG player-cheat commands (313, parity +2)
- backend: cvar-unlock -- also unlock DOOM's native console commands (god/noclip/give) in developer mode
- backend: sh_target_any -- interactive wire-any mode (flag-gated pick-processor detour)
- fix: release -- zip dist\platforms (not the removed dist\plugins) + sync the ui_bridge comment
- fix: package -- ship qwindows.dll to \platforms\ so Qt finds it on a clean machine
- installer: self-install snaphak.exe to %LOCALAPPDATA% on first run + auto-cleanup on uninstall
- installer: record the PULLED release tag as the installed version
- installer: changelog command + final "are you sure?" confirm (--yes) + edge-error friendliness
- installer: DOOM-running check + user-friendly error messages throughout
- installer: closed-beta updater -- token auth + --beta channel + set-token + help
- ux: double-click interactive install + release-channel docs; release: auto-flag beta pre-releases
- installer: richer
snaphak version; docs: versioning story + auto-re-patcher stub - logs: consolidate runtime logs into snaphak_logs/; drop shield_arm.log in release
- installer: add snaphak.exe -- end-user install/update/uninstall CLI
- Initial commit: open-snaphak -- clean-room SnapHak clone + build/package pipeline