HISTORY 12.1 KB
Newer Older
Y
yuqing 已提交
1

Y
YuQing 已提交
2 3 4
Version 1.45  2020-12-24
  * add function uniq_skiplist_find_node_ex

Y
YuQing 已提交
5
Version 1.44  2020-12-06
6
  * add test file src/tests/test_pthread_lock.c
Y
YuQing 已提交
7
  * add uniq_skiplist.[hc]
Y
YuQing 已提交
8
  * add function split_string_ex
9
  * fast_mblock.[hc]: add init_args for init_func
Y
YuQing 已提交
10 11
  * struct fast_task_info add field: nio_stage
  * add function fc_memrchr
Y
YuQing 已提交
12
  * add function is_network_error
Y
YuQing 已提交
13
  * add function fast_mpool_log_stats
Y
YuQing 已提交
14
  * add files: server_id_func.[hc]
15
  * common_blocked_queue support pop all nodes
16
  * shared_func.[hc]: add functions fc_floor_prime and fc_ceil_prime
17 18
  * fast_mpool.[hc]: change function fast_mpool_strdup
  * fast_allocator.[hc]: add function fast_allocator_strdup
Y
YuQing 已提交
19 20
  * shared_func.[hc]: add function getFileSize
  * char_converter.[hc]: add function fast_char_unescape
Y
YuQing 已提交
21
  * struct fast_task_info add ctx pointer for libserverframe nio
22
  * struct thread_data add waiting_queue for Linux eventfd notify
23
  * struct fast_task_info add canceled field for complicated thread model
Y
YuQing 已提交
24
  * nio_thread_data support thread notify
25
  * pthread_func.[hc] add functions: create_work_threads_ex and fc_create_thread
26
  * sched_add_entries use temp ScheduleArray for rare case
Y
YuQing 已提交
27
  * add function common_blocked_queue_return_nodes
28
  * add functions getIpAndPort and getPeerIpAndPort 
29
  * bugfixed: call fast_mblock_destroy in common_blocked_queue_destroy
Y
YuQing 已提交
30
  * add function fc_get_file_line_count_ex
Y
YuQing 已提交
31
  * uniq_skiplist add function find_ge and support bidirection
32
  * connection_pool support validate connection on error
Y
YuQing 已提交
33
  * fast_task_queue.[hc]: free_queue support init_callback
34
  * ini_file_reader.c: use mutex lock when access dynamic content array
Y
YuQing 已提交
35
  * uniq_skiplist add function uniq_skiplist_replace_ex
Y
YuQing 已提交
36 37
  * add files: fc_queue.[hc]
  * add files: fc_memory.[hc]
Y
YuQing 已提交
38
  * add files: shared_buffer.[hc]
Y
YuQing 已提交
39
  * add files: thread_pool.[hc]
40
  * shared_func.[hc]: add function fc_path_contains
41
  * fast_mblock.[hc]: support alloc elements limit
42
  * sockopt.[hc]: add function asyncconnectserverbyip
43
  * add locked_timer.[hc]: time wheel timer with lock
Y
YuQing 已提交
44
  * tcp_quick_ack option for Linux
45

Y
YuQing 已提交
46
Version 1.43  2019-12-25
47 48
  * replace function call system to getExecResult,
    system is the deprecated function in iOS 11
49
  * correct function skiplist_iterator in skiplist.h
Y
YuQing 已提交
50
  * add buffered_file_writer.[hc]
Y
YuQing 已提交
51
  * add function fc_delete_file_ex
52

Y
YuQing 已提交
53
Version 1.42  2019-12-03
Y
YuQing 已提交
54
  * add function get_gzip_command_filename
Y
YuQing 已提交
55
  * function create_work_threads changed
56

57
Version 1.41  2019-09-30
58 59
  * change CIDR network_bits range from [16, 32) to [10, 32)
  * ini_file_reader.c: fix empty string compare
Y
YuQing 已提交
60
  * multi_socket_client.c: code refine
Y
YuQing 已提交
61
  * sockopt.[hc] support IPv6
62

Y
YuQing 已提交
63
Version 1.40  2018-11-09
64
  * add function conn_pool_parse_server_info and conn_pool_load_server_info
Y
yuqing 已提交
65 66
  * support directive: #@add_annotation, for example:
    #@add_annotation CONFIG_GET /usr/lib/libshmcache.so /etc/libshmcache.conf
67
  * add function fc_split_string and fc_match_delim
68
  * add json_parser.[hc] for parse json array and map
Y
yuqing 已提交
69
  * add function fc_strdup
Y
YuQing 已提交
70
  * add function fc_memmem
Y
YuQing 已提交
71
  * add function format_http_date
Y
YuQing 已提交
72
  * add function hash_find1 and hash_find2
73
  * add function resolve_path and fast_buffer_append_file
