Fixed a bug that could cause the app to crash when there is no network connection.
2.4.9 - April 22, 2019
Changes
Cross-Platform
Completely revamped signal dimension determination.
Bugfixes
Cross-Platform
Fixed an issue with random waveform generation.
Fixed an issue where some modules would not stay deleted.
2.4.8 - February 19, 2019
Changes
Cross-Platform
Changed the way groups are ordered in the library.
Bugfixes
Cross-Platform
Fixed plot grid lines appearing darker on initial load and after screen timeout.
Android App
Fixed image texture crash on older devices.
2.4.6 - January 18, 2019
Changes
Cross-Platform
Unified the look of text input fields.
Made texture loading more seamless.
Bugfixes
Android App
Fixed crashes related to choice lists and video loading.
2.4.4 - October 25, 2018
Changes
Cross-Platform
Fixed an issue where users would incorrectly experience authentication issues.
Updated the About and Support sections of the menu.
Bugfixes
Android App
Fixed an issue where plots would not appear after powering the screen on and off.
iOS App
Fixed an issue where some media types would not display under certain circumstances.
2.4.3 - October 17, 2018
Bugfixes
iOS App
Fixed an issue where some users could not log in.
2.4.2 - July 25, 2018
Changes
Cross-Platform
Added new terms of service.
Added additional privacy and account options.
iOS App
Augmented support for iPhone X.
Bugfixes
Cross-Platform
Fixed some issues when the user session expires.
2.4.1 - April 2, 2018
Changes
Cross-Platform
Added support for the voicethread scheme.
iOS App
Updated the style of choiceList icons.
Bugfixes
iOS App
Fixed sizing of library covers when changing orientation in split-screen mode
Fixed sizing and orientation issues with in-app messages.
Fixed last group getting cut off when scrolling on group management screen.
2.4.0 - February 26, 2018
Changes
Cross-Platform
Links that start with qdex:/// will now launch the application directly into the specified module.
Updated account creation process.
Updated error messaging.
Bugfixes
iOS App
Fixed an issue where the keyboard wouldn't dismiss under certain use cases.
2.3.0 - August 14, 2017
Changes
Cross-Platform
Enhanced login security.
Bugfixes
Cross-Platform
Fixed various state-related issues.
2.2.0 - July 5, 2017
Changes
Cross-Platform
Module details now display dates in local time.
Added option for anonymous usage statistics.
Fixed crash logging.
iOS App
Updated choice list icons.
Android App
Display faded out modules when they are inaccessible due to network or authentication issues.
Bugfixes
Cross-Platform
Better handling of LANs without external Internet access.
Android App
Fixed some splash screen issues.
2.1.1 - April 25, 2017
Changes
Cross-Platform
Fixed an issue with duplicated Recent and Public groups.
iOS App
Fixed a crash when inspecting equations.
2.1.0 - April 17, 2017
Changes
Cross-Platform
Groups can be rearranged from settings.
Added a refresh button to the library.
Learning modules can be displayed in a preferred order as determined by the group owner.
Preferences (such as group order, sort order) are now synchronized with the qdex server.
Improved in-app messaging UI.
iOS App
Updated choice list selected/unselected state indicators.
Bugfixes
Cross-Platform
Fixed layout issues with embedded YouTube videos.
Fixed issues when logging out of qdex Play.
iOS App
Fixed a memory leak that would occur when viewing learning modules.
Android App
Fixed a crash that would sometimes occur when moving the app into the foreground.
Fixed an issue that would occur when attempting to update a learning module while having no available Internet connection.
2.0.3 - December 30, 2016
Changes
Cross-Platform
Security and stability improvements.
2.0.2 - December 21, 2016
Changes
Cross-Platform
Improved library interface performance.
Bugfixes
Cross-Platform
Fixed an "incompatible module" error when a module contained an empty event handler.
Android App
Fixed intermittent crashes within the library interface.
2.0.0 - December 13, 2016
Changes
Cross-Platform
New and improved interface for managing learning modules.
Added an ode4 solver to the possible <solver> types.
Added page numbers within learning modules.
Added the ability to leave groups.
iOS App
64bit version is now available on supported devices.
1.0.16 - October 18, 2016
Changes
Cross-Platform
Added a type attribute to <solver> with options for an ode1 or ode2 solver.
1.0.15 - October 14, 2016
Changes
Cross-Platform
Changed communications to be persistent. Added a <client> element to replace the <stream> element, which is now deprecated.
Add a conditional attribute to the <probe> elment, which gives it a second port for enabling/disabling writing to the target.
The <signal> element now has a second output which indicates whether the data from its source is new.
Bugfixes
Android App
Fixed handling on zoom on plots for some Android devices, such as the Nexus.
1.0.14 - September 6, 2016
Bugfixes
iOS App
Fixed a font display issue on plots in iOS 10.
1.0.13 - August 26, 2016
Bugfixes
Cross-Platform
Fixed an issue where documents update unnecessarily when opening.
Fixed updating of some older knowledge modules.
Fixed an issue where the app would crash when opening certain documents.
Fixed an issue where the app would not display documents when no internet was detected.
iOS App
Fixed some controls not functioning properly after returning from a cross-referenced knowledge module.
1.0.12 - August 11, 2016
Features
Cross-Platform
Automatically updates a qdex document on load.
Changes
Cross-Platform
Unified the library into a single view.
1.0.11 - July 6, 2016
Features
Cross-Platform
Added a feature to send e-mail.
Repository
Improved UI for authors.
Removed redundant menu items on small screen devices.
1.0.10 - June 15, 2016
Features
Cross-Platform
Added lu method (LU factorization) to the matrix packages in script.
Added vector.permutation method for creating permutations in script.
Added permute method to vector packages in script for permuting the elements of the vector.
Added permuteRows and permuteColumns methods to matrix packages in script for permuting the rows or columns of a matrix.
Added cycle method to colors package in script.
Added the ability to show and hide pages by setting the Visibility style of the corresponding <section> element(s).
Repository
Added more details in the qdex document page for Authors.
Added more details in the groups page and improved the group viewing for Authors.
Added the ability to remove editing access from an Author.
Added the ability for users to delete their account.
Added the ability for authors to add or remove users to their group.
1.0.9 - May 6, 2016
Features
Cross-Platform
Added a <web> element for viewing local or remote web pages.
Added a boolean reorient attribute to the <accelerometer>, <magnetometer> and <gyroscope> elements to make them
output axes based on the current qdex app orientation rather than the physical device axes.
Changes
Cross-Platform Apps
Changed <choices> element to <choiceList>. Predefined style for this element is now choiceLists rather than choices.
Added predefined oddChoices and evenChoices styles for alternating styles on choice lists.
Bugfixes
Cross-Platform Apps
Fixed handling of external qdex: URLs in <link> element and application.navigateTo calls.
Fixed issue with sensors not working in simulations.
Fixed bug in toast notifications.
Fixed default margins on <choiceList> element (formerly <choices>).
Android App
Fixed empty dialogs on some Android tablets.
iOS App
Fixed cross-reference linking on iOS via <crossRef>, which didn't always scroll to the correct page location.
Fixed hanging bug when exiting qdex application on iOS.
1.0.8 - May 2, 2016
Features
Cross-Platform
Added the ability to multi-task on supported devices.
Added a new <choices> element with <choice> child elements that presents a mutually-exclusive list of choices.
Added support for complex numbers, vectors and matrices (with double-precision) to script.
Added methods to allow vibration and beeping on supported devices via script.
Added fft and ifft methods (forward and inverse FFT) to the vector packages for script.
Added evd method (eigenvalue decomposition) to the matrix packages for script.
Added svd method (singular value decomposition) to the matrix packages for script.
Added kernel and nullity methods to the matrix packages for script.
Added inverse, kron, rank and conjugate methods to the matrix packages for script.
Added preliminary support for matrix division (matrix / matrix).
Added support for the <crossRef> element to put hyperlinks to other elements in the same application.
Added support for URLs of the form: qdex:/<document id>#<reference> to the <link> element to put hyperlinks
to other qdex applications. The same URLs can now be used in a web page to cause qdex to open and load a qdex application.
Added application.navigateTo(element) method for programmatically navigating to another location in the qdex application.
Changed plots to require a single tap to enter pan/zoom mode so that pages can be scrolled without panning plots accidently.
Inline math is no longer inspectable unless it is block math.
The inspect attribute may now be used with inline images.
Repository
Added the ability for users to reset their password via qdex Play.
Users will receive an confirmation email to reset their passwords.
Changes
Repository
New website layout.
Authors can publish to the groups they join.
Bugfixes
Cross-Platform Apps
Fixed margins on table cells for tables constructed using the <data> element within a <table>.
Fixed margins of plots to match drawings.
1.0.7 - March 10, 2016
Features
Cross-Platform Apps
Added a new <compare> system for simulation that performs comparisons on its input(s).
Added a new <logic> system for that performs Boolean logic operations, including bitwise operations, on its input(s).
Added a new <memory> system for delaying its input signal by remembering previous values of the input.
Added a new <gyroscope> element for supporting the gyroscope sensor of devices.
Added a new <magnetometer> element for supporting the magnetometer sensor of devices.
Added a new <location> element for supporting location services such as GPS.
Added a new <textInput> element to support multiline edit fields.
Added spelling attribute to <textField> and <textInput> to turn on/off spell checking. Unfortunately, it does
not turn off auto-complete on all platforms.
Added support for matrix gains to the <gain> system.
Made simulation systems more lenient by allowing them to accept scalars when setting vector properties (this should also
improve error reporting).
Introduced a timeout on http connections with a corresponding error message
Bugfixes
Cross-Platform Apps
Enforced the <textField> element being a single line edit field.
Setting styles of <textField> no longer clears contents.
Fixed multiplication of a vector gain by a scalar signal using the <gain> system in simulation.
Android App
Fixed a bug that was causing the application to crash when unloading text views.
Repository
Fixed a bug that was preventing the current authentication status from being displayed correctly when tokens expire.
1.0.6 - February 10, 2016
Features
Cross-Platform Apps
Added a new auto orientation to <stack>, which uses horizontal layout except on narrow devices in portrait orientation.
Added support for the alpha component of colors in plots and drawings, which let's you do transparency.
Added floor and ceiling methods to matrices and vectors in Lua.
Added submatrix methods to matrices in Lua, which extracts a submatrix of a matrix.
Added toColors method to single-precision matrices in Lua, which converts an Nx3 or Nx4 matrix to a vector of colors (dual of toFloat on colors).
Added more sparse methods to the matrix packages for creating sparse matrices (to match the dense methods).
Added a cycle method to matrices and vectors to move rows and/or columns to higher or lower indices (wrapping at the end of the row or column).
Added a sign method to matrices and vectors to return -1, 0 or +1 for each element depending on its sign.
Added comparison methods less, lessOrEqual, greater and greaterOrEqual to matrices that return 0 or 1 for each element depending on the
per-element comparison.
Added polarity attribute to <parallel> system for setting polarity of inputs to summation.
Added <math> system for simulation that performs common mathematical operations such as trigonometric functions and exponential functions.
Android App
Changed the default color of controls to red in API 21 or later.
Repository
Added the ability to give access to other authors to edit a knowledge app.
Changes
Repository
Improved the user interface for mobile.
Added privacy policy in the registration form.
Updated the account confirmation email.
Bugfixes
Cross-Platform Apps
The lockAspectRatio auto-scaling mode applied to a single axis now centers the axis range about the data's midpoint.
Fixed redrawing of plots when the device orientation changes.
Changed Uri property of <stream> so it can be modified from Lua script.
Fixed identification of header rows in CSV files (rows with leading negative signs were being identified incorrectly as header rows)
Fixed stopping of simulations when returning to the Library view from a knowledge app (which was causing errors to occur).
Repository
Deleting group changes the knowledge app access level to private, if it was only shared with that group.
Maintain the sort filters in the list of knowledge apps after navigating to other pages.
1.0.5 - January 22, 2016
Features
Repository
Added the ability to see the group members for Admin and Authors.
Added the "Public App Policy" when changing the knowledge app's access level to Public.
Added the number of downloads for each knowledge app in the Admin view.
Changes
Cross-Platform Apps
Changed image inspection to show image full screen.
Repository
Updated Login and Register views for qdex Play.
Updated the confirmation email content sent by the server.
Bugfixes
Cross-Platform Apps
The inspect attribute of images now works in headers and footers.
iOS App
Fixed collapsing and showing of table rows.
Repository
Fixed the error message when a user account tries to publish.
Automatically delete a knowledge app record if the file does not exist in the repository.
1.0.4 - January 8, 2016
Features
Cross-Platform Apps
Added support for per-vertex colors to the <series> element using the child <colors> element or Colors property.
Added a colors package to script for creating vectors of colors for use with the Colors property of a series.
Added support for specifying a 4x4 transform for each <series> element using the child <transform> element or Transform property.
Note that auto-scaling does not account for the transform as auto-scaling is based on the series data itself. The transform allows the
series to be scaled, rotated, translated, etc. without modifying the series data. Transforms are best used with fixed axes ranges.
Added new methods to the matrixf package for creating various 4x4 transforms: translation, rotationAboutAxis, rotationFromQuaternion,
scaling and reflection. These transform matrices may be multiplied to combine transforms.
Repository
Added a search option for knowledge apps into the author portal.
Added the ability to sort knowledge apps by their publisher's username, and their access level.
Changes
Cross-Platform Apps
Set the default auto-scaling modes for <xyPlot> axes to growAndShrink rather than lockAspectRatio.
Repository
Started using the "knowledge app" terminology (in the author portal) instead of "document".
Bugfixes
Cross-Platform Apps
Fixed bug in which plots were causing qdex to crash when returning to the Library view.
Added code to prevent asynchronous image loading from causing qdex to crash.
Repository
Authors joining their own groups on qdex Play will get a proper message.
Admin account can download, delete, edit all knowledge apps for all groups.
1.0.3 - December 22, 2015
Features
Repository
Added custom error pages.
Cross-Platform Apps
Added pan and zoom support to plots, as well as a manual attribute to enable or disable pan/zoom. Manual pan/zoom is enabled by default for
<plot>, <timePlot> and <xyPlot>, but disabled by default for <drawing>. Use <drawing> for 2-D animations because it also hides axis
labels by default. The <drawing> also uses lockAspectRatio on both axes by default to preserve aspect ratio.
Added an ignore attribute to <series>. If true then the series will be ignored by the auto-scaling algorithm, allowing scenes to be
constructed in the background of a <drawing> that do not affect auto-scaling. For example, combined with stripChart auto-scaling on both
axes, it is possible to get the effect of moving a vehicle around a large terrain by auto-scaling on the series for the vehicle but not the terrain
(so the plot looks like the view of a camera following the vehicle).
Changes
Repository
Added the ability for the author accounts to join groups.
Added email confirmation when registering through qdex Play.
Cross-Platform Apps
Removed the scaleAspectFit auto-scaling mode. Use lockAspectRatio on both axes to get the same behaviour as scaleAspectFit.
Removed the majorGrid and minorGrid styles. Use the major and minor attributes of the <axis> element instead.
1.0.2 - December 14, 2015
Features
Repository
Password recovery was added for user accounts and email confirmation.
Cross-Platform Apps
Added labels and titles to plot axes. Also added a title and subtitle to the plot.
Changes
Cross-Platform Apps
Added support for all the plot autoscaling modes on both axes. The shrinkOnly mode was removed.
The xmin, xmax, xauto, ymin, ymax and yauto attributes of <timePlot> and <xyPlot> are no longer supported. Use
child <axis> elements instead. Note that the <axis> elements now inherit their default options based on the parent plot so
only the attributes that are being changed need to be specified.
1.0.1 - December 8, 2015
Features
Repository
Improved the user interface and layout.
Changed the password requirements; passwords does not need to contain capital letters, numbers, special characters.
Added data validation in the forms.
Added the ability for users to update their account's basic info.
Added the ability for users to leave groups.
Cross-Platform Apps
Added a <derivative> system for simulation.
Added Account section to Settings view, allowing users to Sign Up, Login, Manage Profile, and Manage Groups.
Added support for NaN and Infinity to schema for matrix values such as series data.
Added more named colors, including the standard HTML/X11 set.
Changes
Cross-Platform Apps
Removed the <drawing> element. The <axis> elements are now children of <plot>.
The <axis> elements now get their default attribute values from their parent plot.
1.0.0 - November 26, 2015
Features
Repository
Added support for user accounts.
Added access control for documents; documents can be public, private or belong to a group.
Authors can create groups to limit access to their published documents to the users within that group.
Users can join groups and access documents within the group.
Cross-Platform Apps
Added a lockAspectRatio scaling option for <axis> elements. Only a one of the two <axis> within a <drawing> can be set to this mode. When used, the <axis> which is set to lockAspectRatio will maintain the aspect ratio while the other <axis> auto scales according to its own mode.
Added a scaleAspectFit scaling option for <axis> elements. To activate this mode, both of the <axis> elements within a <drawing> must be set to scaleAspectFit. When used, both axes will simultaneously resize (behaving like growAndShrink) while maintaining the aspect ratio.
Web-based images are downloaded and cached, and subsequent requests for the same image are loaded from the cache, if available. The cache is session-based and is cleared when the app is terminated.
If a file-based image referenced in a document can not be loaded, a standard image-not-available image is displayed instead. For a web-based image referenced in a document, a temporary placeholder image is displayed first, while the image is being fetched. If the web-based image is successfully fetched or loaded from the cache it replaces the placeholder image. Otherwise, the placeholder image is replaced by the image-not-available image.
Changes
Cross-Platform Apps
<xyPlot> defaults now use scaleAspectFit for its X and Y axes.
iOS App
Improved vertical and horizontal scrolling when reading a document.
Improved image decoding and resizing.
All images, including inline images in text, are loaded off the UI thread for improved usability and responsiveness.
Android App
Improved image decoding and resizing.
All images, including inline images in text, are loaded off the UI thread for improved usability and responsiveness.
Bugfixes
Android App
Fixed italic and bold text formatting with serif font
Fixed a bug when changing Android button background color
iOS App
Fixed a bug where a page would fail to load
Fixed slow behavior when collapsing/showing a stack layout
Fixed occasional crash involving stacks
Fixed the navigation bar color to match the proper qdex red
0.7.2 - October 23, 2015
Features
Cross-Platform Apps
Added linearRange and linearSpaced methods to the vector package to create vectors containing a linearly-spaced range of values.
Added Child method for use by Lua script for getting the children of a document element e.g. for getting access to table rows or columns by index.
Bugfixes
Cross-Platform Apps
Fixed handling of whitespace when using a <data> element within a <table>.
iOS App
Fixed a bug related to scrolling in a page.
0.7.1 - October 21, 2015
Features
Cross-Platform Apps
Added a <data> element that may be used inside the <table> element as a shortcut for creating tables.
Changes
Cross-Platform Apps
Margins (top, bottom, left, and right) are now automatically reduced for non-tablet devices so that layouts on smaller devices have more space for content.
iOS App
Enabled buttons to wrap their text content to multiple lines if needed so that the button text no longer truncates.
Bugfixes
iOS App
Fixed a critical bug which caused the app to enter a crash loop.
Fixed keyboard dismissal behaviour when searching in the Library or Store tabs.
0.7.0 - October 19, 2015
Features
Cross-Platform Apps
Overhauled application publishing and library systems allowing authors to specify <metadata> tags <title>, <creator> and <coverImage> which are displayed in the library view.
Added a <br/> element that may be used inside formatted text, like paragraphs, for adding a line break.
Added a reciprocality attribute to the <product> element for indicating whether to multiply or divide by each input or element (if there is a single input vector).
Added a <divide> element for dividing signals in a simulation.
Added a <ramp> element for simulation that produces a ramp waveform.
Added a <selector> element for simulation that allows signals to be selected based on another signal's value.
Added new video features: seek to time or percent, loop video on/off, video controls visible/hidden, video controls enabled/disabled, event for video duration reached, event for state changed.
Added a <triangle> element for simulation that produces a triangle waveform.
Added a <sawtooth> element for simulation that produces a sawtooth waveform.
Added a <signalGenerator> element for simulation that can produce a sine, square, triangle, sawtooth or random waveform. The waveform may be changed in script.
Display cover image, title and author from the document metadata in the library.
Added a draw attribute to <series> that allows series to be drawn with different drawing modes, such as points, lineSegments, line, closedLine, triangles, segmentedFill and radialFill. The triangles, segmentedFill and radialFill options allow filled shapes to be created efficiently. The lineSegments option allows many line segments to be drawn efficiently. The line mode is the default mode, which is used for drawing a continuous line from the points in the series. This is an advanced feature that is intended to make optimal use of native GPU rendering.
Added a Toggle() function for <toggle> switches (calling this method inverts the current value).
Changes
Cross-Platform Apps
Improved alert dialogs
Updated simulation property names: Time, Duration, Period. Renamed Resume method to Play.
iOS App
Improved image decoding and resizing.
Bugfixes
Cross-Platform Apps
Fixed bug where script errors in accelerometer onValueChanged callback would crash the app
Fixed bug where accelerometer onValueChanged callback was not called.
Fixed a problem loading documents when the target device is configured for certain languages.
Fixed a bug where the simulation could crash the app due to deadlock with script running from another app control
0.6.0 - September 3, 2015
Features
Cross-Platform Apps
Added video support. Currently .mp4 video files (H.264) are supported on both platforms. Other formats may not work on either platform. The <video> tag is used to add a video element to a section.
Added support for toggle switches using the <toggle> element. Toggle switches are on/off controls that are useful for binary options.
Added a settings view which can be used to display the application version and access other features (i.e. tech support, attributions, etc).
iOS App
Overhauled the library view for better UX on a phone.
Added search functionality to library.
Bugfixes
Android App
Fixed a bug which caused the application to crash whenever a list was displayed on Android before v5.1 (Lollipop).
0.5.14 - August 18, 2015
Bugfixes
Cross-Platform Apps
Fixed a bug where leaving a document while a simulation is running would cause the app to crash.
Fixed a bug where paging through a document fast would result in a memory leak.
Android App
Fixed a bug where the app would crash on launch on some Android hardware (i.e. Samsung Galaxy S6).
0.5.13 - August 13, 2015
Features & Enhancements
Cross-Platform Apps
Mobile applications on iOS and Android have now been rebranded to qdex Play and have a new look-and-feel!
Added default styles for "bullet" (standard, black dot bullet) and bulletLevel1 through bulletLevel6, which progressively indent the paragraph margins and change the bullet image.
Added bullet formats blackCircleFlat, blackSquareFlat, blackDot, and blackRing.
Tables now apply horizontalAlignment style for elements inside table columns.
Tables now apply the widthPercentage style for elements inside table columns.
Changes
Cross-Platform Apps
When specifying a widthPercentage style for items inside a horizontal <stack>, the widths are scaled and normalized to the total sum of all widths in the stack only if the sum of the widths exceeds 100%.
Bugfixes
iOS App
Fixed a bug where bullet point images were not scaling properly and would always be scaled to fit the line height.
Android App
Fixed a bug where specifying horizontal alignment within a horizontal stack layout would incorrectly lay out the elements.
Fixed a bug where images would not appear inside tables.
Cross-Platform Apps
Fixed a bug where setting major = false on an <axis> element would not work.
Fixed a bug where setting myaxis.DisplayMajorGridlines = false in script would not work.
The simulation now evaluates all systems at the initial simulation time t = 0 so that the systems can provide their initial outputs at t = 0. States at time t = 0 are not updated.
0.5.12 - July 23, 2015
Features & Enhancements
XML Authoring
The colours used for the application can now be accessed using the names application:primaryColor, application:secondaryColor
and application:accentColor. For example, <background color="application:primaryColor"/>.
The same names may be used with the new application object in script to access application properties in script. For example,
myLabel.Style.BackgroundColor = application.primaryColor;.
Cross-Platform
Added Visibility style that can be set to visible, hidden, or collapsed
Bugfixes
Cross-Platform
Fixed a bug where large images would not be completely visible inside the image inspection
Android App
Fixed a bug where the web view was not displaying the title and action bar.
Fixed a bug where a cell in the Library tab becomes unresponsive to click events and as a result does not open the document.
Fixed a bug where the download progress bar was not being shown for documents that were being downloaded in the Store tab.
iOS App
Fixed a bug which would crash the app if there are any space characters in a URL.
Fixed a bug which would fail to layout a table if there were empty columns.
0.5.0 (11) - July 14, 2015
Features & Enhancements
XML Authoring
An <onDocumentOpened> callback is now available on most elements, which is called after the document is opened
but before it is displayed.
Added support for different paging schemes using the paging attribute of the <document> element. The
pagination schemes now supported are core:default, core:allLevels and core:level1 through core:level9.
The core:default scheme is used if no paging attribute is specified.
Cross-Platform Apps
Drawings and plots now resize when the device orientation changes to fit the entire contents within the screen dimensions.
Android App
Revamped OpenGL plots so that they consistently behave like a standard native view.
Changes
XML Authoring
The predefined themes are now named with a core: prefix rather than a codex: prefix. For example, the detailed
theme is now called core:detailed instead of codex:detailed.
Bugfixes
iOS App
Fixed a bug which prevented plots with aspect ratio > 1.0 from working.
Android App
Fixed a bug which would cause the app to crash if the user went back before a plot loaded.
Fixed a bug which caused plots not to scale properly after rotating the device.
Fixed a bug which caused plots to spawn multiple threads when launched.
Fixed a bug which caused the app to crash when inspecting an image and rotating the device.
Fixed a bug where updating a document fails and as a result the document gets deleted.
Fixed a bug where editing a text field was entering characters in a right-to-left order.
Increase the touch region for the overflow menu icon available on the Library tab cells.
0.5.0 (10) - July 6, 2015
Features & Enhancements
XML Authoring
The <product> and <sum> elements were enhanced to support multiplying/summing scalars to vectors.
Cross-Platform Apps
Tapping on an image launches an image inspection view where you can pan/zoom the image in a modal window and then return to the document.
Android App
Overhauled the library view for better UX on a phone.
Added search functionality to library.
Bugfixes
XML Authoring
Fixed a bug in which documents containing a theme attribute using a predefined theme, such as theme="codex:detailed",
could not be published.
Fixed bug in handling headers and footers within the scope of a section or subsection.
Fixed bug that caused an error during publishing when vector and matrix objects were used in script.
Fixed Maximum property of <saturation> system.
0.5.0 (9) - June 26, 2015
Features & Enhancements
XML Authoring
Added preliminary support for <stream> elements, which are used for communications.
Added preliminary support for an <accelerometer> element, for accessing the device's accelerometer.
Added support for <header> and <footer> elements, which can contain any content normally
placed in a <div>/<section> and appear at the top and bottom of each page, respectively.
Cross-Platform Apps
Implemented footer support to always ensure the footer is placed at the bottom of the page,
even when the page contents do not fill the screen.
Implemented a notification message queue to allow each message to display before showing the next
message. Neighboring messages that are identical are collapsed into one notification.
Added inline image scaling for line height (when the scale attribute is not provided this is the
default, or you can set scale="0"), e.g. <p>Here's an image <image src="smiley.png" scale="0"/></p>
Added a scaling constant (-1) to allow images to not be scaled inside paragraphs (i.e., they will scale
to the original size of the image): <p>Here's an image <image src="smiley.png" scale="-1"/></p>
Changes
XML Authoring
<timePlot>'s now use a default x-axis scaling mode of StripChart (instead of Scope).
Bugfixes
Cross-Platform Apps
Fixed a bug where the draw ordering of data series in plots were reversed.
Fixed a bug where line thicknesses on plots were not consistent across devices.
Fixed a bug where images couldn't be created or modified using Lua.
Android App
Fixed a bug where multiple plots would fail to render consistently on Android.
Fixed a bug where having plots on 3 or more pages would cause the app to crash.
Fixed a bug where loading documents on 64-bit Android hardware would crash.
Fixed text alignment not working for paragraphs and equations.
0.5.0 (8) - June 19, 2015
Features & Enhancements
XML Authoring
<series> in a <plot> elements can now have custom thickness and colors.
Added support for <figure> elements.
Changes
Cross-Platform Apps
Simplified error messages for .NET runtime errors (such as invalid axis ranges set from script).
XML Authoring
Changed reference resolution sequence to allow document elements to be initialized from <script>.
Moved <title> element from a child of <document> to a child of <metadata>.
The <metadata> element is now required, as well as its <title>, <creator> and <abstract>
child elements. The text of the abstract must be 100 to 500 characters in length.
Updated the schema.
Bugfixes
Cross-Platform Apps
Fixed an issue where plot lines were thicker on low resolution displays.
Added a check to ensure that <axis> min and max values are valid.
Fixed an issue where the axes of a plot were not being reset properly.
Added an error when a document is empty and has no pages.
Fixed an issue when <data> elements are provided with values and an entry is missing.
iOS App
Fixed an issue where plots did not render after the application was paused.
0.5.0 (7) - June 17, 2015
Features & Enhancements
Cross-Platform Apps
Added support for axis scaling modes in plots. Plots defined within a <xyPlot> or <timePlot> tag will
now work properly.
Added support for the <link> text formatting tag to add hyperlinks to the text within paragraphs, e.g., <link url="http://www.mywebsite.com">My Website</link>
Changes
XML Authoring
Custom <drawing> elements can now define their own <axis scaling="{mode}" .. />.
Supported modes for the X-Axis are None, Fixed, GrowOnly, GrowAndShrink, Scope and StripChart.
Supported modes for the Y-Axis are None, Fixed, GrowOnly and GrowAndShrink.
Removed the parent attribute for <style> and replaced it with link. The link attribute may take
a list of style names, separated by spaces.
Removed the cascading attribute for <style>. Only individual styles, such as <bold> now have the
cascading attribute, which defaults to false.
Added a <signal> element for simulation that allows an element within the document to act as a signal
in a simulation. For example, buttons, sliders and text input fields can act as signal sources.
The plot scaling mode Sweep has been renamed to Scope.
Lua Scripting
The <timePlot> and <xyPlot> elements now have XAxis, YAxis and Plot properties for accessing
the axes and plot respectively. The elements themselves are actually drawings containing predefined axes
and a plot and are provided for convenience.
Bugfixes
Cross-Platform Apps
Styles defined in theme files should now behave as expected when predefined styles in the default theme
are already defined. The styles in the theme files will extend style sets of the same name in the default
theme.
0.5.0 (6) - June 14, 2015
Features & Enhancements
Cross-Platform Apps
Added analytics tracking to gather diagnostic information (e.g. crashes) during the beta.
Changes
XML Authoring
Changed the <switch> element so that its Selection property is a vector, not a scalar. Also added a
select attribute for setting the initial Selection property value. This change allows the <switch> to
route multiple signals to the output, or even multiple input ports to multiple output ports.
Added notify(message) function to script to allow non-intrusive notification messages to be presented to
the user e.g. notify("Hi there!");.
Bugfixes
Cross-Platform Apps
Fixed an issue where grid lines did not appear in plots on hardware.
Fixed an issue where animated line drawings would flicker while being drawn.
Android App
Fixed an issue where depth rendering was incorrect for plots.
0.5.0 (5) - June 9, 2015
Features & Enhancements
XML Authoring
Added <onStateChanged> callback to simulations. The QModelSimulation now
has public constants for the states for use with script e.g. if (state == mysim.Running).
Added <timeplot> and <xyplot> elements for simplified plotting. If no data series is provided it creates a
default data series so plots are very easy to create.
Added boolean "time" attribute to <probe> to allow the probe to be used for X-Y plotting. If time = false then
it treates the input vector as consisting of (x,y) pairs.
Added a <switch> system for simulation.
Cross-Platform Apps
Added toast notifications in the library to indicate when the library has
refreshed and when a document has been successfully downloaded.
Changes
XML Authoring
The <probe> element now clears its target (e.g. data series) on simulation start or reset automatically,
obviating the need to call Clear in script.
Bugfixes
Android App
Fixed an issue with math not being displayed at the end of a line of text.
Pressing the back button from the library closes the app instead of showing a blank white screen.
XML Authoring
Fixed <transferFunction> not being recognized as a valid element.
0.5.0 (4) - June 8, 2015
Features & Enhancements
Cross-Platform Apps
Supports older hardware running OpenGL ES 2.0.
Bugfixes
Android App
Fixed an issue with multiple plots rendering inconsistently.