summaryrefslogtreecommitdiffstats
path: root/src/CHANGES
diff options
context:
space:
mode:
Diffstat (limited to 'src/CHANGES')
-rw-r--r--src/CHANGES161
1 files changed, 88 insertions, 73 deletions
diff --git a/src/CHANGES b/src/CHANGES
index fd67234..97dc028 100644
--- a/src/CHANGES
+++ b/src/CHANGES
@@ -1,73 +1,88 @@
-Date: Thu Jan 16
-
- Get client IP from the x-forwarded-for header if it is provided
-
-Date: Thu Jan 16
-
- Add setting for maximum request size
-
-Date: Thu Dec 19
-
- Read/write full requests even if they are
- split into several recv/send calls
-
-Date: Tue Dec 5
-
- Remove most of the dependencies on boost and move all thread-related
- calls to the STL components provided in C++11.
-
-Date: Tue Jun 4
-
- Update the db's torrents table when the peer reaper
- deletes the last peer on a torrent
-
-Date: Tue Jun 4
-
- Collect some stats and add a method that
- prints them in a way that's easy to process
-
-Date: Sun Jun 3
-
- Create a function for adding peers
- Make use of the peer iterator for faster deletions
- Fix a potential problem where a deleted pointer was being accessed
-
-Date: Sun Jun 2
-
- Separate the sections responsible for output to make it easier to
- change http headers if needed
-
-Date: Tue Mar 19 19:20:21 2013
-
- Add --with-tcmalloc option to the configure script to enable Google's
- high-performance multi-threaded malloc() implementation
-
-Date: Wed Feb 6 05:26:58 2013
-
- Send special data to search engine crawlers (and other odd clients) in an
- attempt to prevent indexing of announce URLs
-
-Date: Sat Feb 2 18:24:19 2013
-
- Use a lighter query to update peer records in xbt_files_users if peer data
- has not changed since its previous announcement
-
-Date: Thu Jan 31
-
- Expire multiple tokens in a single request to the web server
-
-Date: Sat Nov 17
-
- Print warning instead of error if someone submits an IPv6 or otherwise
- invalid address
-
-Date: Sun Oct 7
-
- Make flush queries slightly less spammy by moving them to the functions
- that invoke flush threads. This makes Ocelot print all queue lengths every
- <schedule_interval> seconds. It also fixes the problem where two threads
- are writing to stdout at the same time
-
-Date: Fri Oct 5
-
- Put primitive types at the beginning of the peer and torrent structs
+-- 1.0 (2015-01-26)
+NOTE: This version requires the following database change:
+ALTER TABLE xbt_files_users DROP PRIMARY KEY, ADD PRIMARY KEY (peer_id,fid,uid)
+
+Add a 'deleted' flag to user object to stop including removed users in returned peer lists
+Add a prefix to the peer list keys for randomization and smaller chance of peer id collisions
+Add HTTP Keep-Alive support and show request rate in the tracker stats
+Add readonly mode for easier testing
+Catch exceptions in the mysql::load_* functions
+Configurable max/default numwant parameter
+Don't disable binlogs in the peer flush sessions
+Don't start a reaper thread if it's already running
+Inline peer_is_visible and user functions
+Mark nonchanging parameter as const
+Mark users with IP = 127.0.0.1 as protected
+Read settings from a config file instead of a compiled object
+Reload torrent list, user list and client whitelist on SIGUSR1
+Use atomic variables for stats
+Use consistent integer widths where it matters
+Use std::lock_guard instead of std::unique_lock for mutex
+
+-- 0.8 (2014-03-27)
+Add setting for maximum request size
+Get client IP from the x-forwarded-for header if it is provided
+Read/write full requests even if they are split into several recv/send calls
+
+-- 0.7 (2013-12-05)
+Add bintohex function to use when printing binary data to stdout
+Check if compiler supports -std=c++11
+Collect some stats and add a method that prints them
+Create a function for adding peers
+Fix a potential problem where a deleted pointer was being accessed
+Improve the anti-web crawler code
+Make use of the peer iterator for faster deletions
+Remove most of the dependencies on boost and move all thread-related calls to the STL components provided in C++11
+Run the reaper routines in a single thread to clean up stdout
+Separate the sections responsible for output to make it easier to change http headers if needed
+Update the db's torrents table when the peer reaper deletes the last peer on a torrent
+
+-- 0.6 (2013-03-19)
+Add --with-tcmalloc option to the configure script to enable Google's high-performance multi-threaded malloc() implementation
+Configurable site path
+Expire multiple tokens in a single request to the web server
+Less spammy output unless a -v switch is passed when starting Ocelot
+Make flush queries slightly less spammy by moving them to the functions that invoke flush threads
+Print warning instead of error if someone submits an IPv6 or otherwise invalid address
+Remove unused logger class
+Send special data to search engine crawlers (and other odd clients) in an attempt to prevent indexing of announce URLs
+Use a lighter query to update peer records in xbt_files_users if a peer's data has not changed since its previous announcement
+
+-- 0.5 (2012-10-08)
+Add ability to show reasons why a torrent was deleted on unregistered torrents
+Add gzip compression support for announces and scrapes
+Autotools build system
+Fix incorrect handling of "corrupt" stat
+Make Ocelot clear stale peer data out of the db on startup
+Track transfer stats from users without leech privs
+
+-- 0.4 (2012-06-20)
+Convert all headers to lowercase
+Don't show users to themselves (patch by GrecKo)
+Don't write peer updates to the binlog
+Search for peer in leecher list if not found in seeders list
+Sort response dictionary according to BitTorrent specs
+
+-- 0.3 (2012-02-03)
+Add tokens
+Added a logging function
+Added DB_LOCK_TIMEOUT constant
+Added info command
+Added neutral leech
+Added transactions and backups around the peer/user queries
+Added working makefile
+Adding more debug to query outputs
+Changed flushing logic to prevent buildups
+Clean shutdown
+Don't print complete query if an error occurred
+Fixed thread visibility
+Flush every schedule
+More debug output
+New DB class with queue
+Nicer schedule display
+
+-- 0.2 alpha (2011-01-11)
+Bug fixes
+
+-- 0.1 alpha (2010-10-27)
+First release