build system changed
[syren.git] / ChangeLog
blobdc5973ab6d057dc1740980d09ca2bb159b8ea623
1 v0.0.0
2   [i] there were no changelogs nor public releases
3 v0.0.1 beta
4   [+] added config file parser/loader/writer
5   [+] added reconnection
6   [+] added quiet/megaquiet modes (not tested)
7   [+] save/load downloading state
8   [*] fixed bug with config reader
9   [+] added temporary options -ww & -d
10   [*] fixed bug with "quiet" mode
11   [*] brain-damaged svitonline replies with fucked status line. workaround.
12       somebody, please, find the guy named "bymer" (author of "bandit" server)
13       and cut his balls off. veeeery sloooowly.
14       I WILL NOT MAKE "FIXES" FOR IDIOTIC PROGRAMS WRITTEN BY IDIOTS ANYMORE.
15       READ RFC. WRITE *NORMAL* SOFT.
16         Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
17       RFC-2616.
18       DIXI.
19   [+] sources moved to "src" dir; added Makefile
20   [+] added separate HTTP header manipulation module
21   [*] HTTP interface changed
22   [+] added option to write config file (-ww)
23   [*] option "-d" active only in debug mode
24   [+] added option "-D" to url-decode pathname for ftps
25   [*] several small bugs fixed, not worth mentioning here
26 v0.0.3 pre
27   [*] driver code rewritten
28   [+] Syren prepared for 'big files'
29   [*] 'download loop' moved out of main. i'm so close to libsyren... %-)
30   [*] several small bugs fixed, as usually, not worth mentioning here
31 v0.0.3 beta
32   [?] brain-fucked youtube gives relative address in "location". fixed?
33   [-] 3drealms ftp can't accept my connection after PASV. where's the bug?
34   [*] .syren file format changed
35   [+] added option to re-download file with ".syren" (so one can keep and
36       pass away state files)
37   [+] added option to keep state file after successfull downloading
38   [?] added (but not checked) proxy support
39   [+] added signal catching (save state on user break or HUP/USR1)
40   [*] brain-damaged FTP "server" on ftp.3drealms.com was written by dumb idiot.
41       the author doesn't know that TCP is a STREAM protocol. fuck. made a workaround
42       for this. 3drealms must die.
43   [*] now calling "progress function" once in a half of a second (fix for speedy
44       LAN connections)
45   [+] added support for >2GB files
46   [*] fixed stupid bug in syren_http.c (access to freed memory)
47   [+] compiled and working on FreeBSD
48   [*] several memleaks removed (tnx, valgrind %-)
49   [*] fixed bug in http redirecting
50   [*] and again fixed bug in http redirecting; i hope it's FINALLY fixed this time %-)
51   [*] several small bugs fixed, as usually, not worth mentioning here
52 v0.0.4 beta
53   [+] added switch to dump .syren state files (-D)
54   [+] added switch to send "POST" request/data (-P)
55   [*] not storing path to file in .syren
56   [+] added switch to skip state file creating (-N)
57   [+] added option to save to stdout ("-o -")
58   [+] added switch to force retrying on any error (-F)
59   [+] HTTP header field names now convered to "normal" form
60       ('User-Agent' instead of 'user-agent')
61   [+] added cookie manipulation routines
62   [+] added switch to dump received cookies (-C)
63   [+] added switch to send cookies (-c)
64   [-] removed hash tables (-4kb)
65   [+] no hashes -> case insensetive config
66   [+] no hashes -> preserving names of HTTP header fields
67   [+] compiles (and seems to work %-) on windoze
68   [*] rebuilded with MinGW; the size DOES matter! %-)
69   [*] FUCK M$! fuckin' msvcrd undestands neither %lli nor %Li; i wrote a workaround for it
70   [-] option "-D" was lost somewhere in time
71   [*] several small bugs fixed, as usually, not worth mentioning here
72 v0.0.5 beta (stardriven)
73   [i] "we are fighting! fighting in Holy War!" (c) %-)
74       sources was restructured a little, some interfaces was changed,
75       some obsolete code was replaced or removed.
76       i'm expecting even lesser size with all features of 0.0.4 included.
77   [i] no SOCKS support yet, but it is close, so close... %-)
78   [*] should be 64-bit clean (at least i think so %-)
79   [*] several small bugs fixed, as usually, not worth mentioning here
81   [+] shows messages & progress in xterm/[m]rxvt window title
82   [+] now saving referer type and referer string in state file (hi, Underdogs! %-)
84   [+] fix for stupid servers who sends header fields with empty values
85   [+] tinySCHEME engine added (but no bindings yet); engine can be excluded
87   [*] fixed stupid bug in SyHdrSetCookie() that causes segv with "-c"  
89   [*] header fields with empty values will be silentely dropped
90       (fix for operafan.net -- it likes to send fields with no values)
91   [*] now using -D_FILE_OFFSET_BITS=64 for *nix systems (hope it will not break anything)
93   [*] lines and headers will be read with MSG_PEEK (bye-bye windows?)
94   [+] new option: -i -- show server reply and stop
95   [+] new option: -T -- don't touch terminal window title
97   [?] should work on windoze again (not tested)
99   [+] option -E (to URLDecode) and -e (to URLEncode) to 'fix' urls
101   [*] syren silently uses HTTP proxy if FTP proxy was empty. bug!
104 v0.0.5 gamma (diamond monster)
105   [+] added patch from amber (Darwin fix); can I write "a lightweight downloader for
106       Linux/BSD/Win32/MacOSX"? %-)
107   [*] fixed idiotic ancient bug with ~2GB files
108   [+] added info about "-h all" and "-h <optname>"
110   [*] fixed another idiotic bug introduced by "2GB fix" (can't download files if
111       HTTP server omits "Content-Length")
113   [*] now syren understands multiple one-char options as other programs does (i.e.
114       one can write "syren -sk <file.syren>" and it will work ok)
115   [+] option "decode_ftp_url" now works
116   [+] added "-I" option (use specified iface)
117   [+] added "-X" option (shorthand for "--use_*_proxy=ona")
118   [+] added "interface" config option (and it really works now %-)
120   [+] added "-q" and "-Q" options
122   [*] bug: invalid cookie parsing for -c option
124   [*] now syren fails on unknown protocols
127 v0.0.6 (atomic alien)
128   [i] a major new feature added: HTTPS support! but it costs ~80 kb. TANSTAAFL.
129   [*] TCP layer reworked
130   [+] HTTPS support added
131   [-] there's no proxy support for HTTPS yet (will-be-fixed-soon %-)
132   [*] moved to Jam (sorry, all you make-lovers)
134   [+] proxy support for HTTPS
135   [+] CONNECT method for proxified FTP
137   [+] proxy module added (preparing syren for SOCKSifying %-)
139   [+] syren now uses SetConsoleTitle on windoze to show progress in winconsole
140   [-] compiler doesn't complain on windoze syren_os.c and syren_tcp.c
141   [*] build system changed (taken from Trigger -- tnx, boys!)
143   [*] now Jamfile builds libsyrendl (which includes XySSL if necessary)
144   [-] tinySCHEME leftovers removed
146   [+] now syren shows socket errors (msg on *nix, code on windoze)
148   [*] build system changed again (bye-bye, Trigger %-)
150   [*] seems that proxy authentication was broken %-(
151   [+] added proxy authentication for CONNECT method
152   [?] is it right to pass user and password in GET for proxified HTTP request?
153       or i should do it with Authorization: header field?
154       (changed to use "Authorization" for now)
155   [+] added port info to "Host" field
156   [+] added "const" here and there
158   [+] added option "-H" (send custom HTTP headers)
159   [*] license changed to GPL v3
160   [*] upgraded to XYSSL v0.9
162   [-] fuck m$. no more windoze ever
164   [*] -o - was imfunctional
166   [*] preparing for scripting; script now prints "syren.lsp loaded." %-)
168   [+] stupid script for sf.net is working! %-)
170   [*] new version of KLISP; not tested yet
171   [+] can add more than one url from the command line; can read urls from list file
173   [+] parsing "size" field in Content-Disposition (so textpattern.com downloads now
174       has correct sizes %-)
176   [+] new option (-A) to preallocate disk space. will be moved to config someday
177       (hehe, i'm preparing to BitTorrent downloads %-).
179   [*] fixed bug in SSL downloads: syren hangs when file size wasn't specified