Skip to content

Latest commit

 

History

History
2028 lines (1261 loc) · 110 KB

CHANGELOG.md

File metadata and controls

2028 lines (1261 loc) · 110 KB

Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

27 February 2025

25 February 2025

  • Bump pixl-server to 1.0.45 for log filtering feature. aa989ac
  • Version 0.9.75 8f10917
  • Set debug_level to 9 for debug mode. 6e01b73
  • Drop default debug_level to 5. 5230017

19 February 2025

  • Prevent non-admins from seeing any Admin UI. Fixes #869.

  • Insure NPM is preinstalled in install script. Add to docs too. 8ea9255

  • Version 0.9.74 98c70f3

9 February 2025

  • Bump pixl-mail to v1.1.3 for nodemailer v6.10.0, for fixing a DeprecationWarning

  • Version 0.9.73 109c6dc

  • New issue templates, CoC, update copyright years. 713dafa

  • Fix typos 980a645

  • Add OS version 03b2d53

  • Typo 0eabeb3

  • Add config.yml ba44d41

3 February 2025

  • Resurrecred live log links feature, now with auth. 25e5628
  • Add max_clock_drift config prop (default 10). 77e4937
  • Version 0.9.72 5a26f21

27 January 2025

  • No changes, did commit/tag out of order last time, re-tagging to fix.

  • Version 0.9.71 0ba49de

27 January 2025

  • The Job Log API is now protected with a special SHA-256 cryptographic token, which is unique for every job.

  • The Job Log Download URLs have been removed from all outgoing emails to reduce accidental sharing.

  • Users can still view and download job logs by going to the Job Details Page (authenticated), and then clicking the links from there (which have the SHA-256 tokens embedded in them).

  • Fixes #847

  • Version 0.9.70 b2c6735

22 January 2025

  • Bump pixl-server-user to v1.0.25 for new self_delete config property.

  • FIxes #845

  • Version 0.9.69 1fedca6

6 January 2025

  • Bump pixl-server-web to v2.0.7 for automatic reloading of SSL certs if they change on disk.

  • Fixes #843

  • Version 0.9.68 f971067

3 January 2025

  • Added custom job labels.

  • Version 0.9.67 81833f1

  • Change verbiage re: Node LTS versions. 4fa8743

29 December 2024

  • Switched control.sh script over to using bash instead of sh.

  • Added check for nvm to work during boot, when node is not installed in the usual location.

  • Fixes #780

  • Version 0.9.66 502f6d3

24 December 2024

  • Bump pixl-server-web to 2.0.5 for proper SNI / TLS handshake host validation.

  • Version 0.9.65 c7552bb

23 December 2024

  • Bump pixl-server-web to v2.0.4 for new http_allow_hosts feature. Fixes #839.

  • Version 0.9.64 a3e3241

18 December 2024

  • Remove dependency "glob" as it has vulns.

  • Now using pixl-tools custom glob implementation.

  • Version 0.9.63 7a35af5

17 December 2024

  • Bump pixl-boot to v2.0.1 for macOS fix.

  • Version 0.9.62 06aa1a6

  • Loosen restriction on base URI match for API filter, for injecting server_groups. 48490e0

18 October 2024

  • Improve display of chain reaction jobs on Job Detail page.

  • Link chain reaction to originating job.

  • Widen event name input field.

  • Widen chain reaction menus for selecting jobs.

  • Bump cookie and socket.io #819

  • Version 0.9.61 ae28d63

3 October 2024

  • Bring back the live job status column, but show "Last Run" if no active jobs.

  • Fix grammar #812

  • initialize custom_live_log_socket_url #797

  • Version 0.9.60 8ef1076

  • Added note about timing object and subtle behavior differences. 6cf86b7

6 August 2024

  • Bump pixl-server-storage to v3.2.2 for upstream vuln fix.
  • Bump @aws-sdk/client-s3 and @aws-sdk/lib-storage to 3.621.0 for vuln fix: GHSA-mpg4-rc92-vx8v
  • Bump @smithy/node-http-handler to 3.1.4 for good measure.

Refs:

31 July 2024

  • Fixed loading screen before a primary server is selected.

  • Version 0.9.58 b485288

31 July 2024

  • Fix PID file issue where another process may be assigned our old PID after an unclean shutdown.

  • Bump pixl-server to v1.0.44 for same reason.

  • Fixes #789

  • Version 0.9.57 26aded4

17 July 2024

  • Fix bug where live log view/download failed on detached jobs. Fixes #786.

  • Version 0.9.56 08b1288

16 July 2024

  • Fixed typo in job_read_only implementation.

  • Version 0.9.55 801d103

15 July 2024

  • Added optional job_read_only privilege. When set, a user (or API key) can ONLY run stock events from the schdule, with NO customization.

  • Version 0.9.54 6bd3d90

21 June 2024

