1## Changelog
2
3### [1.8.2](https://github.com/magiconair/properties/tree/v1.8.2) - 25 Aug 2020
4
5 * [PR #36](https://github.com/magiconair/properties/pull/36): Escape backslash on write
6
7   This patch ensures that backslashes are escaped on write. Existing applications which
8   rely on the old behavior may need to be updated.
9
10   Thanks to [@apesternikov](https://github.com/apesternikov) for the patch.
11
12 * [PR #42](https://github.com/magiconair/properties/pull/42): Made Content-Type check whitespace agnostic in LoadURL()
13
14   Thanks to [@aliras1](https://github.com/aliras1) for the patch.
15
16 * [PR #41](https://github.com/magiconair/properties/pull/41): Make key/value separator configurable on Write()
17
18   Thanks to [@mkjor](https://github.com/mkjor) for the patch.
19
20 * [PR #40](https://github.com/magiconair/properties/pull/40): Add method to return a sorted list of keys
21
22   Thanks to [@mkjor](https://github.com/mkjor) for the patch.
23
24### [1.8.1](https://github.com/magiconair/properties/tree/v1.8.1) - 10 May 2019
25
26 * [PR #35](https://github.com/magiconair/properties/pull/35): Close body always after request
27
28   This patch ensures that in `LoadURL` the response body is always closed.
29
30   Thanks to [@liubog2008](https://github.com/liubog2008) for the patch.
31
32### [1.8](https://github.com/magiconair/properties/tree/v1.8) - 15 May 2018
33
34 * [PR #26](https://github.com/magiconair/properties/pull/26): Disable expansion during loading
35
36   This adds the option to disable property expansion during loading.
37
38   Thanks to [@kmala](https://github.com/kmala) for the patch.
39
40### [1.7.6](https://github.com/magiconair/properties/tree/v1.7.6) - 14 Feb 2018
41
42 * [PR #29](https://github.com/magiconair/properties/pull/29): Reworked expansion logic to handle more complex cases.
43
44   See PR for an example.
45
46   Thanks to [@yobert](https://github.com/yobert) for the fix.
47
48### [1.7.5](https://github.com/magiconair/properties/tree/v1.7.5) - 13 Feb 2018
49
50 * [PR #28](https://github.com/magiconair/properties/pull/28): Support duplicate expansions in the same value
51
52   Values which expand the same key multiple times (e.g. `key=${a} ${a}`) will no longer fail
53   with a `circular reference error`.
54
55   Thanks to [@yobert](https://github.com/yobert) for the fix.
56
57### [1.7.4](https://github.com/magiconair/properties/tree/v1.7.4) - 31 Oct 2017
58
59 * [Issue #23](https://github.com/magiconair/properties/issues/23): Ignore blank lines with whitespaces
60
61 * [PR #24](https://github.com/magiconair/properties/pull/24): Update keys when DisableExpansion is enabled
62
63   Thanks to [@mgurov](https://github.com/mgurov) for the fix.
64
65### [1.7.3](https://github.com/magiconair/properties/tree/v1.7.3) - 10 Jul 2017
66
67 * [Issue #17](https://github.com/magiconair/properties/issues/17): Add [SetValue()](http://godoc.org/github.com/magiconair/properties#Properties.SetValue) method to set values generically
68 * [Issue #22](https://github.com/magiconair/properties/issues/22): Add [LoadMap()](http://godoc.org/github.com/magiconair/properties#LoadMap) function to load properties from a string map
69
70### [1.7.2](https://github.com/magiconair/properties/tree/v1.7.2) - 20 Mar 2017
71
72 * [Issue #15](https://github.com/magiconair/properties/issues/15): Drop gocheck dependency
73 * [PR #21](https://github.com/magiconair/properties/pull/21): Add [Map()](http://godoc.org/github.com/magiconair/properties#Properties.Map) and [FilterFunc()](http://godoc.org/github.com/magiconair/properties#Properties.FilterFunc)
74
75### [1.7.1](https://github.com/magiconair/properties/tree/v1.7.1) - 13 Jan 2017
76
77 * [Issue #14](https://github.com/magiconair/properties/issues/14): Decouple TestLoadExpandedFile from `$USER`
78 * [PR #12](https://github.com/magiconair/properties/pull/12): Load from files and URLs
79 * [PR #16](https://github.com/magiconair/properties/pull/16): Keep gofmt happy
80 * [PR #18](https://github.com/magiconair/properties/pull/18): Fix Delete() function
81
82### [1.7.0](https://github.com/magiconair/properties/tree/v1.7.0) - 20 Mar 2016
83
84 * [Issue #10](https://github.com/magiconair/properties/issues/10): Add [LoadURL,LoadURLs,MustLoadURL,MustLoadURLs](http://godoc.org/github.com/magiconair/properties#LoadURL) method to load properties from a URL.
85 * [Issue #11](https://github.com/magiconair/properties/issues/11): Add [LoadString,MustLoadString](http://godoc.org/github.com/magiconair/properties#LoadString) method to load properties from an UTF8 string.
86 * [PR #8](https://github.com/magiconair/properties/pull/8): Add [MustFlag](http://godoc.org/github.com/magiconair/properties#Properties.MustFlag) method to provide overrides via command line flags. (@pascaldekloe)
87
88### [1.6.0](https://github.com/magiconair/properties/tree/v1.6.0) - 11 Dec 2015
89
90 * Add [Decode](http://godoc.org/github.com/magiconair/properties#Properties.Decode) method to populate struct from properties via tags.
91
92### [1.5.6](https://github.com/magiconair/properties/tree/v1.5.6) - 18 Oct 2015
93
94 * Vendored in gopkg.in/check.v1
95
96### [1.5.5](https://github.com/magiconair/properties/tree/v1.5.5) - 31 Jul 2015
97
98 * [PR #6](https://github.com/magiconair/properties/pull/6): Add [Delete](http://godoc.org/github.com/magiconair/properties#Properties.Delete) method to remove keys including comments. (@gerbenjacobs)
99
100### [1.5.4](https://github.com/magiconair/properties/tree/v1.5.4) - 23 Jun 2015
101
102 * [Issue #5](https://github.com/magiconair/properties/issues/5): Allow disabling of property expansion [DisableExpansion](http://godoc.org/github.com/magiconair/properties#Properties.DisableExpansion). When property expansion is disabled Properties become a simple key/value store and don't check for circular references.
103
104### [1.5.3](https://github.com/magiconair/properties/tree/v1.5.3) - 02 Jun 2015
105
106 * [Issue #4](https://github.com/magiconair/properties/issues/4): Maintain key order in [Filter()](http://godoc.org/github.com/magiconair/properties#Properties.Filter), [FilterPrefix()](http://godoc.org/github.com/magiconair/properties#Properties.FilterPrefix) and [FilterRegexp()](http://godoc.org/github.com/magiconair/properties#Properties.FilterRegexp)
107
108### [1.5.2](https://github.com/magiconair/properties/tree/v1.5.2) - 10 Apr 2015
109
110 * [Issue #3](https://github.com/magiconair/properties/issues/3): Don't print comments in [WriteComment()](http://godoc.org/github.com/magiconair/properties#Properties.WriteComment) if they are all empty
111 * Add clickable links to README
112
113### [1.5.1](https://github.com/magiconair/properties/tree/v1.5.1) - 08 Dec 2014
114
115 * Added [GetParsedDuration()](http://godoc.org/github.com/magiconair/properties#Properties.GetParsedDuration) and [MustGetParsedDuration()](http://godoc.org/github.com/magiconair/properties#Properties.MustGetParsedDuration) for values specified compatible with
116   [time.ParseDuration()](http://golang.org/pkg/time/#ParseDuration).
117
118### [1.5.0](https://github.com/magiconair/properties/tree/v1.5.0) - 18 Nov 2014
119
120 * Added support for single and multi-line comments (reading, writing and updating)
121 * The order of keys is now preserved
122 * Calling [Set()](http://godoc.org/github.com/magiconair/properties#Properties.Set) with an empty key now silently ignores the call and does not create a new entry
123 * Added a [MustSet()](http://godoc.org/github.com/magiconair/properties#Properties.MustSet) method
124 * Migrated test library from launchpad.net/gocheck to [gopkg.in/check.v1](http://gopkg.in/check.v1)
125
126### [1.4.2](https://github.com/magiconair/properties/tree/v1.4.2) - 15 Nov 2014
127
128 * [Issue #2](https://github.com/magiconair/properties/issues/2): Fixed goroutine leak in parser which created two lexers but cleaned up only one
129
130### [1.4.1](https://github.com/magiconair/properties/tree/v1.4.1) - 13 Nov 2014
131
132 * [Issue #1](https://github.com/magiconair/properties/issues/1): Fixed bug in Keys() method which returned an empty string
133
134### [1.4.0](https://github.com/magiconair/properties/tree/v1.4.0) - 23 Sep 2014
135
136 * Added [Keys()](http://godoc.org/github.com/magiconair/properties#Properties.Keys) to get the keys
137 * Added [Filter()](http://godoc.org/github.com/magiconair/properties#Properties.Filter), [FilterRegexp()](http://godoc.org/github.com/magiconair/properties#Properties.FilterRegexp) and [FilterPrefix()](http://godoc.org/github.com/magiconair/properties#Properties.FilterPrefix) to get a subset of the properties
138
139### [1.3.0](https://github.com/magiconair/properties/tree/v1.3.0) - 18 Mar 2014
140
141* Added support for time.Duration
142* Made MustXXX() failure beha[ior configurable (log.Fatal, panic](https://github.com/magiconair/properties/tree/vior configurable (log.Fatal, panic) - custom)
143* Changed default of MustXXX() failure from panic to log.Fatal
144
145### [1.2.0](https://github.com/magiconair/properties/tree/v1.2.0) - 05 Mar 2014
146
147* Added MustGet... functions
148* Added support for int and uint with range checks on 32 bit platforms
149
150### [1.1.0](https://github.com/magiconair/properties/tree/v1.1.0) - 20 Jan 2014
151
152* Renamed from goproperties to properties
153* Added support for expansion of environment vars in
154  filenames and value expressions
155* Fixed bug where value expressions were not at the
156  start of the string
157
158### [1.0.0](https://github.com/magiconair/properties/tree/v1.0.0) - 7 Jan 2014
159
160* Initial release
161