Canary

 

Release Notes


Version 1.0.7 (January 16th, 2020)

  • Fixed a problem where clicks to Simple XML dashboards, or HTML dashboards like the “search” view wouldn’t redirect properly and the user would end up on the wrong URL with a confusing “response has no payload” error.
  • Improvement in error handling to propagate the actual error string out to the user
  • Fixed a bug that only seems to occur on Chrome whereby clicks on the “export” icon would
    fail and land you on a page saying “Unknown sid”.

Version 1.0.6 (January 10th, 2020)

  • Fixed a regression in TimePicker introduced only in 1.0.5 (released yesterday), where
    pages would hang if a TimePicker received a push from upstream modules while it was still
    waiting for the global page preferences to load.

Version 1.0.5 (January 9th, 2020)

  • Fixed a bug in the TimePicker where when the page loaded the first search dispatched would in some specific scenarios ignore the TimePicker’s selection entirely and run an all time search instead
  • Fixed a bug in the TimePicker where the absolute time picker aka the “custom time” mode’s little calendar widgets wasn’t working properly
  • Improvement to the TimePicker so that when you are in “custom time” and you have a calendar widget open, the widget no longer obscures the layers overall ‘apply’ and ‘cancel’ buttons.
  • Fixed bugs where the cancel button and some other buttons in the SearchControl modules did not work properly, and where HTML and ProgressIndicator modules would not reset when their jobs were cancelled.
  • the Apps menu in the TopNav module now has a “Manage Apps” link.
  • Fixed a bug in the Table module where if you sorted by a particular column and then went to a different page it would lose the sort order.
  • Fixed a bug where if a view used the the “customJavascript” param (to add other custom JS besides application.js ), the JS wouldn’t load.

Version 1.0.4 (December 11th, 2019)

  • Error messages such as SPL parse failures are now propagated back to the end user properly. Formerly it would display an error saying “received 200 on a dispatch POST but no sid”.
  • Fixed a bug in the Fields module where if you made some changes and then didn’t commit them, the uncommitted list of selected fields would still be there if you closed and reopened the layer.
  • Fixed the ‘inspect job’ link in the SearchControls module in 8.0 (the URL to the Job Inspector actually changes in 8.0)
  • Improved the Table module to have an optional ‘hiddenFields’ param. If set, the given fields will always be prepended to the user’s selected field list. Also when the legacy FieldPicker module is migrated to the Fields module it inserts a “_time” field using this param, as that makes the Fields module match the old FieldPicker’s default behavior.
  • Change to the Table module to trim off “.000” from the end of displayed timestamps wherever present.
  • Change to the Table module to not display times in a 24 hour clock, and then redundantly display AM/PM also
  • Fixed a bug in the TimePicker module where the calendar widgets arrow controls to move forward or backward by a month, were invisible.
  • in Pulldown modules that have custom logic to disable/enable particular options, the text label of those options now correctly displays in a greyed out color
  • Canary UI now generates an error message for any users that try to load views in Internet Explorer, to the effect that the browser is not supported.

Version 1.0.3 (November 22nd, 2019)

  • Canary UI now supports the use of the “root_endpoint” key in web.conf. This key is commonly used in SSO configurations as well as in advanced configurations where more than one splunk instance or more broadly when more than one web application needs to be accessible on a single host and port.
  • Fixed a bug in the Chart module where it could throw an exception particularly on non-previewable jobs and fail to render.
  • Fixed a python3 syntax error in the “checkxml” command that would make the command fail if it encountered a broad range of view misconfigurations.

Version 1.0.2 (November 12th 2019)

  • Resolved a major issue where if users were accessing splunkWeb through a local port that differed from the httpport configured in web.conf (as is common when proxies or ssh tunnels are involved), that many requests would fail CSRF validation and receive a 401 error when attempting to dispatch searches or POST to any endpoint.
  • customBehavior code (in custom apps) that tries to create an intance of the legacy Splunk.Search class will now end up with an instance of Canary’s SplunkSearch class instead. For most simple common tasks, this will give equivalent functionality.

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.