v0.1.2b
v0.1.2b -- 2026-06-11
Post-release patch: deploy.ps1 uses Get-FileHash instead of the
implicit alias FileHash (PSScriptAnalyzer PSAvoidUsingCmdletAliases).
No functional change; deploy behaviour is identical.
This release marks the end of the incremental migration era. schema.sql is
now the canonical starting point for all fresh installs; after this release,
migrate.sql will be reset and future schema changes will be tracked fresh.
All previous releases are deprecated and unsupported.
What's in this release
Raid Finder v2 -- matchmaking and lobbies
- Per-boss matchmaking queues replace the old browse-and-join board
- Queue priority, confirm windows, invite windows, and a post-raid
feedback flow (commend/dislike), all enforced server-side with timers - Raid Finder host reliability tracking: hosts whose lobbies repeatedly
end without a raid starting receive minor trust penalties after a
free-pass window
Trust and awards system
- Behavioral trust scores replace star ratings: commends, dislikes,
confirm timeouts, invite failures, early leaves, and raid successes
are weighted events; staff reports carry fixed heavy weight - Five community awards seeded; staff can grant them, with optional
community granting behind a trust-score gate - Special ranks (Trusted, Content Creator) grantable by admins
DPS calculator improvements
- Sprite search pickers for attacker and target selection
- Mobile-friendly compare cards at narrow widths
- Type-effective DPS vs a selected target Pokemon
- Target selection persisted for logged-in users (localStorage)
Translator workspace
- Full translator application flow with admin review (accept/reject)
- Community locale submission and admin-controlled GitHub PR sync
- Runtime locale overlay survives redeploys
API and admin improvements
- Private API access grantable to any user account (not just admins)
- Superadmin cannot be targeted by any admin action
- Admin user detail modal and awards/trust drilldown modals
Localization
- All user-facing strings now use locale keys (en/es/fr/de/ja)
- Pokemon names localized via PokeAPI species names
Fresh install from this release
These steps are self-contained. The wiki covers each topic in greater
depth -- see the Documentation section at the bottom.
Prerequisites
| Requirement | Minimum version |
|---|---|
| Go | 1.25 |
| Node.js + npm | 18 |
| MySQL | 8.0 |
| OpenSSH client | any (deploy only) |
No C toolchain needed (CGO_ENABLED=0).
1. Clone at this tag
git clone --branch v0.1.2b https://github.com/Hailey-Ross/hailsDotGO.git
cd hailsDotGO
npm install2. Configure environment
cp .env.example .envEdit .env and set at minimum:
| Variable | Required | Notes |
|---|---|---|
DB_HOST |
Yes | e.g. localhost:3306 |
DB_USER |
Yes | MySQL username |
DB_PASS |
Yes | MySQL password |
DB_NAME |
Yes | e.g. hailsdotgo |
SUPERADMIN_USER |
Yes | Exact username you will register first |
CSRF_KEY |
Strongly recommended | 64 hex chars: openssl rand -hex 32 |
PORT |
No | Default 8080 |
PAYPAL_* |
Store only | Omit entirely if not using the store |
GITHUB_TOKEN / GITHUB_REPO |
Translation sync only | Omit if not using GitHub locale sync |
3. Create the database
For this release and all fresh installs going forward, schema.sql is
the complete starting point. Do not run migrate.sql on a fresh install.
mysql -u your_db_user -p < schema.sqlschema.sql creates the database (hailsdotgo), all 26 tables, and seeds
site_settings, store_items, awards, and locales. Registration is
seeded closed; all feature pages are seeded enabled.
4. Build
# TypeScript bundles -> static/js/
npm run build
# Go binary (current platform)
go build -o hailsDotGO .Cross-compile for Linux from Windows or macOS:
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o hailsDotGO-linux .5. Run
Export your .env values, then:
# bash
set -a; source .env; set +a
./hailsDotGOVisit http://localhost:8080. On first start the server fetches game data from
upstream sources; if they are unreachable it falls back to embedded snapshot data.
6. Bootstrap the superadmin account
SUPERADMIN_USER must be set to the exact username you plan to register.
-- Temporarily open registration
UPDATE site_settings SET setting_value = '1' WHERE setting_key = 'registration_open';Register at /register using that username, then close registration again from
the admin panel at /admin (or set the value back to '0' in SQL).
7. Deploy to a server (optional)
Run deploy/setup.sh once on the server as root, then run deploy.ps1 from
Windows (reads .env, cross-compiles, uploads via SSH with SHA256 manifest
diffing). See the Deployment wiki page for the full walkthrough.
Migrating to v0.1.2b from a previous release
Important: Run the database migrations BEFORE deploying the new binary.
The new binary expects the schema to be up to date; running an old binary
against a new schema is also unsupported.
Identify your starting point
Find the last section you ran in migrate.sql. The sections are numbered 1-25;
each has a comment header with a description and date.
From v0.1.2a
Sections 22-25 are new since v0.1.2a. Apply each one in order against your
live database:
| Section | What it adds |
|---|---|
| 22 | Raid Finder v2 tables: raid_lobbies, raid_lobby_members, raid_queue, trust_events, awards, award_grants; adds trust_score, special_rank, rater_weight, raid_xp, last_raid_at to users; seeds site_settings trust/awards gates and the 5 community awards |
| 23 | locales table; seeds es, fr, de as enabled; translation_edits table and users.translator flag |
| 24 | Extends trust_events.event_type enum to include host_unfulfilled |
| 25 | translator_applications table |
-- Copy and run sections 22 through 25 from migrate.sql, in order.
-- Each section is delimited by a numbered comment block.From v0.1.1a or earlier
Apply all 25 sections in migrate.sql in order. Sections are numbered and
sequential; do not skip any.
After the migrations: update and rebuild
git fetch --tags
git checkout v0.1.2b
npm install
npm run build
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o hailsDotGO-linux .
# then deploy as normalNote: migrate.sql is reset after this release
migrate.sql will be archived after v0.1.2b. Future schema changes will use a
fresh sequential format starting from section 1. If you are running a
post-v0.1.2b development build, refer to the current migrate.sql in the
repository for the applicable sections.
Documentation
As of 2026-06-11, the project wiki is fully current with this release.
Every topic below has been reviewed against the v0.1.2b codebase. If you are
reading this release note in the future, the wiki may have evolved; the steps
above are self-contained and do not depend on the wiki being current.
| Topic | Wiki page |
|---|---|
| Full setup walkthrough | Getting Started |
| All environment variables | Configuration |
| Schema, migrations, and backups | Database Guide |
| Server provisioning and deploy scripts | Deployment |
| TypeScript build pipeline | Building and Development |
| Roles, staff, and superadmin | Accounts and Roles |
| Admin panel guide | Admin Guide |
| Raid Finder v2 | Raid Finder |
| Trust system | Trust and Awards |
| Translator workflow | Translator Workspace |
| Day-2 operations | Operations |
| Public JSON API | API Reference |