Skip to content

v0.1.2b

Choose a tag to compare

@Hailey-Ross Hailey-Ross released this 12 Jun 04:18
a785530

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 install

2. Configure environment

cp .env.example .env

Edit .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.sql

schema.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
./hailsDotGO

Visit 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 normal

Note: 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