Analytica 4.2 beta Release Notes/Changes in 220.127.116.11
<< Back to Beta Tester Page
This page lists changes in 18.104.22.168 since beta build 22.214.171.124.
(The gap in numbering reflects internal builds that were not released to beta testers)
- New logo images on installer welcome page.
- Point-and-click method for changing the color of a data series on a result graph. (Right click on a data point and select Change Series Color...).
- Substantial changes to how Dynamic gets evaluated.
- A function can now be part of a dynamic loop. Previously, functions dropped dynamic context.
- Suppose X is used in the definition of V, where V is in a dynamic loop by X is not part of that same dynamic loop (X may be computed by a different dynamic loop). In this case, you can now operate on X over the Time index from the definition of V, such as Max(X,Time). Previously, you could not do this because X[Time=t] (where t is the current dynamic time step) would be used in place of X, so you'd be apply an operation over Time to a scalar value. This would still be true if X were part of the same dynamic loop, but Analytica can now recognize when X is computed outside of the current dynamic loop, and therefore allow this when possible.
- Dynamic[T](...) now allows you to encode a recurrence over an index other than Time using the Dynamic function. The shortcut syntax, X[T-k], can be used inside Dynamic[T](...). Internal representations make evaluation time far more efficient when the system index Time is used compared to when other indexes are used, so when possible and when evaluation speed is an issue, using Time as your primary dynamic index is still recommended.
- Although each instance of Dynamic allows only a single dynamic index to be specified, you can create dynamic loops containing more than one recurrence index (e.g., one node in the loop might be defined using Dynamic[I], another may be defined using Dynamic[J]), making it possible to have multi-D recurrences.
- Dynamic will now allows only a single parameter. On occassion, the expression for the first time step and all remaining time steps is identical (it might contain an IF-THEN-ELSE based on time step).
- New Memory Usage Dialog.
- New "never ever cache" option for CachingMethod. The previous CachingMethod options included "never cache", which never cached non-scalar results, but still cached scalar results (doing so does not incur a memory penalty). The new "never ever cache" option never caches even when result is a scalar. There is no memory savings in using this compared to the previous option, but some examples were given where the feature was useful for "volatile" results such as Today().
- When metaOnly is set, you can enter any identifier directly into a list-of-identifiers, including identifiers of modules, functions, images, text nodes, etc. Normally these are not valid as part of an expression, but this allows you to easily create lists or indexes of handles to all objects.
- Pictures within aliases or input/output controls of variables are now separate from the picture in the original node. When you create an alias or input/output, an existing picture will get copied, but you can delete it in the alias, or replace it to have a different picture in the alias vs. the original (or more commonly, a picture in one but not the other).
- Exposed several new built-in functions within the Definition menu libraries 9Aggregate (array), BesselI BesselJ BesselK BesselY (adv math), IsHandle (special), IsResultComputed (special), ParseDate (special), ParseNumber (special), ReadFromUrl (database)
- Manual activation: Several problems on the manual activation page were fixed, including a problem preventing successful manual activation of ADE licenses.
- Changes to which view is opened when pressing CTRL-E.
- Pressing CTRL-E from outliner view with variable selected jumps to outliner's attribute pane, rather than diagram.
- Input controls will open pane in current window, rather than jumping to original.
- Fixed bug where edit tables wouldn't open when variable has a bad Att_ResultSliceState attribute.
- Fixed bug where HandleFromIdentifier("_caller") didn't always work when called from within a Dynamic loop.
- Fixed bug where DateAdd(..., unit:'h') gave incorrect result.
- Fixed bug where "Checking Definitions..." status box wasn't visible when loading model.
- Fixed bugs with Photo typescript command. Accepts file name on typescript line, eliminated false stack IO underflow error.
- Fixed bug where last character in a copied list of cells was sometimes omitted during a copy/paste.
- Improved speed of saving models. Eliminated the printing of '%' characters to typescript window when a model is being saved.
- Adjust file type options on several Save As... dialogs. For example, the *.PCT option didn't belong on an Open Model... dialog, and OpenExcelFile shows Excel file extensions specifically.
- Numerous changes to descriptions of built-in functions.
- Numerous changes inside User Guide. Quite a few bug fixes in the older content, and some new 4.2 content, although much more 4.2 content still needs to be inserted. Again, the Wiki remains the up-to-date resource for beta testers when it comes to new 4.2 content.