Fix the version number.
[trafficserver.git] / CHANGES
1                                                          -*- coding: utf-8 -*-
2 Changes with Apache Traffic Server 3.2.0
3   *) [TS-1286] Cleanup some code around freelists and allocators.
4
5
6 Changes with Apache Traffic Server 3.1.4
7   *) [TS-1281] make check fail on RHEL 5.x.
8
9   *) [TS-1282] Verbosity settings for Via headers is broken.
10
11   *) [TS-1279] Fix build system for gcc < 4.3.
12
13   *) [TS-1277] Fixed issue with IPv6 URLs and remap configuration.
14
15   *) [TS-1195] Support the use of raw IPv6 address in URLs and Host fields.
16
17   *) [TS-1275] Fix startup problem where /var is on a volatile disk.
18    Author: Eric Connell.
19
20   *) [TS-1274] Transformation plugins can send content-length with 
21    non-identity transfer encoding. Author: Otto van der Schaff.
22
23   *) [TS-1272] workaround for - FATAL: HttpSM.cc:890: failed assert `0`
24
25   *) [TS-1240] Fix race in log buffer queuing code.
26
27   *) [TS-1271] deprecate INKStats API
28
29   *) [TS-1250] Cache inspector does not seem to work properly
30
31   *) [TS-1269] Building outside source tree fails on plugins.
32
33   *) [TS-1222] single tcp connection will limit the cluster throughput.
34
35   *) [TS-475] Accelerated single range requests.
36      Based on initial work by ericb, with help from bwyatt.
37
38   *) [TS-1236] HTTP Accept filters do not work on Illumos.
39
40   *) [TS-1075] Workarounds for linux auto-port issues in transparent
41    deployments.
42
43   *) [TS-672] cleanup Win32 references.
44
45   *) [TS-1181] Make the overridable configs work with "byte" configs.
46
47   *) [TS-1252] Fixed include issues when using mgmtapi.h.
48
49   *) [TS-1248] update HTTP status codes and strings.
50
51   *) [TS-1245] proxy.config.http.connect_ports may be '*'.
52
53   *) [TS-1239] TSHttpTxnServerAddrSet implementation.
54
55   *) [TS-1237] custom log field/filtering improvements.
56
57   *) [TS-1090] SO_MARK and IP_TOS support for Linux.
58
59   *) [TS-1238] RAM cache hit rate unexpectedly low with CLFUS.
60
61   *) [TS-1242] Make it build with some more recent automake versions.
62
63   *) [TS-1241] Memory leaks when using TSHttpSchedule().
64    Author: Aidan McGurn.
65
66   *) [TS-1163] Support for raw disks larger than 2TB on Linux.
67
68   *) [TS-1230] added a paramter to the configure script to allow overriding
69    the calculated ARG_MAX value.
70
71   *) [TS-1208] enable check_memory() in traffic_cop for Linux.
72
73   *) [TS-1217] cop cleanup, remove unused variables & defines.
74
75   *) [TS-1209] Allow for background fill even when a transform plugin is
76    the producer. Author: Robert Logue.
77
78   *) [TS-1229] clean up RecordsCofing.cc, remove unused entries.
79
80   *) [TS-1142] record ram hit in stats.
81
82   *) [TS-1213] update will crash at HttpTransact::process_quick_http_filter.
83
84   *) [TS-1186] Fixed Perl stats API to work with 64-bit stat values
85
86   *) [TS-1227] header_filter "set" operator doesn't work if the header
87    doesn't already exist.
88
89   *) [TS-1210] remove 3.0.x deprecated APIs
90
91   *) [TS-1225] Remove 32 bit doc_len instances.
92
93   *) [TS-1226] Make header_filter support e.g. '=' characters in header
94    values.
95
96   *) [TS-1150] Some performance improvements around the heap guard.
97
98   *) [TS-1216] Remove the initializer for some gcc`s limits.
99
100   *) [TS-1205] double free when RecDataSet in cluster mode.
101
102   *) [TS-1220] stats: cleanup and fix the wrong values.
103
104   *) [TS-1212] can not limit ram cache, also fix the stats.
105
106   *) [TS-1214] another race condition in cache init.
107
108   *) [TS-1130] Wrong CAS operation on ink_time_t on 64 bit system.
109
110   *) [TS-1127] Wrong returned value of incoming port address. This
111    API is deprecated, so I also fixed the regression tests accordingly.
112    Authors: Yakov Kopel and Leif.
113
114   *) [TS-1211] Read backlog config value to set the listen backlog.
115
116   *) [TS-1202] Install traffic_shell man/doc pages in a more appropriate
117    location. Author: Igor Brezac.
118
119   *) [TS-1198] ssl crash when certificates are missing.
120
121   *) [TS-1164] a race condition in cache init.
122
123   *) [TS-1079] Add an API function to turn debugging on for specific
124    transactions/sessions. This also adds a new Debug() functionality in
125    both core and APIs. Author: Uri Shachar.
126
127   *) [TS-1194 Change conversions to build with gcc-4.6 on OmniOS/Solaris.
128    Also cleanup a couple of plugins to use our "core" build environment.
129
130   *) [TS-1192] Remove gethostbyname usage in test code
131
132   *) [TS-1147] deprecate records.config SSL configuration
133
134   *) [TS-1121] Make --disable-diags at least disable Debug etc.
135
136   *) [TS-1191] Change defaults for proxy.config.dns.search_default_domains to
137    not use the search domains in resolv.conf.
138
139   *) [TS-1190] Change defaults for proxy.config.http.share_server_sessions to
140    have a session pool per net-thread. This is best performance for most
141    common use cases.
142
143   *) [TS-1189] Build problem with older versions of OpenSSL.
144
145   *) [TS-1178] cop will kill manager & server, even cop it self, in cluster.
146
147   *) [TS-1156] Fix timestamp log fields, and stop supporting network byte
148    order in various log buffers. See TS-1182 for future enhancements.
149
150   *) [TS-1017] Update logging to be IPv6 compliant, including collation.
151
152   *) [TS-1080] If we run out of Log Buffer slots, we assert.
153
154   *) [TS-1176] Eliminates the need for a delayed "delete" of log buffers.
155    This was a serious race condition, which was previously sold by delaying
156    deletes via a ring buffer.
157
158   *) [TS-1036] Improve some squid log compatiblity. Suggestions from mnot.
159
160   *) [TS-1092] Remove specific SSL termination mode, we either terminate, or
161    we do not.
162
163   *) [TS-1173] Improve the comments in remap.config.
164
165   *) [TS-981] Remove the support for libev (for now at least).
166
167   *) [TS-1172] Remove remap/StringHash.{cc,h}, they are not used.
168
169   *) [TS-1171] http_ui cache lookup, double free.
170
171   *) [TS-1168] Change UrlRewrite::BuildTable to be IPv6 compliant.
172
173   *) [TS-1167] Updates parent socks server setup to be IPv6 compliant.
174
175   *) [TS-1166] Remove proxy/Stuffer.[cc,h] because they were unused.
176
177   *) [TS-1162] UnixNetVConnection assertion when accepting a TLS connection
178
179   *) [TS-1135] support wildcard certificates for ServerNameIndication (SNI)
180
181   *) [TS-1140] Combine IP Allow and QuickFilter.
182
183   *) [TS-1159] Add compiler hints to debug logging
184
185   *) [TS-1143] Fixed edge case problems in IpMap.
186
187   *) [TS-1114] Fix to lock vol for CacheVC::write_vector.
188
189   *) [TS-857] Possibly related race in UnixNetVConnection::mainEvent
190    on inactivity timeout.
191
192   *) [TS-1149] Pretty up automake output.
193
194
195 Changes with Apache Traffic Server 3.1.3
196   *) [TS-1145] Additional clang build fixes. Author: Darrin Jewell.
197
198   *) [TS-1144] Fix out of tree builds. Author: Darrin Jewell.
199
200   *) [TS-1138] Fixed off by one range error in IpMap.
201
202   *) [TS-462] Support TLS Server Name Indication (SNI)
203
204   *) [TS-1134] TSNetAcceptNamedProtocol should fail if NPN is not supported.
205
206   *) [TS-1133] Make the max host-header length configure.ac configurable.
207
208   *) [TS-1002] fix custom loggin with cquuc cquup, and introduce cquuh
209    to recode the client_req_unmapped_url_host.
210
211   *) [TS-701] Remove mgmt/cli/script_configs.sh
212
213   *) [TS-1124] Move regex_remap, header_filter and stats_over_http from
214    the plugin repo to the main repo.
215
216   *) [TS-1111] fix crash in RangeTransform::handle_event
217
218   *) [TS-1109] fix stack dump crashing
219
220   *) [TS-1123] editline/readline conflicts when building on OSX.
221
222   *) [TS-1116] Fixes for building the source with clang/lvm.
223
224   *) [TS-1115] Fixes for building the source with Intel CC (icc).
225
226   *) [TS-1102] Cleanup of Diagnostics code. Author: Uri Shachar and Leif.
227
228   *) [TS-1117] Remove TS_HAS_PURIFY MACRO
229
230   *) [TS-937] EThread::execute still processing cancelled event
231
232   *) [TS-995] Name change for IP support (ink_inet.h).
233
234   *) [TS-841] support TLS NextProtocol negotiation
235
236 Changes with Apache Traffic Server 3.1.2
237
238   *) [TS-1110] logstats incorrectly bucketizes all status codes greater 
239   than 599 as 5xx. Author: Manjesh Nilange
240
241   *) [TS-1094] Fixed MIME parser so certain sequences of requests on
242    keep alive conections no longer wedge it.
243
244   *) [TS-1084] Add compile-time format string checking.
245
246   *) [TS-1101] traffic_line -x no longer works, at least not in
247    reasonable time.
248
249   *) [TS-1098] Make RC script support Amazon EC2 Linux AMI.
250
251   *) [TS-1035] EventProcessor::spawn_thread doesn't check that there
252    is enough event threads and segfaults.
253
254   *) [TS-1096] readline support for traffic_shell.
255
256   *) [TS-1097] online help for traffic_shell.
257
258   *) [TS-1066] TSHttpTxnServerReqHdrBytesGet in InkAPI.cc has an extra
259    parameter (int *bytes) from the prototype in <ts/ts.h>.
260    Author: Alistair Stevenson
261
262   *) [TS-1089] Added TSHttpConnectTransparent.
263
264   *) [TS-1088] Added TSHttpTxnOutgoingTransparencySet to API to
265    control outbound transparency.
266
267   *) [TS-1083] Initial SSL next protocol negotiation support.
268
269   *) [TS-1082] Obey existing optimizer CXXFLAGS and CFLAGS at configure time.
270
271   *) [TS-1077] All proxy ports are now configured by
272    proxy.config.http.server_ports. All other port configuration values
273    are deprecated.
274
275   *) [TS-1091] CFLAGS=-w` causes configure script to wrongly guess style of
276    `gethostbyname_r` on BSD flavors. Author: Marc Abramowitz.
277
278   *) [TS-1073] no_dns_just_forward_to_parent configuration parameter is
279    ignored/not used. Author: Kevin Giles.
280
281   *) [TS-996] HTTPHdr::m_host goes stale if HdrHeap::evacuate_from_str_heaps
282    is called. Author: B. Wyatt.
283
284   *) [TS-1041] Populate sockaddr length. Author: James Peach.
285
286   *) [TS-1081] Eliminate an additional copy of the pristine URL string.
287
288   *) [TS-1038] TSHttpTxnErrorBodySet() can leak memory.
289    Author: Brian Geffon
290
291   *) [TS-1049] TS hangs (dead lock) on HTTPS POST requests.
292    Author: Wilson Ho
293
294   *) [TS-1056] Lost UA connections can show up as "400 ERR_INVALID_REQ"
295    in logs.
296
297   *) [TS-1048] Add TS API to enable plugins to use traffic server
298    configuration infrastructure. Author: Bianca Cooper.
299
300   *) [TS-1074] PluginVC should schedule to the local queue instead of the
301   external queue. Author: Brian Geffon
302
303   *) [TS-1032] Assertion when upstream connection is established (with event
304    handled by thread A) and immediately disconnected (handled by thread B).
305    Author: Uri Shachar.
306
307   *) [TS-1052] trafficserver restart does not work (needs to let the old
308    process die). Author: Billy Viera
309
310   *) [TS-1044] Fix TSVConn{Read,Write}VIOGet in UnixNetVConnection.
311     Author: James Peach.
312
313   *) [TS-1040] Teach TSHostLookup to use const. Author: James Peach.
314
315   *) [TS-1071] Debug statement in FetchSM broken. Author: Brian Geffon.
316
317   *) [TS-1057] Expose Base64-encoding through APIs.
318    Author: Yakov Kopel and leif
319
320   *) [TS-1014] slow log can not print logs well on 32-bit system,
321   changed the %d to RPI64. Author: weijin.
322
323   *) [TS-992] Various portability fixes. Author: Piotr Sikora
324
325   *) [TS-999] Deprecate TSUrlDestroy(), it's a no-op. Just make sure
326    to release the marshal buffers as normal.
327
328   *) [TS-245] Add TSStringPercentEncode(), TSUrlPercentEncode(), and
329    TSStringPercentDecode().
330
331   *) [TS-1065] traffic_cop segment fault when enable TRACE_LOG_COP.
332    Author: Conan Wang.
333
334   *) [TS-1029] DNS crash if we free the memory into system. Author: weijin
335
336   *) [TS-1055] Wrong implementation of TSHttpSsnArgGet().
337    Author: Yakov Kopel
338
339   *) [TS-992] Portability fixes. Author: Piotr Sikora.
340
341   *) [TS-949] Fix key->vol hash to be consistent when a disk is marked bad.
342
343   *) [TS-1047] fix lots of spelling mistakes Author: Arno Töll
344
345   *) [TS-1042] correct debug message in FetchSM. Author: James Peach
346
347   *) [TS-1039] use pcre-config to find libpcre. Author: James Peach
348
349   *) [TS-1037] Fix for computing local machine address (was ignoring
350    general addresses).
351
352   *) [TS-1030] Improve hashing mechanism on WKS.
353
354   *) [TS-1028] Avoid triggering assert when running debug build and enabling
355    per-thread connection pols
356
357   *) [TS-1021] Remove extra newline from binary logs.
358
359   *) [TS-1022] Use size specific types for serialized data in binary logs.
360
361 Changes with Apache Traffic Server 3.1.1
362   *) [TS-1020] Make logging to a named pipe work on Solaris.
363
364   *) [TS-1016] Make the update frequency for stats configurable.
365
366   *) [TS-944] Align all configurations of paths to use the same function
367
368   *) [TS-1018] Remove obsolete OpenSSL acceleration code and configs
369
370   *) [TS-1013] Allow ssl_multicert.config to support CA chains per host
371
372   *) [TS-971] make cache evacuate work as expect.
373
374   *) [TS-982] Fixed PluginVC set active/passive address. Clarified that
375    it expects host order input.
376
377   *) [TS-1012] Eliminate proxy.config.http.append_xforwards_header, which
378    is never used.
379
380   *) [TS-1004] Transformation plugins cause connection close when content
381    length is not known ahead. Author: Otto van der Schaaf.
382
383   *) [TS-1011] Fixes for OpenSSL, specifically triggered for Solaris, but
384    generally broken assumptions in the old code.
385
386   *) [TS-989] Logging is now IPv6 compatible.
387
388   NOTE: IP addresses are now encoded as a specific type of binary
389   data, not a mix of unsigned ints and strings. This is a log binary
390   format change and therefore WILL BREAK ACCESS TO LOG DATA FROM
391   PREVIOUS VERSIONS.
392
393   *) [TS-1009] Disable starting ICP continuations if ICP is not enabled.
394
395   *) [TS-1005] Use traffic_line for reload option with RC script.
396    Author: Jan-Frode Myklebust.
397
398   *) [TS-984] Log roll crash fixed.
399
400   *) [TS-997] ATS crashes on remap plugin initialization failure.
401    Author: Manjesh Nilange.
402
403   *) [TS-988] Updated ICP for IPv6.
404
405   *) [TS-994] Removed the extra splace from X-Forwarded-For.
406
407   *) [TS-934] Added some wrapping around NetVConnection for server
408    handling so that connection objects can be safely locked across
409    threads.
410
411   *) [TS-991] Fixed race / stall condition for WCCP during restart.
412
413   *) [TS-985] ts/ts.h uses C++ comments, which are technically not C.
414
415   *) [TS-928] Compile problem in TsErrataUtil on FreeBSD 8.
416
417   *) [TS-973] Eliminate proxy.config.http.verbose_via_str.
418
419   *) [TS-747] Add a new option, proxy.config.ssl.compression, to turn
420    SSL compression on / off. This currently only works with OpenSSL
421    v1.0.0 and later.
422
423   *) [TS-963] Change the way ip_allow is parsed to be consistent with
424    earlier versions (first match). Added default IPv6 allow. Added
425    regression tests for the underlying IpMap class.
426
427   *) [TS-948] Don't reload or load a broken remap.config.
428
429   *) [TS-824] Range requests that result in cache refresh give 200 status
430    response with full contents. Review and suggestions for improvements
431    by Charlie Gero.
432
433   *) [TS-964] Add 64-bit integer plugin APIs for HTTP headers.
434
435   *) [TS-932] Fix m_pending_event == NULL crash in LogCollationClientSM.cc
436    Author: weijin
437
438   *) [TS-830] Better error when there are CLI permission problems, or
439    other problems preventing operation. Author: AdunGaos.
440
441   *) [TS-979] Found a few places where we can segfault with strlcpy.
442
443   *) [TS-938] Fix VIA to avoid loopback address. For Solaris only IPv4
444    is supported.
445
446   *) [TS-945] Convert transparent forward requests to server style when
447      forwarding to a parent proxy. Contributed by Yossi Gottlieb.
448
449   *) [TS-926] IPv6 conversion of iocore.
450
451   *) [TS-967] This is a simplified version of Arno Toell's patch which does
452    the same: Check if any -O options where given, and if so, use those, if
453    not, use our default -O3.
454
455   *) [TS-957] remove IE6 from the white list of ae_ua filter
456
457   *) [TS-955] Fix the logging regression testing.
458
459   *) [TS-962] typo of key name in logstats.cc. Author: Nick Berry.
460
461   *) [TS-958] Fix a few valgrind memory check errors.
462
463   *) [TS-567] A number of memory allocation clean up, and improvements. We
464    now also support building with tcmalloc, jemalloc, and you can also turn
465    off the freelist feature (for better debugging).
466
467   *) [TS-950] Make the HTTP header regressions work on 32-bit, inefficient,
468    but it works.
469
470   *) [TS-956] fix the building with zlib-1.2.5.1.
471
472   *) [TS-953] consolidate string copy/concat for examples.
473
474   *) [TS-924] More efficient sharing of origin connections.
475
476    This also overloads the config for shared connections as follows:
477
478        #  0 - Never
479        #  1 - Share, with a single global connection pool
480        #  2 - Share, with a connection pool per worker thread
481        CONFIG proxy.config.http.share_server_sessions INT 1
482
483    This option is now per-request (remap or plugin) overridable. This is
484    heavily based on William Bardwells and Weijin's work.
485
486   *) [TS-84] Unify all code to use PATH_NAME_MAX, and increase it to 4K.
487
488   *) [TS-943] Implement support for HTTP accept filters.
489
490   *) [TS-168] revert iObject and other changes, make collation client work
491    in the clean way.
492
493   *) [TS-941] invalid cast of off_t math to int. Author: B Wyatt.
494
495   *) [TS-940] Add new configuration option, and solaris support, to set
496   an initial congestion window size, proxy.config.http.server_tcp_init_cwnd.
497
498   *) [TS-931] cluster latency too high, about 24ms. this change will cut
499    the latency from 20+ms to about 10ms. Author: weijin
500
501   *) [TS-896] When logging config changes, we should check if it is remote
502    logging and clean up the collation client related data.
503
504   *) [TS-936] Fix problems with core file generation on Linux.
505
506   *) [TS-930] Fixed TSNetConnect to use network order for port.
507
508   *) [TS-1008] Add API to get TCP connection from SSN.
509
510 Changes with Apache Traffic Server 3.1.0
511   *) Make sure --enable-purify works again
512
513   *) [TS-888] Fix SSL by enabling the right direction on successful setup.
514
515   *) [TS-925] Switch from integer thread IDs to hex thread IDs with the
516    diagnostics output. Author: Brian Geffon.
517
518   *) [TS-919] All of iocore is now IPv6 compatible. Much of this work
519    was contributed by Yossi Gottlieb.
520
521   *) [TS-867] moving to a different thread only if the pluginvc is invoked
522    from a non regular thread.
523
524   *) [TS-876] forward map based on request receive port. Author: Manjesh
525    Nilange.
526
527   *) [TS-880] Major performance problem with second request on same
528    keep-alive connection. This is a partial fix, another 2x improvement
529    can be made, but too risky right now. Authors: William Bardwell and
530    weijin.
531
532   *) [TS-900] TSHttpTxnNewCacheLookupDo (experimental) breaks requests
533    to origin server. Author: William Bardwell.
534
535   *) [TS-918] Allow interval-based rotation for round robin entries.
536    Author: M. Nunberg.
537
538   *) [TS-916] TSHttpIsInternalRequest() crashes if client connection is
539    terminated prematurely. Author: Manjesh Nilange.
540
541   *) [TS-466] Multiline headers handled improperly.
542
543   *) [TS-914] fix iocore_net_main_poll debug info in UnixNet.cc
544    Author: taorui
545
546   *) [TS-911] Remove unecessary lock in HTTP accept.
547
548   *) [TS-908] HostDB now stores IPv6 addresses.
549
550   *) [TS-813] fix http_ui /stat/ to response with content type
551
552   *) [TS-849] fix some variables for traffic_line -s setting
553
554   *) [TS-874] make asf-dist work with git repo
555
556   *) [TS-906] ATS doesn't use proxy.config.http.forward.proxy_auth_to_parent.
557
558   *) [TS-592] DNS internals are now IPv6 compatible. Externally this means
559      DNS servers with IPv6 addresses can be used although only IPv4 responses
560      are useful until other IPv6 upgrades are done.
561
562   *) [TS-907] The source address for DNS requests can be set.
563
564   *) [TS-903] Internal resolver library now IPv6 compatible.
565      IP address matching libraries removed, replaced with IpMap which is
566      faster and IPv6 compatible. SOCKS and IpAllow configurations files
567      will now parse IPv6 ranges, although they do not current have effect.
568
569   *) [TS-901] Valgrind found minor leaks and uninitialized variables.
570    Author: William Bardwell.
571
572   *) [TS-863] Make proxy.config.http.keep_alive_no_activity_timeout_out
573    configurable per transaction. Author: William Bardwell.
574
575   *) [TS-859] Make parent proxy not not work anymore.
576
577   *) [TS-889] Disable warnings on deprecated APIs for Darwin (OSX). This
578    fixes build problesm on OSX 10.7 (Lion) when using the system OpenSSL.
579
580   *) [TS-890] update remap.config comments on regexes to be
581    accurate. Author: Manjesh Nilange.
582
583   *) TS-885 service trafficserver condrestart does the opposite of what´s
584     intended. Author: Jan-Frode Myklebust
585
586   *) [TS-898] "fixed" problems reported by Coverity
587     1. Changed sprintf to snprintf
588     2. ignore error on sscanf that is safe
589
590   *) [TS-807] no config item "proxy.config.hostdb.disable_reverse_lookup" in
591    hostdb. Author: weijin.
592
593   *) [TS-883] Fix help / usage text to be, ehm, correct.
594
595   *) [TS-567] Cleanup, removing unecessary, and unsupported, debug features.
596
597   *) [TS-848] fix crash in net pages and remove useless option.
598
599   *) IpLookup was removed from the experimental API.
600
601   *) proxy.config.http.cache.cache_responses_to_cookies can now be overridden
602    on a per request basis in cache.config.
603
604   *) [TS-816] Other ports now obey specified options for both normal
605    and standalone usage.
606
607   *) [TS-882] traffic_logstats dies when printing log.
608
609   *) [TS-804] libcap required when running standalone.
610
611   *) [TS-730] Allow for the SSL Cipher Suite to be configured.
612
613   *) [TS-881] Better error message from TrafficCop when admin user lookup
614    fails.
615
616   *) [TS-875] TSFetchRestpGet(), TSFetchPageResptGet() and TSFetchUrl() have
617    incorrect asserts. Author: Manjesh Nilange.
618
619   *) [TS-853] Fix a few example plugins to use the new (appropriate) sockaddr
620    based APIs (and not the deprecated APIs).
621
622   *) [TS-870] Fix evacuate relevant codes in cache to work, Author: mohan_zl
623
624   *) [TS-869] The stat code for ram_cache miss is lost, Author: mohan_zl
625
626   *) [TS-873] Wrong code in iocore/net/UnixNet.cc, Author: mohan_zl
627
628   *) [TS-833] Continuation::handleEvent deadbeef fix, authors jplevyak and
629   taorui.
630
631   *) [TS-834] InactivityCopy::check_inactivity crash.
632
633   *) [TS-864] Need more information from CacheHttpInfo (req time, resp time,
634   size). Author: William Bardwell.
635
636   *) [TS-860] Built in error for host not found looks like Internet Explorer
637   error. Author: William Bardwell.
638
639   *) [TS-861] Need a way to disable Vary: Accept-Encoding checking so a plugin
640   can take care of that. Author: William Bardwell.
641
642   *) [TS-862] Need to be able to make keep alive connections not shared on a
643   per-transaction basis. Author: William Bardwell.
644
645   *) [TS-865] Need to get address for a VConn from a plugin similar to how you
646    can get it for the various things in a transaction. Author: William
647    Bardwell.
648
649   *) [TS-868] build fails with --as-needed. Author: Ilya Barygin.
650
651   *) [TS-851] run TS without a real interface
652
653   *) [TS-822] make cluster thread number configable
654
655   *) [TS-845] make proxy.config.cluster.ethernet_interface default to
656    loopback interface: lo on linux and lo0 on bsd derivatives
657
658   *) [TS-847] Bad timeout when using CONNECT method.
659
660   *) [TS-826] TSHttpTxnErrorBodySet() can leak memory. Author: William
661   Bardwell.
662
663   *) [TS-840] Regression checks fail (again) due to faulty assert use.
664    Author: Arno Toell.
665
666   *) [TS-842] remove uninstall target from build system
667
668   *) [TS-648] Use hwloc library when available. This can be disabled
669    with --disable-hwloc.
670
671   *) [TS-398] Autoscaling threads vs Hyper Threading. This requires
672    support for hwloc as well.
673
674   *) [TS-760] Cleanup mgmt types.
675
676   *) [TS-359] Remove DIR_SEP and use slash directly.
677
678   *) [TS-839] Build problems when specifying lmza location.
679
680   *) [TS-828] Various memory leaks and uninitialized values. Author:
681    William Bardwell.
682
683   *) [TS-815] make sure that a missing yacc/bison|flex/lex is *fatal* when
684    building with wccp. Author: Arno Toll.
685
686 Changes with Apache Traffic Server 3.0.0
687   *) [TS-827] TSMimeHdrFieldValueStringInsert() can use freed memory to
688   edit headers. Author: William Bardwell.
689
690   *) [TS-825] negative caching caches responses that should never be
691    cached: Author: William Bardwell.
692
693   *) [TS-820] Restore log buffer size to previous defaults.
694
695   *) [TS-818] Assertion/abort when starting TS with SOCKS proxy enabled.
696    Author: Yakov Markovitch
697
698   *) [TS-810] Typo in switch statement + slight improvement.
699
700   *) [TS-809] ts.h broken when compiling C plugins.
701
702   *) [TS-798] We add broken remap rules when we encounter parse errors of
703    remap.config.
704
705 Changes with Apache Traffic Server 2.1.9
706   *) [TS-805] HostDB wastes a lot of storage for round-robin entries,
707    and the calculations of size are off.
708
709   *) [TS-806] TS_ADDTO removes duplicates, so avoid this by using the
710    -R option to libtool
711
712   *) [TS-793] Improve print statements for ink_freelist debugging.
713
714   *) [TS-679] The external API was changed to make it IPv6 compliant
715      (although it doesn't actually work with IPv6). Old API functions
716      were deprecated but not removed.
717
718   *) [TS-797] Wrong delete used in stats processor.
719
720   *) [TS-769] Fixed infinite loop when getting a 505 response from the
721    origin and the connection is keep-alive.  Now downgrading keep-alive
722    all the time along with the protocol.
723
724   *) [TS-788] Cleaned up the request and response cacheable apis.
725
726   *) [TS-792] Add a config option (disabled by default) to support
727   mlock() and mlockall().
728
729   *) [TS-783] Port ATS to IA64. Author: Arno Toell.
730
731   *) [TS-778] Compile Fails on Solaris 10 (gcc). Author: Igor Brezac.
732
733   *) [TS-404] Add a new API, TSOSIpSet() which allows you to bypass the
734     origin server DNS lookup.
735
736   *) [TS-791] Remove ShmemClean.cc, it's no longer needed.
737
738   *) [TS-786] Add a perl module to edit a records.config configuration
739   file.
740
741   *) [TS-779] Set thread name for various event types.
742
743   *) [TS-784] Don not use class allocator for remap processing when no
744    remap threads are enabled.
745
746   *) [TS-782] Remap processor creates a remap thread even when asked not
747    to.
748
749   *) [TS-781] Cleanup of unusual configs, and better defaults making
750    records.config leaner, and a little more useful.
751
752   *) [TS-780] Retune the number of SSL threads.
753
754   *) [TS-775] Disable cluster autodiscovery via multicast when
755    clustering is disabled. This should hopefully fix run-time errors
756    with Ubuntu 11.x.
757
758   *) [TS-776] memchr in glibc has evolved, and is faster than our
759    version, replaced.
760
761   *) [TS-774] Add a new configure option, --enable-static-libts, which
762    avoids the dynamic linking hassles involved with the dynamic nature
763    of libts. This is for devs only.
764
765   *) [TS-773] Traffic server has a hard limit of 512 gigabytes per RAW
766    disk partition. This fix required changing the disk structure which
767    will result in a total disk cache clear (wipe) after upgrading.
768
769   *) [TS-772] Make proxy.config.http.doc_in_cache_skip_dns overridable.
770
771   *) [TS-770] proxy.config.http.doc_in_cache_skip_dns is not being read
772    from records.config. Author: Yakov Markovitch
773
774   *) [TS-738] 'make check` fails on x86.
775
776   *) [TS-771] Remove remaining v1 log buffer code.
777
778   *) [TS-562] Make --with-openssl path be honored with an -rpath to
779    libtool. This also fixes the same problem with other libraries,
780    e.g. pcre, zlib etc.
781
782   *) [TS-765] Make the backdoor port (8084 by default) only listen on
783    127.0.0.1 .
784
785   *) [TS-762] Range values like -10 are processed. Author: William
786    Bardwell.
787
788   *) [TS-761] Fixed bug where 3 (or more) remap plugins in a chain
789    couldn't be loaded.
790
791   *) [TS-763] When creating multiple SSL accept threads, we use the
792    wrong instantiator.
793
794   *) [TS-757] Change TSNetAccept() API to take an option for enabling
795     (and number of) accept threads.
796
797   *) [TS-759] Makefile in proxy/config handles $DESTDIR incorrectly.
798    Author: Arno Toell
799
800 Changes with Apache Traffic Server 2.1.8
801   *) [TS-750] TS does not fail-over if one origin server for a 2 address
802    hostname. Author: William Bardwell.
803
804   *) [TS-752] If you cancel a scan really quickly you can get a NULL
805   dereference. Also other important performance and correctness fixes
806   for the cache scanning code. Author: William Bardwell and jplevyak.
807
808   *) [TS-749] Connection hangs if origin server goes down in the middle of
809   a response. Author: William Bardwell.
810
811   *) [TS-753] TS-753 Some more cleanup in InkAPI, move a few experimental
812    APIs to ts.h
813
814   *) [TS-751] Experimental TSHttpTxnCacheLookupStatusSet(HIT_STALE) calls
815    cause a crash. Author: William Bardwell
816
817   *) [TS-748] Client side transparency doesn't work on trunk.
818
819   *) [TS-702] FATAL: MIME.cc:1250: failed assert `j < block_count`.
820   Author: Yakov Markovitch
821
822   *) [TS-746] Allow to remove URL fields with "NULL" (or 0) values.
823
824   *) [TS-744] Configurations to control SSL session reuse and cache
825   size. Authors: qianshi and Leif
826
827   *) [TS-716] Bug where NetVC could be double free'd.
828    Fix for DNS crash: bad memory management of HostEnt structures. It is
829    not clear that this fixes the bug entirely.  Some of the stack traces
830    are consistent with this bug, but some are not.
831
832   *) [TS-743] Support separate configs for keep-alive enabled for _in
833    and _out connections.
834
835   *) [TS-741] traffic_manager handles sockets incorrectly.
836
837   *) [TS-742] assert triggered wrongly (in debug builds).
838
839   *) [TS-740] Traffic Server fails to build on kfreebsd.
840    Author: Arno Toell.
841
842   *) [TS-737] Small hackish fix for rc/trafficserver.in so rc/trafficserver
843    will work with FreeBSD. Author: G Todd.
844
845   *) [TS-735] Disable ccache by default, use with --enable-ccache.
846
847   *) [TS-734] Remove unused fields in net stats pages.
848
849   *) [TS-212] Startup service support for Solaris. Author: Igor Brezac.
850
851   *) [TS-629] fix some non-portable char == unsigned char assumptions.
852
853   *) [TS-621] Update records.config.default.in with changed / removed
854    configs.
855
856   *) [TS-641] Remove a bunch of Web UI related configs and code.
857
858   *) [TS-719] libtsutil.so is not self-contained.
859   Author: Igor Brezac.
860
861   *) [TS-729] Fix bugs with Via Headers handling. (Note: This is
862    unlikely to have caused the crash the bug report)
863    Author Leif Hedstrom
864
865   *) [TS-721] Incorrect http hit ratio in stats.
866    This also removes a number of obsoleted stats and also disables
867    stats aggregation in WebOverview.cc, one more nail to WebUI's
868    grave. Author: Leif Hedstrom
869
870   *) [TS-728] Remove the --enable-webui option, since it doesn't
871    produce a running webui anyway. Also remove html2
872
873   *) [TS-685] Rename partition.config because it doesn't have
874    anything todo with disks. Also rename all code related to it
875    so as not to confuse anybody.
876
877   *) [TS-714] Fix traffic_shell hanging on every command
878
879   *) [TS-562] Fix TCL linking to honor custom library dirs.
880    Author: Eric Connell.
881
882   *) [TS-624] make install should not overwrite etc/trafficserver/.
883    Author: Eric Connell.
884
885   *) [TS-465] Allow for existing Server: string to not be overwritten.
886    This adds a new semantic for the value "2" to this option.
887
888   *) [TS-633] Fix reverse mapping with different schemes.
889    Author: Andreas Hartke.
890
891   *) [TS-715] Fixes and cleanup for Perl client. Author: Billy Vierra.
892
893   *) TS-550 Remove an unused / unsupported debug tool. Also update the
894    remap code to use our standard linked list (Queue in this case).
895
896   *) [TS-704] Link traffic_server dynamically to make distros happy,
897   since --disable-static will work.
898
899   *) [TS-545] Clean out more cruft from MIXT legacy.
900
901   *) [TS-713] Honor the offset within do_io_pread.
902
903   *) [TS-712] Fix compile problems with clang / llvm
904
905   *) [TS-545] parent.config (and perhaps other configs) have an unused
906    concept of "tags" for MIXT media. Cleanup remaining MIXT junk.
907
908 Changes with Apache Traffic Server 2.1.7
909   *) [TS-711] Don't schedule remap.config reloads on a network threads.
910    We now schedule this task on an ET_TASK thread, which avoids blocking
911    a net-thread for several seconds (when reloading very large remaps).
912
913   *) [TS-710] Do not dlopen / reload a remap plugin .so more than once.
914
915   *) [TS-588] Change Remap plugin APIs to use URL TSMLoc, and normal
916    ts/ts.h APIs for getting and setting components.
917
918   *) [TS-708] TsConfig doesn't handle backslashes correctly.
919
920   *) [TS-209] add support for raw disk on Solaris: credits: Igor Brezac
921     for both the code and testing!
922
923   *) [TS-705] Fixes for compiling with gcc v4.6.
924
925   *) [TS-706] hardware sector size's over 8K current report an Error
926    but are passed through resulting in lots of disk waste.
927
928   *) [TS-707] The random number generator from 1-23-2011 is using the
929    same seed for all threads = collisions in the cache
930
931   *) [TS-700] Need additional controls in cache.config.
932
933   *) [TS-696] make check fails on libtsutil due to missing libresolv
934    and librt. Author: Eric Connell.
935
936   *) [TS-691] LogFilter not working for "int" types.
937    Author: Eric Connell.
938
939   *) [TS-692] Add an experimental API to modify the outgoing IP address.
940
941   *) TS-676: logic in Store::clear and Store::read_config is wrong.
942   Author: mohan_zl.
943
944   *) [TS-680] Change many typedef void* types to anonymous structs.
945
946   *) [TS-690] Schedule some callbacks on the ET_TASK threads
947
948   *) TS-689 Restore TSMgmtUpdateRegister() to the SDK APIs.
949
950   *) [TS-550] Remove MgmtPlugin.{cc,h}.
951
952   *) [TS-657] Proper validation of RWW settings on startup.
953
954   *) [TS-688] Remove the "tag" modifier from parent.config.
955
956   *) [TS-682] Segfault when partition.config is used.
957
958   *) [TS-687] Build failures on FreeBSD8
959
960   *) [TS-684] config.layout for gentoo linux, may also be used on Fedora
961
962   *) [TS-675] Make redirect and reverse maps work again.
963
964 Changes with Apache Traffic Server 2.1.6
965
966   *) [TS-678] Add a config option for try-lock retry delay.
967
968    This adds a configuration option
969
970          proxy.config.cache.mutex_retry_delay INT 2
971
972    2ms seems to be fairly optimal, with little detrimental effect on CPU
973    usage. We'll fine tune this further in the next release.
974
975   *) [TS-674] Fixes for cache.config and the "modifiers" to work.
976
977   *) [TS-641] Remove inktomi*.css and some files only referenced by it.
978    Removing mgmt/html2/charting. Remove the now empty mgmt/html2/tune.
979
980   *) [TS-590] Cleanup all SDK APIs to be more consistent. This changes a
981    large number of APIs, so please check updated docs and signatures in
982    ts/ts.h. A new tools, tools/apichecker.pl, can be used to help
983    identifying areas in existing plugins that might need changes.
984
985   *) [TS-673] Make the default configurations more conservative
986    for when content is cacheable.
987
988   *) [TS-672] Remove unused/unreferenced Win32 header files and
989    code paths
990
991   *) [TS-671] Detect install group based on install user.
992
993   *) [TS-644] Fix clustered cache pages crash.
994
995   *) [TS-651] Clear all stats when we ask to clear the local stats.
996
997   *) [TS-489] Remove the "connection collapsing" feature, it was poorly
998    implemented, and caused major problem if enabled. We should redo this
999    for v3.1 in a way that fits with the HttpSM [author: mohan_zl].
1000
1001   *) [TS-668] Add support for URL stats to traffic_logstats.
1002
1003   *) [TS-665] Remove HTTP_ASSERT from the code base, use standard asserts.
1004
1005   *) [TS-663, TS-664] Fixes to WCCP with mask assignments, and trunk build
1006    problems.
1007
1008   *) [TS-662] Make per partition stats for bytes_used work.
1009
1010   *) [TS-661] Delay the copy of per transaction configs until a plugin
1011    actually tries to modify a setting. We also add these settings to the
1012    list of configurations that is overridable:
1013
1014        proxy.config.http.cache.max_open_read_retries
1015        proxy.config.http.cache.open_read_retry_time
1016
1017   *) [TS-660] Cache scan can not be canceled.
1018
1019   *) [TS-505, TS-506] Changed the defaults to deal with read contention on
1020    the cache, this dramatically improves the performance on cache misses.
1021
1022   *) [TS-655] Reorganize some code to reduce binary foot prints.
1023
1024   *) [TS-653] Bogus logcat conversion of squid timestamps.
1025
1026   *) [TS-643] Unable to purge objects on other servers in full cluster mode.
1027
1028   *) New 64-bit random generator.
1029
1030   *) [TS-639] Rename the management APIs from INK* to TS*.
1031
1032   *) [TS-650] Remove the dead v2 stats code.
1033
1034   *) [TS-649] Dynamic libraries for mgmt APIs.
1035
1036     This makes libts -> libtsutil, and we now support making .so's for
1037     libtsutil.so and libtsmgmt.so. All binaries are changed to use this,
1038     except traffic_server which continues to use the libtsutil.a library
1039     (for performance on e.g. 32-bit platforms).
1040
1041     This also renames the public API include file to be
1042
1043          #include <ts/mgmtapi.h>
1044
1045   *) [TS-647] Move Layout out of iocore and into lib/ts.
1046
1047   *) [TS-638] Rename various directories:
1048       proxy/mgmt -> mgmt/
1049       proxy/mgmt/cop -> cop/
1050
1051    All "cli" APIs are now also migrated into mgmt/cli, unified into one
1052    single cli.
1053
1054   *) [TS-641] Cleanup of Web2/HTML2.
1055
1056   *) [TS-636, TS-637] Remove various unused source files.
1057
1058   *) [TS-631] Rename proxy/http2 -> proxy/http and proxy/mgmt2 to proxy/mgmt.
1059
1060   *) [TS-582] Add an example to records.config for how to bind a specific IP.
1061
1062   *) [TS-491] Cluster port was activated even with clustering disabled. This fix also
1063    adds monitoring support for the "cli" unix domain socket.
1064
1065   *) [TS-593] Cleanup of inktomi.com.
1066
1067   *) [TS-324] Cleaning up some old TCL files and dependencies.
1068
1069   *) Remove traces of FTP references [TS-324] by purging the now useless TCL
1070   bindings to it.
1071
1072   *) [TS-513] Fix configure issues for sqlite3. This fix eliminates all of
1073   SimpleDBM, sqlite3 and bdb dependencies. It also fixes the "make
1074   distclean" problem, and clean things up a bit.
1075
1076   *) [TS-491] Add the CLI interface to Traffic Cop, and make it possible to
1077    run traffic_manager without listening on the cluster port.
1078
1079   *) [TS-583] Build fails if --disable-webui is added.
1080
1081   *) [TS-618] Removing traces of CCAS/CCASFLAGS.
1082
1083   *) [TS-627] Fixes for "make check" to succeed (author: Arno Toell).
1084
1085   *) [TS-632] Fixes for bad cast and cleanup for Intel CC.
1086
1087 Changes with Apache Traffic Server 2.1.5
1088
1089   *) More 64-bit issues has been identified in the SDK and HTTP core, and
1090   fixed [TS-620].
1091
1092   *) Code cleanup of old transparency code and options [TS-613].
1093
1094   *) We now require a compiler (or libc) that provides atomic
1095   operations. This includes gcc 4.1.2 or later, Intel CC, clang (recent
1096   versions) as well as Sun's Solaris compilers and libc [TS-618].
1097
1098   *) Support normal default path for remap plugins [TS-616].
1099
1100   *) Change default settings for MSIE User-Agent sniffing [TS-615].
1101
1102   *) Remove remnants from InktoSwitch. This removes the following
1103   configurations [TS-614]:
1104
1105       proxy.config.http.inktoswitch_enabled
1106       proxy.config.http.router_ip
1107       proxy.config.http.router_port
1108
1109   *) Modify TSContSchedule to take a thread type, and add
1110   TSContScheduleEvery [TS-589].
1111
1112   *) Added support to allow some select (~50 or so) records.config
1113   configurations to be overridable per transaction. This is done via new SDK
1114   APIs, as well as a remap plugin provided with the core [TS-599]. The new
1115   APIs available are
1116
1117       TSHttpTxnConfigIntSet()
1118       TSHttpTxnConfigIntGet()
1119       TSHttpTxnConfigFloatSet()
1120       TSHttpTxnConfigFloatGet()
1121       TSHttpTxnConfigStringSet()
1122       TSHttpTxnConfigStringGet()
1123       TSHttpTxnConfigFind()
1124
1125   *) Eliminate dedicated default DNS for SplitDNS [TS-597]. Author: Zhao
1126    Yongming.
1127
1128   *) Eliminate proxy.config.net.max_poll_delay configs [TS-605].
1129
1130   *) Old traffic_net configurations are eliminated [TS-601].
1131
1132   *) Multiple preads: this patch is only active if you call do_io_pread on
1133   the cache.  This includes a regression test for do_io_pread which is at
1134   least a smoke test of the new code. [TS-61]
1135
1136   *) Migrate from home-grown regular expression classes to pcre [TS-604]
1137
1138   *) Reduce number of calls to regex matcher for standard requests with
1139    well-known-strings (WKS). [TS-603]
1140
1141   *) Parse Range: requests a bit better. Prior, a request like like Range:
1142    bytes=100-200 would return 0-200. Additionally, Range: bytes=100- would
1143    not parse properly. [TS-596]
1144
1145   *) Remove old, unused configuration code (duplicated) [TS-576].
1146
1147   *) Bump the SDK version numbers properly [TS-595].
1148
1149   *) Migrate from our own int64 (et.al) to int64_t / stdint types. This also
1150    changes the SDK, so ts/ts.h users should now use int64_t etc. [TS-594].
1151
1152   *)./configure will now tell us more about its defaults.
1153
1154   *) Add better tests for eventfd, making sure sys/eventfd.h exists
1155    [TS-515].
1156
1157   *) Stub / base implementation for the Task thread pool [TS-589].
1158
1159   *) Cleanup of traffic_logstats, and also add support for JSON
1160    output. Several new options and query args added to select output format
1161    and data [TS-587].
1162
1163   *) Add back support for using the default DNSHandler from DNS.cc This
1164    helps with SplitDNS [TS-580].
1165
1166   *) Fixes for DNS to properly schedule and initialize [TS-570].
1167
1168   *) Fix make check so it actually compiles [TS-586].
1169
1170   *) Remove RAF pieces [TS-584].
1171
1172   *) Replace the SDKAllocator with a ClassAllocator [TS-577].
1173
1174      This reduces the amount of memory allocation for plugins, but requires
1175      that plugins now religiously release the handles that they are expected
1176      to release (i.e. no automatic gc is done for lazy developers).
1177
1178   *) Fixes for getting the altinfo regression check to succeeds [TS-171].
1179
1180   *) Fixes for some transform, and other, mismatches of int vs int64 in the
1181    new APIs and underlying cache [TS-456].
1182
1183   *) Eliminate misguided string copies in the SDK [TS-579].
1184
1185   *) Fix build of ts.h and tsxs when the .in files changes [TS-574].
1186
1187   *) Move libinktomi++ and librecords to lib/ts and lib/records [TS-571].
1188
1189   *) Add SDK API calls to directly get the elements of the running TS
1190    version [TS-568].
1191
1192   *) Added WCCP support.
1193
1194   *) Bring IPv6 functionality back to trunk, for incoming (client)
1195    connections [TS-18]. Original author: Tsunayoshi Egawa.
1196
1197   *) Segfault with HTTPS, fixed by correctly initializing SSLNetVConnection
1198    being added to freelist [TS-559].
1199
1200   *) The old logs.config custom log format is no longer supported. Only the
1201    XML custom logs are now supported. This eliminates the config
1202
1203        proxy.config.log.xml_logs_config
1204
1205    as well, since it's the only option for custom logs [TS-556].
1206
1207   *) All log configurations (and stats) are renamed from log2.* to
1208    log.*. This is to avoid confusion, since Apache Traffic Server never had
1209    the old (obsolete) log system. There's now only one log system, log
1210    [TS-555].
1211
1212   *) Many fixes and improvements on the Stats pages subsystem. This now
1213    properly supports (if configured) various internal URLs, like
1214    http://{net}, http://{hostdb} etc. [TS-554].
1215
1216   *) The NewCacheVC is removed [TS-551].
1217
1218   *) Support for the Alpha processor is eliminated [TS-552].
1219
1220   *) A number of unecessary memory allocations are removed, improving
1221    performance under heavy load. [TS-550, TS-549]
1222
1223   *) All streaming media (MIXT) configurations are now properly removed from
1224    code and default configs [TS-544].
1225
1226   *) URL scheme was case sensitive in the cache key [TS-474].
1227
1228   *) Fixes for broken API signatures, additions / modifications to the
1229    following API:
1230
1231      TSReturnCode TSHttpTxnArgSet(TSHttpTxn txnp, int arg_idx, void *arg);
1232      TSReturnCode TSHttpTxnArgGet(TSHttpTxn txnp, int arg_idx, void **argp);
1233      TSReturnCode TSHttpSsnArgSet(TSHttpSsn ssnp, int arg_idx, void *arg);
1234      TSReturnCode TSHttpSsnArgGet(TSHttpSsn ssnp, int arg_idx, void **argp);
1235
1236      TSReturnCode TSHttpArgIndexReserve(const char* name, const char*
1237      description, int* arg_idx); TSReturnCode TSHttpArgIndexNameLookup(const
1238      char* name, int* arg_idx, const char** description); TSReturnCode
1239      TSHttpArgIndexLookup(int arg_idx, const char** name, const char**
1240      description);
1241
1242      TSReturnCode TSHttpSsnTransactionCount(TSHttpSsn ssnp, int* count);
1243
1244    This was all combine into [TS-504], but also see [TS-503].
1245
1246   *) Many fixes for broken regression tests!
1247
1248   *) RNI is now completely cleaned out [TS-536].
1249
1250   *) Fixes for SplitDNS (co-author: mohan_zl) [TS-435].
1251
1252   *) HTTPS to origin servers, with Chunked responses, would hang [TS-540].
1253
1254   *) Mismatched APIs using "unsigned char*" [TS-458].
1255
1256   *) Rename / modify TSSetCacheUrl() API, the new prototype is
1257
1258      TSReturnCode TSCacheUrlSet(TSHttpTxn txnp, const char *url, int
1259      length);
1260
1261    If length == -1, then the API will calculate it using strlen() [TS-520].
1262
1263   *) All public APIs, structs and defines are now prefixed with "TS" instead
1264    of the old "INK". There are two exceptions, for the deprecated INKStats*
1265    and INKCoupledStats* APIs [TS-521].
1266
1267   *) The hooks around "remap" has been organized, and a new hook as been
1268    added (for post-remap). New / renamed hooks are
1269
1270      TS_HTTP_PRE_REMAP_HOOK TS_HTTP_POST_REMAP_HOOK
1271
1272    In addition, a new API was added, to allow a plugin to skip the remap
1273    phase completely:
1274
1275      TSReturnCode TSSkipRemappingSet(TSHttpTxn txnp, int flag);
1276
1277    These fixes went in with [TS-529] and [TS-530].
1278
1279   *) INKHttpTxnSetHttpRetStatus not honored when an API transaction is
1280    reenabled with INK_EVENT_HTTP_ERROR [TS-535].
1281
1282   *) Various defines for version identification has been moved to the public
1283    ts/ts.h include file, e.g.
1284
1285        #define TS_VERSION_STRING             "2.1.6-unstable"
1286        #define TS_VERSION_NUMBER              2001006
1287        #define TS_VERSION_MAJOR               2
1288        #define TS_VERSION_MINOR               1
1289        #define TS_VERSION_MICRO               6
1290
1291    The intended use is for plugins to be able to verify available APIs at
1292    compile time (vs the existing runtime checks) [TS-534].
1293
1294   *) Traffic Server should now build on ARM processors. Commit message is
1295    appropriately describing the situation with this CPU:
1296
1297    This is a sad day of defeat.  Not my defeat, but more a collective human
1298    defeat.
1299
1300    Question: "Chips fabricated today don't have 64bit atomic primitives?"
1301    Answer: "Be sad."
1302
1303    The ARM box we're working on (armv5tejl) doesn't support any 64bit
1304    primitives.
1305
1306    This means we need a method of using a global (yes, giant lock of death)
1307    to protect modifications of arbitrary 64bit integers in process space.
1308    We could make this less contentious by allocating pagesize/8 mutexs and
1309    then protecting an int64 based on its page offset.  Instead, I think we
1310    should mobilize to burn these architectures to the ground and use public
1311    embarrassment to fix future instruction sets. If another platform has
1312    this issue, we'll want to change the define to:
1313
1314    TS_ARCHITECTURE_LACKS_64BIT_INSTRUCTIONS and turn on the global death
1315    lock based on that.
1316
1317    This does not change performance on any other platform -- it's compile
1318    time capital punishment. [TS-533] and [TS-135].
1319
1320   *) Very old APIs, that have been deprecated since long before the Apache
1321    Open Source project, are removed. Also, only three public include files
1322    are now available:
1323
1324      ts/ts.h ts/experimental.h ts/remap.h
1325
1326   Various other cleanup related to the APIs was also done [TS-522].
1327
1328 Changes with Apache Traffic Server 2.1.4
1329
1330   *) Fixes to clustering, that caused an assert to trigger after the stats
1331    changes [TS-519].
1332
1333   *) Make the checks when to honor the Content-Length: header less strict,
1334    against origins without Keep-Alive [TS-500].
1335
1336   *) Eliminate old ssl_ports feature, it's completely replaced with the
1337    connect_ports configuration [TS-517].
1338
1339   *) New script available to help build plugins, tsxs [TS-512].
1340
1341   *) Simple, brute force (and efficient) status code stats counters
1342    [TS-509].
1343
1344   *) Generalize RecDumpRecordsHt to use RecDumpRecords which is a
1345    callback/map pattern [TS-508].
1346
1347   *) Fix plugin APIs to be compatible with the 64-bit changes in the
1348    core. This is an incompatible change with previous releases [TS-14].
1349
1350   *) Fixes for stats around origin connection counters, used when allowing
1351    for origin connections to be reused between clients [TS-501].
1352
1353   *) Experimental supoprt for a dedicated DNS thread. This can be enabled
1354    with the records.config option
1355
1356       CONFIG proxy.config.dns.dedicated_thread INT 1
1357
1358   This feature is possibly useful for very busy forward or transparent
1359   proxies [TS-307].
1360
1361   *) Accept threads can leak some amount of memory. This patch also supports
1362    multiple accept threads (very experimental!) [TS-496].
1363
1364   *) HttpSM has an assertion that checks the client URL against the cache
1365    URL, which breaks INKSetCacheUrl [TS-495].
1366
1367   *) Return value from pcre_exec tested incorrectly [TS-493].
1368
1369   *) Improved loop detection using the Via header [TS-490].
1370
1371   *) Fixes for Solaris build (yay, it builds!).
1372
1373   *) Remove filter.config remnants [TS-486].
1374
1375   *) Cleanup in InkAPI [TS-485].
1376
1377   *) Move PKGSYSUSER to ink_config.h.in [TS-482].
1378
1379   *) Unresponsive server can stall ATS [TS-480].
1380
1381   *) UrlRewrite cleanup [TS-434].
1382
1383   *) Build TS with clang (author: Igor Galic) [TS-427].
1384
1385   *) Better support and handling of DNS round-robin options (author: Zhao
1386    Yongming) [TS-313].
1387
1388   *) Make it possible to "write" Content-Length headers > 2GB [TS-471].
1389
1390   *) Better support for Age: headers, and avoiding overflows [TS-470].
1391
1392   *) Added a configure option to size the API stats "slots". The new option
1393   is --with-max-api-stats=<n> [TS-454].
1394
1395   *) In Cache.cc, make snprintf() around Debug statements conditional for
1396    performance [TS-459].
1397
1398   *) Cleanup / optimize Via: string generation [TS-460]. Also make the
1399    default for Via: on responses to be disabled (it can leak info).
1400
1401 Changes with Apache Traffic Server 2.1.3
1402
1403   *) Removed the remnants of NCA from the source [TS-455].
1404
1405   *) New plugin APIs for stats, and making the "v2" (incomplete) stats
1406   experimental (no longer built by default) [TS-390]. See
1407   https://cwiki.apache.org/confluence/display/TS/NewStatsAPI for more
1408   details.
1409
1410   *) Cleanup in duplicated configs, and obsoleted configs [TS-447] and
1411    [TS-451].
1412
1413   *) Remove some remnants of SNMP [TS-401].
1414
1415   *) Cleanup of MIX and LDAP/NTLM remnants [TS-443].
1416
1417   *) Make the target fragment size configurable for the disk cache. This
1418    adds a new option, proxy.config.cache.target_fragment_size [TS-445].
1419    This should dramatically improve large file disk performance.
1420
1421   *) Improve build include dependencies [TS-442].
1422
1423   *) Cleanup / fixes for remap plugin chaining [TS-224].
1424
1425   *) Support the rc/trafficserver script for FreeBSD [TS-211].
1426
1427   *) traffic_shell shows wrong RAM cache size > 2GB [TS-439].
1428
1429   *) Better warnings / errors when bad NIC is configured [TS-327].
1430
1431   *) Add support for hardware sector sizes 512 - 8192 bytes (e.g. 4096, the
1432    new standard). Autodetected for raw devices on Linux (no support for
1433    other OSes yet), and added a new configuration
1434
1435        CONFIG proxy.config.cache.force_sector_size INT 4096
1436
1437    This change invalidates the entire cache as well, since it's no longer
1438    compatible [TS-43].
1439
1440   *) Added APIs to override the cacheablity of the response [TS-395].
1441
1442   *) Add OSX support to 'trafficserver' script (author: Dan Mercer)
1443    [TS-210].
1444
1445   *) Fix for (very) large buffers fed to the cache [TS-413].
1446
1447   *) Forward transparency is available on Linux kernels with TPROXY
1448    [TS-291].
1449
1450   *) Fix defaults / max for DNS retries [TS-424].
1451
1452   *) Improvements for Perl admin module (author: Adam Faris) [TS-418].
1453
1454   *) Problems with specifying separate config files for SSL certificates and
1455    keys [TS-405].
1456
1457   *) Logging: Default settings for diagnostic logging [TS-55].
1458
1459   *) Fixes to Debian layout (author: Igor Galić) [TS-415].
1460
1461   *) Remove DNS proxy support [TS-422].
1462
1463   *) rc/trafficserver start/stop quits with bogus status on success (author:
1464    Igor Galić) [TS-429].
1465
1466   *) Increase default max in-flight DNS queries [TS-423].
1467
1468   *) Update so the pristine URL will work for reverse and forward proxy.
1469     Also, clearing the url on transaction close (author: Wendy Huang)
1470     [TS-410].
1471
1472   *) TS fails to use user ID with user name > 8 characters (author: Yakov
1473    Markovitch) [TS-420].
1474
1475   *) Duplication of RAM cache hits and miss statistics (reading 2x) (author:
1476    John Plevyak) [TS-453].
1477
1478 Changes with Apache Traffic Server 2.1.2
1479
1480   *) Improvements in resilience against DNS poisoning and forging of
1481    response packets [TS-425] and [CVE-2010-2952].
1482
1483   *) Segmentation fault in INKError when error output is made both in error
1484    log and as debug messages (author: Yakov Markovitch) [TS-419].
1485
1486   *) Debian layout for config.layout (author: Igor Galic) [TS-415].
1487
1488   *) Eliminate extraneous stats thread [TS-411].
1489
1490   *) CACHE_FRAG_TYPE is now not a power of 2 [TS-76].
1491
1492   *) Remove unnecessary stats update [TS-390].
1493
1494   *) Get basic features to compile with Intel CC [TS-400].
1495
1496   *) More 64 bit issues, this time in the PluginVC code [TS-380].
1497
1498   *) Add configure option to enable detailed logging [TS-392].
1499
1500   *) Make sure to honor user settings for "dirs" (author: Theo Schlossnagle)
1501    [TS-399].
1502
1503   *) Errors on failing to bind / listen on a specified port [TS-247].
1504
1505   *) Exempt quick filter for 127.0.0.1 [TS-397].
1506
1507   *) Cleanup after "layout changes" (author: Zhao Yongming) [TS-389].
1508
1509   *) Fix remaining (non-API) INK64 etc. [TS-365].
1510
1511   *) Segfault when using show:network [TS-109].
1512
1513   *) Update all examples to use non-deprecated APIs [TS-266].
1514
1515   *) Do some cleanup on Connection::fast_connect and
1516    Connection::bind_connect (author: Alan M. Carrol) [TS-320].
1517
1518   *) Remove LLONG config option [Ts-364].
1519
1520   *) Cleanup some proxy/mgmt2/tools [TS-16].
1521
1522   *) Cleanup a little more of webui [TS-91].
1523
1524   *) TCL missing [TS-326].
1525
1526   *) logstats does not work with layout changes (author: Zhao Yongming)
1527    [TS-385].
1528
1529   *) Convert bogus IOCORE_MachineFatal and IOCORE_ProcessFatal to Warning
1530     and MachineFatal respectively based on review of the code and related
1531     uses [TS-144].
1532
1533   *) INKIOBufferReaderCopy, INKIOBufferWrite should take void * instead of
1534    char * [TS-67].
1535
1536   *) Adds APIs for aio disk read and writes using the internal aio support
1537     in iocore (author: Wendy Huang) [TS-387].
1538
1539   *) Solaris 10 (x86) 64-bit patch (author: Igor Brezac) [TS-388].
1540
1541   *) Fix for 64-bit conversion [TS-385].
1542
1543   *) Creating transaction specific 'to URL' in case of regex remap match
1544    [TS-384].
1545
1546   *) Backing out m_capacity_host changes [TS-383]
1547
1548   *) Solaris 10 port work.
1549
1550 Changes with Apache Traffic Server 2.1.1
1551
1552   *) Allow SI decimal multipliers for numeric configuration parameters
1553     [TS-361].
1554
1555   *) Standardize configure options by allowing to specify the location for
1556     any third-party library, and split library detection code into separate
1557     .m4 files [TS-345].
1558
1559   *) Reorganization of the path layout system.  Add --enable-layout=LAYOUT
1560     configure option that can select layout from config.layout file
1561     [TS-280].
1562
1563   *) HTTP state machine is now 64-bit "clean", allowing for caching and
1564    proxying documents larger than 2GB [TS-34].
1565
1566   *) Fix for truncated Content-Type on TS-generated responses [TS-290].
1567
1568   *) Performance improvements on cache for larger(ish) objects.
1569
1570 Changes with Apache Traffic Server 2.1.0
1571
1572   *) Support for many more platforms, including FreeBSD, MacOSX and Solaris.
1573
1574   *) Code cleanup to get the ATS software into a distributable shape. This
1575    means that certain things are missing, or not functional (intentionally).
1576
1577   *) Support for larger Cache Partitions up to .5 PB (Petabytes), reducing
1578    seeks/write.
1579
1580   *) Reduced Cache miss latency (sub millesecond).
1581
1582   *) RAM Cache pluggability, new algorithm (CLFUS) and optional compression.
1583
1584   *) Support for TCL v8.6 and later [TS-246].
1585
1586   *) The cache is now 64-bit "clean".
1587
1588 Changes with Apache Traffic Server 2.0.1
1589
1590   *) Port of CVE-2010-2952 for 2.0.x [TS-425].
1591
1592   *) Backport part of TS-322 that deals with indexing arrays with char
1593    (author: Marcus Ruckert) [TS-334].
1594
1595   *) Backport TS-336 to 2.0.x. Problems with make install DESTDIR=...
1596
1597 Changes with Apache Traffic Server 2.0.0
1598
1599   *) Change SDK versioning schemes to 2.0 [TS-249).
1600
1601   *) Minor additions to the SDK (see the docs for details).
1602
1603   *) Support regexe_map rules in remap.config [TS-80]
1604
1605 Changes with Apache Traffic Server 2.0.0-alpha
1606
1607   *) Code cleanup to get the ATS software into a distributable shape. This
1608    means that certain things are missing, or not functional (intentionally).
1609
1610   *) Ports available for most Linux distros, including 64-bit.