Change Log
EEvision-
The front-end of EEvision underwent a major renovation. To better support OEM customers, who integrate EEvision into their own software, the front-end has been split into three parts:
- The EEvision Core (
eevcore.html
) provides only the white drawing area and a new JavaScript or TypeScript API (in the form of an NPM package) to control all features of EEvision. - The JavaScript/TypeScript API communicates with the EEvision
Core by message passing.
This solves the cross-origin issues of the previous EEvision
versions. So, now the EEvision Core can be retrieved from a different
server than the embedding user interface.
The API no longer relies on callback functions to wait for asynchronous calls, but is now completely based on Promises. Promises allow a more robust and better readable programming style than callbacks.
Additionally, the API is now complete in the sense that the EEvision GUI (see below) follows the same integration model as OEM customers, using the API only to implement all the functionality. - The EEvision GUI (
main2.html
) provides for end-users the main user interface. The design has been modernized, but the handling is mostly unchanged. We expect that users who are familiar with the previous version of EEvision will be able to use EEvision 2025 without any problems.
For compatibility reasons, the “old” EEvision
(main.html
) is maintained
and included in the EEvision installation package as long as any OEM customer
uses it as part of their tools.
There haven't been any changes to the database format, i.e., all EDB files can be opened with both the old and the new version of EEvision.
In the following, we provide a few more details on changes since the previous version of EEvision. Because of the numerous changes, the list is certainly not complete.
Configuration (eev.conf):
- New option:
"sortAttributes"
(GUI). If true, sort the attributes in the info window / balloon window alphabetically. Otherwise keep the order from the EDB. - Incompatible change:
Option
"wireFilter"
was renamed to"wireFilterMode"
for consistency reasons. - New options:
"logicalMode"
and"blockMode"
(GUI) to configure the corresponding modes (analogous to"wireFilterMode"
). - New options:
"rectangleSelection"
and"rectangleColor"
(Core). The former allows to select components and/or wires within a rectangular region with the mouse, the latter determines the color of the rectangle shown during dragging the mouse. - New option:
"autoZoom"
(Core). If true, then EEvision automatically adjusts the zoom factor such that the whole schematic fits onto the screen. - New option:
"autoOptimize"
(Core). If true, EEvision optimizes the schematic whenever it changes. This has the advantage of cleaner schematics, but, on the other hand, leads to more movement during incremental navigation. - New option:
"colorscheme"
(Core). Change the colors used by EEvision for the schematics. - New option:
"hierColor"
(Core): Color used for highlighting matching connectors in a hierarchical design.
EEvision Core:
- Incompatible change: Redesigned JavaScript/TypeScript API, based on Promises instead of callback functions. It provides substantially more functionality to the API user like highlighting, callbacks for a number of events.
- New feature: Double clicking an inliner or a connector of an inliner with the <Ctrl> key pressed adds missing wires to pins whose partner is connected.
EEvision GUI:
- New feature (Info Window / Balloon Window):
The width and/or height of image or video entries can be specified as"auto"
. Then, if both are"auto"
, the natural size of the image is taken (up to some maximum width). - New feature (Balloon Window):
We support buttons in the balloon window. One built-in functionality is to completely load incomplete wires (i.e., those that are drawn dashed). - New feature (Balloon / Info Window):
The Plugin API allows plugins to add their own buttons, additional table rows, and handlers for certain attributes. - New feature:
Double clicking the"Regen."
button toggles the autoOptimize mode. - New feature: Multiple objects from a schematic can be loaded at once into a new schematic by selecting them all and pressing the “Load” button
Plugins:
- Incompatible change:
Plugins now have their own dropdown menu (“Plugins”) where plugins can register their own entries. - Incompatible change:
The “balloon” plugin no longer exists as a plugin. Its functionality is now built into the EEvision GUI. - New feature:
In the “zoom” plugin, a double-click on the “fit to screen” button toggles the autoZoom mode. When active, then “fit to screen” is performed after each change to the schematic. - New plugin: “details”. When in logical or block mode, the “details” plugin allows to directly view details of a logical connection in the physical view. Requires an EEvision PRO license.
Start page (eevision.html):
- Improvement:
For configuring a dataset to a 100% model, the user can
choose between three possible mechanisms:
- 150% model (no filtering)
- filter using configuration variables
- filter using configuration modules
- New feature: The page status (are dataset details shown? which dataset is currently selected) is preserved after a page reload.
- Accessibility: When the list of datasets is in focus, the dataset to be loaded can be selected using the <ArrowUp> / <ArrowDown> keys.
EDML
New Features:
- Attributes can be deleted from extern objects exactly as their name can be deleted.
- Support changing type with Type = new_type
at extern
objects analogous to changing object's Name or attributes.
Also add new keyword “undef” to be used in
“
Type = undef
” to clear any previous type from extern objects. - Support type-changing between different
modules (Function, Signal, Harness, etc) with
the “
AS
” keyword, identical to type-changing between different components (Component, HierComponent, Splice, Eyelet, etc). - Support type-changing from Component to SVGComponent
with the “
AS
“ keyword (re-organizes the internal data structure by replacing n connectors with one “implicit connector”). - Support changing hierarchy borders (grouping)
with a new
hmove
command.
JSON API:
- Incompatible Change: The JSON output returns the type of connectors and cavities now as an array of strings instead of a single string. The type may now include the flags “anti” for connectors and “in” / “out” for cavities.
- Feature: The JSON output now also contains the options set at modules as an array of strings.
Server:
- Improved transfer of images to the browser. Only load required image files at startup.
EEvision-2024.1 [git:df6de00]
- Fix the highlighting of UTF-8 characters in the GUI Search result window. The GUI API LiveSearch command now reports character indexes instead of ASCII byte indexes (in the returned sextuple's last two fields).
- Incompatible Fix: the Json output as created by the QueryJsonList API command or by the json.cgi program now report duplicate attributes (attributes with the same name but multiple values) as an Json array instead of a single string. This fix may create incompatible behavior if those duplicate attributes appear (the old behavior was reporting only one of them). Please check The Json key-value pairs for “attrs”.
-
New Hierarchy Borders for Grouping
- New Component type HBOX supports hier-crossing wires.
- Data structure similar to the HIER component but HBOX components do not allow connectors.
- Add Defining Hierarchy to documentation of the EDB Creator API.
- Add HierBox to EDML.
-
Incompatible: Removed option
-halfdots
from the logical mode and the block mode of EEvision. This option was semantically not well defined (in particular because typically only shield wires are connected to halfdot cavities, and shield wires are ignored in logical and block mode). - Fix: Do not generate unconnected cavities in logical mode to which (in physical mode) the shield wires were attached.
- Feature: Preserve hierarchy information in logical mode.
EEvision-2024 [git:a9fe178]
- The documentation for EEvision web server now recommends adding Access-Control-Allow-Origin to all response headers to avoid Browsers rejecting cross-origin resource sharing that might be used by some customer's usage scenarios. This is included in htaccess.sample and built in to the EEvision standalone executable.
- Fix the “Default” button in the settings window to silently ignore unlicensed plugins from eev.conf (as the initial startup does).
- New configuration switches config.debug, config.showArcs, config.explodeSplices and config.markioEx in the Settings dialog window (the “showArcs” is experimental).
- Incompatible: If a SPLICE or EYELET has unconnected pins in the data base, then they are never displayed in the schematic diagram (those unconnected cavities in the data base may appear, e.g., from an inaccurate 100%-configuration). Those unconnected pins may cause an issue, when loading old permalinks or when using the Json report to interact, e.g., with the Load function.
-
New smart extraction
- For better visual feedback on incomplete schematic diagrams, the SPLICEs (depending on config.explodeSplices) may display all pins, including those that are not connected in the current view, but connected in the data base. Those incomplete schematic diagrams are common with the new “smart extraction” or with incremental schematic navigation (double click).
- The API function ExtractOne got a new optional argument “smart”, that can be undefined (behavior unchanged) or 1 (smart path extraction) or 2 (smart path or full extraction, depending on the connectivity)
- The smart extraction (with smart = 1 or 2) only works, if there are Stop-objects identified in the EDB by a "␣smartstop" attribute at one or more Cavity, Connector or Component objects.
- The smart extraction is mostly intended for big power and ground networks that usually should not be displayed as a whole, but only the paths to the power source (e.g., battery); those power source must be identified with the attribute "␣smartstop";. However, the smart extraction works for all kind of networks, if there are smartstop objects reachable from the extraction Start object.
-
In the EEvision GUI, the Extract button (as well as the small
“>” button in the search result window)
now calls
ExtractOne
with smart = 2 which is
incompatible if there are smartstop objects
in the neighborhood. However, if there are no smartstop objects in
the EDB, then the old behavior is provided.
- … with the “Shift” key down, the old behavior is provided (calling ExtractOne with smart = undefined),
- … with the “Ctrl” key down, only the paths to smartstop-objects are searched (calling ExtractOne with smart = 1),
- New Boolean configuration setting config.markioEx; if on, then the paths (found by the smart extraction) from the smartstop objects to the Start object are decorated with little arrows to show the paths directions. This feature temporarily overwrites the Cavity memory in the EDB, and finally deletes those directions, so use with care. The settings dialog displays a checkbox for markioEx.
-
The EDB query functions
EdbExtractOne()
andEdbExtractOneFree()
got a new argument each, to support smart extraction.
- Fix: provide fv (without “=” character) analog to f (without “=” character) to generally switch 100%-filtering between by-Boolean-expression and by-module.
- Fix: silently ignore syntax errors in "␣expr", when using fv for 100%-filtering by Boolean expressions.
- Support identical (duplicate) Cavity names also with EDML, see EDML documentation.
- Fix: fix layout issues and wrong 100%-configuration in EEvision start page
- Fix: modedit plugin – support UTF-8 encoding for EDB export
EEvision-2023.1.1 [git:1730d14]
- Support identical (duplicate) Cavity names at SVG-type Components: the SVG Components' "␣symdef" attributes can now be split over the body (component) and its pins (cavities) to support that correctly.
- Fix ExtractOne with -ignore-power or -ignore-ground now completely ignore those wires and do not load fragments of them (wire stubs).
- ExtractOne improved calculation of path directions on multiterm connections and Arcs.
EEvision-2023.1 [git:918a15c]
- Fix MVSHI-11067, display license expire warning if the license expires within 30 days.
- Make the EEvision front page more responsive to screen width to support smaller screens like tables or smartphones.
- Fix minor glitches in EEvision front page eevision.html.
- Fix documentation: the attribute imagedsp now lists all built-in symbols (from A to Z).
- The release package now includes the documentation twice, a copy under the “web” directory (that is used for installing under a web server).
- New examples “buggy” and “quadcopter” are part of the release package. The “suv” example moved to its own directory. The meaningless example “vehicle” is gone.
-
New
configuration setting
config.autoOptimize
can be used to automatically optimize the schematic when adding objects incrementally.
EEvision-2023.0.1 [git:5d65101]
- Legacy FlexLM license scheme changed to also follow the Altair Unix license scheme, counting per Browser/User. The user is identified by a browser cookie; this requires the user to not disable browser cookies (incognito mode is not supported).
EEvision-2023 [git:c0e077b]
- Fix Altair Units license scheme: now counting per Browser/User. The user is identified by a browser cookie; this requires the user to not disable browser cookies (incognito mode is not supported).
-
Two new GUI API calls are available:
GetInternalState()
andRestoreInternalState()
. They allow to save the current state of EEvision into a JavaScript object and to restore it at a later point in time. - A non-existing eev.conf file does no longer report HTML code 204 but is handled as an empty eev.conf.
- The GUI API LiveSearch command now also supports otype = 'cavity' (to search for cavities at ecu, svg, hier, inliner and undef components). The otype = 'any' now also includes cavities, but the new otype = 'most' does not include cavities. The otype = null depends on the new config.searchAny.
- Incompatible: the LiveSearch's otype = 'any' now also includes cavities, the otype = 'most' is for compatibility.
- The EEvision GUI does no longer gray-out the “Cavity” entry in the obj-type selection menu. The ”Any” entry in the obj-type selection menu now depends on config.searchAny that is by default set to true (searching for cavities, too) but can be set to false in eev.conf for compatibility.
- The Windows executables are now digitally signed.
-
Support unicode characters (wide-chars) on Windows when passing
command-line arguments or environment variables to the executables
kbl2edb
,edml2edb
,csvexport
andedbdumper
. - New option kbl2edb -straight to create a more unified semantic on the attribute names independent from the KBL dialect.
EEvision-2022.3 [git:dd82387 and nlview:63e035c3af]
-
Fix FlexNet version of EEvision to report the
authenticated user and IP (
REMOTE_USER
andREMOTE_ADDR
) to the license server upon check-out instead of the user and IP running the EEvision server (EEVISION-36). - The standalone executable may now automatically exit after 300 seconds idle time after the last browser connection is closed.
- Under Altair licenses, the standalone as well as the CGI EEvision now periodically checks for ”lost licenses“, and if so, pops up an alert window asking the user to restart.
- The standalone executable under Altair licenses now maintains one set of check-outs per browser tab (browser connection) and so pulls a new license for each new browser tab.
-
The link created by and below the permalink button in the More menu does
no longer trigger a new browser tab but simply reuses the current tab
(no
target=_blank
anymore). - New EEvision front page eevision.html, which combines both EDB file selection and 100% configuration. This page is automatically loaded at startup.
- In fileselect.html now sort the file names in dictionary order, handling numbers in a more natural way.
- Fix bug in fileselect.html that may have limited the file listing to 200 entries per directory (now, it is unlimited).
- Fix bug in fileselect.html that may have chopped a file name for large listings that exceeded the internal buffer size.
- Fix the reporting of variables for the 100%-filtering by Boolean expression in the standalone executable.
- Incompatible: the Startup Web Pages do no longer support reading KBL files. The suggested way is doing a separate kbl2edb run.
- Fix error messages in kbl2edb.
- New selection of the EEvision tool (Basic, Pro, Signoff, Docgen, Edbdiff) at startup of the tool (this is required for the new Altair Units license scheme). The features Signoff, Docgen and Edbdiff are no longer organized as “plugins” and do not show up in the Settings dialog window anymore.
- New: Support Altair Units as license scheme for the platforms linux.x86_64 and win64. Using Altair licenses require to specify the tool/app by the tool parameters in the new start-up URL of EEvision or by starting EEvision via the fileselect.html index page.
- New: Support FlexNet as license scheme for the platform linux.aarch64.
- New: Add new demo design SUV (suv.edb) and adapt Quick Start Guide to it.
- Incompatible: EDB Creator API JNA support for version 5.x.
- Incompatible: Drop support for Solaris OS running on Sparc CPU.
- Drop release package linux.x86_64.g17. The build for linux.x86_64 should be used instead (it runs also on Linux glibc older than 2.17).
-
Fix handling of duplicate attributes in the
EDB to better support multiple values at the same attribute (this
is implemented by storing duplicate attributes with the same name
but multiple values. The behavior of EEvision with those duplicates was
undefined in earlier versions. This fix may create
incompatible behavior if duplicate attributes
have been used before.
- The EDB Creator API provides a new EdbUpdateDupAttr accepting one name and a vector of values.
- The config-module associated attributes (as created with EdbAddObjectAttr2Module) now also support multiple values (stored as duplicate attributes). Each config-associated attribute with n values overwrite the matching object-associated attribute with its m values (with the semantics of EdbUpdateDupAttr).
- Internal fix: Skip deleted attributes more consequently as, e.g., created with the EDB Creator API's EdbUpdateAttr.
- Fix applying the config-module associated attributes in the 100% filtering. This fixes a case where a config-attribute was accidentally skipped.
- Fix: EEvision's history was not correctly updated when grayMode changed, netMode changed, or the user removed an item from the schematics by pressing the “Delete” key.
EEvision-7.6.3
- New EDML syntax highlighting extension for the Microsoft Visual Studio Code editor added to our release packages. It is shipped as a platform independent installable extension in VSIX format, located in vscode/edml.vsix.
-
Deprecation warning: Future versions will no
longer support Solaris OS running on Sparc CPU. This affects the
download package and directory named
sun10.64
.
EEvision-7.6.2
- Fix downloading the current configuration in the settings window to include all currently loaded plugins.
- Fix the “Default” button in the settings window to correctly reset the plugins to those specified in the configuration file on the server.
- Fix loading a shielded multicore to always include the shield wire.
- Incompatible: We made the EDML mechanism for extending objects in an existing EDB much more powerful. Selecting existing objects cannot only be done based on the object name, but also on the values of arbitrary attributes. Additionally, one can choose to select all objects that match the selection criteria if several exist or to throw an error if the selected object is not unique or does not exist. For details, please consult the EDML documentation.
-
Plugins:
- New: modnav plugin – The internal " subtype" attribute at modules is used to add a further subtype category to the module class. If the module class is undefined, the " subtype" defines a new module class.
EEvision-7.6.0
-
New: Support for component arcs, i.e., internal
electrical connections between cavities of a component like the two
cavities of a fuse. Such arcs are modeled in EDB as invisible wires of
type
EdbWireTARC
.
EEvision-7.5.7
- Fix broken appearance (BOX symbol) for SVG-type Components if their cavity names contain a “/” character (since 7.5.0).
EEvision-7.5.5
-
Fix non-centered component attributes
(
config.compAttrdsp
) for SVG-type Components (since 7.4.5).
EEvision-7.5.4
- New: The edml2edb converter tool now supports overwriting of duplicate attributes at Extern objects.
-
New: The
edml2edb converter tool now
additionally supports ids for an unknown number of Extern wires (all
wires, that match a given name). E.g.,
extern wire any(*) | Name="Oha";
will makeany(*)
refer to all existing wires with nameOha
– which could be zero, one or more matches. Usingany(+)
instead ofany(*)
is the same behavior, except it must match one or more times (zero matches would result in an error message). - Fix schematic layout detail: use larger minimum stub length for 1-pin Wires.
- New simple image and video added to demo data, referenced by the demo EDB vehicle.edb.
- New: The GUI API function ExtractPaths now additionally extracts self-loops for those terminals (components, connectors or cavities) that are mentioned twice in the idList. This also effects the json.cgi program with multiple jextr.
EEvision-7.5.3
-
New extraction of all paths between selected
terminals (components, connectors or cavities).
- New GUI API function ExtractPaths for extracting all connections between two or more given terminals.
- Incompatible change of the Extract button (if working on two or more selected terminal objects): it now extracts all paths between those given terminals by calling ExtractPaths.
-
The Creator API header files are 100% pure C and no longer implicitly
satisfy C++. Now, any C++ file using these header files must add
extern "C" { ... }
by itself. -
New URL parameters for the
json.cgi program:
- jextr internally calls ExtractOne or ExtractPaths and returns the result from the extraction as a JSON list of objects.
- jesig internally calls ExtractMultiSignal and returns the result from the extraction as a JSON list of objects.
- jname internally searches for objects by its name. This can be combined with type limitations like -component, -connector, etc in the jflags parameter. There is also a new QueryJsonListByName that does the same on API level.
- Incompatible: the json.cgi does no longer support reading KBL files. The suggested way is doing a separate kbl2edb run.
- Incompatible: the json.cgi without the -flat option now always prints the sub-objects in a nested way – independent from further type limitations like -component, -connector, -cavity, etc. If the old behavior is needed, adding the -flat option should work for those cases. The same change applies to the QueryJsonList and CurrentJsonList.
- Fix Hier Components to be filtered correctly by the start-up filters, e.g., filter-wire-types.
- Fix json.cgi to return error message if the server process (aka guard) could not be started with the exec() call.
- Fix client-side Javascript to effectively disable the Browser's bfcache (EEvision must always keep the state of the Browser DOM in-sync with the corresponding server process - therefore, the bfcache must be disabled).
- Update documentation for eev.conf default settings.
- New start-up filter filter-wire-types - controlled by the URL parameter fwt - that can also be invoked from the More menu (Wire Mode).
- Plugins:
EEvision-7.5.2
-
Fix: the blink of the partner Connectors now returns
to its color (if defined by
"␣color"
attribute).
EEvision-7.5.1
- At Hier Connectors additionally display a P button to add and find the partner Connector (from outside to inside and vice versa). The P button appears only if the Hier Connector displays at least one pin.
- All ECU and Hier Connectors with one or more displayed pins will always appear vertical. This means, horizontal Connectors will appear less often.
- In the Settings dialog window, the main version number is displayed and the details are grayed out.
- The EDB file format now accepts two end-of-line representations, its native UNIX-style single newline character as well as the Microsoft-style carriage-return-linefeed sequence. This makes the EDB file more robust when sent as email attachment or handled by other network applications (which may consider the EDB file as UTF-8 text file).
-
Configuration by eev.conf:
-
New: the
configuration
setting "
config.connAttrdsp
" can define the connector attributes that will be displayed below the connector (analogous toconfig.compAttrdsp
for component attributes). -
New: the
configuration
setting "
config.cavAttrdsp
" can define one cavity attribute that will be displayed at the inner side of the cavity pin.
-
New: the
configuration
setting "
-
New: support "
imagedsp
" also at Hier components. -
New: support "
color
" attribute also at Connector (background and optionally foreground color). -
New: extend "
color
" attribute at Component to optionally define foreground color. - Fix: overlapping of stretched connectors.
- Fix: speedup the LoadAll function.
-
Fix: the (deprecated) URL parameter
kblc
is now independent from any KBL dialect. -
EDB Creator:
- New: EDML text format to define EDB content and new edml2edb converter tool – as an alternative to excel2edb or the Creator API.
- New: a separate kbl2edb converter program to create EDB from KBL files.
- The excel2edb converter program's command line options harmonized with other converter programs. Try -help.
- A list of supported ways how to create the EDB Data Model from different sources is provided.
-
Plugin modedit:
- New GUI improvements to the modedit plugin: (a) Non-blocking, draggable plugin GUI. (b) Show a list of all newly added modules with the option to load the module as a new schematic and to remove the module from the list again. (c) Improved message notify.
- New extensions to add export and import function of the newly added modules as a wire list.
- Plugin docgen: GUI improvements.
- Plugin full fixed: now also supports Hier components.
EEvision-7.5.0
- New: support Hierarchy
EEvision-7.4.6
- Fix: LECUs (ECUs without connectors) no longer place their pin names too close to halfdot shaped cavities.
EEvision-7.4.5
- Fix: Fix a font size caching issue that caused too small or large connector shapes, for example.
- Fix: LECUs (ECUs without connectors) no longer overlap their pin names shown inside.
- The flag -avc in the URL parameter ff (attribute value concatenation) now concatenates attribute values if multiple (duplicate) object-attributes are given as part of the 100% filtering. The attribute values are separated by a newline character. This also applies, if an object already stores a regular attribute with the same name. This -avc mode also supports "delete" object-attributes as part of the 100% filtering, as created by AddAttr2Module() with NULL value.
- Fix: The EdbSave and EdbRestore to correctly handle "delete" object-attributes.
EEvision-7.4.3
- In eev.conf, set wireMark to on by default (display color squares on wires). Add initial wire colors for the Settings dialog window.
- The flag -pwire in the URL parameter ff now merges parallel wires into one wire, considering multiterm connections and splice connections. This is done as a post-process after 100% filtering.
- In the main GUI move the Help button into the "More" menu. Add the Help to the bottom of fileselect.html, fileupload.html, kblselect.html and kblupload.html.
- New: human-readable color names and half-transparent colors are supported for the Creator API according to the color attribute documentation.
- If the EdbStrictFValidAttr is set, then the Creator API will instantly reject bad colors. The EDB validator to also check human-readable colors and imagedsp.
EEvision-7.4.1
- Fix: Rename EDB Creator API file for Java to JedbCreator.java.
- Fix: Slightly enlarge the font size for Component names.
-
New: Better support HiDPI (high-resolution)
screens: create sharper schematics depending on Browser's
devicePixelRatio
. - Fix: The Javascript function RegisterURLParams() now sorts the new flnk and klnk parameters for predictability.
- Fix json.cgi If-Modified caching in the standalone executable.
- New: Support another eev.conf file in the same directory as the edb file. The second eev.conf, if available, has priority over the first eev.conf.
- Fix: Plugins are now state-aware; they behave more nicely with reload, history back and forward, etc. The Plugin's common gray mode is now also part of the history state.
- New: A new reserved attribute “ video” can be added to any EDB object to run videos in the info window and balloon window.
- Plugins:
EEvision-7.3.15
- Fix: filter attributes with default attributes (aka language selection with default language). The only fully supported filter mode famo is 2 (default). The mode famo=0 is no longer supported, The mode famo=1 validates for duplicate attributes and other unexpected cases.
-
The
excel2edb
converter now supports a new option-debug
. It adds to each object an attribute with name_tablepos
that contains the row and column number of the table cell that defines the object. -
The
excel2edb
converter no longer supports the comma-separated-vector input format, only EXCEL is supported.
EEvision-7.3.13
- Fix: applying the Browser's previous history state (e.g., by a Browser reload (F5) or back/forward crossing the Browser's DOM border) never creates a new history state.
- Fix: The “Default” button in the Plugin section of the settings dialog now deletes the plugins cookie properly and in all cases (and does not re-create the cookie again from directly implied plugin unload/load actions). Also some browser's behavior of accumulating duplicate cookies with shorter URL paths is handled by deleting all cookies along the given URL path.
- Fix: The eev.conf file is no longer read if it will be overridden by the Browser's internal history state (e.g., by a Browser reload (F5) or back/forward crossing the Browser's DOM border). Now, the config values stay unchanged through all the page load.
- The eev.conf entry userPlugins is gone. Any user developed plugins can be added to the entry “plugins”.
-
Better support Touch Devices like Tablets:
- Visual feedback when touch-down on a button, using the hover-color.
- Walk around Chrome 90's habit calling INPUT element's onchange randomly in browser reload (F5).
EEvision-7.3.12
- Fix: The EEvision startup sequence forces a redraw of the schematic after all SVG images are loaded, even if some image files are missing.
- The EEvision startup sequence now checks for version conflicts with the server to easily identify any Browser caching issues.
- The fileselect.html now supports Firefox Browser back to version 45 and the legacy Edge Browser.
- Fix: Document title's number now continue incrementing after reload. Use the fixed "historyCount" also for GetHistoryPosition.
- Add optional support for merging parallel wires, controlled by a new experimental flag -pwire in the URL parameter ff.
- A permanent link can be created with the new permalink button (in the More menu). It stores the Browser's current state on the server and creates a new URL that is displayed as a link below the button.
-
Better support Touch Devices like Tablets:
- Easier to use: larger buttons in search result window
- Long-Press (>1 second) for multi-selection
- Long-Press-and-Drag for dragging objects
- Feedback for 1 second threshold with a 50ms vibration (if supported by the Browser)
- (The Long-Press feature above also available on Mouse Devices).
- .NET C# API for the EDB Creator API added.
-
The Extract function and the LoadAll function now take
config.powerWireEx
andconfig.groundWireEx
properly into account. - Fix: Plugin dialog windows now use a different background color for text input fields to make them visible.
- Fix: Double click in netMode on an explode/collapse button of a component no longer leads to an error.
-
Plugins:
- EDB Diff plugin – Fix: The EDB Diff plugin is now available for the EEvision standalone tool.
- EDB Diff plugin – A new configuration option allows to exclude double attributes at the same EDB object from the diff procedure.
- EDB Diff plugin – A new configuration option allows to filter the EDBs before generating the diff EDB.
- EDB Diff plugin – Add a loading spinner to the EDB Diff configuration page to disable the GUI during the diff EDB generation phase.
- EDB Diff plugin – Add titles to all input elements of the EDB Diff configuration page.
EEvision-7.3.11
- The EDB Creator API is extended by AddOption2Module() to set the option-bit AUTOCOMPLETE at FUNCTION modules. This is an alternative to and replaces the need for calling AutocompleteModule() which is obsolete now.. The Java API and Python API are also updated.
- The info dialog window's json link is now an ordinary button that adds the JSON text to the bottom of the dialog window or removes it.
- The toolbar now uses SVG icons for some functions.
- Fix: Better error message if the eev.conf file is corrupted.
- Fix: The endcircuit plugin no longer modifies the schematic after selecting a wire or pin when the end-circuit situation does not change.
- Fix: The EDB Creator API function AutocompleteModule fixed to avoid irrelevant inline connectors.
EEvision-7.3.10
- The filter attribute mode famo's default is now 2; the old obsolete mode (without a default attribute) is still available with famo=0.
- Fixes for the Settings dialog window: the tab-order of the top buttons is now left to right; the top buttons got some margin to look better on Safari web browsers; the horizontal bars now span the full width of the dialog window; the number input fields got a lighter background to appear as input.
-
The temp directory
on Windows now defaults to the existing environment variable
Temp, if not set then TMP, if not set then the literal
C:\tmp
. - The default configuration setting for extractMax is changed from 20 to 0 (infinite).
- Reading KBL files (with kblselect.html or kblupload.html) no longer create errors on non-existing SVG symbols, empty symbols have been added to EEvision to avoid these error messages.
- Add titles to the info-, load-, add- and extract-buttons in the search result window.
-
Plugins:
- docgen plugin – Fix: Disable browser history during PDF generation to prevent pushState overflow for some browsers.
- EDB Diff plugin – Fix: The filter by schematic is disabled when browsing through the diffs using the < and > buttons.
- EDB Diff plugin – Fix: Layout improvements for EDB diff start page and EDB diff GUI.
- EDB Diff plugin – When loading the plugin, the GUI is not opened automatically anymore.
- Full plugin – The background color of the canvas is now different from the toolbar color.
- Full plugin – Fix: The Wire appearance section of the settings dialog is disabled in full mode (wire appearance can still be changed before activating full mode).
- Fix: The active plugin cookie works also for Safari web browsers.
- Fix: The "Default" button in the Plugin section of the settings dialog also loads the plugins specified in the eev.conf (and unloads other active plugins).
- The standalone tool now includes the full EEvision documentation (not just the Quick Start Guide).
- Display the attribute labels below the wire optionally with a background and foreground color. This is controlled by the new configuration setting wireBotFmt.
- The maxfontsize for net attributes increased from 16 to 18.
- The fileselect.html and fileupload.html now show a link to the KBL select/upload.
- The info dialog window now shows a “json” button to add the JSON representation at the bottom of the dialog window (independent from configuration debug).
- Fix: EEvision's error window's error message now scrolls horizontally if the text is long.
- Fix: the standalone's upload.cgi does no longer throw an exception.
- Fix: the EEvision's canvas now resizes correctly whenever the toolbar changes (multi-line toolbar).
- The outline color at buttons (indicating the focus) is now light blue (was dark blue).
- The filter.html does no longer include “filter by signal” aka Logical Mode. The Logical Mode is to be started via More/Logical, or with URL parameters.
- Fix: the EEvision GUI's Home button now includes fattr to preserve the language selection (if any) when returning to the selection page.
-
Better support Touch Devices like Tablets:
- Depend on the Browser's answer for the Media Queries “pointer: coarse” and “hover: none” – for coarse-pointer devices display larger buttons; for non-hover devices don't apply the hover colors at buttons.
- Don't automatic set the focus to the search field.
- Fix: the EEvision two-finger pinch zoom is now centered at the pinch center.
- Hovering in the toolbar now includes the color chooser (from the Highlight plugin) and the status/error-message button if enabled.
- Fix: the gray-mode button (needed by some plugins) is now at a fixed location in the toolbar to achieve more predictable behavior on re-size.
- Fix: fine tune the toolbar look by making all toolbar elements equal-height.
- Add overview to EEvision Start Modes to documentation.
- excel2edb now supports color names in addition to hexadecimal RGB values.
- Fix: The SVG export and print function now always take the rotation of the schematics into account.
EEvision-7.3.9
- Fix: The EDB Creator API function AutocompleteModule fixed to find more wires.
- The EEvision GUI's Home button is now controlled by a new URL parameter “home” that is set by the fileselect.html page and others. Now, the Home button always returns to the file selection page.
- Fix: EEvision now also displays SVG symbols if only referenced by symbols defined from “ symdef” attributes, and if there is no symlib file at all (since 7.2.2).
- Fix: Update help tool-tips in the EEvision GUI.
- EEvision's block mode now ignores power and ground wires and initially displays them with stub symbols.
- Fix: The inner-circuit color replacement in the SVG picture is fixed.
- Fix: LECUs (ECUs without connectors) together with multicores no longer lead to an infinite loop. LECU pins are now rendered correctly.
- Fix: Adjust example .htaccess (for Apache) to disable Content-Security-Policy (that is needed for some EEvision plugins).
- New EDB diff plugin to visually compare two versions of a EDB (requires extra license).
EEvision-7.3.8
- The fileselect.html page now supports a “detail” check box to display additional information per EDB file if available. Some root attributes have been added to the example edb files vehicle.edb and simple1.edb to demonstrate the “detail” mode of fileselect.html (actually, simple1.edb is a very small example added to the release package, it is identical to the example1 program, that is part the Creator API documentation).
- Fix: The plugins cookie is now deleted properly, when clicking the “Default” button in the settings dialog.
EEvision-7.3.7
- Fix: Tabulator characters in attribute values have been interpreted as 't' when restoring from file; now they stay tabulator characters.
- The fileselect.html page now displays the file listing as it arrives (if supported by the Browser). This provides a better user experience if the creation of the listing needs some time on the Web server.
- The cookie, that stores the current status of loaded plugins is now bound to the URL's pathname. Different EEvision installations now maintain separate cookies.
- The main GUI's button label to start the Settings dialog window changed from " ⋮ " to "⚙".
- The EEvision standalone executable on Windows (eevision.exe) now also starts the system default web browser, unless the command line option -extern or -terminate is given.
- The Edb Creator Java API and Python API are up-to-date now.
EEvision-7.3.6
- The documentation for the Creator API now includes EEvision Attributes and Semantic Validator and configuration Settings.
- The documentation for EEvision web server now recommends defining Cache-control “must-revalidate” to avoid out-of-date entries in the Browser cache, and the included htaccess.sample defines this. Ditto for the EEvision standalone executable.
- The EDB Creator API provides new function AutocompleteModule to compute missing connectivity in a EdbModule.
- Persistent EDB IDs: The object IDs (as used, e.g., for the QueryJson commands) are now persistent for save/restore/filtering and can optionally be defined by the Creator API. This extends the EDB format (to v3) in a compatible way, old EDB formats (v2) are of course fully supported.
EEvision-7.3.5
- Display FlexNet license origin (together with expire date) in the Settings dialog window.
- EEvision has a new block view mode, which shows the interaction between devices on an abstract level.
-
Search for
license.dat at new default locations, and with
priority at the locations defined by the environment variables
LM_LICENSE_FILE
andDCONCEPT_LICENSE_FILE
. This is now identical for the standalone executable and the web server. And analog between UNIX and on Windows.- Fix for the standalone executable on Windows: search for license.dat also in the same directory as the executable.
-
Incompatible: the
web server no longer
searches
license.dat
at the location
../../license.dat
(relative to the srv-dir), but only at./license.dat
and../license.dat
and new locations.
EEvision-7.3.4
- EDB Creator API: Add Excel format. A well-defined Excel table format can be used as source for EEvision – as an alternative to the Creator API. This Excel format covers most of EDB features and is still easy enough to be readable by humans.
- Add scripts to build a Linux docker from a EEvision release package (only for linux.x86_64 and linux.x86).
- For Filter attributes (select language): add new URL variable famo to define a filter mode. The new mode 2 supports a default attribute that is used if the given language is not available at a certain object.
- Do not close live search result window if info window is opened for a search result entry.
- Add a “Show more” button to the live search result window, which shows all results independent of the searchMax configuration.
-
Plugins:
- Plugins can be added to the EEvision main GUI to add special functionality. Some plugins are now regulated by the license key.
- The list of included EEvision plugins is not stored in the eev.conf entry availPlugins anymore. The availPlugins entry is now obsolete.
- The new eev.conf entry userPlugins specifies the list of user developed plugins. These plugins are added to the Plugin section in the settings dialog and can be loaded/unloaded by clicking the corresponding checkbox.
- The Validator tool is now a plugin in EEvision. As a plugin, the Validator is available to check EDB files for consistency also after filtering, potentially uncovering more problems.
- Fix readsymlib on Windows: no longer return “bad index” when reading the last entry of an existing symlib file (since 7.2.2).
- Fix: walk around a bug in FlexNet to avoid the “bad handshake” protocol error (on heavy load).
-
Fix: all asynchronous
GUI API functions with
parameter
doneFunc
callback now return all error cases by calling the doneFunc() with the errmsg argument set. Any handler installed by SetErrorMessageHandler is no longer triggered by those asynchronous GUI API functions, but still is triggered by errors that come from asynchronous system events, like mouse events. - Fix more compatibility issue with Internet Explorer IE-11: Print() and SaveSVG and the plugins: modnav, and highlight. Add note to browsers: IE-11 must not run in “compatibility view”.
- Fix: update list of 3rd party licenses.
EEvision-7.3.3
- Add list of supported browser.
- Fix compatibility issue with Internet Explorer IE-11.
EEvision-7.3.2
- Add (limited) support for linux.armv7 (ARM 32bit).
- Add basic mechanism to check for read-permissions when starting an EEvision session with an EDB file.
- The current status of loaded plugins is now stored as a cookie.
- New API function QueryNetmode which returns whether EEvision's net mode is on or off.
- New API function QueryLogmode which returns whether EEvision's logical mode is on or off.
- Added a plugin API which contains additional auxiliary functions for custom plugins.
- New plugin API functions GrayButtonRequest and GrayButtonRelease to add and remove a button to activate the grayMode to/from the main toolbar.
- Improved active-server-request/error indicator in main toolbar.
- New API function CenterObj which centers a collection of objects in the schematic.
- Added more plugin documentation.
- Fix: disable Multicore, Module Navigator, Document Generator, and Module Edit plugins in logical mode.
- Fix file upload (e.g., via fileupload.html) for EDBs containing imagedsp attributes.
EEvision-7.3.1
- The EEvision settings can be saved to a file and loaded from a file (Save and Load buttons in the settings dialog).
- A new reserved attribute “ href” can be added to any EDB object to display links in the info window and balloon window.
- A new reserved attribute “ image” can be added to any EDB object to display images in the info window and balloon window.
- Clearly arranged settings dialog with a dynamic generation of the plugin section based on a new config entry availPlugins
- New plugin “Module Navigator” which gives an overview of the different module classes and makes it possible to load or add the modules to the canvas and highlight each module in a different color.
- New plugin “Endcircuit” which displays one SVG for each selected pin inside of the component. Meta information in the referenced SVGs allows to highlight ports and to substitute labels in the graphic.
- An additional “>” button for each component and connector entry in the Live search result window directly extracts the object.
- Highlight plugin: A new button “GM” activates the grayMode which removes color from all objects but keeps the highlight.
- Multicore plugin: A new button “All” additionally shows all multicores which are not visible in the current schematic.
- Added German and French translations to the Desc attribute (description) of all components in the demo EDB vehicle.edb. Filter the attributes by “(EN)”, “(DE)”, or “(FR)” to apply the language to the components in the current session.
Evision-7.2.9
Evision-7.2.8
- In GUI, display ⓘ instead of “Info” in the button to start the info dialog window.
- The filtering in filter.html can be switched off.
- Fix encoding bug for UTF-8 characters on some Windows-10 in the response to json requests, e.g., by QueryJson commands.
- Fix double click a pin with name “-” or “~” (they simply did not work).
- Fix ECU / INLINER symbol boxes that have been too tall, if expanded by imagedsp or minheight.
EEvision-7.2.2
- The standalone executable's option -port supports a new value “env” to get the server port number from the environment variable EEV_PORT.
- The EEvision server reads existing symlib files into “ symdef” attributes and so does no longer transfer the symlib files to the Browser memory.
- A new reserved attribute “ symdef” can be added to define the symbol footprint of SVG-type Components (with svg inner circuits). This is an alternative to using a symlib file.
EEvision-7.2.1
- The LiveSearch command now separates at blanks and performs an AND operation for the search result; only objects that matches each word are displayed (each match in object name or any object attribute if specified by the searchAttr configuration setting).
- Double click in netMode adds all electrically connected objects.
- To each release package, add checksums.md5 storing MD5 checksums of the cgi executables in the cgi-bin directory.
- Loading a module: the startColor does no longer reduce the width of the pins.
- New GUI API function GetHistoryPosition which returns the position of the history stack pointer.
- Add more plugins.
- Default configuration configuration is debug = false.
- Layout: fix several bugs / flaws with stretched components.
EEvision-7.2.0
- The environment variable
TCLSH
is ignored now. - The EDB Creator API supports new optional flags IN and OUT in EdbCavityType (as last argument to EdbNewCavityEx). If IN or OUT is set at ECU or INLINER cavities, then small direction indicators are displayed at the connecting wire.
- The background of the tiny arrows at the twisting indicator is changed to transparent.
- The appearance of the selected object and of the start-object and of the highlighted object (from the highlight plugin) is changed by default: a Component does no longer include its Connectors. The old behavior is still available with the new configure entry “preciseAppear” (on by default).
- The Extract One function, now behaves differently, if starting from an SVG-type Component (with svg inner circuits). In those cases, the Schematic is laid out with the starting Component somewhere in the middle. But unchanged: if starting from an ECU (or from an SPLICE or EYELET), then all schematic is laid out to the right side, and if starting from an INLINER, then the right-connected components go to the right side and the left-connected ones to the left side.
- The “Regenerate” button pressed while the “Shift” button is down, now discards any pin directions from the previous Extract One function and may result in a different left-to-right layout.
- ECU Components with only one Connector initially display the single Connector on the right side (was left side). ECU Components with multiple Connectors are unchanged (they initially distribute the Connectors left-right then top down). INLINER Components with unpaired Connectors with all on the same side, now display them also initially on the right side.
- The EEvision standard GUI: comes with only one selection menu for a combination of object type and object's sub-type.
- Using the environment variable
TCLSH
is deprecated. - EDB Creator API: Add Python and add another example to the documentation for using the API.
-
FlexNet:
- Requires new FlexNet FEATURE “eevision” replacing “nlview”. This requires a new license.dat file.
- Requires new FlexNet option “4server” when running EEvision as Web server for a network (not required for the standalone executable).
- Add documentation for integration and standalone usage models and web server architecture.
- Add Validator also to the standalone executable.
-
Extend GUI API:
- New function LoadIncr which loads and adds an object to the schematic (instead of replacing it).
- New function Print(), which generates an SVG of the current schematic and opens the browsers print dialog.
-
New function
RotateView()
, which turns the canvas 90 degrees right. - New function SelectObj, which selects an object in the current schematic.
- New function GetSelection which returns an array of the currently selected objects.
- New function SetSelectionNotify which overwrites EEvision's internal selection callback.
- New function SetErrorMessageHandler which overwrites EEvision's internal error message handler.
- New service function GetURLParams in urlparams.js which returns an array of previously registered URL parameters
- Fix the included example vehicle.edb to pass our own Validator without warnings.
- Fix the EEvision standard GUI displays error messages at startup time.
- Fix to comply with new Browser behavior: latest Chrome disallows synchronized XHR messages from the “beforeunload” event (when the Browser closes the session). EEvision now uses the new Browser Beacon API, if available, and falls back to the old XHR, if not.
- Fix: remove static variables to make EDB thread safe.
-
Fix release package: move documentation from
web/doc
todoc
(because the doc is for both, the web application and the standalone executable).
EEvision-7.1r1
- Fix: EEvision license checker on Win64 use FlexNet now (instead of expiration date).
EEvision-7.1.16
- Fix: The EEvision startup sequence now forces a redraw of the schematic once all SVGs for ECUs with inner circuit are loaded.
EEvision-7.1.15
- New sorting order for displaying multicore objects with shield connections.
- The Javascript function RegisterURLParams() now accepts a third optional parameter to specify the directory of the proxy CGI.
- Fix: the LiveSearch command does no longer return “dummy” Connectors at SVG-type Components (with svg inner circuits) and also not for UNDEF-type Components (same as for SPLICE and EYELET Components). Only ECU and INLINER Components have meaningful and visible Connectors.
- Fix: silently skip non-mappable Objects from a EdbModuleTFUNCTION when loading it, e.g., via API.LoadObj(id).
- Fix: clean name-space in EDB library.
EEvision-7.1.14
- Added a new EDB Validator tool that checks a number of semantic constraints on an EDB. A violation of these constraints can lead to unexpected behavior of EEvision.
- Extend optional encryption of the EDB file by another cipher, enabled by the last argument to EdbSaveCrypted (set to 7).
- Display the name at Splices closer to the symbol.
- Make vertical gab between components slightly larger (spacecompcomp 10).
- Fix: Special characters like [ and ] in directory name are now ok.
- Fix: Clean name-space in EDB library.
EEvision-7.1.12
- Add local search. Extend API function LiveSearch by additional “mode” argument. If mode = “sch”, then search only in the schematic window; if mode = “edb”, then search in all EDB.
- New configure entry “space4wirelabel” allocates additional space (over-estimate) for displaying the wire labels without text eliding.
- New API function SaveSVG (e.g., for printing).
- If Component attribute “ color” is given, display that component in given color (background color). Regardless if there is also a startColor (no more linear gradient).
- Support optional encryption of the EDB file. The environment variable EDB_PASSWD can be set to proxy.cgi and json.cgi or to the standalone executable.
- The EDB Creator API supports new EdbSaveCrypted.
- New API function Fullfit.
- Fix: Changing multicore display none→full and vice versa does no longer drop wires.
- Fix: Avoid warning: don't add twisting and shielding at SVG symbols because currently Nlview does not support them.
- Fix: Don't do grid-snap when placing Components, this is a walk-around for off-grid pins at symbols in symlib file.
- Fix: At unconnected pins, in some cases don't display twisting/shielding indicator.
EEvision-7.1.11
- At startup, show loading spinner and disable toolbar to avoid flickering.
- Display license info with expire date in the Settings dialog window.
- The Component type SVG (with svg inner circuits) displays the same component attributes as other ECU components do. The configure entry “compAttrdsp” defines the component attributes that will be displayed above the component name.
- Support customer specific trust-based license checker using customer's web service, accessed by a URL that is configured with the “license” entry in eev.conf.
- Fix sorting the result of the LiveSearch command.
EEvision-7.1.10
- New API function LiveSearch.
- If Component attribute “ color” is given, display that component in given color (background color). If mixed with the startColor, then a linear gradient is displayed.
- If Component attribute “ imagedsp“ is given, referring to an image file (e.g., an svg file), then display that image inside the component. This image file is expected to be stored on the server in the same directory as the EDB file.
- Relax Language-Checks (if the Language-attributes are incomplete).
EEvision-7.1.9
- Extended API function LoadObj() to support id=0 for loading “nothing” – just clearing the schematic canvas.
- Improved pin sorting from HALFDOT Cavities at INLINER.
- New environment variable EEV_LOGFILE to define logfile name on Windows. The environment variable EEV_SYSLOG now accepts numbers and symbolic names to define the severity level of the logging.
- Multicores with type UNDEF are no longer visible in the schematic but still have impact on the pin grouping.
- The Javascript function RegisterURLParams() now returns shorter flnk and klnk parameters for shorter URLs.
- Multiple Attributes displayed above or below an ECU component are now automatically stacked on top of each other – to vertically “float” towards the component body. This has no effect unless in zoomed-in cases where maxfontsize applies.
- Add CGI programs debug.cgi and cleanup.cgi for debugging the EEvision installation and for viewing and deleting EEvision temp files.