Skip to content

Releases: echecsjs/tunx

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 28 May 13:50
40e4640

Fixed

  • parse() now returns null instead of undefined on failure, aligning with
    @echecs/fen and @echecs/trf.

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 25 May 18:18
e12a862

Changed

  • BREAKING: parse() now returns TournamentData | undefined from
    @echecs/tournament instead of the tunx-specific Tournament type.
  • Player pairingNumber replaced by id (string) and startingRank (number).
  • Per-player RoundResult[] converted to CompletedRound[] with Game[] and
    Bye[].
  • Metadata (name, city, federation, etc.) moved to TournamentMetadata.
  • Added @echecs/tournament as runtime dependency.

Removed

  • Tunx-specific type exports: Tournament, Player, RoundResult, Pairing,
    Header, ResultCode, Sex, Title, Tiebreak.
  • Format-specific fields: header, pairings[][], venue, subtitle,
    roundTimes, currentRound.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 19 Apr 11:43
d0053b3

Added

  • tournamentType populated from config byte 0x0B — detects 'swiss',
    'round-robin', and 'team-round-robin'.

Removed

  • Deleted dead stringify() and BinaryWriter code left behind after v0.2.0
    dropped _raw.
  • Removed RawTournament type (was not re-exported from the package entry
    point).
  • Removed six unused player numeric offset constants.

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 04 Apr 19:44
22d38ca

Added

  • parse(input, options?) decodes TUNX binary files into a Tournament object.
  • stringify(tournament) re-encodes a parsed tournament with byte-for-byte
    fidelity.
  • Output types align with the @echecs/trf model (Player.name, RoundResult,
    ResultCode, etc.).
  • Decoded header fields: tournamentId, savedAt, installedAt,
    licenseHash, installSignature.
  • Decoded player fields: sex, rating, nationalRatings, fideId, title,
    federation, points, rank.
  • Decoded config fields: startDate, endDate, currentRound, roundDates,
    tiebreaks (11 codes), roundTimes.
  • 11 tiebreak codes mapped (Buchholz, Sonneborn-Berger, etc.).
  • Result code 0 mapped as unpaired ('Z').