Latest release

v0.4

@etix etix released this Apr 21, 2017 · 31 commits to master since this release

FEATURES

  • Allow negative scores to reduce the weight of a mirror
  • Follow symbolic links within a repository
  • Allow/Disallow per-mirror redirects configuration
  • Display the sync offset between each mirrors and the source on the mirrorstats page (requires a trace file on the repository)
  • New cli option to force a rehashing of all files during a refresh
  • Added a Dockerfile

ENHANCEMENTS

  • Support password protected rsync URLs
  • Allow https URLs when adding a mirror
  • Display location and score in the list output
  • Display mirror status in the stats output
  • Improvements in the selection algorithm
  • Load OSM tiles using https
  • Keep the list of mirrors sorted by score in the mirrorlist
  • Set cache-control to disable caching
  • Log unauthorized redirection from a mirror
  • New option to set the maximum number of backup mirrors to return in link headers
  • Support for Google Maps API keys
  • Mirrorlist and Mirrorstats UI refresh
  • Use UTC time on mirrorlist / mirrorstats page
  • Improved error reporting
  • Add dependency vendoring

BUGFIXES

  • Fix a possible crash while Redis is loading the dataset
  • Fix a race condition when updating mirrors state
  • Fix a rare deadlock within the FTP client
Pre-release

v0.4-rc1

@etix etix released this Mar 3, 2017 · 36 commits to master since this release

FEATURES

  • Allow negative scores to reduce the weight of a mirror
  • Follow symbolic links within a repository
  • Allow/Disallow per-mirror redirects configuration
  • Display the sync offset between each mirrors and the source on the mirrorstats page (requires a trace file on the repository)
  • New cli option to force a rehashing of all files during a refresh
  • Added a Dockerfile

ENHANCEMENTS

  • Support password protected rsync URLs
  • Allow https URLs when adding a mirror
  • Display location and score in the list output
  • Display mirror status in the stats output
  • Improvements in the selection algorithm
  • Load OSM tiles using https
  • Keep the list of mirrors sorted by score in the mirrorlist
  • Set cache-control to disable caching
  • Log unauthorized redirection from a mirror
  • New option to set the maximum number of backup mirrors to return in link headers
  • Support for Google Maps API keys
  • Mirrorlist and Mirrorstats UI refresh
  • Use UTC time on mirrorlist / mirrorstats page
  • Improved error reporting
  • Add dependency vendoring

BUGFIXES

  • Fix a possible crash while Redis is loading the dataset
  • Fix a race condition when updating mirrors state
  • Fix a rare deadlock within the FTP client

v0.3

@etix etix released this Dec 14, 2015 · 154 commits to master since this release

FEATURES

  • Support for HA via Redis sentinel
  • Clustering support (multiple Mirrorbits instances) #6
  • Support for Redis DB index
  • SHA256 and MD5 hashing support (in addition to SHA1) #4
  • Configurable interval for sync and check
  • CLI: get stats by matching regular expressions
  • HTTP: get the checksum of any file by appending ?sha1, ?sha256 or ?md5 to any served file
  • Added a Makefile to support different builds

ENHANCEMENTS

  • Improved systemd service file
  • New mirrorlist template #15
  • Geoip databases are now updated (in memory) during a reload
  • Reuse all Redis connections when possible
  • Detect and wait until Redis has loaded the dataset into memory
  • Improved handling of X-Forwarded-For IP addresses #23
  • Logging: enable the colored output only if supported by the terminal
  • More configuration items can be applied with a simple reload
  • Improved scan behavior for newly added mirror (healthcheck only after successful scan)
  • Limit redis verbosity in CLI operations
  • CLI: reduce the number of database requests required to fetch stats by time interval
  • CLI: differentiate down vs disabled mirrors
  • FTP: add a connection timeout
  • Don't try to open download logs when using the cli
  • process: ensure the file descriptor is valid before finalizing a seamless binary upgrade
  • Mirrors with a weight less than 1% will show <1% instead
  • Graceful exit is now faster
  • General improvements on error reporting

BUGFIXES

  • Fix Redis password authentication
  • Fix a crash in the weight randomization algorithm
  • Fix a bug causing a rescan of all mirrors during startup
  • Fix a bug causing some disabled mirrors to be health-checked
  • Don't reload logs if outputting on stderr (journald is now happy)
  • Fix a crash if no mirrors and no fallbacks are available
  • CLI: fix matching of a mirror ID containing the same substring #19
  • scan: fix an issue causing a constant rehashing of all files #18
  • The geoip-lite-update script did not update the databases correctly

v0.2

@etix etix released this Nov 11, 2014 · 360 commits to master since this release

Changes:

========

cli:
- Request a scan using a specific protocol (rsync or ftp)
- Print basic download stats (mirrorbits stats <identifier>)

core:
- Improve parse errors in the configuration
- Don't log if logdir in unset
- Fix a minor corner case when the client and server are in the exact same
  location.
Pre-release

v0.1.2

@etix etix released this Jul 22, 2014 · 373 commits to master since this release

This version fixes a possible division by zero during mirror selection.
It is strongly advised to upgrade.

Pre-release

v0.1.1

@etix etix released this Jul 21, 2014 · 374 commits to master since this release

This is the second alpha release of mirrorbits.

Changes:
========

cli:
    - A parse error in the mirror configuration can now be retried
    - Add supports for taking notes / comments on a mirror
    - Add a flag to auto-enable a mirror after a successful scan
    - Add a flag to scan all mirrors at once

core:
    - Improved mirror selection algorithm
    - Fix few corner cases in weight distribution

Optimism is an occupational hazard of programming: feedback is the treament.
    --Kent Beck
Pre-release

First alpha release

@etix etix released this Jul 12, 2014 · 389 commits to master since this release

This version is stable enough for production environment but some API are still subject to change including:

  • JSON query API (return values of download requests and stats)
  • URL and parameters to query mirrorlist, mirrorstats and stats