Make 'bad index' error messages more informative.
Fix 'version' command so 'version -l' prints the current version and 'version verid' checks that verid matches the current version.
The scale vectors produced by dc sweeps are now all called 'sweep', but with appropriate types and units set. Previously they had names like 'i_sweep' which caused incompatibility with Spice 3 scripts.
Fix crash when attempting to plot/print expressions containing syntax errors.
Miscellaneous minor code tweaks which yield a ca 10% speed up of long transient simulations.
Revisit the behaviour of 'let' (see v2.8p14) so that it is backwards-compatible with Spice3 in complicated cases and issues a warning for 'let foo.bar = ..' when 'foo' is not the current plot, or 'bar' is not already defined in plot 'foo'.
Reduce the overhead associated with globbing and brace-expansion.
Fix error in translation of current-controlled POLY's introduced at PATHCLEVEL 14 by the single-character function fix.
Update HiSim model by applying published patches
Prevent a single unmatched '{' generating duplicate error messages during globbing.
Overhaul the way the frontend expands lists {1,2,3}
Fix bug introduced at patchlevel 10 affecting the 'ylabel' parameter for 'plot'.
Fix behaviour when an attempt is made to evaluate a non-existent single character function.
Prevent 'deftype' leaking memory under error conditions.
Cure memory leak caused when parser bails out with a syntax error.
Change the details of the way plot numbers increment so that if a plot is deleted its name is not reused. This ensures that each analysis has a unique default plot name.
Improve the method 'let' uses to decide what the lhs of the '=' refers to.
Fix potential buffer overflow in front end.
Fix an obscure bug in subcircuit expansion code. This caused arbitrary sources in subcircuits expand incorrectly.
Fix pole-zero code in bjt device.
Improve the handling of vector types. This only works properly for simple examples, not general SI units. However, useful common cases are recognised. For example v(5)*i(vsrc) is a vector of type 'power' and the dB() function acts appropriately so that dB(v(5)) + dB(i(vsrc)) == dB(v(5)*i(vsrc)).
Noise density plots now display units as 'X/Hz' where 'X' represents V^2 or A^2 as appropriate.
Improve method of guessing a default ylabel to use on graphs. Tweak the positioning of the xlabel on a graph.
The 'plot' command will now plot the results of pole-zero analysis on an argand diagram.
Change the order of processing in inp_dodeck() to prevent orphan decks being created if the user interrupts deck, e.g. because there are too many errors being printed.
Fix an error in '.tf' analysis introduced by some overzealous memory conservation.
Improve numerical accuracy of the mod operator (%) and prevent 'print 0%5' generating an error message.
Improve subcircuit expansion to make scope rules for model definitions work in a way that is consistent with the userguide. Unfortunately the useguide description of scope is ambiguous so use 'listing p e' and 'show all' to check MacSpice is doing what you expect.
Define new rawfile formats 'tabbed' and 'mac_tabbed'. To make 'write' to create files in a tab-separated column format with '\n' end of line characters. Use 'set filetype = tabbed'. The mac_tabbed variant has '\r' end of line characters. These formats are suitable for import into spreadsheet applications. The MacSpice 'load' command understands these formats too.
Make the 'copy' and 'close' menu items dynamic. Option-Copy puts a hi-res pict onto the clipboard, Option-Close closes all open graph windows.
Install check for a bad scale in deriv() and fix bug which could create vectors which had inconsistent real/complex flags and types.
Fix null dereference that occurs when evaluating $&*
Fix (OS/X only) crash that occurs when a node is misnamed.
Prevent 'plot foo vs 3*bar' creating a vector 3*bar in the current plot.
Correct typo in title of plots created by the dc transfer analysis.
Enhance the processing of history events so that more modifiers work correctly.
Fix frontend parser again so it interprets v(3a) correctly.
Teach the subcircuit expansion that (1,2) expands as (foo:1,foo:2) not foo:(1,2) when it occurs in node name fields.
Correct a fence post error in the interpretation of the history size.
Fix frontend parser so it interprets v(3a) correctly.
Install error message when '.end' is not at the end of the file.
Fix (OS/X only) crash in 'write'.
Make 'cd #' use the latest API calls, so it now works with OS/X and is nicer under Classic.