Y
YuQing 已提交
74 75
  * add function id_generator_next_extra_ptr, with NULL pointer to set
    extra data to sn % (1 << extra_bits)
76

77
Version 1.39  2018-07-31
Y
YuQing 已提交
78 79
  * add #@function REPLACE_VARS
  * #@set value can embed %{VARIABLE}
80
  * shared_func.h: add function starts_with and ends_with
81
  * common_blocked_queue.h: add function common_blocked_queue_try_pop
Y
yuqing 已提交
82
  * sched_thread.c: fix first schedule time
83
  * ini_file_reader add function iniGetRequiredStrValueEx
Y
yuqing 已提交
84
  * add file fc_list.h
85
  * sockopt.c: add global variable try_again_when_interrupt
Y
yuqing 已提交
86

87
Version 1.38  2018-06-26
88 89
  * connection_pool.c: set err_no to 0 when success
  * shared_func.h: add functions float2buff / buff2float, double2buff / buff2double
90
  * logger.h: add function log_get_level_caption
Y
yuqing 已提交
91
  * add files: common_blocked_queue.[hc]
Y
yuqing 已提交
92
  * add files: multi_socket_client.[hc]
93
  * ioevent.[hc]: remove care_events in FreeBSD or MacOS
94
  * add skiplist_set.[hc] and skiplist bug fixed
Y
yuqing 已提交
95
  * correct CRC32
96
  * shared_func.h: add functions int2str and long2str
97
  * sched_thread.h: add function sched_print_all_entries
98

99 100 101 102 103
Version 1.37  2018-02-24
  * ini_file_reader.c function annotations LOCAL_IP_GET support index, such as:
   #@function LOCAL_IP_GET
    bind_addr=private[0]

Y
yuqing 已提交
104 105 106
Version 1.36  2017-03-08
  * correct getFileContentEx read bytes

Y
yuqing 已提交
107
Version 1.35  2017-03-02
108
  * logger judge log_level in function log_it_ex and log_it_ex1
109
  * add php extension function: fastcommon_file_put_contents
110
  * add function fc_safe_read and fc_safe_write
Y
yuqing 已提交
111
  * add function fc_ftok
112
  * add function fc_trim to avoid conflict with trim
113
  * ini_file_reader support annotataion map set incrementally
114
  * init context support dynamic annotations and build-in annotations
Y
yuqing 已提交
115
  * ini_file_reader disable shell execute in default
116

117
Version 1.34  2017-02-06
118
  * ini_file_reader: LOCAL_IP support CIDR addresses
119 120
  * ini_file_reader: return the last when get single value,
    such as iniGetStrValue and iniGetIntValue
121
  * ini_file_reader support #@set directive
122
  * ini_file_reader use extra context for compatible
123

Y
yuqing 已提交
124
Version 1.33  2017-01-04
Y
yuqing 已提交
125
  * add function hash_get_prime_capacity
Y
yuqing 已提交
126
  * refine getFileContent log info
Y
yuqing 已提交
127
  * show resource label when setrlimit fail
Y
yuqing 已提交
128

Y
yuqing 已提交
129 130 131
Version 1.32  2016-12-01
  * downgrade log level from warning to debug

132
Version 1.31  2016-11-26
133
  * move SET_SOCKOPT_NOSIGPIPE from sockopt.c to sockopt.h
Y
yuqing 已提交
134
  * add function get_time_item_from_str
Y
yuqing 已提交
135
  * add file trylock functions
136
  * add files: char_converter.h and char_converter.c
137
  * add files: char_convert_loader.h and char_convert_loader.c
138

Y
yuqing 已提交
139
Version 1.30  2016-10-31
Y
yuqing 已提交
140
  * modify php-fastcommon/test.php
141
  * php7_ext_wrapper.h: fix memory leak in php 7
Y
yuqing 已提交
142
  * setsockopt SO_NOSIGPIPE when nessary
Y
yuqing 已提交
143
  * add function iovent_add_to_deleted_list
Y
yuqing 已提交
144
  * fixbug for select with microseconds
Y
yuqing 已提交
145
  * id generator support file mode
Y
yuqing 已提交
146

Y
yuqing 已提交
147
Version 1.29  2016-06-17
Y
yuqing 已提交
148
  * ini_file_reader support #@if
Y
yuqing 已提交
149
  * ini_file_reader support #@for
Y
yuqing 已提交
150
  * add function id_generator_get_timestamp
Y
yuqing 已提交
151

152
Version 1.28  2016-06-08
Y
yuqing 已提交
153
  * id generator support extra bits
Y
yuqing 已提交
154
  * change inet_aton to inet_pton
155
  * connect by ip and connection pool support ipv6
156
  * id generator in php extension support multi instance
Y
yuqing 已提交
157
  * add function http_parse_url_params
