Skip to Content

Vinyl 2.4 release notes

Important upgrade release notes


Vinyl 2.4 Requires at least .NET 4.6.1. You must check this before upgrading to Vinyl 2.4

PowerShell command:

Get-ChildItem "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" | Get-ItemPropertyValue -Name Release | ForEach-Object { $_ -ge 394254 }

If that power shell command does not work, you might need to follow this procedure to check .NET version

If you are on a Zudy hosted server, you are likely not running .NET 4.6.1 and will need to coordinate shifting to a new machine image (and if using a local file data source you will need to point this out to the team so they can keep an data you need).


When you login as an administrator with a default password, you will be asked to change the password.

Vinyl 2.4 adds a foreign key between column and logical data type. You may want to run this SQL statement before upgrading to check for issues:

SELECT * FROM Db_Column WHERE LogicalDataTypeId NOT IN (SELECT LogicalDataTypeId FROM Db_LogicalDataType)

Known issues

If you press enter while changing your password, you can get stuck on the change password page.


Hotfix: Version 2.4.17386 released on 5/30/2019 2:43:24 PM (build d8c2fdb1)

  • Corrects issue with HttpRetriever plugin retrieving binary content

Hotfix: Version 2.4.17225 released on 5/24/2019 1:35:30 PM (build 6d0b5ca1)

  • Corrects issue with "Load More Rows" being hidden and shown too much
  • Don't hide loading panels when scrolling
  • Reduce effect of selecting calnder day to the two styles exposed

Hotfix: Version 2.4.16831 released on 5/9/2019 5:41:14 PM (build 1f9da7ae)

  • Corrects issue with "binding context is not ready" appearing in the browser
  • Corrects issue with record count and filter when using Vinyl connector
  • Catches issues annotating XML when using a REST XML API

Hotfix: Version 2.4.16541 released on 4/24/2019 1:03:43 PM (build 9f03dadc)

  • Transmits column usage type via connector
  • Adds support for cookie sending / receiving for REST and webhooks
  • Adds second support to DateAdd and DatePart for MySQL
  • Handles raw json values as REST api responses
  • Run MRP save as a single plain save if only 1 row is dirty

Hotfix: Version 2.4.16444 released on 4/17/2019 3:15 PM (build a49ca83c)

  • Corrects two issues with Vinyl Connector - union support and bindings with new expression in rule

Hotfix: Version 2.4.16361 released on 4/10/2019 8:35:52 PM (build a746497f)

  • Corrects issue joining business objects through the local connector
  • Corrects issue with default binding with local connector
  • Upgrades JQuery to correct column alignment issues
  • Additional OAuth refresh fixes
  • Import improvements

Hotfix: Version 2.4.16132 released on 3/27/2019 11:21:58 AM (build 3cb51adc)

  • Corrects issue when pressing Create on dynamic results page
  • Updates SAP code
  • Auto edit lists now open with a single click
  • OAuth improvements

Hotfix: Version 2.4.16026 released on 3/19/2019 9:03:57 PM (build 4890502a)

  • Improves code for running with A2B plugin

Hotfix: Version 2.4.16010 released on 3/19/2019 8:26:12 AM (build cf98f31e)

  • Corrects issue with REST requests with no security provider introduce in the previous build

Hotfix: Version 2.4.15999 released on 3/18/2019 3:38:22 PM (build 0206a59d)

  • Modifies code for improvements to the A2B plugin
  • Adds support for custom HTTP headers and OAuth token endpoint parameters

Hotfix: Version 2.4.15921 released on 3/14/2019 2:37:36 PM (build cedca96c)

  • Corrects issue adding a page from a .xlsx file
  • Corrects issue importing an xls or xlsx file if the header is numeric
  • Corrects issue with Salesforce default rules
  • Corrects race condition in which rules may fail after installing an LP, flushing cache, or modifying a function
  • Corrects issue with audit full not able to find the reference audit id on delete

Hotfix: Version 2.4.15867 released on 3/6/2019 12:06:22 PM (build 5aa2dcad)

  • Corrects issue when using full audit, a column marked as a title column that is not a string, and make a change to an object with and FK relationship to that table
  • Corrects issue when using full audit when running an update rule and not including Audit column (if there is a column marked with this usage type) that Vinyl will throw an error

