Canary

 

Release Notes


Version 1.0.1 (November 2019)

  • Fixed a bug where the page title had “None” where the app’s name should be.
  • Fixed a bug in the Fields module where if you reordered a field in the selected field list, it would remove the field entirely.
  • Fixed a class of bugs that would happen in some complex configurations, where modules would end up with stale values downstream.
  • Fixed a bug where the Pulldown module was accidentally pushing downstream twice, causing an extra cancel and redispatch and other confusing behavior and slowness.
  • Fixed a bug where the Report module, when given input to create a timechart and when given an explicit bins argument for the primary axis, it would ignore the bins argument.
  • Fixed a bug in the Pulldown module where customBehaviors were unable to explicitly select the emptystring option within the control.
  • Added postProcess support to the Fields module
  • Resolved a bug in the Fields module where if you had multiple instances on a page, the filter-as-you-type search field would only work for one of them.

Version 1.0 (October 21st 2019)

  • logged in user name is now the users full name instead of the username
  • Significant improvements to page rendering speed
  • SearchControls module now has an ‘export’ button again
  • Fixed a bug where any attempts to save a job would fail and the job would be paused instead
  • Fixed a bug where the search command to check views for canary compatibility would trip up on any views using the new patterns.

Version 0.9 (October 15th 2019)

  • There is now an implementation of “ui patterns”. Chunks of view config can be saved in appserver/patterns and then loaded
    into views by referencing just the pattern name. This allows view developers to avoid repetition and to keep their views compact and easier to maintain.

  • Fixed a bug in the Chart module where the number of points on the primary axis (x-axis) was being cut off at 100.
  • Found and fixed a directory traversal bug in the HTML module’s “src” param.

Version 0.8.1 (October 9th 2019)

  • Fixed bugs where some modules might fail to remember selection preferences, due to ui-prefs.conf.spec having been mistakenly omitted from README subdirectory
  • Added some logic to enforce a minimum required version number for specific apps like Cisco CDR, so users dont accidentally do compatibility testing with versions that are simply too old.

Version 0.8 (October 7th 2019)

  • Look and Feel:
    1. New colors, styling and better alignment for form element modules.
    2. Changed the button styles, tab styles and many CSS improvements.
    3. form element modules in viewHeader and mainSearchControls layoutPanels are now floated left by default.
  • Bugfixes
    1. Fixed a bug in the Button module where allowAutoSubmit=False was erroneously allowing execution to proceed to the downstream modules during page load.
    2. Fixed a bug in Table module around time-based drilldowns.
    3. Fixed a bug in Link module where if it was being multiplexed it would end up with two copies of its actual link element.
    4. Fixed a bug in the Timeline module where it would not render at all if the job finished extremely quickly.
    5. SplunkSearch.dispatch was calling abandonJob which meant the properties that were just set like statusBuckets and requiredFields were being thrown away.
    6. Fixed a bug in TextField where if you had rows set to 2 or higher, it would throw an exception if you had no label set.
    7. Greatly improved performance of checking many jobs for progress concurrently.
    8. TimePicker – Addressed race conditions in the TimePicker module between the ui-prefs.conf loading and the times.conf loading, and timeRanges arriving from upstream config (eg from the URL).
    9. TimePicker – Fixed some bugs in the handling of the “label” param.
    10. TimePicker – Fixed some defects in the menu code
    11. TimePicker – Fixed a bug in how label elements are handled when migrating TimeRangePicker usage to TimePicker,
  • Improved functionality
    1. Updated the Button module so that if allowAutoSubmit is set to False, it hides its downstream modules when the page loads (its cousin the Link module already did this).
    2. Fixed an assertion that wasn’t firing when we automatically migrate legacy Sideview XML views. It now errors out with a detailed error message if it encounters a module that has downstream modules, but is of a class that isn’t supposed to ever have them.
    3. Updated the implementation of our standard app-licensing endpoint, so that now any admin that has the “edit_license” capability can update or create the app’s license string. Formerly the license string could only be updated in the UI by users who had the “admin_all_objects” capability.
    4. Fields module, when it’s modal layer is open, now has a textfield users can use to filter the list of available fields.
    5. Giving the AppNav module a pair of params to control whether savedsearches and dashboards from other apps should be rendered into this app’s saved search menu. These other apps may have decided to export their content to the “system” space but this doesn’t mean we want them in our menus here. Both new params default to False, ie they exclude globally exported content from other apps from appearing in the saved report and saved dashboard menus.
    6. Some work to improve how the UI picks up the locale from the page URL and reuses that locale for all requests.
    7. if anything sets a $foo$ token $shared.tz$ to the name of a specific timezone, then any searches dispatched downstream from that point will be dispatched with that tz, overriding the current user’s preference.
    8. If there are still searches running when the user closes the browser window and they’re not marked as “saved”, we now try to cancel them explicitly.
    9. Switcher module is now able to key off of any of the standard job keys that are published to the context.

