RELEASE 6.51 KB
Newer Older
1 2 3
==============================================
Release notes for current version of Sofia-SIP
==============================================
Pekka Pessi's avatar
Pekka Pessi committed
4

5 6
Changes since last release
--------------------------
Pekka Pessi's avatar
Pekka Pessi committed
7

8 9
<changes since last written in freshmeat.net "Changes:" style;
 and in less than 10 lines />
Pekka Pessi's avatar
Pekka Pessi committed
10

11 12
Bugs in blaa and foo have been fixed. The stack now supports
use of foobar...
Pekka Pessi's avatar
Pekka Pessi committed
13

Pekka Pessi's avatar
Pekka Pessi committed
14 15 16
API/ABI changes and versioning
------------------------------

17 18 19 20 21 22
<see previous release notes at
 http://sofia-sip.sourceforge.net/relnotes/ for examples ;
 - should include all changes to public headers, and 
   other important information to developers; 
 - and should be updated _continuously_! />

Pekka Pessi's avatar
Pekka Pessi committed
23 24 25 26
New features in API are marked with Doxytag macro @NEW_1_12_5.
Experimental features are marked with Doxytag macro @EXP_1_12_5.

**template**: New features in API are marked with Doxytag macro @NEW_1_XX_X.
27

28
libsofia-sip-ua:
29
- **template**: Added foobar() function (sofia-sip/foobar.h).
Pekka Pessi's avatar
Pekka Pessi committed
30 31 32 33 34 35 36 37
- Added nua tags NUTAG_APPL_METHOD() and NUTAG_NEWSUB()
- Added nua_substate_make(), nua_substate_name()
- Added nta_incoming_create_response() function
- Added tport tags TPTAG_TOS(), TPTAG_DUMP(), TPTAG_LOG()
- Added tport predicate function tport_is_connected()
- Added authentication functions auc_info() and auc_has_authorization(),
  added type msg_auth_info_t for Authentication-Info header
- Added msg_header_join_items() function
Pekka Pessi's avatar
Pekka Pessi committed
38 39
- Added sip_is_allowed() function and k_bitmap field to the 
  sip_allow_t structure 
Pekka Pessi's avatar
Pekka Pessi committed
40 41 42
- Added sl_header_log implementation, updated its prototype
- Added experimental SIP headers and related functions, 
  enabled with ./configure option --enable-experimental 
Pekka Pessi's avatar
Pekka Pessi committed
43 44
- Added SIP header Refer-Sub and related functions
- Added <sofia-sip/sip_extra.h> include file
Pekka Pessi's avatar
Pekka Pessi committed
45
- Added auc_info() function (sofia-sip/auth_client.h)
46
- Added alternative implementations to event reactor object (su_port_t,
Pekka Pessi's avatar
Pekka Pessi committed
47 48
  referenced by su_root_t) that can be changed at runtime using SU_PORT
  environment variable, for instance
49 50
  - Internal semantics of su_port_t reference counting have changed:
    now su_port_create() has one reference, and su_root_create_with_port()
Pekka Pessi's avatar
Pekka Pessi committed
51
    always consumes one reference
Pekka Pessi's avatar
Pekka Pessi committed
52
- Changed return type of bm_memmem() and bm_memcasemem() to non-const
53
- This release is ABI/API compatible with applications linked against 
54 55 56
  any 1.12.x release. However, applications built against this release won't 
  work against an older library. The ABI has been tested with the nua module 
  unit test (test_nua) built against original 1.12.0 release.
57

58
libsofia-sip-ua-glib:
59 60 61 62 63 64
- The 'nua-glib' module has been removed from the library and moved
  to a separate package 'sofia-nua-glib'. The remaining library (su-glib) 
  is now considered stable and will be API/ABI compatible with later 
  releases in the 1.12.x series.
- ABI has been modified and applications built against 1.12.4 and earlier 
  releases need to be rebuilt.
Pekka Pessi's avatar
Pekka Pessi committed
65 66
- Added su_glib_prefer_gsource() which makes glib-based su_port_t
  implementation the default choice when su_root_create() is called
67

Pekka Pessi's avatar
Pekka Pessi committed
68 69 70
Contributors to this release
----------------------------

71 72 73 74 75 76 77 78 79
<list of people who contributed to _this_ release
 - update as people's patches are added, or when you commit stuff
 - current development team members (see AUTHORS) may be omitted
 - name of the contributor should be enough (email addresses in AUTHORS),
   plus a brief description of what was contributed
 - roughly sorted by number of patches accepted
