Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
100644 212 lines (161 sloc) 9.038 kb
09acb64 Jesper Louis Andersen Bump NEWS with what v1.2 contains.
1 Version 1.2.0:
3 This version sees a number of new highlights:
5 Highlights:
6 * (Magnus Klaar) A complete DHT implementation. This is outstanding
7 work. Note that it should be disabled if you use private
8 trackers. We don't heed the private-flag yet (BEP-27)
9 * (Magnus Klaar) A completely new disk IO layer which is more parallel
10 than the old one. Needless to say, it is much faster.
11 * Further work via rebars release handler now lets us build proper releases,
12 for production and/or development (See the file for
13 instructions).
14 * Support for BEP-15: Udp tracker protocol
15 * Support for BEP-12: Multitracker protocol
16 * Numerous improvement to the webUI.
17 * Etorrent now persists the amount of upload and download over sessions.
18 This fixes correct ratios even across stops/starts of etorrent.
19 * Use the riak_err error handler. This plugs a bug where death of many
20 processes would make SASL use too much memory.
22 Fixes:
23 * Remove mnesia from the code base. The new system is running entirely on
24 ETS.
25 * Performance improvements in hot parts of the code.
26 * Begin adding tests to the code, EUnit and Erlang QuickCheck mini.
27 * Add profiling via eprof as a tunable knob.
28 * Fix an outstanding bug in the choker code. Etorrent is now much better
29 at giving back.
30 * Fix a race condition on the gproc table.
31 * Improve supervisor tree shutdown
32 * Change the bcoding module to be less defensive and more erlang-like
33 * Change from uwiger/gproc to esl/gproc.
34 * Numerous fixes to robustness regarding slow disks.
229f2de Jesper Louis Andersen Bump news a bit to make it clear what v1.1.2 has.
37 Version 1.1.2:
39 Build system restructuring,
41 * This version adds support for a new build system. The README has
42 been updated with the information about how to build the software
43 now. Compared to earlier, we can now build a release which is a
44 stand-alone version of Erlang/OTP and etorrent bundled up nicely.
45 * Locations of log files has been vastly improved.
46 * Magnus Klaars work on DHT has been included. It is not prime-time
47 ready yet, but it is a start.
49 Version 1.1.1:
51 Small quick bugfix release,
53 * Include etorrent.erl, which was not tracked by the repository.
039de23 Jesper Louis Andersen Bump NEWS.
55 Version 1.1.0:
57 In this version, we have mostly cleaned up some code paths to make
58 room for further improvements and adaptations. From v1.0.0 we have the
59 following important changes:
61 * Add boxplots next to the sparklines in the WebUI. Boxplots will
62 quickly tell you the current speed of a torrent file which is
63 being processed by etorrent.
64 * Add backwards compatibility for Erlang R13B-x.
65 * Change the chunk_mgr ETS table to a bag rather than a set. We used
66 bag semantics by implementing them as lists anyway and there is a
67 slight improvement in letting the C-code handle the bag. It also
68 shaves off about 50 lines of code.
69 * Use gproc for process registration. This greatly simplifies the
70 code at the expensive of a dependency on gproc and gen_leader
71 (gen_leader we don't use for anything, but gproc needs).
72 * API calls are now again called etorrent:h() and such. Moved from
73 the application code in etorrent_app.
74 * Fix a bug in the WebUI where an icon was referenced incorrectly.
76 Furthermore, we now support some new bittorrent protocol extensions:
78 * Support for extended messaging (BEP-10).
79 * Support for multi-tracker torrents (BEP-12). To be really useful,
80 we also need support for BEP-15 which is UDP tracking.
5860469 Jesper Louis Andersen Version Bump of NEWS and version.hrl.
82 Version 1.0.1:
84 Minor bug-fix release:
86 * (WebUI) Sparklines are reset properly when torrents complete
87 * (WebUI) Boxplots beside the sparklines.
88 * (Bug) Tracker is now correctly told about completion.
89 * (Bug) Up/Downloaded is now reported as the concensus in the BT community.
a2077da Jesper Louis Andersen Bump NEWS.
91 Version 1.0:
93 First release I admit others might find useful. It is also the first release
94 in 2 years. Again, we incrementally improve over the latest release by
95 increasing overall robustness of the application. CPU usage and Memory usage
96 has in general been improved in this release.
98 Highlights:
100 (Tuncer Ayaz): Estimate the ETA of torrents. Guess at when they are done.
102 When processes are stopping, correctly clean up ETS tables. The solution we
103 use is to place monitors on key processes. Bookkeeping processes then act on
104 'DOWN' messages and remove ETS entries again.
106 All module-exported functions now have edoc tags and -spec entries.
108 We now use rebar for building the application. To come is a standalone-node
109 provisioning. For now the 'run' makefile target is to be used. Also adapt the
110 file layout mandated by rebar.
112 Adaptive active/passive sockets. When a peer is slow, we manage the socket
113 ourselves. This gives fine granularity of its speed. When the peer socket
114 jumps above a high watermark, it is made active, pushing the overhead to the
115 C-layer of the VM.
117 Use an LRU-replacement scheme on open files. Limit the number of open files
118 to 128 at once. This enables torrents with more than 1024 - OPEN_SOCKETS
119 files to be downloaded.
121 Add a WebUI. The inets server provides a simple RPC-service for a primarily
122 Javascript-enabled web-frontend. It can only display the basic overview at
123 the moment, but it should be easy to extend with new functionality.
125 Numerous additional code cleanups here and there. It should be even easier to
126 read and understand now.
128 Make GitHub the official repository place:
132 Use for issues. Issues can be voted
133 on, so if one prefers one thing over the other, don't hesitate to hint me :)
fd1d7cb Jesper Louis Andersen Update the NEWS.
135 Version 0.9:
137 This is yet another Tech. Preview release. The torrent client works
138 to the point where it can be used to download things, but it have
139 not seen much testing yet and there are numerous places it can be
140 improved still. Yet, there are so many changes, that it warrants a
141 new release.
e2db3a0 Jesper Louis Andersen Update NEWS.
143 The current regressions revolve around a high CPU usage at times. We
144 expect to tackle this problem next with some profiling. We also
145 expect to tackle fast resume support as the main "new thing". And
146 some 10 things in the issue tracker and the TODO lists for the
147 next release. I don't expect it to follow as fast as this one.
149 One development methodology change worth mentioning: the git
150 repository now uses several branches laid out as described in
151 doc/git.txt. Tracking the 'master' branch ought to provide you with
152 a system that is stable at all times, while tracking the 'next'
153 branch gives you the 'cooking pot' of new things that ought to be
154 tested. We'll try to keep 'next' stable, though it may have problems
155 at times.
fd1d7cb Jesper Louis Andersen Update the NEWS.
157 Changes:
159 - There is a set of new commands for viewing what is currently
160 cooking in the torrent client. etorrent:l/0, etorrent:s/1,
161 etorrent:h/0. Implemented with help from Tuncer Ayaz.
163 - Changed build infrastructure. No more autoconf. It simplifies the
164 build structure considerably. Introduce the use of EMakefile for
165 building the erlang parts of the system. Reinstate all make targets
166 and add a 'tags' target for building a TAGS file.
168 - etorrent now correctly handles the 'min_interval' tracker response
169 parameter. It is not strictly part of the spec, but everybody uses
170 it.
172 - Add support for installing etorrent. A shell-script, etorrentctl,
e2db3a0 Jesper Louis Andersen Update NEWS.
173 is provided to control the etorrent daemon. The installer, while
174 overly simple, has not seen much testing as of yet and may not
175 work. It will be tested before v1.0.
fd1d7cb Jesper Louis Andersen Update the NEWS.
177 - etorrent no longer pre-fills files it want to download with
178 junk. It uses the semantics of fseek() to make a file of the right
179 size initially.
181 - several ETS restructurings has brought the memory use
182 down. Before, etorrent would take some 660 megabytes of memory
183 running 20 torrents. Now it is more like 50-80 megabytes for 20
e2db3a0 Jesper Louis Andersen Update NEWS.
184 torrents. More can be shaved but this is a good start. Also, memory
185 usage still occasionally spikes because we are doing nothing in certain
186 situations to limit it.
fd1d7cb Jesper Louis Andersen Update the NEWS.
188 - New choking/unchoking algorithm, based on a combination of
189 BitTornado/BitTorrent/Transmission. This is not the smartest one can
190 do, but it follows the spec more or less precisely.
192 - Event Publisher. A gen_event OTP behaviour one can subscribe to and
193 get information about the system. A logfile subscriber is there by
194 default.
196 - Rate calculation optimizations. etorrent now uses a running
197 average over a period of up to 20 seconds to measure the rate of a
198 peer. This yields a more fair measurement of individual peers so we
199 claim the best peers. While here, change the sockets to be passive
200 for now. It bumps the CPU-usage, but makes the rate calculation more
e2db3a0 Jesper Louis Andersen Update NEWS.
201 precise. There are several optimizations possible revolving around
202 passive/active sockets.
fd1d7cb Jesper Louis Andersen Update the NEWS.
204 - Robustize the supervisor tree. etorrent is now less likely to die
205 due to a crash somewhere in the tree. It is not entirely safe yet,
206 but it will be during the next releases.
4ff8204 Jesper Louis Andersen Update News and spell-check README.
208 Version 0.8:
e6c8714 Jesper Louis Andersen More GNU-standard style thingies.
e2db3a0 Jesper Louis Andersen Update NEWS.
210 First Technology Preview.
e6c8714 Jesper Louis Andersen More GNU-standard style thingies.
Something went wrong with that request. Please try again.