source: trunk/CHANGELOG.txt @ 13719

Last change on this file since 13719 was 13719, checked in by Christian Andersson, 8 weeks ago

Recommitted changeset:13700 to trunk with two bug fixes. Related to ticket:5837

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