158
  * check g_free_queue.head == NULL before free_queue_realloc()
Y
yuqing 已提交
159

Y
yuqing 已提交
160
Version 1.27  2016-04-15
Y
yuqing 已提交
161
  * add function fd_set_cloexec
Y
yuqing 已提交
162
  * php-fastcommon.spec.in support PHP 7
Y
yuqing 已提交
163
  * add file lock and unlock functions
Y
yuqing 已提交
164
  * add id generator for multi processes
Y
Yuqing 已提交
165
  * php extension support id generator
Y
yuqing 已提交
166

167 168 169
Version 1.26  2016-03-16
  * add logger parameter: compress_log_days_before

Y
yuqing 已提交
170
Version 1.25  2016-03-01
171
  * php7_ext_wrapper.h add more macro defines
Y
Yu Qing 已提交
172
  * compile passed in FreeBSD 10.2
173
  * bugfixed: free task point correctly in free_queue_destroy
Y
yuqing 已提交
174
  * logger support compress the log file
Y
yuqing 已提交
175

176
Version 1.24  2016-02-15
Y
Yu Qing 已提交
177
  * php extension compiled on PHP 7
Y
yuqing 已提交
178
  * add skiplist which support stable sort
Y
yuqing 已提交
179
  * make.sh: use sed to replace perl
Y
yuqing 已提交
180
  * support get local mac addresses
Y
yuqing 已提交
181
  * add system_info.h and system_info.c
Y
yuqing 已提交
182
  * add function get_mounted_filesystems
Y
yuqing 已提交
183
  * add function get_processes for Linux
184
  * ini_file_reader add iniGetSectionNames and iniGetSectionItems
Y
yuqing 已提交
185
  * add fast_blocked_queue.[hc]
Y
yuqing 已提交
186
  * iovent bug fixed for FreeBSD
Y
Yu Qing 已提交
187
  * sysinfo for FreeBSD
188
  * add php7_ext_wrapper.h for php7 migration
Y
Yu Qing 已提交
189

Y
yuqing 已提交
190
Version 1.23  2015-11-16
191
  * sched_thread.c: task can execute in a new thread
Y
yuqing 已提交
192
  * sched_thread.c: support delay tasks
193
  * add function get_current_time_us and get_current_time_ms
Y
yuqing 已提交
194
  * mblock add stat function
Y
yuqing 已提交
195 196
  * add function get_sys_total_mem_size and get_sys_cpu_count,
    ONLY support Linux and FreeBSD
Y
yuqing 已提交
197
  * delay task can execute in a new thread
Y
yuqing 已提交
198
  * fast_mblock reclaimed object pool
Y
Yu Qing 已提交
199
  * add fast_allocator
Y
Yu Qing 已提交
200
  * add fast_buffer
201

202
Version 1.22  2015-10-10
203
  * export php function: fastcommon_get_first_local_ip
Y
yuqing 已提交
204 205
  * add function is_private_ip
  * add function get_next_local_ip
206
  * export php function: fastcommon_get_next_local_ip
207
  * export php function: fastcommon_is_private_ip
208

Y
yuqing 已提交
209
Version 1.21  2015-09-14
210
  * ini_file_reader support annotation function
Y
yuqing 已提交
211 212
  * correct PTHREAD_MUTEX_ERRORCHECK define
  * support 32 bit OS
213
  * allow_ips support CIDR addresses such as 172.16.12.0/22
Y
yuqing 已提交
214
  * add function get_first_local_ip
Y
yuqing 已提交
215
  * ioevent for BSD ok
Y
yuqing 已提交
216
  * iniGetValues use iniGetValuesEx
217

Y
yuqing 已提交
218 219 220
Version 1.20  2015-08-06
  * add GEO function get_line_distance_km

Y
yuqing 已提交
221 222 223
Version 1.19  2015-07-24
  * correct logger rotate time near 0 clock

Y
yuqing 已提交
224 225 226 227 228
Version 1.18  2015-07-15
  * OS macro defines put in _os_define.h
  * remove file _os_bits.h
  * schedule task support second field

229
Version 1.17  2015-07-14
230
  * ini_file_reader.c change PJWHash to Time33Hash and increase capacity
231
  * ini_file_reader.c realloc change to malloc and memcpy
232

Y
yuqing 已提交
233
Version 1.16  2015-07-01
Y
yuqing 已提交
234
  * fast_mblock add fast_mblock_delay_free
Y
yuqing 已提交
235
  * add fast_mpool.h and fast_mpool.c
Y
yuqing 已提交
236

237
Version 1.15  2015-06-16
238 239
  * fast_mblock.c support none lock
  * ioevent support set timeout
240 241
  * fast_mblock support alloc and free object
  * ini_file_reader set global section before and after directive #include
242

