blob: 8e559c13b1cafbd4f3e8654aca7fc926f9583ab9 [file] [log] [blame]
Andy Greena35c86f2013-01-31 10:16:44 +08001Changelog
2---------
3
Andy Green7b405452013-02-01 10:50:15 +08004(development since 1.1....)
5
6User api additions
7------------------
8
9 - lws_get_library_version() returns a const char * with a string like
10 "1.1 9e7f737", representing the library version from configure.ac
11 and the git HEAD hash the library was built from
12
13
14
Andy Greenbd1132f2013-01-31 19:53:05 +080015v1.1-chrome26-firefox18
Andy Greena35c86f2013-01-31 10:16:44 +080016=======================
17
18Diffstat
19--------
20
21 Makefile.am | 4 +
22 README-test-server | 291 ---
23 README.build | 239 ++
24 README.coding | 138 ++
25 README.rst | 72 -
26 README.test-apps | 272 +++
27 configure.ac | 116 +-
28 lib/Makefile.am | 55 +-
29 lib/base64-decode.c | 5 +-
30 lib/client-handshake.c | 121 +-
31 lib/client-parser.c | 394 ++++
32 lib/client.c | 807 +++++++
33 lib/daemonize.c | 212 ++
34 lib/extension-deflate-frame.c | 132 +-
35 lib/extension-deflate-stream.c | 12 +-
36 lib/extension-x-google-mux.c | 1223 ----------
37 lib/extension-x-google-mux.h | 96 -
38 lib/extension.c | 8 -
39 lib/getifaddrs.c | 271 +++
40 lib/getifaddrs.h | 76 +
41 lib/handshake.c | 582 +----
42 lib/libwebsockets.c | 2493 ++++++---------------
43 lib/libwebsockets.h | 115 +-
44 lib/md5.c | 217 --
45 lib/minilex.c | 440 ++++
46 lib/output.c | 628 ++++++
47 lib/parsers.c | 2016 +++++------------
48 lib/private-libwebsockets.h | 284 +--
49 lib/server-handshake.c | 275 +++
50 lib/server.c | 377 ++++
51 libwebsockets-api-doc.html | 300 +--
52 m4/ignore-me | 2 +
53 test-server/Makefile.am | 111 +-
54 test-server/libwebsockets.org-logo.png | Bin 0 -> 7029 bytes
55 test-server/test-client.c | 45 +-
56 test-server/test-echo.c | 330 +++
57 test-server/test-fraggle.c | 20 +-
58 test-server/test-ping.c | 22 +-
59 test-server/test-server-extpoll.c | 554 -----
60 test-server/test-server.c | 349 ++-
61 test-server/test.html | 3 +-
62 win32port/zlib/ZLib.vcxproj | 749 ++++---
63 win32port/zlib/ZLib.vcxproj.filters | 188 +-
64 win32port/zlib/adler32.c | 348 ++-
65 win32port/zlib/compress.c | 160 +-
66 win32port/zlib/crc32.c | 867 ++++----
67 win32port/zlib/crc32.h | 882 ++++----
68 win32port/zlib/deflate.c | 3799 +++++++++++++++-----------------
69 win32port/zlib/deflate.h | 688 +++---
70 win32port/zlib/gzclose.c | 50 +-
71 win32port/zlib/gzguts.h | 325 ++-
72 win32port/zlib/gzlib.c | 1157 +++++-----
73 win32port/zlib/gzread.c | 1242 ++++++-----
74 win32port/zlib/gzwrite.c | 1096 +++++----
75 win32port/zlib/infback.c | 1272 ++++++-----
76 win32port/zlib/inffast.c | 680 +++---
77 win32port/zlib/inffast.h | 22 +-
78 win32port/zlib/inffixed.h | 188 +-
79 win32port/zlib/inflate.c | 2976 +++++++++++++------------
80 win32port/zlib/inflate.h | 244 +-
81 win32port/zlib/inftrees.c | 636 +++---
82 win32port/zlib/inftrees.h | 124 +-
83 win32port/zlib/trees.c | 2468 +++++++++++----------
84 win32port/zlib/trees.h | 256 +--
85 win32port/zlib/uncompr.c | 118 +-
86 win32port/zlib/zconf.h | 934 ++++----
87 win32port/zlib/zlib.h | 3357 ++++++++++++++--------------
88 win32port/zlib/zutil.c | 642 +++---
89 win32port/zlib/zutil.h | 526 ++---
90 69 files changed, 19556 insertions(+), 20145 deletions(-)
91
92user api changes
93----------------
94
95 - libwebsockets_serve_http_file() now takes a context as first argument
96
97 - libwebsockets_get_peer_addresses() now takes a context and wsi as first
98 two arguments
99
100
101user api additions
102------------------
103
104 - lwsl_...() logging apis, default to stderr but retargetable by user code;
105 may be used also by user code
106
107 - lws_set_log_level() set which logging apis are able to emit (defaults to
108 notice, warn, err severities), optionally set the emit callback
109
110 - lwsl_emit_syslog() helper callback emits to syslog
111
112 - lws_daemonize() helper code that forks the app into a headless daemon
113 properly, maintains a lock file with pid in suitable for sysvinit etc to
114 control lifecycle
115
116 - LWS_CALLBACK_HTTP_FILE_COMPLETION callback added since http file
117 transfer is now asynchronous (see test server code)
118
119 - lws_frame_is_binary() from a wsi pointer, let you know if the received
120 data was sent in BINARY mode
121
122
123user api removals
124-----------------
125
126 - libwebsockets_fork_service_loop() - no longer supported (had intractable problems)
127 arrange your code to act from the user callback instead from same
128 process context as the service loop
129
130 - libwebsockets_broadcast() - use libwebsocket_callback_on_writable[_all_protocol]()
131 instead from same process context as the service loop. See the test apps
132 for examples.
133
134 - x-google-mux() removed until someone wants it
135
136 - pre -v13 (ancient) protocol support removed
137
138
139New features
140------------
141
142 - echo test server and client compatible with echo.websocket.org added
143
144 - many new configure options (see README.build) to reduce footprint of the
145 library to what you actually need, eg, --without-client and
146 --without-server
147
148 - http + websocket server can build to as little as 12K .text for ARM
149
150 - no more MAX_CLIENTS limitation; adapts to support the max number of fds
151 allowed to the process by ulimit, defaults to 1024 on Fedora and
152 Ubuntu. Use ulimit to control this without needing to configure
153 the library. Code here is smaller and faster.
154
155 - adaptive ratio of listen socket to connection socket service allows
156 good behaviour under Apache ab test load. Tested with thousands
157 of simultaneous connections
158
159 - reduction in per-connection memory footprint by moving to a union to hold
160 mutually-exclusive state for the connection
161
162 - robustness: Out of Memory taken care of for all allocation code now
163
164 - internal getifaddrs option if your toolchain lacks it (some uclibc)
165
166 - configurable memory limit for deflate operations
167
168 - improvements in SSL code nonblocking operation, possible hang solved,
169 some SSL operations broken down into pollable states so there is
170 no library blocking, timeout coverage for SSL_connect
171
172 - extpoll test server merged into single test server source
173
174 - robustness: library should deal with all recoverable socket conditions
175
176 - rx flowcontrol for backpressure notification fixed and implmeneted
177 correctly in the test server
178
179 - optimal lexical parser added for header processing; all headers in a
180 single 276-byte state table
181
182 - latency tracking api added (configure --with-latency)
183
184 - Improved in-tree documentation, REAME.build, README.coding,
185 README.test-apps, changelog
186
187 - Many small fixes
188
189
190v1.0-chrome25-firefox17 (6cd1ea9b005933f)