|
1 | 1 | # History of Bankster releases
|
2 | 2 |
|
| 3 | +## 1.2.16 (2022-11-25) |
| 4 | + |
| 5 | +- `io.randomseed.bankster.util.fs/default-encoding` is no longer private. |
| 6 | +- nREPL server is no longer automatically started when loading `infra.clj`. |
| 7 | +- Excluded `abs` from being aliased in `io.randomseed.bankster.money`. |
| 8 | +- Removed Midje tests, added clojure.test. |
| 9 | +- CircleCI configuration updated. |
| 10 | +- Deps updated. |
| 11 | + |
3 | 12 | ## 1.2.15 (2021-12-29)
|
4 | 13 |
|
5 | 14 | - Deps updated (codox).
|
6 | 15 |
|
7 | 16 | ## 1.2.14 (2021-09-24)
|
8 | 17 |
|
9 |
| -- Nil punning added to: currency/ns-code, cuurrency/code, currency/weight, |
10 |
| - currency/domain, currency/kind, currency/sc, currency/nr |
| 18 | +- Nil punning added to: `currency/ns-code`, `currency/code`, `currency/weight`, |
| 19 | + `currency/domain`, `currency/kind`, `currency/sc`, `currency/nr`. |
11 | 20 |
|
12 | 21 | ## 1.2.13 (2021-09-23)
|
13 | 22 |
|
14 |
| -- Fixed a bug that caused an amount to be a kind of Money instead of BigDecimal |
15 |
| - when money/value was called on currency and money. |
| 23 | +- Fixed a bug that caused an amount to be a kind of `Money` instead of `BigDecimal` |
| 24 | + when `money/value` was called on currency and money. |
16 | 25 |
|
17 | 26 | ## 1.2.12 (2021-07-18)
|
18 | 27 |
|
19 |
| -- Type hinting and assertion tests improved in money/compare and money/compare-amount. |
| 28 | +- Type hinting and assertion tests improved in `money/compare` and `money/compare-amount`. |
20 | 29 |
|
21 | 30 | ## 1.2.10, 1.2.11 (2021-07-13)
|
22 | 31 |
|
|
27 | 36 |
|
28 | 37 | ## 1.2.9 (2021-07-06)
|
29 | 38 |
|
30 |
| -- Fixed type hinting in fs/absoute-path?. |
| 39 | +- Fixed type hinting in `fs/absoute-path?`. |
31 | 40 |
|
32 |
| -- Money comparators (money/compare and money/compare-amounts) now accept nil values. |
| 41 | +- Monetary comparators (`money/compare` and `money/compare-amounts`) now accept `nil` values. |
33 | 42 |
|
34 |
| -- Added money/round-to for interval-based rounding. |
| 43 | +- Added `money/round-to` for interval-based rounding. |
35 | 44 |
|
36 | 45 | ## 1.2.8 (2021-06-28)
|
37 | 46 |
|
38 |
| -- Rewritten fs/absolute-path? and fs/relative-path? |
| 47 | +- Rewritten `fs/absolute-path?` and `fs/relative-path?` |
39 | 48 |
|
40 | 49 | ## 1.2.7 (2021-06-17)
|
41 | 50 |
|
42 |
| -- Improved money/on-amount (now it rescales results to the scale of a money, |
| 51 | +- Improved `money/on-amount` (now it rescales results to the scale of a money, |
43 | 52 | not the nominal scale of a currency).
|
44 | 53 |
|
45 |
| -- Added alias money/apply that points to money/on-amount. |
| 54 | +- Added alias `money/apply` that points to `money/on-amount`. |
46 | 55 |
|
47 |
| -- Added money/set-amount. |
| 56 | +- Added `money/set-amount`. |
48 | 57 |
|
49 | 58 | ## 1.2.6 (2021-06-02)
|
50 | 59 |
|
51 |
| -- Monetary implementation for Currency objects fixed for nil registry argument. |
52 |
| - Affected function: currency/unit. |
| 60 | +- `Monetary` implementation for `Currency` objects fixed for `nil` registry argument. |
| 61 | + Affected function: `currency/unit`. |
53 | 62 |
|
54 |
| -- Fixed type hinting in currency/sc and currency/nr. |
| 63 | +- Fixed type hinting in `currency/sc` and `currency/nr`. |
55 | 64 |
|
56 | 65 | ## 1.2.5 (2021-05-02)
|
57 | 66 |
|
58 |
| -- Monetary implementation for maps is more restrictive when registry is passed as an |
| 67 | +- `Monetary` implementation for maps is more restrictive when registry is passed as an |
59 | 68 | argument. Previously maps were causing some functions to create *ad hoc*
|
60 | 69 | currencies, now the `:id` key is used to get the existing currency from a registry.
|
61 |
| - This is in line with the protocol's guidelines. Affected functions: currency/unit, |
62 |
| - currency/of-id. |
| 70 | + This is in line with the protocol's guidelines. Affected functions: `currency/unit`, |
| 71 | + `currency/of-id`. |
63 | 72 |
|
64 |
| -- Monetary implementation for Currency objects is now fulfilling protocol |
65 |
| - specification, making ID-only look-ups. Affected functions: currency/unit, |
66 |
| - currency/of-id. |
| 73 | +- `Monetary` implementation for `Currency` objects is now fulfilling protocol |
| 74 | + specification, making ID-only look-ups. Affected functions: `currency/unit`, |
| 75 | + `currency/of-id`. |
67 | 76 |
|
68 |
| -- Monetary implementation for keywords now falls back to currency code look-up even |
| 77 | +- `Monetary` implementation for keywords now falls back to currency code look-up even |
69 | 78 | if the given identifier is not namespace-qualified. Affected functions:
|
70 |
| - currency/unit, currency/present? It fixes *the chicken or the egg* problem during |
| 79 | + `currency/unit`, `currency/present?`. It fixes *the chicken or the egg* problem during |
71 | 80 | registry building.
|
72 | 81 |
|
73 |
| -- Functions currency/add-countries, currency/remove-localized-properties, |
74 |
| - currency/add-localized-properties, currency/add-weighted-code and currency/update |
| 82 | +- Functions `currency/add-countries`, `currency/remove-localized-properties`, |
| 83 | + `currency/add-localized-properties`, `currency/add-weighted-code` and `currency/update` |
75 | 84 | are now more strict and require currency ID to be given (not currency code).
|
76 | 85 |
|
77 | 86 | **BREAKING CHANGES**:
|
78 | 87 |
|
79 |
| -- Low-level function currency/add-weighted-currency renamed to |
80 |
| - currency/add-weighted-code. |
| 88 | +- Low-level function `currency/add-weighted-currency` renamed to |
| 89 | + `currency/add-weighted-code`. |
81 | 90 |
|
82 | 91 | ## 1.2.4 (2021-04-18)
|
83 | 92 |
|
84 |
| -- Added money/data-readers and money/code-readers constants. |
| 93 | +- Added `money/data-readers` and `money/code-readers` constants. |
85 | 94 |
|
86 |
| -- Added data_readers_edn.clj (with generator in importer/readers-export) containing |
| 95 | +- Added `data_readers_edn.clj` (with generator in `importer/readers-export`) containing |
87 | 96 | data readers for parsing EDN files.
|
88 | 97 |
|
89 |
| -- Fixed a bug causing registry to not be properly set in currency/with-registry and |
90 |
| - registry/with. |
| 98 | +- Fixed a bug causing registry to not be properly set in `currency/with-registry` and |
| 99 | + `registry/with`. |
91 | 100 |
|
92 |
| -- Added fs/get-resource utility function. |
| 101 | +- Added `fs/get-resource` utility function. |
93 | 102 |
|
94 | 103 | **BREAKING CHANGES**:
|
95 | 104 |
|
96 | 105 | - Data readers for tagged literals are split into code and data related handlers:
|
97 | 106 |
|
98 |
| - - Functions currency/code-literal and money/code-literal are now emitting Clojure |
99 |
| - forms that are to be evaluated to produce Currency and Money objects. |
| 107 | + - Functions `currency/code-literal` and `money/code-literal` are now emitting Clojure |
| 108 | + forms that are to be evaluated to produce `Currency` and `Money` objects. |
100 | 109 |
|
101 |
| - - Functions currency/data-literal and money/data-literal are now returning Currency |
102 |
| - and Money objects. |
| 110 | + - Functions `currency/data-literal` and `money/data-literal` are now returning `Currency` |
| 111 | + and `Money` objects. |
103 | 112 |
|
104 | 113 | - Tagged literal handlers (for both Clojure code and data) can now be controlled by
|
105 | 114 | the environment (e.g. dynamic variables for setting alternate registry or
|
106 | 115 | rounding mode during parsing).
|
107 | 116 |
|
108 |
| - - Constant bankster/tagged-literals moved to money/tagged-literals. |
| 117 | + - Constant `bankster/tagged-literals` moved to `money/tagged-literals`. |
109 | 118 |
|
110 | 119 | ## 1.2.3 (2021-04-16)
|
111 | 120 |
|
112 | 121 | - Fixed issue with data-readers file visibility by adding a copy to resources directory.
|
113 | 122 |
|
114 | 123 | ## 1.2.2 (2021-04-16)
|
115 | 124 |
|
116 |
| -- Added io.randomseed.bankster/data-readers map to expose tagged literal handlers. |
| 125 | +- Added `io.randomseed.bankster/data-readers` map to expose tagged literal handlers. |
117 | 126 |
|
118 | 127 | ## 1.2.1 (2021-04-15)
|
119 | 128 |
|
120 |
| -- Fixed a bug causing money/of-registry to not rescale amounts. |
| 129 | +- Fixed a bug causing `money/of-registry` to not rescale amounts. |
121 | 130 |
|
122 | 131 | ## 1.2.0 (2021-04-13)
|
123 | 132 |
|
124 |
| -- Function money/div-rem renamed to money/rem and improved to behave like div in |
| 133 | +- Function `money/div-rem` renamed to `money/rem` and improved to behave like `money/div` in |
125 | 134 | terms of accepted argument types, rounding and rescaling.
|
126 | 135 |
|
127 |
| -- Added function money/abs. |
| 136 | +- Added function `money/abs`. |
128 | 137 |
|
129 |
| -- Added aliases: money/+, money/-, money/*, money//, money/min, money/max. |
| 138 | +- Added aliases: `money/+`, `money/-`, `money/*`, `money//`, `money/min`, `money/max`. |
130 | 139 |
|
131 |
| -- Added aliases: money/>, money/>=, money/<, money/<=, money/=, money/==. |
| 140 | +- Added aliases: `money/>`, `money/>=`, `money/<`, `money/<=`, `money/=`, `money/==`. |
132 | 141 |
|
133 |
| -- Added aliases: money/pos?, money/neg?, money/zero?. |
| 142 | +- Added aliases: `money/pos?`, `money/neg?`, `money/zero?`. |
134 | 143 |
|
135 |
| -- Conversion functions scale/->int, scale/->long, scale/->double, scale/->float, |
136 |
| - scale/to-plain-string, scale/to-clojure-string, scale/to-symbol, |
137 |
| - scale/to-clojure-symbol are now using scale/amount to get the actual amount of the |
138 |
| - given scalable instead of expecting BigDecimal values. |
| 144 | +- Conversion functions `scale/->int`, `scale/->long`, `scale/->double`, `scale/->float`, |
| 145 | + `scale/to-plain-string`, `scale/to-clojure-string`, `scale/to-symbol`, |
| 146 | + `scale/to-clojure-symbol` are now using `scale/amount` to get the actual amount of the |
| 147 | + given scalable instead of expecting `BigDecimal` values. |
139 | 148 |
|
140 | 149 | **BREAKING CHANGES**:
|
141 | 150 |
|
142 |
| -- Function money/pos now returns its argument. Use money/abs to get the absolute |
| 151 | +- Function `money/pos` now returns its argument. Use `money/abs` to get the absolute |
143 | 152 | value.
|
144 | 153 |
|
145 | 154 | ## 1.1.3 (2021-04-12)
|
|
148 | 157 |
|
149 | 158 | ## 1.1.2 (2021-04-05)
|
150 | 159 |
|
151 |
| -- Monetary protocol methods are now more strict about the origin of currency |
| 160 | +- `Monetary` protocol methods are now more strict about the origin of currency |
152 | 161 | if a registry is given (by-ID resolving and getting from a registry happens
|
153 |
| - even for Currency objects). |
| 162 | + even for `Currency` objects). |
154 | 163 |
|
155 |
| -- Unary variants of money/div and money/div-scaled are now able to take money as an |
156 |
| - argument (common operation when recalculating exchange rates). |
| 164 | +- Unary variants of `money/div` and `money/div-scaled` are now able to take `Money` as |
| 165 | + arguments (common operation when recalculating exchange rates). |
157 | 166 |
|
158 |
| -- Protocol method implementations of money/value short-circuit on nil given as an |
| 167 | +- Protocol method implementations of `money/value` short-circuit on `nil` given as an |
159 | 168 | amount.
|
160 | 169 |
|
161 |
| -- Added functions: money/auto-scaled?, money/of-registry and money/on-amount. |
| 170 | +- Added functions: `money/auto-scaled?`, `money/of-registry` and `money/on-amount`. |
162 | 171 |
|
163 | 172 | - Fixed a bug causing division and multiplication of auto-scaled currencies to
|
164 | 173 | rescale results to latest scales of the amounts instead of performing scale-free
|
|
174 | 183 |
|
175 | 184 | ## 1.1.0 (2021-03-25)
|
176 | 185 |
|
177 |
| -- Added currency/update for updating currencies with additional data preservation |
| 186 | +- Added `currency/update` for updating currencies with additional data preservation |
178 | 187 | (localized properties, countries, etc.).
|
179 |
| -- Added money/cast for casting monetary amounts across currencies |
| 188 | +- Added `money/cast` for casting monetary amounts across currencies |
180 | 189 | (different or slightly different, e.g. sourced in another registries).
|
181 |
| -- Added scale/to-clojure-string, scale/to-symbol, scale/to-clojure-symbol. |
182 |
| -- Added money/->symbol, money/->clojure-symbol, money/->double, money/->float. |
183 |
| -- Improved money/value to be more polymorphic (currency argument). |
184 |
| -- Improved conversion functions: scale/->int, scale/->long, scale/->float, scale/->double. |
| 190 | +- Added `scale/to-clojure-string`, `scale/to-symbol`, `scale/to-clojure-symbol`. |
| 191 | +- Added `money/->symbol`, `money/->clojure-symbol`, `money/->double`, `money/->float`. |
| 192 | +- Improved `money/value` to be more polymorphic (currency argument). |
| 193 | +- Improved conversion functions: `scale/->int`, `scale/->long`, `scale/->float`, `scale/->double`. |
185 | 194 | - Type hinting improved in multiple functions and protocol methods.
|
186 | 195 |
|
187 | 196 | **BREAKING CHANGES**:
|
188 | 197 |
|
189 | 198 | - Conversion functions now have different arities:
|
190 |
| - scale/->int, scale/->long, scale/->float, scale/->double. |
191 |
| -- Function scale/to-plain-string is now converting decimals to plain strings |
192 |
| - without adding M suffix when there is too many digits. This functionality |
193 |
| - was moved to scale/to-clojure-string. |
| 199 | + `scale/->int`, `scale/->long`, `scale/->float`, `scale/->double`. |
| 200 | +- Function `scale/to-plain-string` is now converting decimals to plain strings |
| 201 | + without adding `M` suffix when there is too many digits. This functionality |
| 202 | + was moved to `scale/to-clojure-string`. |
194 | 203 |
|
195 | 204 | ## 1.0.8 (2021-03-23)
|
196 | 205 |
|
197 |
| -- Function money/convert now accepts a price and is more polymorphic. |
198 |
| -- Added the function currency/localized-properties. |
| 206 | +- Function `money/convert` now accepts a price and is more polymorphic. |
| 207 | +- Added the function `currency/localized-properties`. |
199 | 208 |
|
200 | 209 | ## 1.0.7 (2021-03-19)
|
201 | 210 |
|
202 |
| -- Improved and unified rescaling of Money objects when their currency is auto-scaled. |
203 |
| -- Functions money/amount, money/stripped-amount and money/currency are now polymorphic. |
| 211 | +- Improved and unified rescaling of `Money` objects when their currency is auto-scaled. |
| 212 | +- Functions `money/amount`, `money/stripped-amount` and `money/currency` are now polymorphic. |
204 | 213 | - Currencies database updated.
|
205 | 214 |
|
206 | 215 | ## 1.0.6 (2021-03-19)
|
207 | 216 |
|
208 |
| -- Better printing of monetary amounts of big precisions (adding M letter to a number). |
209 |
| -- Better parsing of monetary amounts of big precisions (early conversion to big decimals to avoid scientific notation). |
| 217 | +- Better printing of monetary amounts of big precision (adding `M` letter to a number). |
| 218 | +- Better parsing of monetary amounts of big precision (early conversion to big decimals to avoid scientific notation). |
210 | 219 |
|
211 | 220 | ## 1.0.5 (2021-03-18)
|
212 | 221 |
|
213 | 222 | - Fixed a bug reversing order of weighted currencies.
|
214 | 223 |
|
215 | 224 | ## 1.0.4 (2021-03-18)
|
216 | 225 |
|
217 |
| -- Added missing Monetary implementation functions for Money. |
218 |
| -- Improved currency/id Monetary implementation to support currency codes. |
| 226 | +- Added missing `Monetary` implementation functions for `Money`. |
| 227 | +- Improved `currency/id` `Monetary` implementation to support currency codes. |
219 | 228 |
|
220 | 229 | ## 1.0.3 (2021-03-17)
|
221 | 230 |
|
|
0 commit comments