source: branches/dev-5819/CHANGELOG.txt @ 13651

Last change on this file since 13651 was 13651, checked in by randersson, 2 months ago

#5819 Merged trunk into branch

File size: 19.2 KB
Line 
1================= Unreleased ==================
2# Fixed ; Minor ; Compiler; #5844
3Improved attribute evaluation robustness for some cases. Parametric
4attributes are now only generated in model description for inputs
5and states.
6
7# Fixed ; Minor ; Compiler; #5835
8Format string argument to the String function is now useable.
9
10# Change ; Minor ; Compiler; #5830
11ParseHandler now have a target for Subscript.
12
13# Change ; Major ; PyFMI ; #5826
14Updated JModelica external to PyFMI 2.5.4
15
16# Change ; Minor ; Compiler ; #5815
17FilterableIterator now adheres to the contract of Iterator and properly supports "null" elements in the parent iterator.
18
19# Change ; Major ; Compiler ; #5809
20Generate one field per option in OptionRegistry.
21Renamed OptionRegistry to AbstractOptionRegistry, renamed OptionsAggregated to OptionRegistry.
22
23# Change ; Major ; Compiler ; #5804
24Switch to "java.nio.file.Path" instead of "File" or "String"s representing paths in most places.
25"Path" is more thought-through and more powerful, which will allow to implement advanced featuers in the future.
26Note that while java.nio allows to access non-File resources with the same API, the internal workings of JModelica
27currently make restrictions on only supporting file accesses.
28
29# Fixed ; Minor ; Compiler ; #5808
30Add ParseListener and CompilationStartListener for listening to
31parsed files and compilation start events.
32
33# Change ; Minor ; Compiler ; #5810
34Dependency to beaver-rt.jar is now recorded in the jar manifest
35which means it is no longer necessary to add it to the classpath
36when interfacing directly with the compiler jars.
37
38# Change ; Minor ; Compiler ; #5806
39Added compilation hook to run before FMU packing
40
41# Fixed ; Minor ; Compiler ; #5805
42Fixed ant clean failing with empty target directory
43
44# Fixed ; Minor ; Compiler ; #5793
45Fixed bug where reinit did not set value of aliased derivatives.
46
47# Fixed ; Minor ; Compiler ; #5793
48Improved detection of pre-propagation blocks to fix a case where
49reinit did not update properly during event iteration.
50
51# Change ; Major; PyFMI ; #5802
52Updated JModelica external to PyFMI 2.5.3
53
54# Change ; Minor ; Compiler ; #5800
55SrcDot now has SrcNamedAccess instead of SrcAccess as children.
56
57# Fixed ; Minor ; Compiler ; #5791
58Fixed source-tree lookup for modifications: don't look up in normal scope if not found in member scope.
59
60# Fixed ; Minor ; Runtime; #5776
61Fixed bug with boolean inputs where the input was used in a pre() operator.
62
63# Fixed ; Minor ; Compiler ; #5771
64Fixed a bug regarding searching in surrounding classes
65in one of the simple (source) class lookup methods.
66
67# Fixed ; Minor ; Compiler ; #5735
68Fixed exception during code generation caused by bug in temporary removal after function inlining.
69
70# Fixed ; Minor ; Compiler ; #5772
71Fixed exception from negated alias in assign statement left hand side.
72
73# Fixed ; Minor ; Compiler ; #5756
74Fixed c-code generation bug for some array assignments which led to segfaults.
75
76# Feature ; Minor ; Compiler ; #5758
77Added new option time_events, allows time events to be generated, enabled by default.
78Deprecated option relational_time_events.
79
80# Fixed ; Minor ; Compiler ; #5763
81Improved scalarization of record arrays.
82
83# Fixed ; Minor ; Compiler ; #5756
84Improved array initialization for primitive arrays in global constants.
85
86# Fixed ; Minor ; Compiler ; #5753
87Added error check for variability of sample arguments.
88
89# Feature ; Minor ; Compiler ; #5735
90Loop unrolling is now an internal option.
91
92# Fixed ; Minor ; Compiler ; #5748
93Fixed NullPointerException from flattening global access used as subscript
94
95# Feature ; Minor ; Compiler ; #5735
96Turned off loop unrolling in functions to increase performance.
97
98# Feature ; Minor ; Compiler ; #5735
99Added option for controlling maximum allowed size of dynamic state
100sets. Changed default from 8 to 10.
101
102# Feature ; Minor ; Compiler ; #5726
103Orginal annotations should be preserved when components are redeclared
104 unless new annotations are added in the redeclaring declaration.
105
106; Feature ; Minor ; Compiler ; #5725
107Added splitting of generated C code for initialization of global constants (improves compilation time).
108
109; Fixed ; Minor ; Compiler ; #5721
110Fix c_compiler so it's case insensitive.
111
112; Feature ; Major ; Compiler ; #5515
113Turned on initial variability propagation by default.
114
115; Fixed ; Minor ; Runtime ; #5710
116Fixed so that the flag "enforce_bounds" is taken into account in Brent.
117
118; Fixed ; Minor ; PyFMI ; #5709
119Fixed issue with the absolute tolerance not being set when only the
120relative tolerance has been provided.
121
122; Fixed ; Minor ; Runtime ; #5708
123Updated the error message when Brent fails to backet a root.
124
125; Feature ; Minor ; Compiler ; #5696
126Enabled parameter alias elimination by default.
127
128; Fixed ; Minor ; PyFMI ; #5706
129Added checks on the nominal values.
130
131; Feature ; Minor ; Compiler ; #5515
132Expanded variability propagation to also work on initial system.
133Controlled with experimental option, default off.
134
135; Change ; Minor ; Compiler ; #5694
136Reworked GUID generation to only depend on modelDescription.xml.
137
138; Fixed ; Minor ; Compiler ; #5663
139Fixed type checking of array sizes for elements in arrays of records.
140
141; Fixed ; Minor ; Compiler ; #5699
142Made sure to release the package.order file after reading.
143
144; Fixed ; Minor ; Documentation ; #5698
145Add more javadoc for how the AnnotationProvider framework works.
146
147; Fixed ; Minor ; Compiler ; #5689
148Enabled evaluation of non-literal expressions in annotations.
149
150; Fixed ; Minor ; Compiler ; #5692
151Fixed exception from specific combination of record with array of unknown
152size in if expression in binding expression.
153
154; Fixed ; Major ; Compiler ; #5634
155Updated calculation order of start values and dependent parameters to reduce
156number of evaluations.
157
158; Fixed ; Minor ; Compiler ; #5688
159Fixed that binding expression splitting doesn't check bounds.
160
161; Fixed ; Minor ; Compiler ; #5687
162Don't allow any inlining of equations in when loops.
163
164; Fixed ; Minor ; Runtime ; #5684
165Fixed segfault when calling free directly after a reset on CS FMUs.
166
167; Fixed ; Minor ; Compiler ; #5676
168Fixed a problem causing incorrect annotation trees to be created in some cases.
169
170; Fixed ; Major ; Build system ; #5671
171Fixed an issue where gcc compiled FMUs did not work on Windows 10 together
172with a VS2017 compiled software.
173
174; Changed ; Minor ; Compiler ; #5670
175Update handling of constants, and accesses to package constants, in functions
176for improved compilation and simulation performance.
177
178; Fixed ; Minor ; PyFMI ; #5668
179Fixed issue with reusing the PyFMI computed FD Jacobian.
180
181; Fixed ; Minor ; Runtime ; #5665
182Updated the loglevel conversion between runtime and Kinsol which in some
183models has significant impact on the performance.
184
185; Change ; Minor ; Compiler ; #5659
186loadResource on directories now always leads to compile time evaluation of path.
187
188; Fixed ; Minor ; Compiler ; #5642
189Improved and added tests for SimpleLookup. Now supports Quoted names.
190
191; Fixed ; Minor ; Compiler ; #5640
192Fixed a problem where functions had to restrictive visibility.
193Added header information for functions which needed greater visibility.
194
195; Fixed ; Minor ; Compiler ; #5632
196Fixed issue with FExp.dynamicFExp(FExp exp) for null input.
197
198; Fixed ; Minor ; PyFMI ; #5624
199Made binary result saving more robust.
200
201; Fixed ; Minor ; PyFMI ; #5623
202Fixed issue with using the result filter together with FMI1
203
204; Change ; Minor ; MSL ; #5619
205Patched MSL resources to work with VS2015.
206
207; Feature ; Minor ; Compiler ; #5605
208Support for initial parameter external objects.
209
210; Change ; Minor ; Compiler ; #5612
211Changed error check of arguments when compiling from command line to allow empty library argument if a
212modelica path is supplied.
213
214; Fixed ; Minor ; PyFMI ; #5615
215Improved input handling for FMI2
216
217; Fixed ; Minor ; PyFMI ; #5613
218Fixed simulation logging when there are no states.
219
220; Fixed ; Minor ; Compiler ; #5569
221Fixed bug where generic annotation framework returned wrong value or threw
222exception (depended on underlying implementation) if the node was ambiguous,
223instead it now returns another ambiguous node.
224
225; Fixed ; Minor ; Runtime ; #5608
226Removed the -g flag when building FMUs
227
228; Fixed ; Minor ; Compiler ; #5606
229Improved ability to obtain annotation value and
230remove modifications.
231
232; Fixed ; Minor ; Compiler ; #5594
233Added functionality to remove annotations/modifications.
234
235; Fixed ; Minor ; Compiler ; #5604
236Fixed bug where using an iterator expression to set the binding
237expression of a member of a record array member in a record declaration
238would cause a crash in certain circumstances.
239
240; Fixed ; Minor ; PyFMI ; #5597
241Fixed issue with getting time varying variables (sometimes wrong
242variables was returned)
243
244; Fixed ; Minor ; Runtime ; #5590
245Fixed solver trace when beta condition failures occur.
246
247; Feature ; Minor ; PyFMI ; #5587
248Added functionality to set enumerations with strings
249
250; Fixed ; Minor ; Compiler ; #5579
251Improved handling of event generating relational expressions
252with nested blocks.
253
254; Feature ; Minor ; Compiler ; #5584
255Added variable index comment before each variable in the FMI ModelVariables
256XML.
257
258; Fixed ; Minor ; Compiler ; #5490
259Fixed bug that caused some errors to be reported on the wrong line.
260
261; Feature ; Minor ; PyFMI ; #5089
262Added option to limit the maximum size of the log file.
263
264; Fixed ; Minor ; Compiler ; #5564
265Using absoluteValue annotation to generate relativeQuantity attribute
266
267; Fixed ; Minor ; Compiler ; #5563
268Fixed bugs for start attribute generation in xml
269
270; Fixed ; Minor ; Compiler ; #5560
271Improved temporary counting leading to smaller generated c-functions
272
273; Fixed ; Minor ; Compiler ; #5559
274Fixed a problem with vectorized functions where the
275sizes of the dimensions where incorrectly handled.
276
277; Fixed ; Minor ; Compiler ; #5557
278Fixed dependency computation for dynamic derivatives, the FMU XML didn't list
279the corresponding dynamic states as dependencies for the dynamic derivatives.
280
281================= Stable-2018-02-09 ==================
282; Change ; Minor ; Runtime; #5555
283Added so that the internal solver is re-initialized if inputs are
284changed in a co-simulation FMU.
285
286; Change ; Minor ; Compiler ; #5549
287Moved static variable declarations for generated temporaries to
288generated struct in order to improve multithreading capabilities.
289
290================= Stable-2018-01-24 ==================
291; Change ; Minor ; PyFMI ; #5548
292Deprecated get_log_file_name in favour of get_log_filename
293
294; Change ; Minor ; MSL ; #5546
295Patched MSL resources to take into account the NO_MUTEX define.
296
297; Feature ; Minor ; PyFMI ; #5545
298Implemented support for injecting custom logging functionality
299
300; Change ; Minor ; Compiler ; #5542
301Changed license for code generation templates to CPL
302
303; Fixed ; Minor ; Compiler ; #5539
304Changed how qualifiedname works for multidimensional arrays by adding
305 special case for InstArrayComponentDecl.
306
307; Feature ; Minor ; PyFMI ; #5537
308Added the possibility to retrieve unit and display unit name for FMI2
309and also its value in the display unit.
310
311================= Stable-2018-01-12 ==================
312; Feature ; Major ; Compiler; #4797
313Full string support
314
315; Fixed ; Minor ; Compiler ; #5527
316Fixed representation of size expressions in function call types
317
318; Fixed ; Minor ; compiler ; #5530
319Fixed crash bug in FMI XML generator where alias eliminated high order
320temporary derivatives which were orphan caused problems.
321
322; Fixed ; Minor ; Compiler ; #5529
323Fixed bug in FMI XML generation where derivative attribute for second order
324derivatives (or higher) pointed to the wrong variable.
325
326================= Stable-2017-12-19 ==================
327; Fixed ; Minor ; Compiler; #5526
328Fixed null pointer in evaluation of partial function
329
330; Feature ; Major ; Compiler; #4797
331Support for string parameters
332
333; Change ; Major ; Python ; #5167
334Changed the default FMI version when compiling FMUs from Python to 2.0
335instead of 1.0.
336
337; Feature ; Minor ; PyFMI ; #5521
338Added the possibility to directly retrieve a Scalar Variable class instance.
339
340; Feature ; Minor ; Documentation; #5517
341Added information on OPC to Users Guide.
342
343; Feature; Minor; Compiler ; #5516
344Index added to variables and equations in blocks in HTML diagnostics.
345
346; Fixed ; Minor ; Compiler ; #5514
347Fixed problem with temporary generation for for-loop ranges
348
349================= Stable-2017-11-29 ==================
350; Change ; Minor ; Compiler ; #5513
351Changed code generation to use hard coded values in the z-vector for
352performance.
353
354; Fixed ; Minor ; Compiler ; #5487
355Fixed some issues with relational expressions in arrays in records
356
357; Feature ; Major ; Compiler, Runtime ; #5501
358Added a memory pool to be used for dynamic allocations during evaluation
359of the equations (significant speedup in cases with lots of dynamic
360allocations).
361
362; Change ; Minor ; Runtime ; #5505
363Added the compiler flags -msse2 -mfpmath=sse for runtime builds using GCC,
364the same are used for our FMUs.
365
366; Fixed ; Minor ; Compiler ; #5503
367Disabled automatic addition of derivatives for variables with state select set
368to prefer if index reduction is disabled.
369
370================= Stable-2017-11-10 ==================
371; Change ; Minor ; Compiler ; #5497
372Added option for disabling external evaluation during variability propagation
373
374================= Stable-2017-11-02 ==================
375; Fixed ; Minor ; Compiler ; #5326
376Fixed bug where certain combinations of Integer and enumeration parameters
377gave wrong values of those parameters reported from the FMU.
378
379; Change ; Major ; Tests ; #5489
380Divided the test tags stddist, windows and casadi into stddist_base,
381stddist_full, windows_base, windows_full, casadi_base and casadi_full.
382The _base indicates tests that should run on both 32 and 64 bit platform
383whereas _full will only be run in one mode. Also the tests tagged with fmi
384are now tagged as stddist_base/full.
385
386; Fixed ; Minor ; PyFMI ; #5494
387Fixed problem with binary files that includes spaces in the variable names.
388
389; Feature ; Minor ; Compiler ; #5492
390Added common subexpression elimination of builtin math operators.
391
392; Feature ; Major ; Build system ; #5489
393Adding posibility to run Python tests in both 32 and 64 bit modes.
394
395; Fixed ; Minor ; Compiler ; #5486
396Fixed circularity bug in variability calculation
397
398================= Stable-2017-10-18 ==================
399; Change ; Major ; Compiler; #5468
400Removed CAD generation
401
402; Fixed ; Minor ; Compiler ; #5478
403Fixed a bug where external constant evaluation of functions using external objects did not include all resource annotations
404
405; Fixed ; Minor ; Compiler ; #5482
406Fixed a bug where instance tree was kept
407
408; Change ; Major ; PyFMI; #5479
409Changed default file storing method to binary format.
410
411; Fixed ; Minor ; Build system ; #5459
412Fixed so that the Python_64 folder isn't created when there
413is no Python 64 bit distribution available.
414 
415; Feature ; Minor ; PyFMI ; #5475
416Added support for getting the declared type when using FMI2.
417
418; Fixed ; Minor ; PyFMI ; #5476
419Fixed issue with results for parameters when using memory storing option.
420
421; Feature ; Major ; Build system; #5459
422Added support for building CasADi in 32 and 64 bit modes
423in parallel when 64 bit Python and Ipopt available.
424 
425================= Stable-2017-10-05 ==================
426; Feature ; Minor ; PyFMI ; #5470
427Added support to store result files on binary format.
428
429================= Stable-2017-09-28 ==================
430; Change ; Minor ; Build system ; #5459
431Refactored configure.ac.
432
433; Change ; Minor ; Examples ; #5459
434Updated furuta example asserts to correspond to updated FMU.
435
436; Fixed ; Minor ; Compiler ; #5465
437Added derivative attribute to dummy derivatives in model description so it's FMI compliant.
438
439; Changed; Minor; Tests; #5459
440Updated more of tests_jmodelica FMUs to have 64 bit binaries as well.
441
442; Changed; Minor; Tests; #5459
443Updated tests_jmodelica FMUs to have 64 bit binaries as well.
444
445; Fixed ; Minor ; Documentation ; #5466
446Added information about limitation regarding Q-identifiers.
447
448; Fixed ; Minor ; Compiler ; #5460
449Fixed bug where indices in for expressions got modifications intended for actual variables.
450
451; Fixed ; Major ; Build system ; #5459
452Added support for building Assimulo, PyFMI, PyJMI, pymodelica  in
453both 32 and 64 bit modes on windows when corresponding Python distributions
454are available.
455
456; Fixed ; Minor ; Compiler ; #5346
457Fixed code generation error for expanded expressions of arrays in record arrays
458
459; Fixed ; Minor ; Compiler ; #5219
460Fixed bug in BLT computation for initial system where start value of variables
461could depend on variables which were computed after the variable it self.
462
463; Fixed ; Minor ; Python ; #5455
464Fixed build system to handle 64bit FMIL builds correctly.
465
466; Fixed ; Minor ; Python ; #5454
467Fixed build system to handle 64bit SuperLU builds correctly.
468
469; Feature ; Major ; Python ; #5344
470Added support for the sparse solver SuperLU when simulating FMI2 FMUs
471for ME.
472
473; Fixed ; Minor ; Compiler ; #5312
474Fixed branch selection when test expression was dependent on Evaluate=false.
475================= Stable-2017-08-24 ==================
476; Changed ; Minor ; Compiler ; #5214
477The temporary directory is always deleted, regardless of whether compilation fails or succeeds.
478
479; Changed ; Minor ; Compiler ; #5430
480Added option removers to the option registry. Also added a test case for options.
481
482================= Stable-2017-08-09 ==================
483; Fixed ; Minor ; Compiler ; #5416
484Fixed generation of VendorAnnotation tag in FMI XML file to correctly handle FMI 2.0.
485
486; Other ; Minor ; Compiler ; #5417 #5420
487Improved compiler performance in general. In some cases up to -10% compilation time and -20% memory peak when compiling
488
489; Fixed ; Minor ; Runtime ; #5421
490Improved performance in the sparse linear solver (about 30%).
491
492; Fixed ; Minor ; Compiler ; #5408
493Removed erreneous xml tag where several annotations were listed under the
494annotation tag in VendorAnnotatios.
495
496; Fixed ; Minor ; Compiler ; #5402
497Fixed c code generation bug when sparse Jacobians are generated with nonlinear
498blocks present in model.
499
500; Fixed ; Minor ; Compiler ; #5404
501Fixed missing include of the block solver in the FMI templates.
502
503; Changed ; Minor ; Compiler, Runtime ; #5402
504Generation of sparse Jacobian for linear systems is now controlled by a
505threshold and either the dense Jacobian is generated or the sparse, not both.
506
507; Changed ; Minor ; Runtime ; #5401
508Added defines to handle missing CLOCKS_PER_SEC
509
510; Changed ; Minor ; Runtime ; #5400
511Reworked how we check if a directory exist.
512
513; Changed ; Minor ; Runtime ; #5399
514Delayed check of the resource location until it is asked for.
515
516; Fixed ; Minor ; Compiler ; #5394
517Fixed compiler crash when using function with several outputs where one is
518a zero-size array.
519
520; Changed ; Minor ; Compiler ; #5398
521Removed the need to define fmu type in the make file
522
523; Feature ; Minor ; Compiler ; #5375
524Added compiler option "event_output_vars". When set, output variables are
525generated for each event indicator.
526
527; Other ; Minor ; General ; #5393
528Added a changelog to JModelica.org.
529
530==================== JM 2.0 ===================
Note: See TracBrowser for help on using the repository browser.