-
Notifications
You must be signed in to change notification settings - Fork 10
/
CHANGELOG
754 lines (668 loc) · 28.1 KB
/
CHANGELOG
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
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
<h1>CHANGELOG</h1>
<h3>1.31.1 (15/10/2024)</h3>
<ul>
<li>Raise an exception on failed analysis creation</li>
<li>Upgrade to ruby 3.3.5 and Passenger 6.0.23</li>
</ul>
<h3>1.31.0 (30/08/2024)</h3>
<ul>
<li>Upgrade GEMSEO generated code to GEMSEO 5.x</li>
<li>Generate GEMSEO code in package layout mode</li>
<li>Use ruff 0.6 as code formatter</li>
<li>Fix sub-optimization code generation</li>
<li>Manage sub-optimization discipline in json format</li>
<li>Upgrade javascript frontend dependencies</li>
</ul>
<h3>1.30.3 (21/08/2024)</h3>
<ul>
<li>[Tech] Upgrade backend to rails 7.2, pagy 9.0, shakapacker 9.0</li>
</ul>
<h3>1.30.2 (27/06/2024)</h3>
<ul>
<li>Fix EGMDO generated code to work with SMT 2.6.2+</li>
</ul>
<h3>1.30.1 (18/04/2024)</h3>
<ul>
<li>Add variable search tab: User can query and browse variable source and targets disciplines</li>
</ul>
<h3>1.30.0 (22/03/2024)</h3>
<ul>
<li>Tech: Ruby 3.3, upgrade backend and frontend dependencies</li>
<li>Relax variable name parsing to allow '|', ':' and '.'</li>
</ul>
<h3>1.29.0 (15/12/2023)</h3>
<ul>
<li>Tech: Upgrade to Rails 7.1</li>
<li>User can see HSIC sensitivity analysis when browsing DoE data</li>
<li>User can search analyses by name beginnings or by owner names</li>
<li>Fix `run_mdo` template to work with egobox 0.14.0+</li>
</ul>
<h3>1.28.0 (30/06/2023)</h3>
<ul>
<li>Implement sub-optimization handling using `SubmodelComp` component introduced in OpenMDAO 3.27</li>
<li>Add REST API to enable analysis merging and implementation package fetching</li>
<li>Fix an operated or packaged analysis can not be updated</li>
<li>Now analysis index is paginated</li>
<li>[Tech] Upgrade backend and frontend dependencies</li>
</ul>
<h3>1.27.0 (27/04/2023)</h3>
<ul>
<li>Add WhatsOpt Package Store (WopStore) which allows to store and distribute implementations of analyses</li>
<li>Add analysis lock: the owner of an analysis can lock it into readonly mode to prevent unwanted deletion or updates
in the long run</li>
<li>Add <a href="https://joss.theoj.org/papers/10.21105/joss.04737">Egor</a> optimizer among available optimizers</li>
<li>Add a special tag (DISC) for mono-disciplinary analyses</li>
<li>Allow to initialize array variables with a scalar (array filled with the scalar value)</li>
<li>Fix flash notices format when cancelling actions</li>
<li>Tech: Upgrade to xdsmjs 2.0</li>
</ul>
<h3>1.26.0 (24/01/2023)</h3>
<ul>
<li>Manage integer variables by using <a href="https://joss.theoj.org/papers/10.21105/joss.04737">egobox</a> for mixed
integer LHS DOE and Egor optimizer</li>
<li>Authorize optimizations list read access to SEGO experts</li>
<li>Authorize any optimization read access given its id to any user</li>
<li>Fix bug in event journalization occuring when analysis notes length is more than 255 chars</li>
<li>Fix error display styling in anaylsis edition</li>
<li>Max number of optimizations done through web services is increased from 20 to 50.</li>
<li>OpenMDAO generator: use the shape information when adding variables to components</li>
<li>[Tech] Upgrade frontend: React Table v8, fontawesome v6</li>
</ul>
<h3>1.25.0 (04/11/2022)</h3>
<ul>
<li>Fix optimization configuration retrieval from REST API</li>
<li>Add <a href="https://pypi.org/project/egobox/" target="_blank">Egor</a> optimizer as available optimizer for
run_mdo.py and run_egmdo.py scripts.</li>
<li>[Tech] Upgrade backend ruby gems dependenciesi: Rails 7.0.4, manage js with webpack</li>
<li>[Tech] Upgrade frontend: Bootstrap 5, React 18, Rjsf 5</li>
</ul>
<h3>1.24.1 (06/09/2022)</h3>
<ul>
<li>Refactor optimization viewer: add multi-objectives scatter plot matrix</li>
<li>Fix optimization removal</li>
<li>Fix optimization limit handling</li>
</ul>
<h3>1.24.0 (30/08/2022)</h3>
<ul>
<li>Add optimizations management GUI (thanks to @ColasPinson)</li>, it allows to:
<ul>
<li>Display the list of optimizations created through the <a
href="https://ether.onera.fr/whatsopt/api_doc">Optimization web service</a>, see:
<ul>
<li><a
href="https://github.com/OneraHub/WhatsOpt-Doc/blob/df10d34bbfacd2a48574c60ce1a33daf58d423b4/whatsopt_segomoe.ipynb"
target="_blank">
mono-objective continuous optimization tutorial
</a></li>
<li><a
href="https://github.com/OneraHub/WhatsOpt-Doc/blob/df10d34bbfacd2a48574c60ce1a33daf58d423b4/whatsopt_segmoomoe.ipynb"
target="_blank">
multi-objectives mixed-integer optimization tutorial
</a></li>
</ul>
</li>
<li>Remove useless optimizations</li>
<li>Plot results: optimization history in case of mono-objective optim., Pareto front
of the first two objectives in case of multi-objectives optim</li>
<li>Download SEGO optimizer logs for checking/debugging purpose</li>
<li>Download SEGO optimizer history data as a csv file for further exploitation</li>
<li>Note: For now the number of optimizations can not exceed 20 for a same user.</li>
</ul>
</li>
<li>Tech.: Update rails 7.0.3.1, gems and javascript dependencies</li>
</ul>
<h3>1.23.0 (17/06/2022)</h3>
<ul>
<li>Implement access to in-house mixed-integer multi-objective SEGMOOMOE optimizer</li>
<li>Fix EGMDO code generation when an output is used modeled as a random variable</li>
<li>Tech.: Update ruby and javascript dependencies</li>
<li>Tech.: Update SEGOMOE toolbox
</ul>
<h3>1.22.0 (11/04/2022)</h3>
<ul>
<li>User can specify a package name which is used for top level module and top level analysis class</li>
<li>Improvement of EGMDO algorithm using vectorized formulation of random MDA.</li>
<li>Use units in OpenMDAO code generation by default</li>
<li>Fix concatenation of units string to description string</li>
<li>Fix spread 'use units' checkbox setting accross analysis hierarchy</li>
<li>Fix analysis base template when DirectSolver is selected</li>
<li>Tech. upgrade: Rails 7.0.2.2, shakapacker js bundling</li>
</ul>
<h3>1.21.0 (18/01/2022)</h3>
<ul>
<li>User can generate OpenDMAO in package mode, meaning the analysis code is generate under
analysis name directory and related <code>setup.py</code>code> file is generated to allow to build
the corresponding Python package.
</li>
<li>Fix update egmdo error when no objective is selected</li>
<li>Fix sqlite upload by making the factory option not recordable</li>
<li>Update Docker configuration</li>
</ul>
<h3>1.20.0 (15/12/2021)</h3>
<ul>
<li>Bubble up prediction error from surrogate server to provide relevant error message</li>
<li>Enable sub-analysis attachment only when discipline has no connection (to avoid inconsistencies)</li>
<li>Allow to delete upstream connection of a sub_analysis when this one not connected by the corresponding variable
anymore</li>
<li>Use <code>setup_partials</code> to declare OpenMDAO partial derivatives (default finite differences method)</li>
<li>The python formatter <a href="https://black.readthedocs.io">black</a> is passed on the generated code.</li>
<li>Remove deprecated scripts: <code>run_analysis.py</code>, <code>run_optimization.py</code> and
<code>run_parameters_init.py</code>
</li>
<li>Remove WhatsOpt docking mechanism (at least for now, wait for actual need)</li>
<li>Fix template option settings for DirectSolver</li>
<li>Fix sub-analysis copy in presence of sub-sub-analysis</li>
<li>Fix generated code for analysis to use initialize() method following OpenMDAO way of initializing instances
(instead of <code>__init__()</code>, actually previous implementation was error-prone as it did not pass
the <code>**kwargs</code> argument to parent classes).
<li>Tech. upgrade: Ruby 3.0.3, Passenger 6.0.12, Apache thrift 0.15.0, ruby dependencies, javascript dependencies</li>
</ul>
<h3>1.19.0 (23/11/2021)</h3>
<ul>
<li>The script <strong>run_parameters_init.py is deprecated</strong>, and will be renamed mda_init.py in future
versions</li>
<li><strong>WhatsOpt requires minimal wop version 1.20.0</strong></li>
</ul>
<h3>1.18.1 (18/11/2021)</h3>
<ul>
<li>The scripts <strong>run_analysis.py and run_optimization.py are deprecated</strong>, and will be renamed in future
versions
<ul>
<li>run_analysis.py will be renamed run_mda.py</li>
<li>run_optimization.py will be renamed run_mdo.py</li>
</ul>
</li>
</ul>
<h3>1.18.0 (05/11/2021)</h3>
<ul>
<li>User can select optimizer in OpenMDAO tab to generate appropriate run_optimization.py code</li>
<li>User can generate and run EGMDO related methods from an analysis (wop update --egmdo):
<ul>
<li>User should select some disciplines as EGMDO surrogates</li>
<li>User should specify at least a variable as an objective. Constraints variables are
also taken into to qualify the EGMDA convergence.
</li>
<li>User can use run_egmda.py to run the analysis with surrogates</li>
<li>User can use run_egdoe.py to run a doe using the EGMDA</li>
<li>User can use run_egmdo.py to run an optimization using the EGMDA</li>
<li>User can use gradient optimizer efficiently provided he or she implements analytic derivatives
for non EGMDO surrogates disciplines (for EGMDO surrogate ones, derivatives are implemented
using Kriging analytic derivatives provided by SMT).
</li>
</ul>
</li>
<li>Fix sub-analysis / super-discipline names synchronization: renaming one renames the other.</li>
</ul>
<h3>1.17.0 (28/09/2021)</h3>
<ul>
<li>User can browse analysis changes history (add/remove/renaming of disciplines, connections/variables)</li>
<li>User can specify co-owners to allow them to edit the analysis</li>
<li>User as a co-owner is warned if a concurrent occured when editing a given analysis</li>
<li>User can sort analyses the most recently updated first ('Newest' button)</li>
<li>User as a owner can import/export a project (and all its analyses) as a json format (see wop push/pull --json -p)
</li>
<li>User can directly import a discipline frome another analysis in edition mode</li>
<li>User can get standalone html through the WhastOpt GUI ('Export Html' button)</li>
</ul>
<h3>1.16.0 (24/08/2021)</h3>
<ul>
<li>User can compare an analysis to another viewing diff-like information</li>
<li>User can generate an OpenMDAO code enforcing the usage of units. By ticking the use units check box,<br />
WhatsOpt generates an OpenMDAO code which specifies units. Units should be recognised by OpenMDAO.<br />
see <a href="https://openmdao.org/newdocs/versions/latest/features/units.html">Units definitions</a></li>
<li>User can see the analysis identifier in the title</li>
<li>User can specify bounded constraints: either eq (c==init), neg (c<=lower), pos (c>=upper) or bounded constraint
(lower<=c<=upper)< /li>
<li>User can upload results generated with GEMSEO framework (requires wop>=1.17.0)</li>
<li>Refactoring of OpenMDAO generated code:
<ul>
<li>User can subclass <code>AnalysisFactory</code> to control disciplines creation</li>
<li>Generated use standard recommended OpenMDAO import <code>import openmdao.api as om</code> (requires
wop>=1.15.4)</li>
<li>Fix bugs related to Thrift generated code in presence of nested analyses</li>
</ul>
</li>
<li>Bug fixes:
<ul>
<li>Fix GEMSEO code generation to record all responses</li>
<li>Fix bug when reassigning sub analysis</li>
<li>Prevent from creating empty sub analysis</li>
<li>Fix solver <code>maxiter</code> option configuration</li>
<li>Fix run scripts driver recording (generated results with WhatsOpt>=1.15.2 requires upload with wop>=1.16.0)
</li>
</ul>
</li>
</ul>
<h3>1.15.0 (25/06/2021)</h3>
<ul>
<li>User can export GEMSEO code (require wop 1.14.0):
<ul>
<li>Export GEMSEO code from WhatsOpt analysis (aka wop pull --gemseo <id>)</li>
<li>Update code from OpenMDAO to GEMSEO and back (aka wop update --gemseo/--openmdao)</li>
<li><strong>Important Note</strong>: This is an initial limited version using GEMSEO
<ul>
<li>Post-processing visualisation is not implemented (no wop upload)</li>
<li>Nested analyses are not implemented</li>
<li>Distributed executions are not implemented</li>
</ul>
</li>
</ul>
</li>
<li>GUI improvements
<ul>
<li>User can filter displayed variables via substring match</li>
<li>User can view variables by pages</li>
</ul>
</li>
<li>XDSM generation (wop show -f) is available without WhatsOpt account (require wop 1.15.0)</li>
<li>Python templates improvements (PEP8)</li>
<li>Bug fixes:
<ul>
<li>Fix sub analysis attachment preventing from missing sub analysis</li>
<li>Fix possible duplicated outputs when attaching sub_analysis</li>
<li>Fix lengthy variable names visibility in variable table</li>
<li>Fix column sorting (not to be reset when editing)</li>
<li>Fix scatterplot legend width</li>
<li>Fix design project list display</li>
</ul>
</li>
<li>Tech: update RoR backend</li>
</ul>
<h3>1.14.0 (28/04/2021)</h3>
<ul>
<li>User can view Sobol indices using heatmaps.</li>
<li>User can reset his/her password through email request.</li>
<li>User can select input variables of consuming discipline that are now suggested when editing a connection.</li>
<li>Tech: upgrade SEGOMOE optimizer, SMT 1.0.0.</li>
</ul>
<h3>1.13.0 (23/12/2020)</h3>
<ul>
<li>Tech: upgrade ruby 2.7.2</li>
</ul>
<h3>1.12.0 (31/10/2020)</h3>
<ul>
<li>User can specify listening port to run remote analysis server and discipline distribution</li>
<li>User can list his/her own analysis, all available analysis (-a) or by project (-p <substring>)</li>
<li>Fix bug related to remote discipline executions</li>
</ul>
<h3>1.11.0 (29/09/2020)</h3>
<ul>
<li>When user copies or create a metamodel, new analysis gets
same project and members access than the original analysis</li>
<li>User can pull (dump) analysis in pushable (load) json format</li>
<li>Admin can deactivate a user account</li>
<li>Fix remote operations (operate button)</li>
<li>Allow initial value setting for response variables</li>
<li>Tech: upgrade all dependencies</li>
</ul>
<h3>1.10.0 (03/07/2020)</h3>
<ul>
<li>User can organize analyses within design projects: an analysis belongs to one design project and
a design project has many analyses.</li>
<li>User can filter analyses by design project</li>
<li>User can see some qualitative information (tags) in the analyses list:
<ul>
<li>OPTIM: an objective variable is defined</li>
<li>MM: analysis created as a metamodel container</li>
<li>UQ: uncertainty quantification mode: no design variables but uncertain variables</li>
<li>DEEP: analysis with more than 2 levels of nesting</li>
</ul>
</li>
<li>User can reset his/her API key</li>
<li>User can get meta-models information (list and details) from the REST API</li>
<li>Change: OpenMDAO code checking is not run automatically anymore, it is on-demand (user click)</li>
</ul>
<h3>1.9.0 (08/06/2020)</h3>
<ul>
<li>User can set non scalar input variables as uncertain variables and set corresponding distributions</li>
<li>User is warned when he wants to edit an analysis with results</li>
<li>User can push any OpenMDAO problem (even with connect calls or unpromoted variables) code
with <code>wop push -x</code> command for reverse-engineering dispay only</code>
<li>User can push or show with a level of sub-analysis nesting (--depth option, default is 3, no limit with 0)
<li>Fixes: sub-analyses fixes, name validity checking, variables table fixes</li>
<li>Implementation: upgrade gems and javascript modules</li>
</ul>
<h3>1.8.0 (29/04/2020)</h3>
<ul>
<li>XDSM as a service (wop show): User can generate standalone XDSM web page</li>
<li>Add mechanism (whatsopt docking) to ease the connection of known discipline implementations</li>
<li>Manage variable conflicts automatically when importing a discipline</li>
</ul>
<h3>1.7.0 (05/04/2020)</h3>
<ul>
<li>User has access to SEGOMOE optimizer as a web service</li>
<li>Code generation supports OpenMDAO 3.0</li>
<li>Fix sub-analysis replacement</li>
</ul>
<h3>1.6.0 (28/02/2020)</h3>
<ul>
<li>User can run montecarlo doe with regards to uncertain variables distributions</li>
<li>User can view distribution histograms when dealing with uncertain variables</li>
<li>User can run doe in parallel using MPI feature o OpenMDAO</li>
<li>Remove OpenVSP geometry model visualisation (Hangar)</li>
<li>Remove import from Excel or CMDOWS files</li>
<li>Fix metamodel import bug</li>
</ul>
<h3>1.5.0 (27/01/2020)</h3>
<ul>
<li>User can use run_screening with --sobol to get Sobol indices</li>
<li>User can create a metamodel using OpenTURNS polynomial chaos expension algorithm</li>
<li>User can define uncertain variables to use with OpenTURNS backed methods</li>
<li>UI: improve analysis edition mode</li>
<li>Implementation: refactor whatsopt surrogate server</li>
</ul>
<h3>1.4.0 (03/12/2019)</h3>
<ul>
<li>User can export a discipline from an analysis to another.</li>
<li>User can copy an analysis.</li>
<li>Export toolbar moved in Export tab</li>
<li>Refactor Help menu with WhatsOpt documentation et web services API documentation</li>
<li>Implementation: Javascript linting, automated review with Codacy</li>
</ul>
<h3>1.3.0 (14/10/2019)</h3>
<ul>
<li>The user can distribute disciplines on different hosts.</li>
<li>Parameter initialization is in a separate file 'run_parameters_init.py'
to let the user make parameters study without round trip to WhatsOpt.<br />
Parameters in the end can be uploaded to WhatsOpt application
through the command: wop upload 'run_parameters_init.py'
</li>
<li>The user can copy an analysis.</li>
<li>fix bug to take into account solvers options in run scripts.</li>
</ul>
<h3>1.2.0 (30/09/2019)</h3>
<ul>
<li>The user get quality indices (r2 score) for each surrogates of a metamodel.</li>
<li>The user can insert a note (free text) attached to a an analysis.</li>
<li>The user can specify inputs and outputs when creating a metamodel from a DOE.</li>
<li>Notebooks management is removed</li>
<li>Implementation: upgrade to rails 6</li>
</ul>
<h3>1.1.0 (28/08/2019)</h3>
<ul>
<li>Add a service to upload csv data file as an DOE operation result of an existing analysis;
otherwise create the corresponding 'ad hoc' analysis</li>
<li>Add a service to create a kriging metamodel using SMT toolbox from a DOE result and the corresponding
one-discipline analysis to allow further operations.</li>
</ul>
<h3>1.0.0 (17/06/2019)</h3>
<ul>
<li>Présentation à la conférence AIAA Aviation 2019 (Dallas TX)</li>
<li>Article: https://doi.org/10.2514/6.2019-2990</li>
</ul>
<h3>0.16.0 (06/05/2019)</h3>
<ul>
<li>Add screening tab on Salib DOE Morris operation pages</li>
<li>Upgrade gems and javascript packages</li>
</ul>
<h3>0.15.0 (19/04/2019)</h3>
<ul>
<li>Manage scaling values for output variables: ref, ref0, res_ref</li>
<li>Version used to prepare AIAA Aviation 2019 WhatsOpt paper</li>
</ul>
<h3>0.14.1 (09/04/2019)</h3>
<ul>
<li>Add OpenMDAO tab for analysis edition:
<ul>
<li>allow to set nonlinear and linear solvers options</li>
<li>allow to set analysis as a parallel group</li>
<li>allow to set disciplines as implicit component and declare partials support.</li>
</ul>
</ul>
<h3>0.14.0 (28/03/2019)</h3>
<ul>
<li>Scatterplots, parallel coodinates display DOE dots with different color
regarding MDA convergence success: blue for success, amber for failure</li>
<li>openmdao_extensions (0.3.0): implement SMT and SALib drivers as DOEDriver with custom generators</li>
<li>wop upload (0.9.3): add --dry-run, upload doe success/failure</li>
<li>Preparing internet deployment on ether: authentication, restrict scope to analysis, deployment automaqtion</li>
</ul>
<h3>0.13.2 (12/02/2019)</h3>
<ul>
<li>wop update (0.8.1): fix performance issue, fix --server option</li>
<li>Refactoring: split WhatsOpt/python in separate repos:
<ul>
<li>openmdao_extensions: custom solvers and drivers</li>
<li>WhatsOpt-CLI: WhatsOpt command line interface a.k.a. wop</li>
<li>WhatsOpt-Tutorial: WhatsOpt examples and tutorial</li>
</ul>
</li>
<li>wop update (0.9.0): use separate module openmdao_extensions, bug fixes, login URL command</li>
</ul>
<h3>0.13.1 (04/02/2019)</h3>
<ul>
<li>Operation run scripts and operation running require OpenDMAO 2.5+</li>
<li>wop update (0.8.0):</li>
<ul>
<li>By default update only analysis code (i.e. *_base.py)</li>
<li>run_analysis is generated once initially (have to be removed)</li>
<li>Operation run script generated when --run-ops is set</li>
<li>Thrift server only generated when --server is set</li>
</ul>
</li>
</ul>
<h3>0.13.0 (23/01/2019)</h3>
<ul>
<li>Implement Remote execution of nested analyses</li>
<li>Improve wop push (0.7.1): retrieve initial conditions values set by the user on problem object</li>
</ul>
<h3>0.12.2 (07/01/2019)</h3>
<ul>
<li>Management of nested analyses</li>
<li>Display 3D scatter plots when 2 inputs and one output are selected</li>
<li>OneraMDAO SEGOMOE optimizer integration</li>
<li>Improve operation logs management</li>
<li>Upgrade all gems and js modules to latest versions: rails 5.2.2, bootstrap 4.2, font-awesome 5.6</li>
</ul>
<h3>0.12.0 (30/11/2018)</h3>
<ul>
<li>Improve operation management: list view, renaming, timing
<li>Retrieve initial values when using wop push</li>
<li>Fix result display error when a variable is removed</li>
<li>Implement native result load in ruby</li>
<li>Update ruby 2.5.3, ror 5.2.1 and dependencies</li>
<li>Export variables of a given analysis as a csv file</li>
<li>Export data results of an operation as a csv file</li>
<li>Enable filtering user own analysis</li>
</ul>
<h3>0.11.0 (28/09/2018)</h3>
<ul>
<li>Interruption (abort) of an operation run on the server.</li>
<li>Add scipy and pyOptSparse optimizers: COBYLA, BFGS, SLSQP, CONMIN, PSQP, NSGA2</li>
</ul>
<h3>0.10.3 (19/09/2018)</h3>
<ul>
<li>Integrate pyOptSparse driver</li>
<li>Add SNOPT optimizer</li>
</ul>
<h3>0.10.2 (06/09/2018)</h3>
<ul>
<li>Fix deployment configuration: add wop_cmd and wop_env</li>
</ul>
<h3>0.10.1 (03/09/2018)</h3>
<ul>
<li>Python 3 compatibility</li>
<li>OpenMDAO 2.4 compatibility</li>
</ul>
<h3>0.10.0 (31/08/2018)</h3>
<ul>
<li>Manage operation options for lhs doe or slsqp optimizer:
<ul>
<li>LHS: number of sampling points</li>
<li>SLSQP: objective tolerance, convergence display and numbe max of iterations</li>
</ul>
</li>
</ul>
<h3>0.9.5 (23/08/2018)</h3>
<ul>
<li>Manage restricted access to an analysis: owner is able to select team members
with read access permission to the given analysis
</li>
</ul>
<h3>0.9.4 (16/08/2018)</h3>
<ul>
<li>Fix bug related to code generation</li>
</ul>
<h3>0.9.3 (06/07/2018)</h3>
<ul>
<li>Fix minor issues (feedback from users)</li>
</ul>
<h3>0.9.2 (02/07/2018)</h3>
<ul>
<li>Initial version with optimization as a service (Operate button on Analysis page).</li>
</ul>
<h3>0.9.1 (01/06/2018)</h3>
<ul>
<li>wop pull/update: generate thrift server code for a given analysis</li>
<li>wop --version and version</li>
<li>Gems general upgrade and specially rails 5.2.0</li>
</ul>
<h3>0.9.0 (31/05/2018)</h3>
<ul>
<li>Add variables selection to be plotted, implement sensible initial variable selection</li>
<li>Add radar plot for optimization</li>
<li>Implement SSBJ test case MDF optimization</li>
<li>Allow to select min or max optimization</li>
<li>Add export as image</li>
</ul>
<h3>0.8.1 (10/05/2018)</h3>
<ul>
<li>Implement variable role selection:
design var. or parameter, min/max objective, eq/ineq constraint, response or state variable.
<li>Implement run_optimization script generation</li>
<li>Add line plot for displaying optimization operations</li>
<li>Add delete button for operations</li>
</ul>
<h3>0.8.0 (03/05/2018)</h3>
<ul>
<li>Plot data from analysis operations with plotly: parallel coordinates, scatterplot matrix</li>
<li>Implementation wop upload command: allow to upload sqlite database generated by run_scatterplot or
run_screening script</li>
</ul>
<h3>0.7.1 (09/04/2018)</h3>
<ul>
<li>Technical release: upgrade rails to 5.1.6, upgrade to webpacker 3.4.3 </li>
</ul>
<h3>0.7.0 (06/04/2018)</h3>
<ul>
<li>Initial screening capability based on SMT and SALib libraries.</li>
</ul>
<h3>0.6.2 (21/03/2018)</h3>
<ul>
<li>Analysis edition: implement variable deactivation</li>
</ul>
<h3>0.6.1 (05/03/2018)</h3>
<ul>
<li>Consolidate command: wop pull</li>
<li>Implement command: wop update</li>
</ul>
<h3>0.6.0 (26/02/2018)</h3>
<ul>
<li>Manage new Excel template</li>
<li>OpenMDAO code generation: use OpenMDAO 2.2, manage setup method in base classes, comment comute_partials</li>
<li>Show string connections in XDSM but exclude them from OpenMDAO generation</li>
<li>Fix Hangar 3D view control buttons</li>
<li>Initial version of wop pull command</li>
</ul>
<h3>0.5.3 (22/02/2018)</h3>
<ul>
<li>Fix bugs in variable attributes editions</li>
</ul>
<h3>0.5.2 (20/02/2018)</h3>
<ul>
<li>Implement MDA edition: initial version</li>
<li>Add Geometry Models view buttons</li>
<li>Add 'Edit' button access</li>
</ul>
<h3>0.5.1 (13/02/2018)</h3>
<ul>
<li>Implementation: add Connection model to represent connection between variables</li>
<li>"User discipline" added on XDSM to allow filtering for global inputs/outputs of the MDA</li>
</ul>
<h3>0.5.0 (24/01/2018)</h3>
<ul>
<li>Manage initial value setting from Excel MDA template file</li>
<li>Add title and allow edition of notebooks</li>
</ul>
<h3>0.4.7 (17/01/2018)</h3>
<ul>
<li>Fix bugs in Excel and Cmdows importers</li>
</ul>
<h3>0.4.6 (08/01/2018)</h3>
<ul>
<li>wop command : login, logout, list (analyses), push (openmdao analyses) </li>
</ul>
<h3>0.4.5 (08/01/2018)</h3>
<ul>
<li>Initial version of MDA import from code: command 'wop push mda.py' </li>
<li>Schema evolutions : add kind and position to Discipline, rename MDA in Analysis</li>
</ul>
<h3>0.4.4 (21/12/2017)</h3>
<ul>
<li>Manage AGILE CMDOWS file.</li>
<li>fix CMDOWS export using variables fullnames.</li>
</ul>
<h3>0.4.3 (18/12/2017)</h3>
<ul>
<li>Import/Export MDA from/to CMDOWS file.</li>
</ul>
<h3>0.4.2 (11/12/2017)</h3>
<ul>
<li>Implement Hangar to store OpenVSP3 3D models.</li>
</ul>
<h3>0.4.1 (21/12/2017)</h3>
<ul>
<li>Implement import MDA from OpenMDAO code as a dedicated python module</li>
<li>Fix notebook style display (use full template within iframe)
</ul>
<h3>0.4.0 (27/11/2017)</h3>
<ul>
<li>Implement new Excel template import.</li>
<li>Implement OpenMDAO 2.0.2 export.</li>
<li>Use Bootstrap tooltip in XDSM view.</li>
</ul>
<h3>0.3.0 (29/09/2017)</h3>
<ul>
<li>Implement automatic openmdao checking by generating code and running it in the background on a given MDA page</li>
</ul>
<h3>0.2.6 (22/09/2017)</h3>
<ul>
<li>Implement filtering of MDA connections regarding selection on XDSM view</li>
<li>Improve styling of login and MDA pages</li>
</ul>
<h3>0.2.5 (15/09/2017)</h3>
<ul>
<li>Manage 'commented' column in Excel template file to disable a variable</li>
<li>Implement edit/delete permissions for MDAs and notebooks</li>
</ul>
<h3>0.2.4 (08/09/2017)</h3>
<ul>
<li>Fix OpenMDAO code generation bug</li>
<li>Add view tree call in generated code</li>
</ul>
<h3>0.2.3 (04/09/2017)</h3>
<ul>
<li>Import MDA bug fixes on variable dimension of the form n, on mda python module generation.</li>
</ul>
<h3>0.2.2 (29/08/2017)</h3>
<ul>
<li>Implement MDA ownership</li>
</ul>
<h3>0.2.1 (28/08/2017)</h3>
<ul>
<li>Improve MDA connections import (Xn : input from user to discipline n,
Yn: output from discipline n to user, Ynm : from discipline to discipline m) </li>
<li>Automate deployment</li>
<li>Bug fixes</li>
</ul>
<h3>0.2.0 (13/07/2017)</h3>
<ul>
<li>Display variables connections in MDA view</li>
<li>Bug fixes</li>
</ul>
<h3>0.1.0 (04/07/2017)</h3>
<ul>
<li>Display and import Multi Disciplinary Analyses from CICAV Excel template file</li>
<li>Display Notebooks as static HTML</li>
<li>Link to JupyterHub server</li>
</ul>