summaryrefslogtreecommitdiff
path: root/doc/changelog.rst
blob: 16b92fd7eaea476bbd176f67567eac14f5cb4118 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
v4.7 (2022-10-21)
=================

Enhancements:

* string: new quoting modes HXQUOTE_BASE64URL & HXQUOTE_BASE64IMAP

Fixes:

* socket: make HX_socket_from_env functional on OpenBSD


v4.6 (2022-06-27)
=================

Enhancements:

* HX_slurp_fd/HX_slurp_file now supports reading from files reporting their
  own size as 0 (e.g. ttys, /proc special files).


v4.5 (2022-04-10)
=================

Fixes:

* Resolve a number of cov-scan reported warnings.


v4.4 (2022-03-15)
=================

Fixes:

* Build fixes for the mingw environment.


v4.3 (2022-03-14)
=================

Enhancements:

* string: New functions ``HX_strtoull_sec``, ``HX_unit_seconds`` for converting
  between second-based time durations and human-readable durations like
  129600 <-> 1d12h.
* io: New function ``HX_sendfile``.
* io: raise buffer size for ``HX_copy_file`` from 1 kiB to 64 kiB


v4.2 (2021-10-17)
=================

Enhancements:

* string: New functions ``HX_strtod_unit``, ``HX_strtoull_unit``,
  ``HX_unit_size``, ``HX_unit_size_cu`` for converting between
  sizes and human-readable sizes like 1457664 <-> "1.45M"/"1.39M".


v4.1 (2021-10-13)
=================

Fixes:

* io: fix a use-after-free in conjunction with HX_realpath /
  fix missing NULLing of a pointer within HX_readlink


v4.0 (2021-10-03)
=================

Enhancements:

* lib: add ``HX_slurp_fd``, ``HX_slurp_file``
* proc: add ``HXproc_switch_user``
* proc: add ``HXproc_top_fd``
* socket: add ``HX_socket_from_env``
* opt: add ``HXOPT_KEEP_ARGV`` flag

Fixes:

* proc: re-close pipes when ``HXproc_build_pipes`` failed


v3.26 (2021-08-03)
==================

Fixes:

* io: cure a potential infinite loop on EOF with HXio_fullread()
* io: HXio_fullread() now returns actual bytes read rather than bytes requested
* time: rectified HX_timeval_sub producing wrong results

Changes:

* nullptr checks were added to HXshconfig_free, HXformat_free, HXdeque_free and
  HXmap_free to make their behavior be in line with free(3).
* Documentation has been switched to reStructured Text.


v3.25 (2020-05-14)
==================

Fixes:

* string: fix out-of-bounds access when calling ``HX_strlcpy(x,y,0)``

Changes:

* string: ``HX_split4`` renamed to ``HX_split_inplace``
* string: ``HX_split5`` renamed to ``HX_split_fixed``
* defs.h: removed partially implementation of ``FIELD_SIZEOF``
* defs.h: removed custom ``offsetof`` definition; you will need to include
  ``<stddef.h>`` or ``<cstddef>`` now.


v3.24 (2018-10-17)
==================

Fixes:

* defs: avoid compiler warning when using ``HX_list_for_each`` in C++
* opt: synchronize ``HXOPT_AUTOHELP`` C behavior to C++ mode


v3.23 (2018-08-28)
==================

Enhancements:

* opt: the option parser now recognizes long option abbreviations
* io: use modern ``readdir`` rather than ``readdir_r``


v3.22 (2014-08-25)
==================

Enhancements:

* string: add the ``HXQUOTE_SQLBQUOTE`` quoting variant