summaryrefslogtreecommitdiff
path: root/CHANGELOG.org
blob: 90f6cfa70fcb848a8568350ca37119d87c8e7594 (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
* Changelog
  All notable changes in this project will be shown in this file.
** v0.4.0 - [2022-07-17 Sun]
*** Added
    - *Added tests for the GUI*
    - *Added search rules that determine which prefixes are shown in the unit conversion view.*
    - Added an object for the version numbers (SemanticVersionNumber)
    - Added some toString methods to NameSymbol and Nameable
*** Changed
    - *Rewrote the GUI code internally using an MVP model to make it easier to maintain and improve*
    - BaseDimension is now Nameable.  As a consequence, its name and symbol return Optional<String> instead of String, even though they will always succeed.
    - The UnitDatabase's units, prefixes and dimensions are now always named
    - The toString method of the common unit classes is now simpler.  Alternate toString functions that describe the full unit are provided.
    - UncertainDouble and LinearUnitValue accept a RoundingMode in their complicated toString functions.
    - Rounding rules are now in their own classes
    - The "Show Duplicates" setting now affects the prefix viewer in addition to units
    - Tweaked the look of the unit and expression conversion sections of the view
    - Default dimension names are in title case, not uppercase.
** v0.3.2 - [2021-12-02 Thu]
*** Added
    - Added lots more tests for the backend and utilities
*** Fixed
    - The UnitDatabase's unit map acted as if it were empty if it had units but no prefixes
    - Non-exact LinearUnitValue instances had their value printed as "(", meaning "(5.0 ± 0.1) m" would be printed as "( m"
** v0.3.1 - [2021-08-26 Thu]
*** Added
    - Created a user manual
    - Create a design document (a document detailing the program's design for programmer use)
*** Changed
    - Changed the name of the project from "Unit Converter" to "7Units"
      - Changed the main package from ~unitConverter~ to ~sevenUnits~
    - Tweaked the README, removing content that belongs in the new user manual
    - Renamed ~SI~ to ~Metric~
** v0.3.0 - [2021-06-12 Sat]
*** Added
    - Added a simple unit conversion method to the Unit interface
    - Added a static factory to create nonlinear units to the Unit interface
    - Added a settings menu with many settings to change the system's behaviour.  Allows you to control the precision settings, prefix repetition, and more.
*** Changed
    - Changed the unit system again!
    - You can now use tabs or spaces to separate unit names and their definitions in unit files.
    - Unit Converter uses Gradle instead of Maven.
** v0.2.0 - [2019-04-14]
*** Added
    - A selection-based unit converter which allows you to select two units, input a value, and convert.
    - The UnitDatabase now stores dimensions.
    - A system to parse mathematical expressions, used to parse unit expressions.
    - You can now add and subtract in unit expressions!
    - Instructions for obtaining unit instances are provided in the relevant classes
    - The UnitPrefix interface now provides default times, dividedBy and toExponent methods.
*** Changed
    - When searching for units, units with no prefixes are searched for before prefixed units
    - Smaller prefixes are searched for before larger prefixes
    - Moved project to Maven
    - Downgraded JUnit to 4.11
    - BaseUnit is now a subclass of LinearUnit
    - In unit files, Comments can now start in the middle of lines
    - UnitsDatabase.addAllFromFile() has been renamed to loadUnitsFile()
** v0.1.0 - [2019-02-01]
   NOTE: At this stage, the API is subject to significant change.
*** Added
    - Unit interface, implemented and supporting classes
    - UnitPrefix interface, implemented and supporting classes
    - UnitDimension and supporting classes
    - UnitDatabase to store and parse units
    - A GUI for unit conversion