Hotfix Release: Version 2.4.15828 released on 2/26/2019 7:41:51 PM (build d35301b3)

  • Corrects running CRUD Update business rules against a data object that might not load cells correctly
  • Corrects issue with permissions not being set when creating a table from csv
  • Corrects issue with headings not lining up correctly on MRP with column selection service disabled

Hotfix Release: Version 2.4.15793 released on 2/21/2019 4:15:35 PM (build 8b861b94)

  • Corrects issue when building a rule and adding a new table from clause, the index can be calculated incorrectly
  • Will not audit delete for business objects if the pk columns are not targetted
  • Corrects how Vinyl escapes negative numbers when downloading csv
  • Prevents cutting off data on MRP when column selection service is disabled

Hotfix Release: Version 2.4.15711 released on 2/13/2019 8:36:49 PM (build 3e243fa7)

  • Create tables, business objects and pages from add page menu
  • Joins populated automatically when building rules when FKs are setup
  • Improvements defaulting settings for list controls
  • All lists within the Vinyl IDE are now full-search vs starts with search
  • Resets default storage data type to integer for logical data type of Number
  • Allow dev configuration of REST API GET limits
  • Add support for re-executing changesets
  • Correct issue with orphaned collection ids
  • Charting will now use B vs G for billion
  • Improves REST endpoint processing of some date formats
  • Corrects issue with defaults in Salesforce data provider
  • Corrects issue where deleting the default page for an application can make Vinyl inaccessible
  • Corrects issue with some nightly scheduled events failing in Vinyl
  • Corrects issue with count being out of sync from number of rows available
  • Corrects alignment of link to page icon when using pinned columns
  • Create changesets for data source when importing now defaults to true
  • Display time as well as date for last login time on User page
  • Refactor client-side viewmodels to lower memory usage
  • Corrects memory leak in internal data structure
  • Adds support for MRP paging
  • Allows CRUD XP rules to show non-public tables when registration data source is the same as the target data source
  • Pass back AppUserId with Username to site widgets
  • Corrects issues with some checkboxes not being visible when unchecked on table column detail and rule column detail pages
  • Corrects binding issue to data source detail from rule diagnostic page
  • Removes regex from Email logical data type
  • SFTP data source support
  • Sharepoint data source support

Hotfix Release: Version 2.4.15482 released on 1/23/2019 1:38:10 PM (build 275cca5e)

  • Corrects issue accessing Vinyl with a mobile device
  • Enables CData Salesforce data provider
  • Corrects private tables being available in table from list
  • Improvements to translations pages
  • Allows Vinyl to consume REST endpoints that return numbers in scientific notation

Hotfix Release: Version 2.4.15442 released on 1/17/2019 3:29:19 PM (build 70cdfe4a)

  • Corrects issue with count on PK uuid field throwing a cast exception when viewing resutls
  • Functionality for working with native application
  • Introduces tab region for mobile device
  • Default SAP peak connections to 99 from 10
  • Introduces option to send password change notification emails, defaults to off
  • Corrects binding when sending notification for password change

Hotfix Release: Version 2.4.15388 released on 1/13/2019 7:58:34 PM (build e8de30cb)

  • Corrects issue with import pattern being ignored when used with Vinyl connector
  • Corrects issue using Date as the id in a list
  • Corrects issue picking State as a logical data type for a column
  • Corrects issue picking percent data type for physical column
  • Adjust default length for url to be 2000
  • Corrects duplicate error message being displayed on calendar
  • Corrects /none request being made via style
  • Corrects issue where an error might not be displayed
  • Clear passwords on validation failure
  • Improves defaults for non-RDBMS data sources
  • Fixes issue running defaults against Vinyl connector data sources, if there are no tables in the from clause
  • Correct currency logical data type

Hotfix Release: Version 2.4.15338 released on 1/4/2019 10:29:44 PM (build 3b9fd3bd)

  • Corrects looping bug when navigating to a new page with replace page in history from a pop-up
  • Ensures that changes made to DeveloperSilo, XP CRUD Limit, Default Command Timeout, Minimum Panel Width/Height are not overwritten on an upgrade
  • Corrects an issue that made the target type not visible on the column detail page
  • Adds support to decode REST responses for subscribed REST interfaces
  • Corrects mvSQL implementation of RIGHT for Sqlite
  • Attempts to parse EndUserInfo endpoint whether the server has responded with a content type or not
  • Fixes permission page showing bad status
  • Corrects issue with scrolling grid wrapping when deleting rows
  • Corrects issue with pivot table not expanding to use entire panel width

