aboutsummaryrefslogtreecommitdiff
path: root/NEWS
blob: 1380f8d818353c008ab3cb17ecad266eafb1756c (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
Version 0.8.0

  * Add portable environment variable manipulation functions.

  * Add regex_replace_match() and rename regex_replace_ex() to
    regex_replace_search().

  * Reimplement the optional class template not to require default-
    constructible value types.

  * New prompt facility (moved from bpkg).

  * Support for hashing ifdstream in sha* classes.

  * New project_name class (moved from bpkg::package_name).

  * Add git_repository(), git_version() utility functions.

  * New semantic_version class for parsing semantic and semantic-like
    versions.

  * Add timed_wait() and kill() process functions.

  * Support for UUID generation.

Version 0.7.0

  * Initial attempt at Modules TS-based modularization.

  * Add process::pipe struct, extend process API.

  * Add path::make_{directory,leaf,base}().

  * Relax path combination requirement for LHS to contain trailing slash.

    Now if there is no slash, we automatically add the canonical one. This
    allows (natural) code like this:

    path f (d / "foo" / "bar");

  * Add support for copying file timestamp by cpfile().

  * Add support for directory symlinks on Windows.

  * Add ignore_dangling parameter to dir_iterator() constructor.

  * Change standard_version epoch syntax from '~' to '+-'.

  * Add support for standard_version constraint shortcut operators (~ and ^).

  * Add support for calculating SHA1 checksums.

  * Implement small_list and small_forward_list.

    Note that with VC small_list is never "small" because of the extra
    "headnode" that this implementation allocates (see notes in small-list.mxx
    for details).

Version 0.6.0

  * Various new functionality in the path, timestamp, manifest, process,
    fdstream, and filesystem facilities.

  * Character scanner improvements and optimizations.

  * New openssl process wrapper classes.

  * New regex utility functions.

  * Fast-path SHA256 functions.

Version 0.5.0

  * Various new functionality in the process, fdstream, and filesystem
    facilities.

  * Feature test facility (ft/).

  * Tab, manifest parsers/serializers.

  * Process wrappers for running sendmail and curl.

  * Standard version and range classes.

Version 0.4.0

  * The process class has been redesigned and extended.

  * The basic_path class template has been redesigned and extended. The path
    representation now stores the directory trailing slash, if present.

  * The fdstream classes have been redesigned and extended.

  * A number of new filesystem manipulation functions have been added.

  * Add path::temp_directory(), path::temp_path() utility functions.

  * Add base64_encode(), base64_decode() utility functions.

  * Add portable ucase(), lcase(), casecmp(), alpha(), digit(), alnum().

  * The 'freebsd' target triplet class has been changed to 'bsd'.

Version 0.3.0

  * Add SHA256 hash calculator based on code from the FreeBSD project. That
    code is (naturally) licensed under the simplified/2-clause BSD license so
    the library is now MIT/BSD-licensed.

    Also add helper sha256_to_fingerprint() fingerprint_to_sha256() functions.

  * Add vector_view class template.

  * Add path::realize() (on POSIX calls realpath(3)), path::compare().

  * Recognize MSVC target triplet (*-microsoft-win32-msvcXX.Z).

  * Derive a target class from the target triplet for some targets. Currently
    the classes are: 'linux', 'macosx', 'freebsd', 'windows', and 'other'.

  * Add timestamp from_string().

  * Add combine_hash() utility function.

Version 0.2.0

  * First public release.