2 [i] there were no changelogs nor public releases
4 [+] added config file parser/loader/writer
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
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
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
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
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
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