-
Notifications
You must be signed in to change notification settings - Fork 109
/
CHANGELOG.txt
279 lines (254 loc) · 15.7 KB
/
CHANGELOG.txt
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
Change Log for Ruby-units
=========================
see GitHub releases (https://github.com/olbrich/ruby-units/releases) for more recent releases. This file will no longer
be updated.
2020-12-29 2.3.2 * Remove Jeweler (see #178) also adds Code of Conduct
* Fix specs related to Complex comparisons (see #213)
* Add support for Ruby 3.0 (also drop support for 2.3 and 2.4) (see #211)
2018-09-26 2.3.1 * Addition and subtraction of unitless values. (see #175)
2018-03-06 2.3.0 * Fix add (+) and subtract (-) for BigDecimal scalars. (see #167)
* Update ruby versions (#163)
* fix: temperature converting rational issue (#164)
2017-12-07 2.2.1 * fix an issue with formatting of rational scalars (see #159)
2017-08-07 2.2.0 * add support for ruby 2.4.1
* drop support for ruby 2.1.0
* remove dependency on mathn (see #157)
2016-12-28 2.1.0 * add support for ruby 2.4.0
* allow configuration for optional separator on output
* Fix issue #105 -- change 'grad' to 'gon'
2015-11-07 2.0.0 * remove support for ruby versions less than 2.0
* remove `.unit` and `.u` from String
* remove `.unit` from Date
* Fix an issue with redefining units that have already been cached
* remove 'U()' and 'u()' constructors
* Fix issue #123 -- Fixes for singular unit parsing
2015-07-16 * Fix issue #129 -- doesn't handle number in the denominator
2015-05-09 * update test harness to use rspec 3
2014-02-21 1.4.5 * Fix issue #98 -- add mcg as a valid unit
2013-07-19 1.4.4 * Fix issue #4 -- .best_prefix method
* Fix issue #60 -- Consider placing Unit in a module
* Fix issue #75 -- Siemens is kind of conductance not resistance
* Fix issue #36 -- Don't require spaces in units
* Fix issue #68 -- ditto
* Fix issue #16 -- ditto
2013-06-11 1.4.3 * Fix issue #70 -- Support passing Time objects to Time.at
* Fix issue #72 -- Remove non-existent RakeFile from gemspec
* Fix issue #71 -- Fix YAML test failure
* Fix issue #49 -- Unit instances constructed using other Unit instances are incompatible within the framework
* Fix issue #61 -- Fix failing case of subtraction losing Units class
* Fix issue #63 -- fixes an issue with to_date on 1.8.7
* Fix issue #64 -- Aliases aren't considered in Unit.defined? method
2012-09-16 1.4.2 * Fix issue #54 -- pluralization of fluid-ounces
* Fix issue #53, 51 -- incorrect definition for gee
* Fix issue #52 -- add support for degree symbol
* Fix issue #50 -- fix conversion to json
2012-05-13 1.4.1 * Fix issue #40 -- Unit parsing truncates invalid portions of the unit
* Fix issue #41 -- initializing with a nil gives unexpected result
2012-02-01 * Fix issue #34 -- Time.at takes more than one parameter
* Fix issue #35 -- 'pt' is ambiguous
2012-01-02 1.4.0 * Fix some definitions that were just wrong (amu, dalton)
* Definition uses name of unit if no aliases provided
* Refactor definition process. New units are immediately available
2011-12-31 * Define standard units in terms of base and other standard units -- more internally consistent
and less prone to round-off errors.
* add 'poundal'
* remove 'wtpercent'
2011-12-30 * Bump version
* Define compound units with base units for consistency
* distinguish between a league and a nautical league
* NOTE: the new unit definition DSL is not backwardly compatible with the old method
(which is now deprecated).
* Fix issue #27
2011-12-18 * Can define a display_name for units (fixes #26)
2011-12-04 * Documentation improvements
* Add DSL for defining/redefining units
2011-11-24 * improve yard documentation
* add 'tbsp' as an alias for tablespoon
2011-10-17 1.3.2 * deprecate some string helper functions (make the gem compatible with rails)
* tighten up some time helper functions so they don't make as many assumptions
* time helpers no longer attempt to convert strings to time/date objects
2011-10-09 * Farads are not a base unit
* CFM added to default units
* multi specs run against ruby-1.9.3
* internally change Unit#to to Unit#convert_to, which is the preferred form
2011-04-23 1.3.0.a * Some internal restructuring
* Implement specs for core behaviors
* fixed several bugs found by specs
* implemented a few new methods for completeness
* specs run against 1.8.7, 1.9.2-head, jruby, and rubinius(rbx) using rvm
1.2.0 * Release 1.2.0 series
2010-11-07 1.2.0.a * a bunch of fixes to make ruby-units ruby 1.9 compatible
(ruby 1.9.3dev (2010-11-07 trunk 29711) [i386-darwin9.8.0])
2010-03-16 1.1.5 * another bugfix, and update url to point to github
2010-03-15 1.1.4 * fixed a couple of outstanding bugs
2007-12-13 1.1.3 * fixed a minor bug with string %
2007-12-12 1.1.2 * fixed a bug with format strings
* detect if ruby 1.8.6 is installed and use its' to_date function
2007-07-14 1.1.1 * fixed bug that would prevent creating '<pound-mass>' units, which
prevented rounding from working
* tests do not fail if Uncertain gem is not installed, you just get an
annoying warning message
2007-01-28 1.1.0 * completely revamped the temperature handling system (see README)
* fixed some spelling errors in some units
* fixed to_datetime and to_date to convert durations to datetimes and dates'
2007-01-24 1.0.2 * Minor changes in the way powers are calculated to support Uncertain
numbers better.
* Fixed parsing bug with Uncertain Numbers
* added resolution / typography units (pixels, points, pica)
Note that 'pt' means 'pints' and not 'points'
* added some pressure units ('inHg' & 'inH2O')
* changed default abbreviation of 'knots' to 'kt'
* Changed directory layout
* fixed a minor bug with Time.to_date so comparisons work properly
2007-01-17 1.0.1 * Force units are now defined correctly.
2007-01-12 1.0.0 * Improved handling of complex numbers. Now you can specify
'1+1i mm'.unit to get a complex unit.
* Taking the root of a negative unit will give you a complex unit
* fixed unary minus to work again
* Math.hypot now takes units. Both parameters must be the compatible
units or it will assert. Units will be converted to a common base
before use.
* Can now specify units in rational numbers, i.e., '1/4 cup'.unit
* Seems like a good time to move to 1.0 status
2006-12-15 0.3.9 * forgot to increment the version in the gem file..ooops.
2006-12-15 0.3.8 * Any object that supports a 'to_unit' method will now be
automatically coerced to a unit during math operations.
2006-12-14 0.3.7 * improved handling of percents and added a 'wt%' unit
equivalent to 1 g/dl.
* Improved handling for units with non-alphanumeric names
(like ' for feet, # for pound)
* Now you can enter durations as "HH:MM:SS, usec" or
"HH:MM:SS:usec"
2006-12-05 0.3.6 * Fixed bug where (unit/unit).ceil would fail
2006-11-20 0.3.5 * Minor bug fixes
* to_int now coerces the result to an actual Integer,
but only works properly for unitless Units.
2006-10-27 0.3.4 * Fixed a few more parsing bugs so that it will properly
complain about malformed units.
* Fixed a bug that prevents proper use of percents
* several minor tweaks
* some improved Date and DateTime handling
* can convert between Date, DateTime, and Time objects
* Time math will now return a DateTime if it goes out of
range.
2006-10-03 0.3.3 * Apparently I can't do math late at night.
Fixed a bug that would cause problems when adding
or subtracting units to a unit with a zero scalar.
* Date and DateTime objects can be converted to 'units'
2006-10-03 0.3.2 * More minor bug fixes
(now fixes a minor name collision with rails)
2006-10-02 0.3.1 * minor bug fixes
2006-10-02 0.3.0 * Performance enhanced by caching results of many
functions (Thanks to Kurt Stephens for pushing this.)
* Throws an exception if the unit is not recognized
* units can now identify what 'kind' they are
(:length, :mass, etc..)
* New constructors:
Unit(1,"mm")
Unit(1,"mm/s")
Unit(1,"mm","s")
2006-09-22 0.2.3 * added support for date/time parsing with the Chronic gem
parsing will use Chronic if it is loaded
* allows Date / Time / DateTime conversions
* better test coverage
* The 'string'.to_time returns a Time object
* 'string'.to_datetime returns a DateTime object
* 'string'.time returns a Time object or a DateTime if the
Time object fails
* 'string'.datetime returns a DateTime or a Time if the
DateTime fails
2006-09-19 0.2.2 * tweaked temperature handling a bit. Now enter
temperatures like this:
'0 tempC'.unit #=> 273.15 degK
They will always be converted to kelvin to avoid
problems when temperatures are used in equations.
* added Time.in("5 min")
* added Unit.to_unit to simplify some calls
2006-09-18 0.2.1 * Trig math functions (sin, cos, tan, sinh, cosh, tanh)
accept units that can be converted to radians
Math.sin("90 deg".unit) => 1.0
* Date and DateTime can be offset by a time unit
(Date.today + "1 day".unit) => 2006-09-19
Does not work with months since they aren't a consistent
size
* Tweaked time usage a bit
Time.now + "1 hr".unit => Mon Sep 18 11:51:29 EDT 2006
* can output time in 'hh:mm:ss' format by using
'unit.to_s(:time)'
* added time helper methods
ago,
since(Time/DateTime),
until(Time/DateTime),
from(Time/DateTime),
before(Time/DateTime), and
after(Time/DateTime)
* Time helpers also work on strings. In this case they
are first converted to units
'5 min'.from_now
'1 week'.ago
'min'.since(time)
'min'.until(time)
'1 day'.from()
* Can pass Strings to time helpers and they will be parsed
with ParseDate
* Fixed most parsing bugs (I think)
* Can pass a strftime format string to to_s to format time
output
* can use U'1 mm' or '1 mm'.u to specify units now
2006-09-17 * can now use the '%' format specifier like
'%0.2f' % '1 mm'.unit #=> '1.00 mm'
* works nicely with time now.
'1 week'.unit + Time.now => 1.159e+09 s
Time.at('1.159e+09 s'.unit)
=> Sat Sep 23 04:26:40 EDT 2006
"1.159e9 s".unit.time
=> Sat Sep 23 04:26:40 EDT 2006
* Time.now.unit => 1.159e9 s
* works well with 'Uncertain' numerics
(www.rubyforge.org/projects/uncertain)
* Improved parsing
2006-08-28 0.2.0 * Added 'ruby_unit.rb' file so that requires will still
work if the wrong name is used
* Added 'to' as an alias to '>>' so conversions can be
done as '1 m'.unit.to('1 cm')
* Added ability to convert temperatures to absolute values
using the following syntax:
'37 degC'.unit.to('tempF') #=> '98.6 degF'.unit
* Tweaked abbreviations a bit. 'ton' is now 'tn' instead
of 't'. It was causing parse collisions with 'atm'.
* fixed a bug in term elimination routine
* fixed a bug in parsing of powers, and added support for
'm**2' format
* Added support for taking roots of units. Just
exponentiate with a fraction (0.5, 1.0/3, 0.25)
* renamed 'quantity' to 'scalar'
* any type of Numeric can be used to initialize a Unit,
although this can't really be done with a string
* Units can not be forced to a float using to_f unless
they are unitless. This prevents some math functions
from forcing the conversion. To get the scalar, just
use 'unit.scalar'
* 'inspect' returns string representation
* better edge-case detection with math functions.
"0 mm".unit**-1 now throws a ZeroDivisionError exception
* Ranges can make a series of units, so long as the end
points have integer scalars.
* Fixed a parsing bug with feet/pounds and scientific
numbers
2006-08-22 0.1.1 * Added new format option "1 mm".to_unit("in") now
converts the result to the indicated units
* Fixed some naming issues so that the gem name matches
the require name.
* Added CHANGELOG
* Improved test coverage (100% code coverage via RCov)
* fixed a bug that prevented units with a prefix in the
denominator from converting properly
* can use .unit method on a string to create a new unit
object
* can now coerce or define units from arrays, strings,
numerics.
"1 mm".unit + [1, 'mm'] === "2 mm".unit
[1,'mm','s'].unit === "1 mm/s".unit
2.5.unit === "2.5".unit
* Added instructions on how to add custom units
2006-08-22 0.1.0 * Initial Release