Y
yuqing 已提交
243
Version 1.14  2015-06-12
Y
yuqing 已提交
244 245 246
  * fast_task_info support set_buffer_size and realloc_buffer
  * use file lock when write logger header
  * bugfixed: sockopt.c correct fsbytes to sbytes in FreeBSD
247
  * macro FDFS_WRITE_BUFF_SIZE change to FAST_WRITE_BUFF_SIZE
Y
yuqing 已提交
248
  * logger.c call log_check_rotate in lock
249
  * bug fixed: log header correctly when rotate
Y
yuqing 已提交
250

Y
yuqing 已提交
251
Version 1.13  2015-02-27
Y
yuqing 已提交
252
  * support php extension
253
  * php extention export simple_hash and time33_hash
Y
yuqing 已提交
254
  * set_run_by log more info
Y
yuqing 已提交
255

256 257
Version 1.12  2014-12-05
  * bug fixed: must check the return value of vsnprintf
258
  * can call sched_add_entries many times before schedule
259

Y
yuqing 已提交
260
Version 1.11  2014-11-20
Y
yuqing 已提交
261
  * remove usleep call in logger.c
Y
yuqing 已提交
262
  * bug fixed: NOT set last_block->next when realloc
Y
yuqing 已提交
263

264
Version 1.10  2014-10-31
Y
yuqing 已提交
265
  * correct iovent macro define
266
  * must set timeout entry's dlink to NULL because NOT in time wheel
Y
yuqing 已提交
267

Y
yuqing 已提交
268
Version 1.09  2014-10-26
Y
yuqing 已提交
269
  * Version struct add variable: patch
270
  * get local ipaddr support interface based 1
Y
yuqing 已提交
271
  * mblock support alloc_init_func
Y
yuqing 已提交
272

Y
yuqing 已提交
273
Version 1.08  2014-10-09
274
  * sched_thread.c: calculate next_call_time correctly
Y
yuqing 已提交
275

276
Version 1.07  2014-09-16
Y
yuqing 已提交
277
  * increment alloc task buffer
Y
yuqing 已提交
278
  * add function free_queue_alloc_connections
279
  * check file size before log access header
280
  * conn_pool_destroy close connections and free memory
281
  * delete log old files with any time format affix
Y
yuqing 已提交
282

Y
yuqing 已提交
283
Version 1.06  2014-08-27
Y
yuqing 已提交
284
  * update source code from FastDFS V5.02
Y
yuqing 已提交
285
  * add function short2buff and buff2short
Y
yuqing 已提交
286
  * add object memory pool (fast_mblock.h and fast_mblock.c)
287
  * add member thread_loop_callback in nio_thread_data
288 289 290
  * bug fixed: ini_file_reader.c can't include relative path sub config,
    such as #include ../../conf/common.conf
  * add get_url_content_ex to support buffer passed by caller
Y
yuqing 已提交
291
  * logger can set rotate time format
Y
yuqing 已提交
292
  * add connection pool
Y
yuqing 已提交
293
  * logger can log header line
Y
yuqing 已提交
294
  * #include <stdbool.h> to use C99 bool
Y
yuqing 已提交
295
  * add libfastcommon.spec for building RPM
Y
yuqing 已提交
296
  * logger can delete old rotated files
297
  * bug fixed: connection pool should NOT increase counter when connect fail
Y
yuqing 已提交
298
  * logger.c do NOT call fsync after write
299
  * sockopt.c add tcprecvdata_nb_ms to support millisecond timeout
Y
yuqing 已提交
300
  * change req_count from int to int64_t
Y
yuqing 已提交
301 302 303 304
  * logger can take over stderr and stdout
  * replace INT64_PRINTF_FORMAT with PRId64
  * support OS Darwin
  * socket send and recv ignore erno EINTR
305
  * http_parse_query_ex support binary buffer, and set both lengths of key and name
Y
yuqing 已提交
306
  * add function ioevent_remove
Y
yuqing 已提交
307
  * add function log_reopen_ex
Y
yuqing 已提交
308
  * extern function log_rotate
Y
yuqing 已提交
309
  * add function log_set_fd_flags
Y
yuqing 已提交
310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333

Version 1.05  2012-07-08
  * update source code from FastDFS V3.09

Version 1.04  2011-01-31
  * update source code from FastDFS V2.08

Version 1.03  2010-11-16
  * add local ip functions local_ip_func.c

Version 1.02  2010-07-02
  * sockopt.c: tcprecvfile and tcpdiscard add parameter total_recv_bytes
  * sockopt.h add non-block connect function connectserverbyip_nb
  * log_init set log to cache to false (no cache)

Version 1.01  2010-05-15
  * source file move to directory src
  * header files add comments
  * logger.h: correct function name from log_destory_ex to log_destroy_ex
  * shared_func.h: getExeAbsolutePath change to getAbsolutePath

Version 1.00  2010-05-08
  * first version