-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathCHANGELOG.rst
More file actions
148 lines (104 loc) · 4.09 KB
/
Copy pathCHANGELOG.rst
File metadata and controls
148 lines (104 loc) · 4.09 KB
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
=============
Release n
0.3.0
=====
**Added:**
* Add support for Python 3.14
* Fill component tail with zeros during normalization
* Add test for recovery from failed component update
* Add a regression test for the cubic root solver
* Optimize stretch using a Hessian matrix
* Use faster iterations when possible
* Allow storing of objective log
**Changed:**
* Rename cli entrypoint to 'snmf' from 'diffpy.stretched-nmf'
**Fixed:**
* Maintain valid state through the algorithm
* Remove warning by explicitly interpreting cubic root as complex
* Produce an error if test files are missing
* Use matplotlib-base when installing with conda-forge
* Update to docformatter 1.7.8
**Removed:**
* End support for Python 3.11
0.2.1
=====
**Changed:**
* Rename cli entrypoint to 'snmf' from 'diffpy.stretched-nmf'
**Fixed:**
* Produce an error if test files are missing
* Use matplotlib-base when installing with conda-forge
0.2.0
=====
**Added:**
* Coverage report in each PR
* Implement tests for ``compute_objective_function()``
* Add spelling check pre-commit via Codespell
* Added XRD example using real data
* SNMFOptimizer.converged_ attribute to indicate whether the optimization
successfully reached the convergence tolerance (True) or stopped because the
maximum number of iterations was reached (False).
* L-BFGS-B method in scipy for weight optimization in def get_weights
* Support for Python 3.13
* 'SNMFOptimizer.objective_log' attr: dictionary list to track the optimization
process, recording the step, iteration, objective, and timestamp at each update.
Uses the 'step', 'iteration', 'objective' and 'timestamp' keys.
* 'SNMFOptimizer(verbose : Optional[bool])' option and SNMFOptimizer.verbose
attribute to allow users to toggle diagnostic console output.
* Add docformatter config block to the end of the pyproject.toml file.
**Changed:**
* Refactor ``get_objective_function()`` into a static method and getter
* Move project/package naming and related references to the new ``diffpy.stretched-nmf`` name.
* Update to scikit-package 0.3
* Modified all print messages for improved readability and tied them to the new
verbose flag.
* Refactored convergence checks and step-size calculations to pull objective
values directly from objective_log instead of relying on a separate history
array.
**Fixed:**
* Add getting started section and re-arrange install success check instructions
* Support ``scikit-package`` Level 5 standard (https://scikit-package.github.io/scikit-package/).
* Remove extraneous files
* Register ``pytest.mark.slow`` in pytest config to avoid unknown-marker warnings.
* Add entry point to the application
* Fix CLI bug due to typo
* Reformat README for PyPi compatibility
* Consistently label variables as private or fit-derived
* Absolute tolerance for updated weighted matrix from 0.5 to 1e-05 in test_subroutines.py
* Include GitHub Issues templates for bug report and feature request
* Conform variable names to PEP-8
**Removed:**
* Old tests and source files from prior, pre-release development.
* cvxpy dependency for linear weight optimization in def get_weights
* Support for Python 3.10
* Removed the 'SNMFOptimizer._objective_history' list, which was made redundant
by the comprehensive 'SNMFOptimizer.objective_log' tracking system.
otes
=============
0.1.3
=====
**Fixed:**
* Updated README instructions for pip and conda-forge install
* Updated README instructions to check for successful installation
0.1.2
=====
**Added:**
* Use GitHub Actions to build, release, upload to PyPI
* Added issue template for PyPI/GitHub release
**Changed:**
* Added tag check for release
* citation from arXiv to npj Comput Mater in docs
**Fixed:**
* Python version from 3.9 to 3.12 in CI news item
* tests folder at the root of the repo
* re-cookiecuter repo to groupd's package standard
* Add pip dependencies under pip.txt and conda dependencies under conda.txt
0.1.0
=====
**Added:**
* Initial release of diffpy.snmf
**Changed:**
* Support Python version 3.12
* Remove support for Python version 3.9
**Fixed:**
* Repo structure modified to the new diffpy standard
* Code linting based on .pre-commit-config.yaml