Releases: openpredictionmarkets/socialpredict
Payout and Precision v2.1.0
🚀 Release v2.1.0 — Stability, Precision & Production Readiness
🧭 Overview
This minor release focuses on backend reliability, API clarity, migration consistency, and precision in market math.
It includes new timestamped migration improvements, expanded OpenAPI documentation, new metric tests, and added significant-figure support across pricing.
✨ Key Improvements
🗄️ Timestamped Migration Updates
📘 Backend API Documentation
- Fully updated OpenAPI specification and backend API docs
- Improved developer onboarding and service-to-service clarity
PR: #521 (@raisch)
🧭 Production Readiness Guides
- Added a comprehensive production-readiness plan
- Includes security, observability, infra guidance, and deployment best practices
PR: #520 (@raisch)
📈 System Metrics Testing
🎯 Precision Handling (Significant Figures)
- Added significant-figure support to improve numerical display and market math consistency
PR: #588 (@astrosnat)
🛠️ Dependency & Module Updates
viteupgraded from 7.1.5 → 7.1.11
PR: #580 (dependabot)go.modupdated to ensure module hygiene and build stability
PR: #528 (@astrosnat)
🧱 Contributors
Huge thanks to all contributors involved in this minor release:
🔗 Full Changelog
Custom Options Support v2.0.0
🚀 Release v2.0.0 — Custom Market Labels + Timestamped Migrations
🧭 Overview
This release introduces custom market resolution labels with full emoji support and adds timestamped migration capability for better schema version control.
It is fully backward compatible — existing markets using standard “YES/NO” outcomes will continue to function normally.
✨ New Features
🎯 Custom Market Labels
Markets can now define expressive outcome labels beyond "YES/NO".
Examples:
- Stock predictions: BULL 🚀 vs BEAR 📉
- Sports: WIN 🏆 vs LOSE 😞
- Weather: SUNNY ☀️ vs RAINY 🌧️
Highlights
- Added
yes_labelandno_labelto the Market model - Updated backend creation + public response handlers
- Client-side + server-side validation (1–20 chars)
- Backward compatible fallback to "YES/NO"
😀 Emoji Picker Integration
A new EmojiPickerInput component lets users insert emojis directly in:
- Market title, description, and labels
- With cursor-aware insertion and dark theme support
- Works seamlessly on desktop and mobile
🎨 Dynamic UI Integration
Custom labels now appear across 18+ components, including:
- Market creation, detail, and trading interfaces
- Portfolio, bets, and leaderboard displays
- Resolution dialogs and alerts
🧩 Technical Updates
models/market.go: added label fields and validationhandlers/markets/createmarket.go: extended creation logichandlers/marketpublicresponse/: updated public response schema- Frontend dependency:
[email protected] - Added reusable
EmojiPickerInput.jsx
🕓 Infrastructure
- Added datetime-stamped migration system for versioned schema evolution
- Cleaned up obsolete workflow:
- Removed
.github/workflows/deploy-staging.yml
- Removed
🧪 Testing & Compatibility
- ✅ Verified emoji insertion at cursor position
- ✅ Validated custom labels (1–20 chars)
- ✅ Confirmed backward compatibility with existing markets
- ✅ Tested on mobile + dark theme
🧱 Contributors
- @raisch — Custom Market Labels + Emoji Support (#522)
- @pwdel — Timestamped Migration Enhancements (#573)
- @astrosnat — Workflow Cleanup (#567)
Full Changelog: v1.0.2...v2.0.0
Badges and Install v1.0.2
What's Changed
- Adding badges. by @pwdel in #545
- Update Install Procedure by @ntoufoudis in #561
Full Changelog: v1.0.1...v1.0.2
Updating config.js v1.0.1
Background
- We have recently implemented a Github pipeline which automatically deploys to a staging and a demo environment. In doing so, this changed how config.js gets templated, which makes connecting from the frontend to the backend not function.
- This is a new patch version release to attempt to fix the connection.
What's Changed
- Updating infra documentation. by @pwdel in #538
- Update docker-compose-prod.yaml by @ntoufoudis in #535
- Deploy To Production by @ntoufoudis in #537
- Update config.js by @ntoufoudis in #542
Full Changelog: v1.0.0...v1.0.1
SocialPredict v1.0.0 - Streamlined and Customizable!
SocialPredict v1.0.0: Level Up!
What's Changed
- Deployment in development and production is now easier
- Customizable home page with our built-in HTML editor
- Prod deploy: Migrated to Traefik v3.5 (auto HTTPS w/ Let’s Encrypt). Unified
scripts/docker-compose-prod.yamlwith clear internal/external networks. - Logging: New backend/logger/ with
INFO/WARN/ERRORincluding file:line + function; tests + README. - Passwords: Stronger validation (
SanitizePasswordreturns (string, error)), updated handlers/tests. - Env/CORS:
.env.devload is non-fatal; DB init supports POSTGRES_* + legacy DB_*; CORS now fully configurable via env. - Frontend runtime env:
env-config.jsinjected at startup;src/config.jsreadswindow.__ENV__.
What's Changed
- Attempting to make golang ci check universal. by @pwdel in #527
- Fix/changes for staging deployment by @ntoufoudis in #530
- Update deploy-to-staging.yml by @ntoufoudis in #531
- Update deploy-to-staging.yml by @ntoufoudis in #532
- Update deploy-to-staging.yml by @ntoufoudis in #533
- Attempting to build customizable home page. by @pwdel in #529
Full Changelog: v0.0.7...v0.1.0
Fixing Docker Image Publish v0.0.7
What's Changed
- Update docker.yml by @ntoufoudis in #524
- Update docker.yml by @ntoufoudis in #525
Full Changelog: v0.0.6...v0.0.7
Attempting fixing docker image publish pipeline
SocialPredict v0.0.6
Attempting fixing docker image publish pipeline
Deploy, Logging, UX Tweaks v0.0.5
SocialPredict v0.0.5
Release date: 2025-10-07
Contributors: @pwdel · @astrosnat · @raisch · @ntoufoudis · @jordangeorge
Highlights
- Docker/CI: New
docker/layout; GitHub Actions builds & publishes frontend and backend images to GHCR. Go updated to 1.25.x. - Prod deploy: Migrated to Traefik v3.5 (auto HTTPS w/ Let’s Encrypt). Unified
scripts/docker-compose-prod.yamlwith clear internal/external networks. - Logging: New
backend/logger/with INFO/WARN/ERROR including file:line + function; tests + README. - Passwords: Stronger validation (
SanitizePasswordreturns(string, error)), updated handlers/tests. - Env/CORS:
.env.devload is non-fatal; DB init supportsPOSTGRES_*+ legacyDB_*; CORS now fully configurable via env. - Frontend runtime env:
env-config.jsinjected at startup;src/config.jsreadswindow.__ENV__.
Backup/Restore
scripts/backup/db_backup.sh: usespg_restore; adds--inspect,PRESERVE_OWNERS,RESTORE_DB,RESTORE_JOBS; smarter DB connection fallbacks.
Upgrade Notes
- Replace old Nginx/Certbot with Traefik (
data/traefik/*) and use the new compose file. - Ensure
.envincludesTRAEFIK_CONTAINER_NAME,DOMAIN_URL, andPOSTGRES_*vars. - Frontend expects
/env-config.js(already added toindex.html).
Images
ghcr.io/openpredictionmarkets/socialpredict-backend:latestghcr.io/openpredictionmarkets/socialpredict-frontend:latest
What's Changed
- Update frontend README.md by @jordangeorge in #495
- Update SocialPredict install script by @astrosnat in #506
- support existing env vars by @raisch in #509
- Improve deployment process for production by @ntoufoudis in #507
- Script backwards compatible, using pg_restore by @pwdel in #517
- Update Dockerfile.prod by @astrosnat in #514
- Update backend.yml by @astrosnat in #510
- Fix/surface better error messages from api by @raisch in #516
- Feature/docker images workflow by @ntoufoudis in #519
New Contributors
- @jordangeorge made their first contribution in #495
- @raisch made their first contribution in #509
Full Changelog: v0.0.4...v0.0.5
v0.0.4 — Faster, Safer, Cleaner
SocialPredict is a prediction market infrastructure platform. Read more about us at our readme on Github here.
This release allows production deployment on a VPN via tightened backend security, standardizesd market math, and a smoother frontend experience. Plus: real search, better stats, and a one-liner DB backup.
🧩 Highlights
- 🔍 Global & Market Search — New
/v0/searchbackend + search components on the frontend for fast market discovery. - 🗂 Markets by Status — Dedicated endpoint & UI for Active / Closed / Resolved / All. Consistent across tabs & URLs.
📈 Stats & Metrics
-
System Metrics API for platform-level health checks.
-
User Financials view (frontend) with balances, equity, and P&L snapshots.
🛡️ Security Hardening
- Strict security headers, input sanitizer, and lightweight rate limiting.
- Middleware tests included to guard against regressions.
💸 Trading Logic Polish
- Dust-cap protections on sells to avoid tiny, fee-eaten outputs.
- Bets returned in consistent ascending order for stable UIs and bots.
- Market volume & probability math refactors for clarity and testability.
🧭 SPA Routing Fix
- Updated Nginx + Vite config to end those weird not-found refreshes on deep links.
💾 One-Command DB Backups
- New script:
scripts/backup/db_backup.sh— portable, simple, documented.
🔨 Developer Experience
- 🧪 Large test sweep across handlers, math, security, and middleware.
- 🧰 CI Workflows for backend builds, Docker images, and staging deploys.
- 📜 Conventions & Docs upgraded: Golang style guidelines, local/stage setup, testing readme.
🐛 Notable Fixes
- 🚫 Prevent intermittent
402routing errors with improved SPA handling. - 🔢 Market details now include volume consistency checks in tests.
- 🔁 Consistent
GetBetsForMarketsordering (ascending) across the stack.
v0.0.3 for Development and Staging
SocialPredict v0.0.3
- Designed for usage and testing on local and staging.
Getting Going
- Please follow the instructions within the README file and directory.