source: trunk/CHANGELOG.txt @ 13703

Last change on this file since 13703 was 13703, checked in by Christian Andersson, 2 months ago

Reverted changeset:13700. Related to ticket:5837

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