chrly/CHANGELOG.md
2019-11-24 04:29:22 +03:00

4.3 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased - xxxx-xx-xx

Added

  • Added remote mode for Mojang's textures queue.
  • New StatsD metrics:
    • Counters:
      • ely.skinsystem.{hostname}.app.mojang_textures.usernames.textures_hit
      • ely.skinsystem.{hostname}.app.mojang_textures.usernames.textures_miss

Fixed

  • ely.skinsystem.{hostname}.app.mojang_textures.usernames.iteration_size and ely.skinsystem.{hostname}.app.mojang_textures.usernames.queue_size are now updated even if the queue is empty.

Changed

  • Event ely.skinsystem.{hostname}.app.mojang_textures.already_in_queue has been renamed into ely.skinsystem.{hostname}.app.mojang_textures.already_scheduled.

4.3.0 - 2019-11-08

Added

  • 403 Forbidden errors from the Mojang's API are now logged.
  • QUEUE_LOOP_DELAY configuration param to adjust Mojang's textures queue performance.

Changed

  • Mojang's textures queue loop is now has an iteration delay of 2.5 seconds (was 1).
  • Bumped Go version to 1.13.

4.2.3 - 2019-10-03

Changed

  • Mojang's textures queue batch size reduced to 10.
  • 400 BadRequest errors from the Mojang's API are now logged.

4.2.2 - 2019-06-19

Fixed

  • GC for in-memory textures cache has not been initialized.

4.2.1 - 2019-05-06

Changed

  • Improved Keep-Alive settings for HTTP client used to perform requests to Mojang's APIs.
  • Mojang's textures queue now has static delay of 1 second after each iteration to prevent strange 429 errors.
  • Mojang's textures queue now caches even errored responses for signed textures to avoid 429 errors.
  • Mojang's textures queue now caches textures data for 70 seconds to avoid strange 429 errors.
  • Mojang's textures queue now doesn't log timeout errors.

Fixed

  • Panic when Redis connection is broken.
  • Duplication of Redis connections pool for Mojang's textures queue.
  • Removed validation rules for hash field.

4.2.0 - 2019-05-02

Added

  • CHANGELOG.md file.
  • #1: Restored Mojang skins proxy.
  • New StatsD metrics:
    • Counters:
      • ely.skinsystem.{hostname}.app.mojang_textures.invalid_username
      • ely.skinsystem.{hostname}.app.mojang_textures.request
      • ely.skinsystem.{hostname}.app.mojang_textures.usernames.cache_hit_nil
      • ely.skinsystem.{hostname}.app.mojang_textures.usernames.queued
      • ely.skinsystem.{hostname}.app.mojang_textures.usernames.cache_hit
      • ely.skinsystem.{hostname}.app.mojang_textures.already_in_queue
      • ely.skinsystem.{hostname}.app.mojang_textures.usernames.uuid_miss
      • ely.skinsystem.{hostname}.app.mojang_textures.usernames.uuid_hit
      • ely.skinsystem.{hostname}.app.mojang_textures.textures.cache_hit
      • ely.skinsystem.{hostname}.app.mojang_textures.textures.request
    • Gauges:
      • ely.skinsystem.{hostname}.app.mojang_textures.usernames.iteration_size
      • ely.skinsystem.{hostname}.app.mojang_textures.usernames.queue_size
    • Timers:
      • ely.skinsystem.{hostname}.app.mojang_textures.result_time
      • ely.skinsystem.{hostname}.app.mojang_textures.usernames.round_time
      • ely.skinsystem.{hostname}.app.mojang_textures.textures.request_time

Changed

  • Bumped Go version to 1.12.
  • Bumped Alpine version to 3.9.3.

Fixed

  • /textures request no longer proxies request to Mojang in a case when there is no information about the skin, but there is a cape.
  • #5: Return Redis connection to the pool after commands are executed

Removed

  • hash field from /textures response because the game doesn't use it and calculates hash by getting the filename from the textures link instead.
  • hash field from POST /api/skins endpoint.