7 June 2024

  • New optional client config param: prompt_before_run (see Discussion #771)

  • Removed duplicate TOC entry in doc.

  • Fixed manual run-all jobs when servers shut down unexpectedly (fixes #757)

  • Fixed manual run-all jobs when servers shut down unexpectedly. b45a635

  • New optional client config param: prompt_before_run 8d3389a

  • Version 0.9.52 5ffd58c

  • Added note regarding issue #757 ec87118

  • Removed duplicate TOC entry. a1f0b67

13 May 2024

  • Added optional client config properties: default_job_history_limit and default_job_stats_limit.

  • Fixes #756

  • Version 0.9.51 0766211

13 May 2024

  • Changed behavior so manually started jobs will be rewinded if failed and Run All Mode is set.

  • Fixes #757

  • Updated docs regarding timeouts and Run All Mode.

  • Version 0.9.50 846f974

10 May 2024

  • Bump pixl-server-web to v2.0.0 to prevent XSS reflection style attacks on APIs.

  • Misc fixes to remove legacy JSONP-style APIs.

  • Fixes #755

  • Version 0.9.49 db3b4b8

7 May 2024

  • Bump pixl-server-user to 1.0.22 for script injection vuln fix.

  • Fixes #752

  • Version 0.9.48 813f401

29 April 2024

  • Disabled the "event autosave" feature that saves the state of an event edit, when you leave without saving. It creates confusion.

  • Version 0.9.47 990e7ed

23 April 2024

12 March 2024

  • Added support for custom Group (GID) for Plugins.

  • Version 0.9.45 9d2cfad

20 February 2024

  • Fixes #724. Thank you so much @moonsoftsrl!

  • Fix cert_bypass #724

  • Version 0.9.44 1fb0515

18 February 2024

  • Bumped pixl-tools to v1.1.1 for speed improvements on glob() and rimraf().

  • Version 0.9.43 dc27639

18 February 2024

  • Bump pixl-tools to v1.1.0 for multiple vuln fixes in nested packages (namely glob and rimraf).

  • Version 0.9.42 019b900

15 February 2024

  • Bump pixl-mail to v1.0.14 for upstream vuln fix in nodemailer.

  • Version 0.9.41 759f64e

  • Updated copyright year. e1182c9

  • Added blurb about standard Node install locations. bbd7c08

18 December 2023

  • Bump lodash from 4.17.10 to 4.17.21 #696
  • Trying to get deps under control. b86792e
  • Version 0.9.40 3a1aff7

16 November 2023

  • Added /api/app/get_servers route, admin only, currenly undocumented.

  • Version 0.9.39 2c9f6ae

23 October 2023

  • Added chain_params feature.

  • Version 0.9.38 82a162a

17 October 2023

  • Added package-lock.json.

  • Fixes #656

  • Version 0.9.37 6dda68e

12 October 2023

  • Add some common locations into the PATH env var during startup.

  • Version 0.9.36 ca1ae43

3 October 2023

  • Add client.hide_schedule_checkboxes feature.

  • Bump pixl-server-web to v1.3.22 for alt ports.

  • Version 0.9.35 580ca9a

3 October 2023

  • Remove legacy use of NODE_TLS_REJECT_UNAUTHORIZED env var.

  • Update docs on web_hook_custom_opts

  • Support for future pixl-server-web listeners array (multi-port).

  • Remove old listRoughChop, now using official listSplice API.

  • Version 0.9.34 83c4eaa

  • Added disclaimer to doc about remote_server_port ebad37e

20 September 2023

  • Fixing more bugs that surfaced because of remote_server_port.

  • Version 0.9.33 a742345

20 September 2023

20 September 2023

  • Added remote_server_port property (optional).

  • Added docs on get_event_history and get_history API calls. dfe8a77

  • Version 0.9.31 dd9c10e

  • Updated TOC. 9b51f5c

  • Using parseInt for user active. 5f44aad

18 August 2023

  • Fix bug where suspending a user in the UI doesn't work at all.

  • Fixes #626

  • Version 0.9.30 996750a

18 August 2023

Bump pixl-server-web to v1.3.20 for crash fix when viewing zero-byte files.

18 August 2023

  • Cleaned up sample S3 config in docs. ddec311
  • Version 0.9.28 e15f03f
  • Fixed bug where searching for pure numbers wouldn't match any events. 90df805

10 August 2023

  • Added pixl-boot for automatic start on server boot.

  • Updated docs for clarification on behavior.

  • Version 0.9.27 14b6000

7 August 2023

  • Fixed several issues in the Storage CLI script.

  • CLI: Disable transactions

  • CLI: Make sure Cronicle isn't running for write actions

  • Version 0.9.26 8872c8a

23 July 2023

17 July 2023

  • Enable storage transactions by default.

  • Ship with new storage repair script.

  • Ensure Node.js version is 16+ on startup.

  • Version 0.9.24 52920c9

  • Improve Plugin API documentation for successful job result 0f5c041

  • Updated TOC. c3750f7

1 June 2023

  • Added new get_master_state API and docs.

  • Added docs for update_master_state API.

  • Version 0.9.23 20a7502

19 May 2023

  • Show confirmation dialog for toggling the scheduler. df93a69
  • Version 0.9.22 83681fb
  • Increase schedule column max-width to 600px. 01f38bd

19 April 2023

  • Support for Discord Web Hooks, added content property into web hook text props.

  • Thanks to @mikeTWC1984 for this fix!

  • Version 0.9.21 85f9862

  • Updated copyright year. 1e52ea3

30 January 2023

  • Now validating timezone on create_event, update_event, run_event and update_job APIs

  • Fixes #571

  • Version 0.9.20 9f574e7

  • Added correct packages to check between installs. 1ab8b85

28 December 2022

  • Bumped pixl-logger to v2.0.2

  • Bumped pixl-webapp to v2.0.2

  • Version 0.9.19 3001ab4

28 December 2022

  • Add new tz configuration property in the client object. This will override the auto-detected TZ in all users browsers.

  • Fixes #565

  • Version 0.9.18 1e80586

11 December 2022

  • Bump socket.io to v4.5.4 to fix vulns.

  • Bump pixl-server-web to v1.3.15 to fix vulns in formidable.

  • Version 0.9.17 d2521f3

  • Fixed unit test when config API was changed. 7c716a8

11 November 2022

2 November 2022

  • Addresses XSS aspect of issue #546

  • Version 0.9.15 c7486df

26 October 2022

  • Fixed issue with newest pixl-server-storage and @aws-sdk/client-s3 library.

  • Version 0.9.14 8e8e348

18 October 2022

  • Removed block that was preventing API keys from becoming admins.

  • See: #479

  • More minor doc nav tweaks. 18c20a8

  • Minor tweaks to docs. 3d357e1

  • Updated S3 docs to reflect latest pixl-server-storage changes. 73c9e48

  • Version 0.9.13 2085e2c

21 September 2022

  • Bumped moment-timezone to v0.5.35 for vulns.

  • Reworked documentation to split across files. d940525

  • Still playing with doc nav UI a bit. 67b5013

  • Minor doc UI fix. 987f64e

  • Version 0.9.12 455a29f

28 August 2022

  • Fixed security issue where websockets auth'ed with user sessions could run admin commands. ec4b491
  • Version 0.9.11 44556ab

22 August 2022

  • Fixed bug where rogue JSON from Plugin could overwrite sensitive job data. 5988163
  • Fixes #516 49f6a1b
  • Added blurb about JSON output and complete flag. 8e04a57
  • Version 0.9.10 9a598c8

28 July 2022

moment/moment#6015

  • Bumped moment to v2.29.4 for vuln b939bf4

26 July 2022

  • Allow for escaped shell variables in job params. 8c500b9
  • Version 0.9.8 0e374c8

4 May 2022

  • Schedule page now shows "Last Run" result (success or fail).

  • Saved in state database, survives restarts.

  • Click on last run bubble to jump to latest job detail.

  • Updated in real-time.

  • Filter events based on last run status.

  • Version 0.9.7 a4a39ac

  • Removed redundant call to npm install. 9c864fe

27 April 2022

27 April 2022

27 April 2022

  • Bug fix: Event List: Redraw breaks menus and search box c8f06a2
  • Added note about Couchbase v2 867e245
  • Version 0.9.4 a79cb4a

6 April 2022

  • Bumped pixl-request to v2.0.1

  • Fixes #486 (thanks user @Musarrath!)

  • Fixed bug in unit tests with queue collision. 6c26889

  • Version 0.9.3 d2800fe

16 December 2021

  • Updated copyright year in various places.

  • Version 0.9.2 90ada98

16 December 2021

  • Typo, missed reference to old legacy dependency.

  • Added v0.9 upgrade note to top of README. c2bfdc1

  • Version 0.9.1 3593ef8

16 December 2021

  • Bumped socket.io to v4.4

  • Removed mkdirp

  • Bumped uglifyjs to v3.14.3

  • Bumped shell-quote to v1.7.3

  • Bumped pixl-server-storage to v3.0.11

  • Version 0.9.0 -- bumped deps for vulns a093f6b

  • Added notice about merging PRs. 3748186

  • Added .github/pull_request_template.md 27e50c3

17 June 2021

  • Bumped pixl-server to v1.0.30 for issue with logging

  • Fixes #416

  • Version 0.8.61 fd03cb9

  • Fixed typos in docs. d2cc143

21 May 2021

  • Implemented max_jobs feature (global maximum).

  • Version 0.8.61 d7fadf2

21 May 2021

16 May 2021

  • Bumped pixl-request to 1.0.36 for decomp bug fix. f585fb9

14 May 2021

  • Bumped jquery to v3.5.0 for vuln

  • Bumped chart.js to v2.9.4 for vuln

  • Bumped netmask to v2.0.1 for vuln

  • Fixes #404

  • Patched a few security holes. 546c7f6

  • Version 0.8.58 42975fc

27 March 2021

  • Make sure titles do not contain HTML metacharacters. 9671c7c
  • Race condition with "Run Again" and get_log_watch_auth. df326ee
  • Version 0.8.57 bba7b01

23 January 2021

  • Now setting no_rewind for timeout aborts. Fixes #369.

  • Version 0.8.56 cdf3a2e

23 January 2021

22 November 2020

  • Bumped moment-timezone to v0.5.32. Fixes #356. b90921e

8 November 2020

  • Bumped pixl-request to 1.0.33 for new embedded header/data syntax in web hook URLs.

  • Version 0.8.53 15ba50f

7 November 2020

  • Fixed bug where web hook validation got tripped up on the new header system (thanks @mikeTWC1984) 5c0199b
  • Changed example URL in README to be Slack's API endpoint. 62ed487

7 November 2020

  • Bumped pixl-request to v1.0.32 for new URL header substitution feature.

  • Allow Web Hook URLs to include embedded request headers e.g. [Cookie: foo=bar]

  • Fixes #346

  • Version 0.8.51 b46ce34

9 October 2020

  • Fixes #333. Thanks @Taz4Git and @mikeTWC1984!

  • Version 0.8.50 8acbbf5

25 September 2020

  • Added user privileges for specific server groups. 8a9df7c
  • Fixed issue with live log watcher and workers. fb529e4
  • Version 0.8.49 d53da19

14 September 2020

  • Removed outdated terminology from the UI.

  • First pass at removing outdated terms from docs. 6ec734f

  • Version 0.8.48 3300a5a

18 July 2020

  • Fixes #305

  • Updated copyright year in page footer.

  • Json typo #281

  • Version 0.8.47 f6a93d5

  • Fixed spacing issue in TOC 9ed8ce5

24 April 2020

  • Updated dependencies to address a crash seen in Node.js v14. Should fix #275.

  • Updated docs to address Node.js Active LTS and Current channels. Only Active LTS is supported.

  • Removed old Node.js v10 clock warning.

  • Wrapped TOC in a details block.

  • Version 0.8.46 5438f21

11 March 2020

  • Bump pixl-server-api to v1.0.2 for args.params issue.

  • If you send in a POST with true as the JSON, the parser is happy, but it crashes inner code expecting an object.

  • Version 0.8.45 a45169b

27 February 2020

  • Fixes #264 - A refresh bug which occurs when the history view is reloaded after a job completes, but if the user has activated the "Filter By Event" menu, it gets invalidated and the user cannot select an item. Thanks @geofffox!

  • Version 0.8.44 8c563e2

19 February 2020

Fixes #216

  • Version 0.8.43 d573e98
  • Added note about Cronicle starting on boot and environment variables. 430299d
  • Added get_active_jobs to TOC. a577009

13 February 2020

Added get_active_jobs API and docs. Closes #261.

7 February 2020

More spawn crash protection, this time for server resource monitoring. If the server is completely out of memory, the ps exec spawn may fail. This adds crash protection, and just logs the error (non-fatal).

7 February 2020

Better support for catching child spawn errors when the PID, STDIN or STDOUT are all undefined. Presumably this can happen with a server that is completely out of memory. Apparently Node.js doesn't throw an error for this. Go figure!

17 January 2020

  • Includes PR #253 (thanks @attie).

  • If you do not wish to merge the POST data into the params (for example if you are using a webhook that provides other data as JSON), then you can add &post_data=1 to the query string. If you do this, then the POST data will be available in the post_data key of the params object.

  • Thanks to user @attie and PR #254 for these fixes and suggestions.

  • close the child's stdin after writing all of the payload #253

  • Version 0.8.39 fad91ad

19 December 2019

Fixes #246 -- thanks @alexpanas!

27 November 2019

Now correctly throwing an error instead of crashing when starting a job and the event's category, plugin, or server group cannot be found.

27 November 2019

  • Fixes #199

  • Version 0.8.36 1e9ed43

24 November 2019

  • Merged #234 - Thanks @SPascareli!

  • Fixed bug where reset password would not allow "-" and "." chars #234

  • Version 0.8.35 3ccd147

  • Added space to log file before npm restore junk. bc75410

24 November 2019

  • Fixed typo in installer script which wiped out log file.

  • Version 0.8.34 / Installer v1.3 7f5231c

24 November 2019

  • Attempting to preserve add-on modules: couchbase, aws-sdk and redis

  • npm update seems to clobber these on Cronicle update (sigh)

  • Version 0.8.33 / Installer v1.2 239e3bc

16 October 2019

https://github.com/jhuckaby/Cronicle/commit/55c64899d8de6cd55a1ac436ef600860d293dcad

  • Add section about companies using Cronicle #212
  • Add custom custom_live_log_socket_url for single-master systems behind an LB 55c6489
  • Version 0.8.32 59f0eab

30 June 2019

Fix #195

30 June 2019

Fixed bug where error chain reaction would fire even if job was aborted. Aborted jobs, either due to shutdown or manual, should never fire a chain reaction action (and now they do not).

27 May 2019

  • Should fix #182.

  • Fixed date handling in Time Machine text field when custom timezones are involved db65f93

  • Version 0.8.29 e13a3a8

  • Fixed security issue where hashed user password and salt were getting logged. 5e1797a

4 September 2018

Fixes #112 - Cronicle crash on a simple stress test

2 September 2018

Now emitting a warning on startup for Node v10.0 to v10.8, due to the core timer bug: nodejs/node#22149 Updated timer bug warning in README. Bumped pixl-server version to 1.0.16 for more verbose startup log entry.

28 August 2018

Reversed course on new /api/app/status API call. It no longer causes a server restart on a tick age issue (i.e. broken timer). It now only logs a level 1 alert, and safely returns an API response. Server restarts should only be handled by an external monitoring tool.

This tick age thing is an ongoing investigation into a very strange situtation, seen after about 20 days of continuous running on Linux CentOS 7.2, Node v10.6.0 and AWS (S3) storage backend. Seemingly at random (but on multiple servers at the same time), all the Node.js timers and intervals seem to cease firing, but all other actions triggered by sockets or child processes keep running. The server has to be restarted, sometimes SIGKILLed. CPU and memory are both fine.

I'm currently dumbfounded as to what could cause such a thing.

27 August 2018

Removed old garbage collection hack (was from the Node v0.12 days). Added new api_status call for monitoring purposes. Disable UDP broadcast server if port is zero or false. Now keeping track of tick age (exposed in api_status). If tick age is over 60 and status API is invoked, server will self-restart (should never happen). Improved logging for crashes and emergency shutdowns. Added PID log column by default. Bumped pixl-server version to v1.0.15.

16 August 2018

Bumped pixl-server-storage version to 2.0.9 to pick up Couchbase bug fixes. Should fix #101

14 August 2018

Now allowing environment variables to override command-line arguments as well as configuration properties. Bumped dependency versions for some pixl-* modules.

12 August 2018

Support for restricting users to specific categories only. Better visual hinting for "Schedule Enabled" when user doesn't have access to click it. Better visual hinting for disabled categories and plugins. UI controls for creating, copying and running events are hidden if user doesn't have access. Disable browser spellcheck on password fields.

  • Support for restricting users to specific categories only. 93c0528
  • Support for category-limited users. 7e6ebd2
  • Support for restricting users to specific categories only. f602a41
  • UI controls for creating, copying and running events are hidden if user doesn't have access. a2bafd4
  • Support for restricting users to specific categories only. a45b6bc
  • Split out findJob() from updateJob() 82baeb5
  • User Category Privilege Checkbox Label Augmentation b68f876
  • Support for restricting users to specific categories only. 7a299a5
  • Support for restricting users to specific categories only. 434ba3b
  • Better visual hinting for disabled categories and plugins. 960b609
  • Disable browser spellcheck on password fields. 8676055
  • Version 0.8.22 bd10964

9 August 2018

Password fields now default to hidden, but can be togged back to visible. Default password state can be configured in config.json file. Password state is also saved in localStorage, if user toggles Hide/Show.

8 August 2018

Added uncatch module. Bumped pixl-tools to v1.0.18 (for sub()). Bumped pixl-server-web to v1.1.7 for various bug fixes.

  • New web hook text system. e375cca
  • Updated job_launch_failure web hook to use new system. 4116950
  • Added "Copy Event" feature. 94a5d3a
  • Updated docs for new web hook features. 4d54391
  • Changed behavior of "Copy Plugin" 6b177c6
  • Added uncatch and defaultWebHookTextTemplates. 204cdf2
  • Version 0.8.20 df8076a
  • Added default web_hook_text_templates values. 4ad111e
  • Fixes #86 119ecda

2 August 2018

Fixed potential confusion in Shell Plugin where plain integers on their own line in STDOUT were being interpreted as progress percentages. Now a hard % symbol is required. Should fix #90. No longer allowing user to delete final Master Eligible server group (would send application into frozen state). Downgraded noisy error into debug message, which can happen naturally if a user jumps to view a live job that has just completed. Disabled spell check on Server Group Hostname Match field.

1 August 2018

Fixed bug where a malformed group regular expression could crash the server. See issue #88

26 July 2018

  • Added docs for socket_io_transports config prop. 9434342
  • Added support for socket_io_transports. 2b9f312
  • Version 0.8.17 fb385d9
  • Bumped max events to 10K, as 1K was chopping reasonably sized schedules. 143e0bd

20 July 2018

Bumped pixl-server-web to v1.1.5, which includes fix for #81.

17 July 2018

  • Get rid of perl dependencies in scripts #77
  • Misc changes to CLI 0218d66
  • Remove perl snippets from control.sh and debug.sh scripts e38c591
  • Version 0.8.15 06e155f

15 July 2018

Improved error messages and user feedback on Job Details page (live job log watcher).

15 July 2018

In header, and in scroll overlay widget. No longer showing date (makes it too wide).

  • Added new web_direct_connect property. bbbcbe4
  • Added docs for web_direct_connect. 006084c
  • Support for new web_direct_connect feature. 75c2bcc
  • Now showing number of active jobs along with time. 61efff5
  • Rejiggered to remove pagination, show all API keys, sort by title. bc45389
  • Added max run time of 3 seconds, will abort calc if exceeded. 9027fa6
  • Version 0.8.13 2369d8a
  • Made clock scroll overlay thinner 564f444
  • Updated copyright year. 78e30e3
  • api_get_api_keys now returns ALL keys (no pagination) 3334b30
  • Added clock icon to time display in header f721498
  • Now including web_direct_connect in config API response. a57ebf3

14 July 2018

  • Added new HTTP Request Plugin docs e904092
  • Support for chain_data bcf1cdc
  • Version 0.8.12 80189b3
  • Added SSL Cert Bypass option to HTTP Request Plugin 0397bfc
  • Updated TOC fca9357
  • No longer logging all storage event types (too noisy) f9d5fa4
  • Fixed potential bug where "ley" variable wasn't defined. 31335a8

10 July 2018

8 July 2018

The watchJobLog (follow live job log) API wasn't checking the user's Session ID. Also, now emitting visual errors if the watchJobLog socket fails to connect (direct server connection).

  • Version 0.8.10: Security Patch: Session ID check on watchJobLog 72624a8
  • Added new section on Cron Noncompliance 3965d3c

6 July 2018

Added support for custom maint record types (for running maint on custom days). Home UI Worker: Max ceiling of 1000 simulated future jobs. Added track_manual_jobs (default false) so manual jobs won't be added to activity log. Now only setting one record expiration per job, and using a custom record type to delete both the job metadata and job log gzip. Bumped pixl-server-storage version to 2.0.7 (for custom record types and efficient storage expiration). Docs: Added recommended AWS settings for retries, clock skew and others to storage migration sample config.

6 July 2018

Added optional "Burn Memory/CPU" option to Test Plugin. Test Plugin now accepts a range of durations (picks random). Add Storage transaction logging to default configuration. Removed deprecated calls to new Buffer().

4 July 2018

Now including running job information for the get_event API. Added recommended AWS S3 httpOptions (timeouts). Updated table of contents in README.

30 May 2018

Fixed issue with storage migration script, where --dryrun mode was causing streams to stack up and eventually crash with EMFILE: too many open files.

29 May 2018

Updated dependencies, particularly to force an update on pixl-cli, which was broken due to an update of chalk.

  • Updated TOC in README.md. 16a61ef
  • Version 0.8.5 e13b8fc
  • Added one decimal of precision to memory pies (avg). 01d71a3

13 May 2018

New storage migration script. Upgrade to pixl-server-storage v2.0.1+ for AWS S3 keyTemplate and fileExtensions. Misc other fixes.

  • New storage migration script. 1901573
  • Version 0.8.4 1d92600
  • Fixed two instances of calling fs.close() without a callback. e51178b
  • Added --trace-warnings to CLI 6c2b1ca

15 April 2018

Support for "on-demand" events that have no scheduled run times, but support Run Now and API jobs. Upgraded jQuery to v3. Upgraded MomentJS to v2.22.

9 March 2018

Dependency update of pixl-server-user to v1.0.8 should fix #57 Misc UI fix on History page (erroneous display of "All items were deleted on this page." message).

15 February 2018

Tweaked some Chart.js settings on history/stats page, to disable animation, fix y axis labels, and fix tooltip positions.

13 February 2018

Event queue! Bumped async to v2.6.0.

  • Support for event queue. 910dbac
  • Support for event queue. f52cd9d
  • Changes for event queue. be4e5ca
  • Support for event queue. 70cc91f
  • Support for event queue. e193f9f
  • Support for event queue. 8be3de8
  • Dialog keyboard tweaks (new pixl-webapp release). f7f610a
  • Chrome hack to align checkbox labels (sigh). 6cd2a28
  • Updated copyright year, dependencies, etc. 2d01f20
  • Version 0.8.0 2b6767e
  • Fixed bug where Unicode symbols would not display properly on completed job logs. 1330ca9
  • Added 'queue_max' of 1000 to new event template. a4b4b36
  • Support for event queue. 5ced2a2
  • New event data params to validate (event queue, chain_error). 57a19f5
  • Updated copyright year. c2c9ce0
  • Updated copyright year. ff3b05a
  • Support for event queue. 150d096

13 January 2018

Upgrade to chart.js 2.7.1 Removal of d3 and c3 dependencies

  • Version 0.7.8 4db2fe3
  • Fixed cosmetic bug when event error descriptions contain HTML or multi-line text. 2ed733b

7 January 2018

Prevent crash when restarting service with detached jobs that were still running, but the jobs complete in the interim, but they also exceed their max time.

  • Version 0.7.7 864b8cd
  • Added blurb about the new keyPrefix prop in S3/Couchbase. bdb6868

16 December 2017

  • Added blurb for using local sendmail with pixl-mail. 5277c17
  • Fix random errors when deleting jobs. 1fb14ec
  • Attempt to fix #45 a05ed7e
  • Version 0.7.6 6a0b443
  • Fix issue with removing then re-adding same server quickly 01998dd

25 November 2017

  • Initial implementation of delete job e8e8aee
  • New Feature: Specify separate chain reaction events for success and failure. 216d5d7
  • Copying all top-level job keys into child environment. aad5e72
  • Cosmetic fixes for smaller windows. 06f90de
  • Improved upgrade process. 65769a9
  • Added version command-line argument. b52be49
  • Fixed some textarea resize issues. 42868d8
  • New Shell Plugin Option 7ff6ead
  • Renamed web_hook_ssl_cert_bypass to ssl_cert_bypass. ae42f69
  • Fixed bug where scrolling clock wouldn't appear in Chrome/Firefox. cae9711
  • Version 0.7.5 fdb6970
  • Schedule UI Tweaks 3b24ec4

9 November 2017

Fixes for Node 7+ and deprecation warnings on fs methods. Fixes issue #38

2 November 2017

API Keys can now be manually entered and edited in the UI. The get_event and run_event APIs now accept title as well as ID. The run_event API now works with HTTP GET. Fixed a CSS bug where rapidly clicking links would select them. Updated docs and tests.

3 October 2017

Fixed intermittent race condition crash on UI home screen. Quiet some verbose installer logging junk.

25 August 2017

Added category color to Home tab. Both upcoming and active jobs.

25 August 2017

  • New standard Plugin for making HTTP requests. dcdffc6
  • Much improved handling of detached jobs on Cronicle restart / upgrade. d7848f2
  • Version 0.6.17 17c7d67
  • Now always calling Tools.getpwnam() for user info on job launch. 6dcb06b
  • Improvements to logging and error handling. 26a8175
  • Added new HTTP Request Plugin into standard install set. 67bd958
  • Increment stats.jobs_failed when a job fails to launch (server unavailable, etc.). 456ba46
  • Updated dead_job_timeout, added more details. c7605c6
  • Added annotate (timestamp) checkbox to standard Shell Plugin. 2c58301
  • Fixed elapsed time for detached jobs. 8ed0712
  • Version 0.7.0 40dfa7f
  • Disabled uglify for now. e760396
  • Increased default dead_job_timeout to 120 seconds. 9e0563f

11 June 2017

  • Fixed race condition when navigating to JobDetails page just after starting a manual job on a remote server. 375bafb
  • Fixed bug where server_comm_use_hostnames was not being honored for fetching job log files, and for pinging slaves during a master failover event. dcc5bb2
  • Fixed crasher bug where variable was getting replaced with undefined in a chain reaction error. b74bf7f
  • Version 0.6.16 78642c0

7 May 2017

Now preserving deleted event, category and plugin titles on "Completed" page. Fixes #28

29 April 2017

  • Utility method for validating event data, used by create_event, update_event, run_event and update_job APIs 3fda9ee
  • New issue template for GitHub. 3323fc2
  • Support for web_hook_custom_data. a36ea1a
  • Added details for web_hook_custom_data and web_hook_ssl_cert_bypass. 61df577
  • Now making sure event has a timing element before checking (crash prevention). df837e9
  • Now calling requireValidEventData() for create_event, update_event, run_event and update_job APIs. 1f79547
  • Now logging job completions to the activity log if and only if the job fails. 30511ee
  • Support for web_hook_ssl_cert_bypass 410db62
  • Fixed unit test that was relying on successful jobs being logged in the activity log (we no longer do that). 79603b3
  • Version 0.6.14 77379f6

24 April 2017

  • Added blurb for new job_env config object. 49761ad
  • Added support for job_env default environment variables. f9ab8c2
  • Support for new server_disable and server_enable activity events. b3c8017
  • Now logging activity for server disable (lost conn) and server enable (reconnected). d0e7ad7
  • Fixes possible bug with least mem / least cpu algorithms, and multiple server groups. ca42be4
  • No longer logging activity for every job completion (is redundant, as they're all listed in the Completed tab). b476b7b
  • Version 0.6.13 dc6d9f4
  • Added empty job_env object. 5e19b80

9 April 2017

Added 'mail_options' config param, for sending options directly to pixl-mail, such as SMTP auth, SSL, etc. Fixes #17

  • Version 0.6.12 ad33c8e
  • Updated description of detached mode, to reflect the new minute-delayed updates in v0.6.11. fd02cb4

9 March 2017

Randomized detached job update frequency as to not bash the queue directory when multiple detached jobs are running, and also to better catch the minute updates of the daemon.

8 March 2017

Fixed bug where detached jobs would crash if the job command-line exec contained any arguments (typo). Progress events emitted by detached jobs are now processed and the UI updated (once per minute).

  • Version 0.6.10 2312fe1
  • Silence deprecation warning with Node v7. 35408ac

17 February 2017

Nightly maintenance scalability: Now chopping lists manually, and not using listSplice(). This is to reduce memory usage for extremely high job traffic installations. Cosmetic fix in CSS for drop-down menus in Chrome.

16 February 2017

New "Error.log" contains all errors (used to be in "Cronicle.log"). New "Transaction.log" contains all transactions (used to be in "Cronicle.log"). More tweaks to socket.io-client to make it more resilient with bad server connections.

15 February 2017

Fixed bugs in various APIs that expect 'offset' and 'limit'. These were passed to the storage system as strings (not integers) which caused all manner of havoc. Fixed bug with CLI storage script and Couchbase back-end (was not closing connections and not exiting). Removed obsolete 'upgrade_logs' CLI command (was for v0.5 upgrade only). Fixes #10 Fixes #11

14 February 2017

  • Now properly detecting the absolute path of the control script, so it will work if the user is in the bin directory. 24a3bc7
  • Version 0.6.6 c643276
  • Fixed bug where a plain user (i.e. no privs) could not load the event history or stats pages. c5ac985

6 February 2017

Fixed bug where "Waiting for master server..." dialog would get stuck if server became a slave. Updated copyright years. Small CSS cursor fix on dialog text.

5 January 2017

Now accepting the letter 'H' in Crontab expression imports, which represents a random value but locked to a random seed (event title). Fixes #6. Attempt to address weird socket.io client behavior with intermittent connection failures.

3 December 2016

Better summary of repeating time intervals not starting on the :00 minute. Heard report of errors with auto-discovery and broadcast IP detection, so adding defensive code. Heard report of errors using Least CPU / Least Memory, so trying to work around potential issues there.

26 October 2016

Fixed links to download and view job logs: now using current host, not master server's IP address.

24 October 2016

For external user login integrations, now forcing API to hit current page hostname vs. master server, so login redirect URL reflects it. This results in a better experience after logging in (redirects back to correct URL, not an IP address or master server hostname).

22 October 2016

New formatting options for Schedule page. Can now group events by category (default), plugin, target, or a simple flat list. Options are configurable by small icons in the top-right corner of the table. Settings are saved in localStorage. Misc UI fixes for schedule table.

16 October 2016

Both will default to 0 if omitted (i.e. existing configs out in the wild).

  • Now supporting loading page when job is in retry delay mode. 5bd4dcf
  • Now firing web hook for failing to launch job (job_launch_failure). 92c059d
  • Now supporting linking into jobs that are in "retry delay" state. e2551bf
  • Support for pending jobs (retry delay) when opening new live log stream. afa005c
  • Support for web_socket_use_hostnames in client-side Websockets and API calls. 88cd68c
  • Now including web_socket_use_hostnames param. 92dfd18
  • Added descriptions for config params server_comm_use_hostnames and web_socket_use_hostnames. 79087bf
  • Support for server_comm_use_hostnames, to connect via IP or hostname. dcf8422
  • Bug fixes on perf stat graph. ed2971b
  • Removed try/catch around Tools.getpwnam(), as it doesn't throw. 35849fa
  • Added default server_comm_use_hostnames and web_socket_use_hostnames params. d4c38bb
  • Version 0.5.8 7bf6fbf

2 October 2016

Removed last remaining C++ dependency (posix) so can now be installed without any compilation. Removed GID text field, now only accepting UID (updated docs and screenshots). Edit Event page now has links to jump to event's history and stats. No longer running pixl-server-storage unit tests along with ours (no reason to).

  • Added https header detect to sample configuration #3
  • Version 0.5.7 3e3ef67
  • Use tabs instead of spaces b5b2e89

14 August 2016

New event template is now configurable in config.json. Bumped version to 0.5.6.

  • Default new events no longer have the "Catch-Up" feature checked. e4d7a0f

7 August 2016

Fixed bug where plugin params named 'script' didn't make it into the ENV hash. Bumped version to 0.5.5.

  • Now using bcrypt for hashing passwords. 8fc2360

10 June 2016

Bumped version to 0.5.4.

  • Fixed bug where the nightly maintenance wasn't trimming long lists properly. 08d9dcc

7 May 2016

Job Plugins can now emit an 'update_event' object to update the associated event upon job completion. Fixed bug with edit event autosave data, is now cleared if schedule is updated. Fixed potential race condition in unit test.

  • "Run Now" button on Edit Event screen will now run event in it's "current" state, potentially edited and unsaved. 7cbb440
  • Added new job JSON feature: 'update_event' 5f2b49c
  • Bug fix: Wrong number of arguments to doError(). a151d9a
  • Typo fix (only affects debug log). 09d0d58

1 May 2016

New 'import' and 'export' CLI commands for importing and exporting data. Fixed some CLI parsing bugs in control script.

1 May 2016

  • Updated to use new screenshots. 22a5bcf
  • Implemented 'web_hook_config_keys' (array), so any config keys may be included in web hook data. dbd801b
  • Disabled browser spellcheck in various Plugin Param text fields (was annoying me). 774ea0f

30 April 2016

All job logs are now compressed when stored. BREAKING CHANGE: This changes the internal format of all logs to gzip, and will require a one-time script run to preserve existing logs: Run this command once on the master server: sudo /opt/cronicle/bin/storage-cli.js upgrade_logs

  • Version 0.2.6 60708a8
  • Version 0.5. feec309
  • Fixed display bug where percentage could be a looooong float. b255394

18 April 2016

Added filtering and keyword search to Upcoming Events on Home tab. Socket.IO fixes (better handling for lost connections). Fixed percentage display on Job Details page. Fixed bug where retry delay controls were clickable even if invisible. Removed error when adding servers: "Server clocks are too far out of sync.". Added optional 'log_expire_days' property which can be outputted from job JSON. Updated copyright, added link to Cronicle home. Bumped version to 0.2.5.

14 April 2016

  • Fixed bug where copyFiles() would assume every file was a file, and not a sub-dir. 59f34f8
  • Typo. 1b22291

13 April 2016

Bumped version to 0.2.3.

  • Fixed bug where filehandle to job logs would remain open after delete, causing the disk to eventually run out of space. c81e150

6 April 2016

Now using Lato font from Google Fonts. Bumped version to 0.2.2.

  • New flat UI design changes. ed24346

4 April 2016

Bumped version to 0.2.1.

  • Fixed bug where "Run Again" button could sometimes freeze up UI if job completed immediately. 5317b06

3 April 2016

Bumped version to 0.2.0.

  • Added custom tables and HTML reports on the Job Details page. 4fef7db

22 March 2016

No longer displaying logs over 10 MB on Job Details page, unless user asks for it. Fixed bug when sending e-mails about jobs which failed to launch (now tracking which events launched per minute tick). Unit test now runs on HTTP port 4012, and UDP port 4014, as to not interfere with other servers in a cluster. Bumped version to 0.1.9.

20 March 2016

  • Now using streaming API for fetching and storing job logs. 5dd3c80
  • Now using streaming API for fetching and storing job logs. de53b70
  • Cosmetic fix for table pagination white-space. 48b007d
  • Cosmetic hack for "day" to "days" in uptime display. 135bafe
  • Bumped version to 0.1.8. 6312513
  • Fixed bug where upcoming event countdown time was based on client's local clock, not server clock. 9c10471
  • Prevent flickering on pagination click. 4d9cb4c
  • Text change: "Waiting for master server..." 105f176

13 March 2016

On some OSes (CentOS 6.x for example), writing to log files with fs.appendFile() and no callback results in out-of-order lines. Switched to fs.appendFileSync(). Bumped version to v0.1.7.

  • Fixed some weird log file append race conditions. c4e2fd5

13 March 2016

  • Now using async.ensureAsync() instead of process.nextTick(). c0260b6
  • Added more debug info for a failing test. 818c394
  • Misc fixes. e7bc851
  • Now catching and ignoring errors on the child STDIN stream. 006e15c
  • No longer tainting params in getClientInfo() (make a copy first). 142fa69
  • Fix for rare race condition seen on main Home tab. 27c4d50
  • Bumped version to 0.1.6. 24b8517
  • Removed '--color' flag by default. 8a52c1a

6 March 2016

Fixed bug in choose_date_time() which would not floor the seconds to 0. Fixed bug where chain reaction mode could not be disabled after it was enabled on an event. Misc fixes in README.md. Bumped version to v0.1.5.

  • Added optional dialog in Run Now for customizing the current time. 0021be4

6 March 2016

Fixed markdown error in README. Better .gitignore file in README. Bumped version to 0.1.4.

  • More accidental commits (symlinks, files created as part of build process). e277f40
  • Fixed display bug with long error messages on JobDetails page. 6625c11
  • Removed some accidental commits (symlinks, 3rd party libs, part of build process). 9e723fa

28 February 2016

Added process.env into email_data for future use.

  • Added choose_date_time() dialog. 3f5cb25
  • Now using Base choose_date_time() dialog when you click on the Time Machine text field. d48be9c
  • Added Chain Reaction feature in UI. 343243e
  • Added chainReaction() function for spawning new job at completion of old one. c5f6fa5
  • Added docs for the Chain Reaction feature. af7deb7
  • Now sending e-mail if job fails to launch, and event has "notify_fail" set. 8d75b2e
  • New e-mail template for general event errors (i.e. failure to launch job). de40e5b
  • Added styles for date/time dialog. 3d9ac14
  • Support for Chain Reaction feature at completion of successful job. 70bdbe3
  • Changed header and floating clocks to include timezone abbreviation. 733cc2d
  • Now sorting events properly by localeCompare, and lower-case. 16fba1d
  • Added auto-ellipsis to job source, now that it may contain a chain reaction source event name. 246b060
  • Now sorting things properly by localeCompare, and lower-case. 6721f82
  • Now sorting things properly by localeCompare, and lower-case. f3e076d
  • Now sorting things properly by localeCompare, and lower-case. f0dba78
  • Now passing job JSON blob downstream to the shell script process itself, just in case it decides to read it in. fbf867a
  • Version 0.1.3. 6276c96
  • Added conf/emails/event_error.txt email configuration file. 15d9537

27 February 2016

  • Added Algorithm IDs (for use in API). 3c51977
  • Now monitoring server resources every 10 seconds if local active jobs, 60 seconds if not. a4aa6af
  • Renamed a few algo IDs (prefer_first and prefer_last). 605f2d0
  • Now logging some more sample text every N seconds, for better live log demos. d623fe8
  • Version 0.1.2. 515febe
  • Adjusted algo IDs a bit to make them more clear. cf38ec1

27 February 2016

Also waiting for scheduler to write out its state file. Tagging v0.1.1.

  • Better shutdown procedure: Now waiting for all local, non-detached jobs to abort before continuing shutdown. cda2c4a

27 February 2016

Tagging v0.1.0.

  • Fixed bug in control shell script with multi-argument commands. 17cf443

27 February 2016

  • New server selection algorithm feature (random, round robin, etc.). 1f4963f
  • Added new server selection algorithm feature. e347f90
  • Added description of new server selection algorithm feature. b80670b
  • Changed nearby server highlight color to blue. 74b75b6
  • Adjusted column width a bit, for smaller monitors. d16eb20
  • Now deleting round robin state data when event is deleted. f72129c
  • Fixed sample e-mail address. faa8b4e
  • Version 0.0.9. 9921e98
  • setGroupVisibility() now returns this for chaining. c4e32fe

21 February 2016

  • Added api_get_plugins(). 755ed1d
  • When disabling event/category/plugin and jobs are active, only alerting for non-detached ones. 706097a
  • Uncommented api_get_categories(). 330cd3d
  • Version 0.0.8: Misc bug fixes, added new APIs for fetching categories and plugins. 54c0fe9
  • Bug fix: User/APIKey must have "abort_events" priv in order to use abort_jobs param with api_update_event. 6857bf0

6 February 2016

Bumped to v0.0.7.

  • Unit tests! Yay! 317fda4
  • Removed title requirement on API calls, now derives from storage. 5976510
  • Removed title requirement on API calls, now derives from storage. 885851e
  • Fixed a few bugs in the sample Plugin code. f88ed59
  • Added recommended .gitignore file for local development. ab5d128
  • Added section on running unit tests, and now listing pixl-unit module. 005693f
  • Added checkEventTiming() method for checking event timing without having to use moment.js directly. 6f4093a
  • Added optional 'ps_monitor_cmd' config property for customizing the command that grabs process cpu/mem. 612e6cc
  • Removed title requirement on API calls, now derives from storage. 8283905
  • Removed title requirement on API calls, now derives from storage. d257d76
  • Now writing queue files atomically, to avoid any possible race condition with the queue dir monitor. a7599dd
  • Added unit test commands, and pixl-unit as a devDependency c7ebc13
  • Fixed bug where an API key attempting an administrative level function would result in no callback being fired. 16f65c8
  • Typo in variable name. 124d786

10 January 2016

  • Now hiding all non-admin privilege checkboxes when admin is checked (they have no meaning, as admin trumps all). 1cecc69
  • Fixed bug where floating clock would obscure logout button when scrolled to top. 6562b32
  • Added clarification about timezone interpretation on the Time Machine text field. 91b1ef6
  • Bumped version to 0.0.6. 941936d
  • Fixed bug where floating clock would obscure logout button when scrolled to top. 645070c
  • Added clarification on starting in debug mode and 'Run All Mode' events. d8840f0

10 January 2016

Updated docs with explicit callout to 'pixl-webapp' for the client-side framework. Bumped to v0.0.5.

  • Install Script: Now using 'npm update' for upgrades, instead of running 'npm install' again. bda276d
  • Upgrade command will now only stop/start service if it was running to begin with. f420972

10 January 2016

Bumped version to v0.0.4.

  • New feature: Can now integrate with external user management system, via the 'external_user_api' User Manager config prop. a1e4307
  • Fleshed out table of contents a bit. 0adf98e
  • Emboldened the glossary terms. fe809cb
  • Reduced console output, now only emitting each storage command in verbose mode. 7cec15c
  • symlinkFile: Will now skip operation if target exists and is NOT a symlink (i.e. hard file or directory). 3939048
  • Now using fs.appendFileSync to capture command output just before calling process.exit(); 8b1e31a
  • Fixed a few small typos. 173f97a
  • Changed wording a bit. 7a70618
  • Moved main screenshot under first para. 3f6d09c
  • Added log file to console output, so user can see where it lives. a10907f
  • Consolidated build.log into install.log. d634f3b

7 January 2016

Bumped to v0.0.3.

  • Fixed a couple small bugs in the upgrade script. a28768c

7 January 2016

A small tweak in the install script text. Bumped to v0.0.2 to test upgrade process.

  • Added dependency 'pixl-perf' as it was forgotten. Sorry pixl-perf! e5c97d9
  • Adjusted spacing slightly. e1245b6
  • Fixed typo in install script. c7f6611

v0.0.1

7 January 2016