Skip to content

Releases: Pamacea/interactive-map

v1.3.0

20 Feb 13:10

Choose a tag to compare

Release v1.3.0 - Testing Excellence

✅ 100% test pass rate (685/685 tests)
🐛 186 test failures fixed
📝 Complete test infrastructure
📚 Full documentation

v1.2.0

19 Feb 12:08

Choose a tag to compare

Release 1.2.0

v1.1.4 - Enhanced Icon Customization

18 Feb 14:48

Choose a tag to compare

Changes

Fixed

  • Custom icon background now fully replaces base color instead of overlaying at 50% opacity

Enhanced

  • Pin icon picker with 80+ emojis organized by category (locations, combat, items, nature, creatures, misc)
  • Lucide React icon support (34+ icons: MapPin, Home, Sword, Gem, Castle, Dragon, etc.)
  • Icon search/filter functionality to quickly find icons
  • Icon type toggle between Emoji and Lucide icons
  • Custom icon background upload - add custom backgrounds to any pin icon

Added

  • iconBackground field to Pin model in Prisma schema
  • Icon background support in MarkerContainer and PinPreview
  • Enhanced icon preview showing exact appearance with shape, color, size, and background

Upgrade

npx prisma db push
npx prisma generate

Files Changed

  • 23 files changed, 2999 insertions(+), 71 deletions(-)
  • New: src/components/pins/ui/pin-icon-picker.tsx (810 lines)
  • New: src/components/world/ui/sidebar/pin-details-sidebar.tsx (807 lines)
  • New: src/actions/tags.ts (450 lines)

v1.1.3 - Sidebar UI & Pin Drag Fix

18 Feb 11:58

Choose a tag to compare

Genesis v1.1.3

🎉 New Features

Gallery Module

  • New floating panel module for image gallery
  • Accessible directly from the dock
  • View all world images in one place

Pin Details Sidebar

  • Replaced the popup with a clean floating sidebar panel
  • Edit title, description, icon, color, and layer
  • View GPS coordinates
  • Toggle visibility
  • Delete pins

Pin Gallery Integration

  • Link/unlink images to pins
  • Two-tab dialog:
    • Gallery: Select from all world images
    • Upload New: Direct image upload
  • Search functionality
  • Images can be shared across multiple pins (no re-upload needed)

🐛 Bug Fixes

  • Pin Drag & Drop: Fixed critical issue where pins couldn't be dragged
  • Pin Position Persistence: Dragged pins now save correctly to database
  • Event Listener Closure: Fixed stale closure issues using refs
  • Gallery Upload: Fixed missing worldId causing images to not appear
  • Button Click Propagation: Fixed Edit/Add Image buttons deselecting pins

🔧 Technical Changes

  • Simplified pin drag handler (removed complex inputManager dependency)
  • Each pin handles its own drag events with window listeners
  • Improved FloatingPanel content click isolation

Full Changelog: https://github.com/Pamacea/interactive-map/blob/main/CHANGELOG.md

v1.1.2 - Documentation Restructure

18 Feb 00:20

Choose a tag to compare

Changes

  • Documentation restructure following TrigMem convention
  • README.md converted to 30-second hook format
  • CLAUDE.md simplified as developer reference
  • Added project identity, architecture patterns, and design tokens

Fixed

  • Cleaned up redundant documentation sections
  • Standardized file naming conventions

v1.1.1 - Security Fixes

17 Feb 19:52

Choose a tag to compare

PATCH: Security Fixes - v1.1.1

- Fixed: API endpoint authentication bypass (VULN-001, VULN-002)
  - GET/POST /api/worlds now require authentication
  - Added Zod validation for world creation
  - Filter worlds by user ownership and public visibility
- Fixed: Migration endpoint missing admin check (VULN-003)
  - POST /api/migrations/fix-permissions requires ADMIN role
- Fixed: Presence endpoint data leakage (VULN-004)
  - GET /api/presence/[worldId] now verifies authentication and permissions
- Fixed: XSS vulnerability in MarkdownEditor (VULN-005)
  - Removed custom dangerouslySetInnerHTML preview
  - Using secure built-in preview from @uiw/react-md-editor
- Added: Security HTTP headers (VULN-006)
  - X-Frame-Options: DENY (clickjacking protection)
  - X-Content-Type-Options: nosniff
  - Content-Security-Policy
  - Referrer-Policy: strict-origin-when-cross-origin
  - Permissions-Policy: camera/microphone/geolocation restrictions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

v1.1.0 - Daemon Test

17 Feb 19:29

Choose a tag to compare

What's Changed

Added

  • Test Infrastructure: Comprehensive testing framework with Vitest and Playwright
    • 157+ unit tests covering core hooks, utilities, and components
    • 63 E2E tests for authentication, world creation, and map interactions
    • happy-dom integration replacing jsdom for better compatibility
    • Performance testing scripts (k6, Node.js benchmarks)
  • Bundle Analysis: Automated bundle size analysis and optimization recommendations
  • Dependency Audit: Analysis reports for TanStack Query, Prisma, and React Compiler

Changed

  • Replaced jsdom with happy-dom in test environment for better lru-cache compatibility
  • Updated vitest configuration with coverage thresholds (70% target)

Fixed

  • Resolved lru-cache v8 compatibility issue with @asamuzakjp/css-color
  • Fixed test mocks for inputManager integration

Full changelog: https://github.com/Pamacea/interactive-map/blob/main/CHANGELOG.md

v1.0.0

09 Feb 22:32

Choose a tag to compare

v1.0.0 - Initial Release

Interactive world-building and cartography tool.

Features

  • 🗺️ Interactive map creation
  • 🌍 World building tools
  • 👥 Character tracking
  • 📖 Lore management
  • 🎨 Fantasy-themed interface
  • 💾 Real-time collaboration

What's Included

  • Rich text editor for lore
  • Image gallery integration
  • Character and location management
  • Real-time presence system
  • Progress tracking tools