Initial Release: Version 2.4.15303 released on 12/27/2018 2:04:14 PM (build a174cdc0)

Feature Overview

IDE Toolkit

  • Copy panel - copies the given panel and all controls within.
  • Copy table
  • Auto build

    • Session table
    • Param table
    • Home page

UI Improvements

  • Floating headers, icons for Multi-Row Panels with column selection service disabled.
  • Pinned columns for horizontal scrolling.
  • Hide exceptions from end users in production.


  • Page function - returns page id as a string.


  • New pages

    • List all API keys and users.
    • External Connections - List of urls used to connect to external systems

      • Notification endpoints
      • REST endpoints

New reports

UI Layer Audit

Business logic layer Audit

Data storage layer Audit

  • Show Tables, Fields, Relationships, and Default Rules
  • Execution Audit
  • Published endpoints + details

    • Includes endpoint specific parameters and documentation on common Vinyl headers/query parameters.
  • New feature to generate release document

    • List all data sources, change management requests, translation bundles, table export configuration.

Logical Data Types

  • Additional logical data types that offer smarter validation and auto-fill options:

    • Address
    • Email
    • Phone Number
  • User defined logical data types.

    • Allows developers to create their own logical data types as well as validation and auto-fill rules.


  • Utilize native date & date/time controls via HTML5 on Android and iOS.
  • Security persistence in native app.
  • Roadmap for native app solution.


  • Reach

    • Row-level security
    • Write reach rules to define what data a user can access
  • Password expiration policy

  • Application identity

    • Write identifier string to public data object for a user.
  • Default application authentication provider.

    • Override the default login screen and provider for an application.

Full Audit

  • Track business layer changes by row, column:

    • Edits from pages.
    • CRUD business rules.
  • View Audit Lite and Audit Full data in a single page from existing "Audit" button/icon.

  • Enabled for most Vinyl tables.


  • "Title Case" certain translations automatically.
  • Refinements to translations pages.

Data Sources

  • DB2z - Using IBM driver directly.
  • SAP - Now possible to do joins in rules.
  • Dynamics CRM
  • Office 365
  • Salesforce API version now configurable.

Detailed Changes

