1$Id: Changelog.txt,v 1.202 2014/11/17 19:10:28 nanard Exp $
2miniUPnP client Changelog.
3
42014/11/17:
5  search all :
6    upnpDiscoverDevices() / upnpDiscoverAll() functions
7    listdevices executable
8  increment API_VERSION to 12
9  validate igd_desc_parse
10
112014/11/13:
12  increment API_VERSION to 11
13
142014/11/05:
15  simplified function GetUPNPUrls()
16
172014/09/11:
18  use remoteHost arg of DeletePortMapping
19
202014/09/06:
21  Fix python3 build
22
232014/07/01:
24  Fix parsing of IGD2 root descriptions
25
262014/06/10:
27  rename LIBSPEC to MINIUPNP_LIBSPEC
28
292014/05/15:
30  Add support for IGD2 AddAnyPortMapping and DeletePortMappingRange
31
322014/02/05:
33  handle EINPROGRESS after connect()
34
352014/02/03:
36  minixml now handle XML comments
37
38VERSION 1.9 : released 2014/01/31
39
402014/01/31:
41  added argument remoteHost to UPNP_GetSpecificPortMappingEntry()
42  increment API_VERSION to 10
43
442013/12/09:
45  --help and -h arguments in upnpc.c
46
472013/10/07:
48  fixed potential buffer overrun in miniwget.c
49  Modified UPNP_GetValidIGD() to check for ExternalIpAddress
50
512013/08/01:
52  define MAXHOSTNAMELEN if not already done
53
542013/06/06:
55  update upnpreplyparse to allow larger values (128 chars instead of 64)
56
572013/05/14:
58  Update upnpreplyparse to take into account "empty" elements
59  validate upnpreplyparse.c code with "make check"
60
612013/05/03:
62  Fix Solaris build thanks to Maciej Ma��ecki
63
642013/04/27:
65  Fix testminiwget.sh for BSD
66
672013/03/23:
68  Fixed Makefile for *BSD
69
702013/03/11:
71  Update Makefile to use JNAerator version 0.11
72
732013/02/11:
74  Fix testminiwget.sh for use with dash
75  Use $(DESTDIR) in Makefile
76
77VERSION 1.8 : released 2013/02/06
78
792012/10/16:
80  fix testminiwget with no IPv6 support
81
822012/09/27:
83  Rename all include guards to not clash with C99
84  (7.1.3 Reserved identifiers).
85
862012/08/30:
87  Added -e option to upnpc program (set description for port mappings)
88
892012/08/29:
90  Python 3 support (thanks to Christopher Foo)
91
922012/08/11:
93  Fix a memory link in UPNP_GetValidIGD()
94  Try to handle scope id in link local IPv6 URL under MS Windows
95
962012/07/20:
97  Disable HAS_IP_MREQN on DragonFly BSD
98
992012/06/28:
100  GetUPNPUrls() now inserts scope into link-local IPv6 addresses
101
1022012/06/23:
103  More error return checks in upnpc.c
104  #define MINIUPNPC_GET_SRC_ADDR enables receivedata() to get scope_id
105  parseURL() now parses IPv6 addresses scope
106  new parameter for miniwget() : IPv6 address scope
107  increment API_VERSION to 9
108
1092012/06/20:
110  fixed CMakeLists.txt
111
1122012/05/29
113  Improvements in testminiwget.sh
114
115VERSION 1.7 : released 2012/05/24
116
1172012/05/01:
118  Cleanup settings of CFLAGS in Makefile
119  Fix signed/unsigned integer comparaisons
120
1212012/04/20:
122  Allow to specify protocol with TCP or UDP for -A option
123
1242012/04/09:
125  Only try to fetch XML description once in UPNP_GetValidIGD()
126  Added -ansi flag to compilation, and fixed C++ comments to ANSI C comments.
127
1282012/04/05:
129  minor improvements to minihttptestserver.c
130
1312012/03/15:
132  upnperrors.c returns valid error string for unrecognized error codes
133
1342012/03/08:
135  make minihttptestserver listen on loopback interface instead of 0.0.0.0
136
1372012/01/25:
138  Maven installation thanks to Alexey Kuznetsov
139
1402012/01/21:
141  Replace WIN32 macro by _WIN32
142
1432012/01/19:
144  Fixes in java wrappers thanks to Alexey Kuznetsov :
145    https://github.com/axet/miniupnp/tree/fix-javatest/miniupnpc
146  Make and install .deb packages (python) thanks to Alexey Kuznetsov :
147    https://github.com/axet/miniupnp/tree/feature-debbuild/miniupnpc
148
1492012/01/07:
150  The multicast interface can now be specified by name with IPv4.
151
1522012/01/02:
153  Install man page
154
1552011/11/25:
156  added header to Port Mappings list in upnpc.c
157
1582011/10/09:
159  Makefile : make clean now removes jnaerator generated files.
160  MINIUPNPC_VERSION in miniupnpc.h (updated by make)
161
1622011/09/12:
163  added rootdescURL to UPNPUrls structure.
164
165VERSION 1.6 : released 2011/07/25
166
1672011/07/25:
168  Update doc for version 1.6 release
169
1702011/06/18:
171  Fix for windows in miniwget.c
172
1732011/06/04:
174  display remote host in port mapping listing
175
1762011/06/03:
177  Fix in make install : there were missing headers
178
1792011/05/26:
180  Fix the socket leak in miniwget thanks to Richard Marsh.
181  Permit to add leaseduration in -a command. Display lease duration.
182
1832011/05/15:
184  Try both LinkLocal and SiteLocal multicast address for SSDP in IPv6
185
1862011/05/09:
187  add a test in testminiwget.sh.
188  more error checking in miniwget.c
189
1902011/05/06:
191  Adding some tool to test and validate miniwget.c
192  simplified and debugged miniwget.c
193
1942011/04/11:
195  moving ReceiveData() to a receivedata.c file.
196  parsing presentation url
197  adding IGD v2 WANIPv6FirewallControl commands
198
1992011/04/10:
200  update of miniupnpcmodule.c
201  comments in miniwget.c, update in testminiwget
202  Adding errors codes from IGD v2
203  new functions in upnpc.c for IGD v2
204
2052011/04/09:
206  Support for litteral ip v6 address in miniwget
207
2082011/04/08:
209  Adding support for urn:schemas-upnp-org:service:WANIPv6FirewallControl:1
210  Updating APIVERSION
211  Supporting IPV6 in upnpDiscover()
212  Adding a -6 option to upnpc command line tool
213
2142011/03/18:
215  miniwget/parseURL() : return an error when url param is null.
216  fixing GetListOfPortMappings()
217
2182011/03/14:
219  upnpDiscover() now reporting an error code.
220  improvements in comments.
221
2222011/03/11:
223  adding miniupnpcstrings.h.cmake and CMakeLists.txt files.
224
2252011/02/15:
226  Implementation of GetListOfPortMappings()
227
2282011/02/07:
229  updates to minixml to support character data starting with spaces
230  minixml now support CDATA
231  upnpreplyparse treats <NewPortListing> specificaly
232  change in simpleUPnPcommand to return the buffer (simplification)
233
2342011/02/06:
235  Added leaseDuration argument to AddPortMapping()
236  Starting to implement GetListOfPortMappings()
237
2382011/01/11:
239  updating wingenminiupnpcstrings.c
240
2412011/01/04:
242  improving updateminiupnpcstrings.sh
243
244VERSION 1.5 : released 2011/01/01
245
2462010/12/21:
247  use NO_GETADDRINFO macro to disable the use of getaddrinfo/freeaddrinfo
248
2492010/12/11:
250  Improvements on getHTTPResponse() code.
251
2522010/12/09:
253  new code for miniwget that handle Chunked transfer encoding
254  using getHTTPResponse() in SOAP call code
255  Adding MANIFEST.in for 'python setup.py bdist_rpm'
256
2572010/11/25:
258  changes to minissdpc.c to compile under Win32.
259  see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=729
260
2612010/09/17:
262  Various improvement to Makefile from Micha�� G��rny
263
2642010/08/05:
265  Adding the script "external-ip.sh" from Reuben Hawkins
266
2672010/06/09:
268  update to python module to match modification made on 2010/04/05
269  update to Java test code to match modification made on 2010/04/05
270  all UPNP_* function now return an error if the SOAP request failed
271  at HTTP level.
272
2732010/04/17:
274  Using GetBestRoute() under win32 in order to find the
275  right interface to use.
276
2772010/04/12:
278  Retrying with HTTP/1.1 if HTTP/1.0 failed. see
279  http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=1703
280
2812010/04/07:
282  avoid returning duplicates in upnpDiscover()
283
2842010/04/05:
285  Create a connecthostport.h/.c with connecthostport() function
286  and use it in miniwget and miniupnpc.
287  Use getnameinfo() instead of inet_ntop or inet_ntoa
288  Work to make miniupnpc IPV6 compatible...
289  Add java test code.
290  Big changes in order to support device having both WANIPConnection
291  and WANPPPConnection.
292
2932010/04/04:
294  Use getaddrinfo() instead of gethostbyname() in miniwget.
295
2962010/01/06:
297  #define _DARWIN_C_SOURCE for Mac OS X
298
2992009/12/19:
300  Improve MinGW32 build
301
3022009/12/11:
303  adding a MSVC9 project to build the static library and executable
304
3052009/12/10:
306  Fixing some compilation stuff for Windows/MinGW
307
3082009/12/07:
309  adaptations in Makefile and updateminiupnpcstring.sh for AmigaOS
310  some fixes for Windows when using virtual ethernet adapters (it is the
311  case with VMWare installed).
312
3132009/12/04:
314  some fixes for AmigaOS compilation
315  Changed HTTP version to HTTP/1.0 for Soap too (to prevent chunked
316  transfer encoding)
317
3182009/12/03:
319  updating printIDG and testigddescparse.c for debug.
320  modifications to compile under AmigaOS
321  adding a testminiwget program
322  Changed miniwget to advertise itself as HTTP/1.0 to prevent chunked
323  transfer encoding
324
3252009/11/26:
326  fixing updateminiupnpcstrings.sh to take into account
327  which command that does not return an error code.
328
329VERSION 1.4 : released 2009/10/30
330
3312009/10/16:
332  using Py_BEGIN_ALLOW_THREADS and Py_END_ALLOW_THREADS in python module.
333
3342009/10/10:
335  Some fixes for compilation under Solaris
336  compilation fixes : http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=1464
337
3382009/09/21:
339  fixing the code to ignore EINTR during connect() calls.
340
3412009/08/07:
342  Set socket timeout for connect()
343  Some cleanup in miniwget.c
344
3452009/08/04:
346  remove multiple redirections with -d in upnpc.c
347  Print textual error code in upnpc.c
348  Ignore EINTR during the connect() and poll() calls.
349
3502009/07/29:
351  fix in updateminiupnpcstrings.sh if OS name contains "/"
352  Sending a correct value for MX: field in SSDP request
353
3542009/07/20:
355  Change the Makefile to compile under Mac OS X
356  Fixed a stackoverflow in getDevicesFromMiniSSDPD()
357
3582009/07/09:
359  Compile under Haiku
360  generate miniupnpcstrings.h.in from miniupnpcstrings.h
361
3622009/06/04:
363  patching to compile under CygWin and cross compile for minGW
364
365VERSION 1.3 :
366
3672009/04/17:
368  updating python module
369  Use strtoull() when using C99
370
3712009/02/28:
372  Fixed miniwget.c for compiling under sun
373
3742008/12/18:
375  cleanup in Makefile (thanks to Paul de Weerd)
376  minissdpc.c : win32 compatibility
377  miniupnpc.c : changed xmlns prefix from 'm' to 'u'
378  Removed NDEBUG (using DEBUG)
379
3802008/10/14:
381  Added the ExternalHost argument to DeletePortMapping()
382
3832008/10/11:
384  Added the ExternalHost argument to AddPortMapping()
385  Put a correct User-Agent: header in HTTP requests.
386
387VERSION 1.2 :
388
3892008/10/07:
390  Update docs
391
3922008/09/25:
393  Integrated sameport patch from Dario Meloni : Added a "sameport"
394  argument to upnpDiscover().
395
3962008/07/18:
397  small modif to make Clang happy :)
398
3992008/07/17:
400  #define SOAPPREFIX "s" in miniupnpc.c in order to remove SOAP-ENV...
401
4022008/07/14:
403  include declspec.h in installation (to /usr/include/miniupnpc)
404
405VERSION 1.1 :
406
4072008/07/04:
408  standard options for install/ln instead of gnu-specific stuff.
409
4102008/07/03:
411  now builds a .dll and .lib with win32. (mingw32)
412
4132008/04/28:
414  make install now install the binary of the upnpc tool
415
4162008/04/27:
417  added testupnpigd.py
418  added error strings for miniupnpc "internal" errors
419  improved python module error/exception reporting.
420
4212008/04/23:
422  Completely rewrite igd_desc_parse.c in order to be compatible with
423  Linksys WAG200G
424  Added testigddescparse
425  updated python module
426
427VERSION 1.0 :
428
4292008/02/21:
430  put some #ifdef DEBUG around DisplayNameValueList()
431
4322008/02/18:
433  Improved error reporting in upnpcommands.c
434  UPNP_GetStatusInfo() returns LastConnectionError
435
4362008/02/16:
437  better error handling in minisoap.c
438  improving display of "valid IGD found" in upnpc.c
439
4402008/02/03:
441  Fixing UPNP_GetValidIGD()
442  improved make install :)
443
4442007/12/22:
445  Adding upnperrors.c/h to provide a strupnperror() function
446  used to translate UPnP error codes to string.
447
4482007/12/19:
449  Fixing getDevicesFromMiniSSDPD()
450  improved error reporting of UPnP functions
451
4522007/12/18:
453  It is now possible to specify a different location for MiniSSDPd socket.
454  working with MiniSSDPd is now more efficient.
455  python module improved.
456
4572007/12/16:
458  improving error reporting
459
4602007/12/13:
461  Try to improve compatibility by using HTTP/1.0 instead of 1.1 and
462  XML a bit different for SOAP.
463
4642007/11/25:
465  fixed select() call for linux
466
4672007/11/15:
468  Added -fPIC to CFLAG for better shared library code.
469
4702007/11/02:
471  Fixed a potential socket leak in miniwget2()
472
4732007/10/16:
474  added a parameter to upnpDiscover() in order to allow the use of another
475  interface than the default multicast interface.
476
4772007/10/12:
478  Fixed the creation of symbolic link in Makefile
479
4802007/10/08:
481  Added man page
482
4832007/10/02:
484  fixed memory bug in GetUPNPUrls()
485
4862007/10/01:
487  fixes in the Makefile
488  Added UPNP_GetIGDFromUrl() and adapted the sample program accordingly.
489  Added SONAME in the shared library to please debian :)
490  fixed MS Windows compilation (minissdpd is not available under MS Windows).
491
4922007/09/25:
493  small change to Makefile to be able to install in a different location
494  (default is /usr)
495
4962007/09/24:
497  now compiling both shared and static library
498
4992007/09/19:
500  Cosmetic changes on upnpc.c
501
5022007/09/02:
503  adapting to new miniSSDPd (release version ?)
504
5052007/08/31:
506  Usage of miniSSDPd to skip discovery process.
507
5082007/08/27:
509  fixed python module to allow compilation with Python older than Python 2.4
510
5112007/06/12:
512  Added a python module.
513
5142007/05/19:
515  Fixed compilation under MinGW
516
5172007/05/15:
518  fixed a memory leak in AddPortMapping()
519  Added testupnpreplyparse executable to check the parsing of
520  upnp soap messages
521  minixml now ignore namespace prefixes.
522
5232007/04/26:
524  upnpc now displays external ip address with -s or -l
525
5262007/04/11:
527  changed MINIUPNPC_URL_MAXSIZE to 128 to accomodate the "BT Voyager 210"
528
5292007/03/19:
530  cleanup in miniwget.c
531
5322007/03/01:
533  Small typo fix...
534
5352007/01/30:
536  Now parsing the HTTP header from SOAP responses in order to
537  get content-length value.
538
5392007/01/29:
540  Fixed the Soap Query to speedup the HTTP request.
541  added some Win32 DLL stuff...
542
5432007/01/27:
544  Fixed some WIN32 compatibility issues
545
5462006/12/14:
547  Added UPNPIGD_IsConnected() function in miniupnp.c/.h
548  Added UPNP_GetValidIGD() in miniupnp.c/.h
549  cleaned upnpc.c main(). now using UPNP_GetValidIGD()
550
5512006/12/07:
552  Version 1.0-RC1 released
553
5542006/12/03:
555  Minor changes to compile under SunOS/Solaris
556
5572006/11/30:
558  made a minixml parser validator program
559  updated minixml to handle attributes correctly
560
5612006/11/22:
562  Added a -r option to the upnpc sample thanks to Alexander Hubmann.
563
5642006/11/19:
565  Cleanup code to make it more ANSI C compliant
566
5672006/11/10:
568  detect and display local lan address.
569
5702006/11/04:
571  Packets and Bytes Sent/Received are now unsigned int.
572
5732006/11/01:
574  Bug fix thanks to Giuseppe D'Angelo
575
5762006/10/31:
577  C++ compatibility for .h files.
578  Added a way to get ip Address on the LAN used to reach the IGD.
579
5802006/10/25:
581  Added M-SEARCH to the services in the discovery process.
582
5832006/10/22:
584  updated the Makefile to use makedepend, added a "make install"
585  update Makefile
586
5872006/10/20:
588  fixing the description url parsing thanks to patch sent by
589  Wayne Dawe.
590  Fixed/translated some comments.
591  Implemented a better discover process, first looking
592  for IGD then for root devices (as some devices only reply to
593  M-SEARCH for root devices).
594
5952006/09/02:
596  added freeUPNPDevlist() function.
597
5982006/08/04:
599  More command line arguments checking
600
6012006/08/01:
602  Added the .bat file to compile under Win32 with minGW32
603
6042006/07/31:
605  Fixed the rootdesc parser (igd_desc_parse.c)
606
6072006/07/20:
608  parseMSEARCHReply() is now returning the ST: line as well
609  starting changes to detect several UPnP devices on the network
610
6112006/07/19:
612  using GetCommonLinkProperties to get down/upload bitrate
613
614