summaryrefslogtreecommitdiff
path: root/CHANGES
blob: e8b40c43288ceda49eed2ff93648d9a0ee07684a (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
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
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
Pint Changelog
==============

0.9 (unreleased)
----------------

- Add support for registering with matplotlib's unit handling
  (Issue #317, thanks dopplershift)
- Add converters for matplotlib's unit support.
  (Issue #317, thanks Ryan May)
- Fix unwanted side effects in auto dimensionality reduction.
  (Issue #516, thanks Ben Loer)
- Allow dimensionality check for non Quantity arguments.
- Make Quantity and UnitContainer objects hashable.
  (Issue #286, thanks Nevada Sanchez)
- Fix unit tests errors with numpy >=1.13.
  (Issue #577, thanks cpascual)
- Avoid error in in-place exponentiation with numpy > 1.11.
  (Issue #577, thanks cpascual)
- fix compatible units in context.
  (thanks enrico)
- Added warning for unsupported ufunc.
  (Issue #626, thanks kanhua)
- Improve IPython pretty printers.
  (Issue #590, thanks tecki)
- Drop Support for Python 2.6, 3.0, 3.1 and 3.2.
  (Issue #567)


0.8.1 (2017-06-05)
------------------

- Add support for datetime math.
  (Issue #510, thanks robertd)
- Fixed _repr_html_ in Python 2.7.
  (Issue #512)
- Implemented BaseRegistry.auto_reduce_dimensions.
  (Issue #500, thanks robertd)
- Fixed dimension compatibility bug introduced on Registry refactoring
  (Issue #523, thanks dalito)


0.8 (2017-04-16)
----------------

- Refactored the Registry in multiple classes for better separation of concerns and clarity.
- Implemented support for defining multiple units per `define` call (one definition per line).
  (Issue #462)
- In pow and ipow, allow array exponents (with len > 1) when base is dimensionless.
  (Issue #483)
- Wraps now gets the canonical name of the unit when passed as string.
  (Issue #468)
- NumPy exp and log keeps the type
  (Issue #95)
- Implemented a function decorator to ensure that a context is active (with_context)
  (Issue #465)
- Add warning when a System contains an unknown Group.
  (Issue #472)
- Add conda-forge installation snippet.
  (Issue #485, thanks stadelmanma)
- Properly support floor division and modulo.
  (Issue #474, thanks tecki)
- Measurement Correlated variable fix.
  (Issue #463, thanks tadhgmister)
- Implement degree sign handling.
  (Issue #449, thanks iamthad)
- Change `UndefinedUnitError` to inherit from `AttributeError`
  (Issue #480, thanks jhidding)
- Simplified travis for faster testing.
- Fixed order units in siunitx formatting.
  (Issue #441)
- Changed Systems lister to return a list instead of frozenset.
  (Issue #425, thanks GloriaVictis)
- Fixed issue with negative values in to_compact() method.
  (Issue #443, thanks nowox)
- Improved defintions.
  (Issues #448, thanks gdonval)
- Improved Parser to support capital "E" on scientific notation.
  (Issue #390, thanks javenoneal)
- Make sure that prefixed units are defined on the registry when unpickling.
  (Issue #405)
- Automatic unit names translation through babel.
  (Issue #338, thanks alexbodn)
- Support pickling Unit objects.
  (Issue #349)
- Add support for wavenumber/kayser in spectroscopy context.
  (Issue #321, thanks gerritholl)
- Improved formatting.
  (thanks endolith and others)
- Add support for inline comments in definitions file.
  (Issue #366)
- Implement Unit.__deepcopy__.
  (Issue #357, thanks noahl)
- Allow changing shape for Quantities with numpy arrays.
  (Issue #344, thanks tecki)

0.7.2 (2016-03-02)
------------------
- Fixed backward incompatibility problem when parsing dimensionless units.


0.7.1 (2016-02-23)
------------------

- Use NIST as source for most of the unit information.
- Added message to assertQuantityEqual.
- Added detection of circular dependencies in definitions.


0.7 (2016-02-20)
----------------

- Added Systems and groups.
  (Issue #215, #315)
- Implemented references for wraps decorator.
  (Issue #195)
- Added check decorator to UnitRegistry.
  (Issue #283, thanks kaidokert)
- Added compact conversion.
  (See #224, thanks Ryan Dwyer)
- Added compact formating code.
  (Issue #240)
- New Unit Class.
  (thanks Matthieu Dartiailh)
- Refactor UnitRegistry.
  (thanks Matthieu Dartiailh)
- Move definitions, errors, and converters into their own modules.
  (thanks Matthieu Dartiailh)
- UnitsContainer is now immutable
  (Issue #202, thanks Matthieu Dartiailh)
- New parser and evaluator.
  (Issue #226, thanks Aaron Coleman)
- Added support for Unicode identifiers.
- Added m_as as way top retrieve the magnitude in different units.
  (Issue #227)
- Added Short form for magnitude and units.
  (Issue #234)
- Improved deepcopy.
  (Issue #252, thanks Emilien Kofman)
- Improved testing infrastructure.
- Improved docs.
  (thanks Ryan Dwyer, Martin Thoma, Andrea Zonca)
- Fixed short names on electron_volt and hartree.
- Fixed definitions of scruple and drachm.
  (Issue #262, thanks takowl)
- Fixed troy ounce to 480 'grains'.
  (thanks elifab)
- Added 'quad' as a unit of energy (= 10**15 Btu).
  (thanks Ed Schofield)
- Added "hectare" as a supported unit of area and 'ha' as the symbol for hectare.
  (thanks Ed Schofield)
- Added peak sun hour and Langley.
  (thanks Ed Schofield)
- Added photometric units: lumen & lux.
  (Issue #230, thanks janpipek)
- A fraction magnitude quantity is conserved
  (Issue #323, thanks emilienkofman)
- Improved conversion performance by removing unnecessart try/except.
  (Issue #251)
- Added to_tuple and from_tuple to facilitate serialization.
- Fixed support for NumPy 1.10 due to a change in the Default casting rule
  (Issue #320)
- Infrastructure: Added doctesting.
- Infrastructure: Better way to specify exclude matrix in travis.


0.6 (2014-11-07)
----------------

- Fix operations with measurments and user defined units.
  (Issue #204)
- Faster conversions through caching and other performance improvements.
  (Issue #193, thanks MatthieuDartiailh)
- Better error messages on Quantity.__setitem__.
  (Issue #191)
- Fixed abbreviation of fluid_ounce.
  (Issue #187, thanks hsoft)
- Defined Angstrom symbol.
  (Issue #181, thanks JonasOlson)
- Removed fetching version from git repo as it triggers XCode installation on OSX.
  (Issue #178, thanks deanishe)
- Improved context documentation.
  (Issue #176 and 179, thanks rsking84)
- Added Chemistry context.
  (Issue #179, thanks rsking84)
- Fix help(UnitRegisty)
  (Issue #168)
- Optimized "get_dimensionality" and "get_base_name".
  (Issue #166 and #167, thanks jbmohler)
- Renamed ureg.parse_units parameter "to_delta" to "as_delta" to make clear.
  that no conversion happens. Accordingly, the parameter/property
  "default_to_delta" of UnitRegistry was renamed to "default_as_delta".
  (Issue #158, thanks dalit)
- Fixed problem when adding two uncertainties.
  (thanks dalito)
- Full support for Offset units (e.g. temperature)
  (Issue #88, #143, #147 and #161, thanks dalito)


0.5.2 (2014-07-31)
------------------

- Changed travis config to use miniconda for faster testing.
- Added wheel configuration to setup.cfg.
- Ensure resource streams are closed after reading.
- Require setuptools.
  (Issue #169)
- Implemented real, imag and T Quantity properties.
  (Issue #171)
- Implemented __int__ and __long__ for Quantity
  (Issue #170)
- Fixed SI prefix error on ureg.convert.
  (Issue #156, thanks jdreaver)
- Fixed parsing of multiparemeter contexts.
  (Issue #174)


0.5.1 (2014-06-03)
------------------

- Implemented a standard way to change the registry used in unpickling operations.
  (Issue #148)
- Fix bug where conversion would fail due to caching.
  (Issue #140, thanks jdreaver)
- Allow assigning Not a Number to a quantity array.
  (Issue #127)
- Decoupled Quantity in place and not in place unit conversion methods.
- Return None in functions that modify quantities in place.
- Improved testing infrastructure to check for unwanted warnings.
- Added test function at the package level to run all tests.


0.5 (2014-05-07)
----------------

- Improved test suite helper functions.
- Print honors default format w/o format().
  (Issue #132, thanks mankoff)
- Fixed sum() by treating number zero as a special case.
  (Issue #122, thanks rec)
- Improved behaviour in ScaleConverter, OffsetConverter and Quantity.to.
  (Issue #120)
- Reimplemented loading of default definitions to allow Pint in a cx_freeze or similar package.
  (Issue #118, thanks jbmohler)
- Implemented parsing of pretty printed units.
  (Issue #117, thanks jpgrayson)
- Fixed representation of dimensionless quantities.
  (Issue #112, thanks rec)
- Raise error when invalid formatting code is given.
  (Issue #111, thanks rec)
- Default registry to lazy load, raise error on redefinition
  (Issue #108, thanks rec, aepsil0n)
- Added condensed format.
  (Issue #107, thanks rec)
- Added UnitRegistry () operator to parse expression replacing [].
  (Issue #106, thanks rec)
- Optional case insensitive unit parsing.
  (Issue #105, thanks rec, jeremyfreeman, dbrnz)
- Change the Quantity mutability depending on magnitude type.
  (Issue #104, thanks rec)
- Implemented API to list compatible units.
  (Issue #89)
- Implemented cache of key UnitRegistry methods.
- Rewrote the Measurement class to use uncertainties.
  (Issue #24)


0.4.2 (2014-02-14)
------------------

- Python 2.6 support
  (Issue #96, thanks tiagocoutinho)
- Fixed symbol for inch.
  (Issue #102, thanks cybertoast)
- Stop raising AttributeError when wrapping funcs without all of the attributes.
  (Issue #100, thanks jturner314)
- Fixed warning appearing in Py2.x when comparing a Numpy Array with an empty string.
  (Issue #98, thanks jturner314)
- Add links to AUR packages in docs.
  (Issue #91, thanks jturner314)
- Fixed garbage collection related problem.
  (Issue #92, thanks jturner314)


0.4.1 (2014-01-12)
------------------

- Integer Division with Arrays.
  (Issue #80, thanks jdreaver)
- Improved Documentation.
  (Issue #83, thanks choloepus)
- Removed 'h' alias for hour due to conflict with Planck's constant.
  (Issue #82, thanks choloepus)
- Improved get_base_units for non-multiplicative units.
  (Issue #85, thanks exxus)
- Refactored code for multiplication.
  (Issue #84, thanks jturner314)
- Removed 'R' alias for roentgen as it collides with molar_gas_constant.
  (Issue #87, thanks rsking84)
- Improved naming of temperature units and multiplication of non-multiplicative units.
  (Issue #86, tahsnk exxus)



0.4 (2013-12-17)
----------------

- Introduced Contexts: relation between incompatible dimensions.
  (Issue #65)
- Fixed get_base_units for non multiplicative units.
  (Related to issue #66)
- Implemented default formatting for quantities.
- Changed comparison between Quantities containing NumPy arrays.
  (Issue #75) - BACKWARDS INCOMPATIBLE CHANGE
- Fixes for NumPy 1.8 due to changes in handling binary ops.
  (Issue #73)


0.3.3 (2013-11-29)
------------------

- ParseHelper can now parse units named like python keywords.
  (Issue #69)
- Fix comparison of quantities.
  (Issue #74)
- Fix Inequality operator.
  (Issue #70, thanks muggenhor)
- Improved travis configuration.
  (thanks muggenhor)


0.3.2 (2013-10-22)
------------------

- Fix get_dimensionality for non multiplicative units.
  (Issue #66)
- Proper handling of @import directive inside a file read using pkg_resources.
  (Issue #68)


0.3.1 (2013-09-15)
------------------

- fix right division on python 2.7
  (Issue #58, thanks natezb)
- fix formatting of fractional exponentials between 0 and 1.
  (Issue #62, thanks jdreaver)
- fix installation as egg.
  (Issue #61)
- fix handling of strange values as input of Quantity.
  (Issue #53)
- math operations between quantities of different registries now raise a ValueError.
  (Issue #52)


0.3 (2013-09-02)
----------------

- support for IPython autocomplete and rich display.
  (Issues #30 and #31)
- support for @import directive in definitions file.
  (Issue #22)
- support for wrapping functions to make them pint-aware.
  (Issue #16)
- support for comparing UnitsContainer to string.
  (Issue #35)
- fix error raised while converting from a single unit to one expressed as
  the relation between many.
  (Issue #29)
- fix error raised when unit symbol is missing.
  (Issue #41)
- fix error raised when magnitude is Decimal.
  (Issue #46, thanks danielsokolowski)
- support for non-installed pint.
  (Issue #42, thanks danielsokolowski)
- support for application of numpy function on non-ndarray magnitudes.
  (Issue #44)
- support for math operations on dimensionless Quantities (written with units).
  (Issue #45)
- fix obtaining dimensionless quantity from string.
  (Issue #50)
- fix adding and comparing numbers to a dimensionless quantity (written with units).
  (Issue #54)
- Support for iter in Quantity.
  (Issue #55, thanks natezb)


0.2.1 (2013-07-02)
------------------

- fix error raised while converting from a single unit to one expressed as
  the relation between many.
  (Issue #29)


0.2 (2013-05-13)
----------------

- support for Measurement (Quantity +/- error).
- implemented buckingham pi theorem for dimensional analysis.
- support for temperature units and temperature difference units.
- parser can infers if the user mean temperature or temperature difference.
- support for derived dimensions (e.g. [speed] = [length] / [time]).
- refactored the code into multiple files.
- refactored code to isolate definitions and converters.
- refactored formatter out of UnitParser class.
- added tox and travis config files for CI.
- comprehensive NumPy testing including almost all ufuncs.
- full NumPy support (features is not longer experimental).
- fixed bug preventing from having independent registries.
  (Issue #10, thanks bwanders)
- forces real division as default for Quantities.
  (Issue #7, thanks dbrnz)
- improved default unit definition file.
  (Issue #13, thanks r-barnes)
- smarter parser supporting spaces as multiplications and other nice features.
  (Issue #13, thanks r-barnes)
- moved testsuite inside package.
- short forms of binary prefixes, more units and fix to less than comparison.
  (Issue #20, thanks muggenhor)
- pint is now zip-safe
  (Issue #23, thanks muggenhor)


Version 0.1.3 (2013-01-07)
--------------------------

- abbreviated quantity string formating.
- complete Python 2.7 compatibility.
- implemented pickle support for Quantities objects.
- extended NumPy support.
- various bugfixes.


Version 0.1.2 (2012-08-12)
--------------------------

- experimenal NumPy support.
- included default unit definitions file.
  (Issue #1, thanks fish2000)
- better testing.
- various bugfixes.
- fixed some units definitions.
  (Issue #4, thanks craigholm)


Version 0.1.1 (2012-07-31)
--------------------------

- better packaging and installation.


Version 0.1   (2012-07-26)
--------------------------

- first public release.