/> 

- **template**: First Surname (patch to nua/soa/msg)
80
- Petteri Puolakka (patch to stun)
81
- Mikhail Zabluev (patch to su-glib mainloop integration)
82
- Michael Jerris (patch to url parsing # in sip/sips userpart)
Pekka Pessi's avatar
Pekka Pessi committed
83 84 85
- Colin Whittaker (TPTAG_TOS())
- Roman Filonenko (TPTAG_LOG(), TPTAG_DUMP(), 
	           patch to query DNS-servers with IP-Helper on win32)
Pekka Pessi's avatar
Pekka Pessi committed
86

87
See the AUTHORS file in the distribution package.
88

89 90 91
Notes on new features
---------------------

Pekka Pessi's avatar
Pekka Pessi committed
92 93 94 95 96 97 98 99
- nua now supports request queuing, for instance, an application can send
  overlapping BYE and NOTIFY requests. The stack engine takes care of
  sending the new request only after the previous one has been responded.

- RFC 4488 defines the Refer-Sub header. Its datatypes, related functions and
  methods declared in <sofia-sip/sip_extra.h> include file. The Refer-Sub
  header structure can be accessed from sip_t structure with sip_refer_sub()
  method, e.g.,
Pekka Pessi's avatar
Pekka Pessi committed
100 101 102 103 104

  if (sip_refer_sub(sip) && 
      strcasecmp("false", sip_refer_sub(sip)->rs_value) == 0) {
     /* Do not create implicit subscription */ 
  }
105

Pekka Pessi's avatar
Pekka Pessi committed
106 107 108 109 110 111 112
- Unsolicited NOTIFYs are now supported. The application can accept incoming
  NOTIFYs and send NOTIFYs without existing subscription.

- Transport connections used for client registrations are now maintained 
  in a persistent fashion. For example a TCP connection used for
  registration is not closed until client is unregisters, or the whole stack
  is shut down.
Pekka Pessi's avatar
Pekka Pessi committed
113

114 115 116 117
- New build time options have been added: ability to build without 
  STUN and HTTP support. See 'docs/devel_platform_notes.txt' for some
  additional notes to distributors.

118 119 120 121 122
<information about major new features
 - new/changed/removed functionality
 - links to further documentation
 - section may be omitted for minor releases
/> 
123 124 125 126

Bugs fixed in this release
--------------------------

127 128 129 130 131 132 133
< notable bugs fixed in this release
 - check the sf.net bug tracker; see closed bugs,
   sorted by closing date
 - other bugs as fixed in CVS/darcs
/>

- **template**: #9499652 sf.net bug item title
Pekka Pessi's avatar
Pekka Pessi committed
134
- Fixed problem in dialog matching. Problem reported by Fabio Margarido.
135 136 137 138
- Fixed #1624446 - su_wait_clone() (and nua_destroy()) blocking for ever if
  the root object was created using su_glib
- Fixed #1626330 - leak in nta.c which happened if INVITE never got a final
  response nor timed out.
Pekka Pessi's avatar
Pekka Pessi committed
139 140
- Fixed handle leak (pthread_*_init without pthread_*_destroy). Problem
  reported by Maxim Zaikin.
Pekka Pessi's avatar
Pekka Pessi committed
141 142
- Fixed crash when nua_bye() was called while a NOTIFY client transaction
  was in progress. Problem reported by Anthony Minnessale.
Pekka Pessi's avatar
Pekka Pessi committed
143 144
- Not using close() with sockets in sres.c. Problem reported by
  Roman Filonenko.
145 146
- Bug in zero-padding STUN messages with a message integrity 
  attribute. Patch by Petteri Puolakka.
147 148 149 150 151
- Fixed a severe problem with timer accuracy, when sofia-sip timers 
  where used under glib's mainloop.
- Improved glib mainloop integration to avoid warnings about already
  active mainloop context, and potentially other issue. Patch by 
  Mikhail Zabaluev. Closes sf.net item #1606786.
Pekka Pessi's avatar
Pekka Pessi committed
152 153 154
- Ignore harmless syntax errors in incoming requests/responses by default
- If a TCP connection cannot be made within SIP T4 (because of a
  firewall, for instance) nta now tries to use UDP instead.