Version 0.7.2 (September 19th, 2019)

  • Migration work around the optional ‘customStylesheet’ and ‘customJavascript’ params in the SideviewUtils module itself. Since this module doesn’t exist in Canary, and file or files specified here are now shifted over to customJS and customCSS fields at the view level
  • URL’s to static files not properly incorporate the app version number and build numbers, so as to effectively defeat local browser caches whenever the app is updated (as long as splunk is restarted or the persistent rest handler that serves the views is restarted).

Version 0.7.1 (September 14th, 2019)

  • Many cosmetic fixes
  • AppNav module tries to make app developers life easier by at least logging an error if the nav explicitly specifies a view that the current user cannot see.
  • some bugs fixed in the code that converted the view config to the yaml format, that had been erroneously putting some redundant keys back in.
  • Chart module has new improved chart colors for all cases where there are fewer than 7 series
  • Fixed a bug in the Fields module where the available fields list would not render if you opened the layer before they were available.
  • Fields module and TimePicker module now save and load the user’s preferences from/to ui-prefs.conf
  • Fields module now has a ‘reset to default’ link that can reset the user’s selected fields.
  • Fixed a bug where multiple modules that used menu-ing systems, like AppNav, TopNav and TimePicker, could have their menus open at the same time.
  • Fixed a small bug in the Table module where trying to select the name of a column header would sort by that column.
  • TimePicker module’s “Custom” mode now works with URLLoader when latter is in ‘keepURLUpdated’ mode.
  • Fixing the Chart module’s rendering when each timechart bucket is just one second or a few seconds.

Version 0.7 (September 9th, 2019)

  • Changing default sort order in the Table module to be descending
  • Improvement to the shared menu code so the last-opened submenu doesn’t stick open while you’re mousing around.
  • Ported over the hideOnEmpty param for CheckboxPulldown which had been added to Sideview Utils in the past year.
  • Improved tooltip positioning and design in the Chart module when there is a split-by field.
  • Fields module now saves and loads the users current selected fields to/from ui-prefs.conf
  • Improvements to how things work as the user clicks around from Simple XML views to HTML dashboard views, to canary views, in the app nav bar
  • Fixed some general module loading logic that was preventing the Link and Button module’s “allowAutoSubmit” params from working.
  • Quite a lot of small compatibility fixes for when an admin has set Splunk Enterprise 8.0 to run all apps in python3.
  • Fixed a bug in TimePicker where it would erroneously push changes downstream when you opened the “Custom” modal popup.
  • Fixed a bug in some advanced Multiplexer cases.
  • Fixed file encoding issues with a couple third party libraries that were causing breakage on Python3
  • Removed last usage of the Splunk Python SDK
  • Fixed various problems in the Sideview licensing endpoint when run in Python3.

Version 0.6.1 (August 28th, 2019)

  • TopNav module now has a link to the Admin section landing page.
  • if apps link to ‘search’ with a canary uri, the controller now redirects the browser to the standard splunk uri, retaining other params.
  • Deleting the “Messaging” module as it dates from extremely early on in Canary’s timeline and the level of configurability that it aimed for now seems silly. All messaging rewritten to be handled by a single message area for now.
  • Fixed bugs in CheckboxPulldown and Multiplexer modules that were causing an extra cycle of job dispatch+cancel in some cases.
  • Fixed a bug in the AppNav module where clicks upon the actual arrow icons would fail to open the submenu.
  • Introduced a mechanism where any module can set a “hideChildrenOnload” param to True, and all downstream modules will load hidden when the page first loads.
  • Fixed a bug where modules in some hierarchies would end up with the incorrect layout panel
  • Fixed bugs in the Pager module around the two-pager configuration (with one above and one below).
  • Fixed a bug where job progress events were not firing on previewable jobs.
  • Chart module modified so on progress events it will update it’s existing chart object instead of recreating it from scratch.
  • Search module now can accept $foo$ tokens in its “preview” param, allowing this to be set from form elements or other upstream logic
  • Chart module now, even if the job is not previewable, it will at least update with a little “Loading (12.34%)” text.
  • TimePicker module now gets the times.conf stanzas in correct order (sorted by the order key, numerically)
  • Fixed a bug in CheckboxPulldown where in some cases it would erroneously deselect all of its options on page load (instead of selecting all).

Version 0.6 (August 23rd, 2019)

  • First release
  • A list of release notes is not feasible since this is about 7 years of development.
    Such a list would include thousands of stories added and defects resolved.