New Features

  • VINYL-7492 - Support pinning columns in a MRP, locking them on the left when scrolling
  • VINYL-7495 - Audit Full
  • VINYL-7613 - Add support for Reach (a.k.a. Row-level Security)
  • VINYL-7634 - Track session-level application-supplied user identifier
  • VINYL-7693 - Add support for default application authentication provider
  • VINYL-7757 - Custom Logout Page
  • VINYL-7536 - Password Expiration Policy


  • VINYL-5911 - Move table default rule's explicit bindings to detail view
  • VINYL-6865 - Create a shortcut from a scheduled event to the schedules area (or something of the sort)
  • VINYL-6900 - Force logical data type to be set for expressions
  • VINYL-7187 - Show runtime instance server times
  • VINYL-7277 - "Page Edit" page allows modifications to sealed application pages
  • VINYL-7494 - SQLite DATENAME() function should return strings
  • VINYL-7500 - Warn when LP is greater than a certain size
  • VINYL-7501 - Claim suggestions do not include global default claims
  • VINYL-7504 - Simplify OWIN identity and Vinyl user synchronization
  • VINYL-7563 - Update Salesforce version api to latest, and make it configurable
  • VINYL-7588 - Redirect users to the login form on sign out
  • VINYL-7602 - Title case all non-sentence translations.
  • VINYL-7607 - Hide exceptions from end users in production
  • VINYL-7626 - Use a better evalid status than 'not evalidated' for default language
  • VINYL-7629 - Add filter panel to unapproved translations to select bundle, language
  • VINYL-7633 - There is no way to delete a physical view from within Vinyl
  • VINYL-7668 - Do not implicitly include 'Vinyl' data source in app bundle
  • VINYL-7768 - Change Vinyl to target .NET Framework 4.6.2 and .NET Standard 2.0


  • VINYL-3388 - Event execution bypasses data object row-level security
  • VINYL-3785 - Popup closes after a Delete event even if the event fails
  • VINYL-3822 - menu icon in page create appear to be missing padding: left aligned
  • VINYL-3972 - Navigating away from a page should clear event messages
  • VINYL-4661 - Filter lists do not appear with the value selected if you re-open filter
  • VINYL-5148 - Filter list selection disappears when navigating *back* to a filtered page
  • VINYL-5744 - Advanced theme settings do not work on panels
  • VINYL-5969 - Can't see exceptions on SRP delete
  • VINYL-6184 - Error "invalid alteration of datatype" when converting to character blob column on Oracle
  • VINYL-6371 - Toolbar buttons with an Event do not also take you to a Static New Page
  • VINYL-6403 - Readonly Static Text Links are clickable when their panel is in edit mode
  • VINYL-6453 - Non column selection service MRP should still fix headers
  • VINYL-6553 - Event "Execute In Background" flag is not inherited
  • VINYL-6679 - Import of text datatype in SQL Server imported as nvarchar(16) vs nvarchar(-1)
  • VINYL-6690 - Table width occasionally gets set to 100px while resizing MRP
  • VINYL-6716 - Add JobQueue Constants to our settings file
  • VINYL-6775 - Can mark CRUD rule as direct when targeting a public data object
  • VINYL-6782 - Ship Application A without error even if it has links to Application B
  • VINYL-6789 - Rule without target column binding criteria executes but fails when bound to event
  • VINYL-6838 - switching schedule frequency should reset schedule details
  • VINYL-6875 - Handle One Time Execution Better for Scheduled Events
  • VINYL-6880 - Can't theme login page without unsealing Vinyl
  • VINYL-6894 - Improve errors when installing release management LP files
  • VINYL-6938 - Link Criteria of type bind or shared is not passed along for an external link
  • VINYL-6960 - UI - Inconsistencies for Scheduling
  • VINYL-6978 - Crystal reports reported to not work using shared criteria
  • VINYL-7017 - Update Method of Always Edit and Initial State or Edit are mutually exclusive
  • VINYL-7044 - Picking the column name again in the repair page logical model results in a pretty messed up table
  • VINYL-7053 - Can't reopen filter if filter is required
  • VINYL-7075 - list of applications / datasources do not render in release create page
  • VINYL-7101 - Function not found error when User Defined Function renamed (multi server env)
  • VINYL-7110 - operation window ignored for scheduled event
  • VINYL-7140 - MRP in scrolled group doesn't scroll all the way when inserting row
  • VINYL-7157 - Chrome copy of Expressions results in some invalid text in clipboard
  • VINYL-7168 - Always edit checkboxes won't toggle if text is selected somewhere on the page
  • VINYL-7196 - Tasks starting 10 minutes before planned start
  • VINYL-7210 - concatenate and left function not working with CData Active Directory connector
  • VINYL-7226 - Filter criteria lost on page refresh
  • VINYL-7248 - Binding column restriction shouldn't apply to insert
  • VINYL-7262 - MRP panel data object not grouped the same as SRP
  • VINYL-7282 - filter criteria area is showing up grey bar after going back
  • VINYL-7283 - Pivot panel link is incorrect
  • VINYL-7292 - Release Management does not include ancestors of a linked data source
  • VINYL-7296 - Should create a validation to prevent session(), who() from being used in a migration rule
  • VINYL-7302 - Panel titles are not center aligned
  • VINYL-7358 - Prevent CRUD DB rules from targeting data objects
  • VINYL-7369 - Prevent CRUD Business rules from targeting other CRUD Business rules
  • VINYL-7419 - Db_DataSource constraint with Db_Table cascading delete should be on RegistrationDataSourceId, not DataSourceId
  • VINYL-7421 - Delete Event on the Db_DataSource, Action Be_EventByDataSourceId should reference RegistrationDataSourceId
  • VINYL-7446 - Currency logical type doesn't support field format strings
  • VINYL-7448 - It is possible to bind a button to the Filter event
  • VINYL-7450 - CRUD business insert rule does not honor auto-generated flag when targeting a data object
  • VINYL-7456 - Page with special character (comma, dollar sign) in name fails to render
  • VINYL-7459 - New row content doesn't scroll
  • VINYL-7462 - Unsupported MySQL character encoding utf8mb4
  • VINYL-7473 - Background Plugin jobs are causing scheduled jobs to delay completion of the schedule
  • VINYL-7478 - Occasionally, data objects do not set translatable field correctly.
  • VINYL-7485 - Unique key index on Db_TableFrom can break LP installs
  • VINYL-7486 - Data sources with same name hose up release management
  • VINYL-7487 - Make action bindings available on execution plan
  • VINYL-7517 - Create constraint limited to 200 columns - needs higher limit
  • VINYL-7518 - Text area shows validation error when you press enter to save
  • VINYL-7524 - Changing join with conditions to a CROSS JOIN breaks rule
  • VINYL-7525 - Copy page does not copy ui default binding type
  • VINYL-7527 - Not setting cache-control header on our ajax responses
  • VINYL-7528 - Completed Jobs in a Redis Backplane are causing delays
  • VINYL-7538 - Setting Auto-generate on a non-PK column doesn't work.
  • VINYL-7540 - Setting link to page to "No" should clear InsertLinkToPageId and UpdateLinkToPageId
  • VINYL-7544 - With panel selection service off, PSS results still apply
  • VINYL-7551 - Creating a list data object for a table with multiple primary key columns fails silently
  • VINYL-7555 - Success/failure handlers are missing from the execution plan
  • VINYL-7559 - CanUpdateCellsDirectly method does not check that the action is an update, resulting in unexpected behavior
  • VINYL-7560 - unable to select File (s3) for file browser as Tables as Business Objects is false
  • VINYL-7562 - Newly created schedules do not appear on the Realms page.
  • VINYL-7571 - Can create a circular reference with page group feature that crashes Vinyl
  • VINYL-7575 - Binding criteria ignored if column name starts with an underscore
  • VINYL-7577 - Vinyl Connector Casting Error generating MVSQL Preview
  • VINYL-7582 - Multi-row delete event fails silently
  • VINYL-7583 - for dynamic view, when all primary keys are pinned, table rows are malformed
  • VINYL-7585 - Cannot create XP Validation rules
  • VINYL-7586 - XP validation / business objects show all tables in from clause - should be limited to public business objects (TableFrom, table from)
  • VINYL-7590 - Translatable columns aren't updated in production environments
  • VINYL-7591 - Can't hide panel toolbars using a page-level theme
  • VINYL-7592 - REST import copies header and query values to sub tables
  • VINYL-7593 - Remove EventId column from the Sh_Schedule table
  • VINYL-7599 - Changing page data object does not update visibility columns
  • VINYL-7601 - import pattern ignored when using vinyl connector as data storage
  • VINYL-7604 - Crystal Reports Uses Page Level Object for Column Selection on Controls
  • VINYL-7610 - Role access rendered as a range instead of a checkbox on filter form
  • VINYL-7611 - Page title overlaps Vinyl logo (again)
  • VINYL-7614 - Slow logs always shows '0' for process id.
  • VINYL-7620 - Avoid translating sub-variants of the default (english) language.
  • VINYL-7622 - Star functionality targeting new columns, even if the star is applied to a table that isn't the target
  • VINYL-7623 - Changing panel source does not update binding columns to other panels
  • VINYL-7624 - IE11 vertically scrolled MRP don't show all columns
  • VINYL-7632 - Cannot use Date as id column in a list
  • VINYL-7639 - Auto-pin of dynamic table pins too many when using aggregates
  • VINYL-7640 - missing row count from file browser panel
  • VINYL-7641 - Browser doesn't refresh after schema change warning
  • VINYL-7644 - Rules used for web service endpoints are reported on "Unused rules" page
  • VINYL-7645 - Public rules can be deleted - potentially breaking applications where the rule is used by a Vinyl connector
  • VINYL-7661 - The * and PK buttons on the rule page do not seem to properly update caches in multi-app server environment
  • VINYL-7670 - REST Endpoint Parameters panel shows 'output' parameters
  • VINYL-7677 - Security exception table on return DataSourceId instead of TableId
  • VINYL-7679 - Format where used functionality will take people to the design pages of Vinyl
  • VINYL-7682 - Overlay with scrolled page loses close X