Skip to content

Changelog

2.2.1 (October 19, 2021)

  • Switch from Travis CI to GitHub Actions.

2.2.0 (July 24, 2021)

  • Change the convention for naming extension and validator modules to sloth_ci_ext_name and sloth_ci_val_name respectively.
  • Update code for the latest Python and Cliar.
  • Update dependencies.
  • Switch from Sphinx to Foliant.

2.1.1

  • Bed, API: Bed: Code refactored to allow extending app listener.

2.1.0

  • Server config: Auth section can now contain multiple login:password pairs.

2.0.9

  • CLI: Fixed a critical issue with not working CLI if API auth was provided.

2.0.8

  • API: Trigger: When invoking trigger directly via web API with wait=1, you can now define the success_url and fail_url params to be redirected to after the build completes or fails.
  • API: Auth is now optional.

2.0.7

  • App config: Actions can be marked critical with the !critical tag.

2.0.6

  • Fixed an issue with incorrectly handled auth alias.

2.0.5

  • CLI: Failed actions now return non-zero exit code.
  • App config: Aliases for listen_point added: id and name.

2.0.4

  • Server config: An alias for api_auth added—auth.

2.0.3

  • Colorama is now an optional dependency.

2.0.2

  • Extension would not load if any extension function was missing. Fixed.

2.0.1

  • API: trigger: wait param added: block until the triggerred actions are completed.
  • Bed: Payload json is now parsed before the request is passed to a validator.
  • CLI: Help texts improved.
  • CLI: trigger: -wait flag added: block until the triggerred actions are completed.
  • Setup: Built-in extensions were not properly installed. Fixed.

2.0.0

  • API CLI vocabulary changed.
  • API reimplemented as a built-in extension.
  • A single extension can now extend apps, server, and CLI with extend_sloth, extend_bed, and extend_cli functions.
  • CLI: Cliar is now used instead of docopt.
  • Tons of small changes.

1.3.0

  • Bed: Server extensions now can override all Bed methods.

1.2.9

  • API: Server: Bind: Config file binding didn't work. Fixed.
  • CLI: Info: Info didn't work. Fixed.

1.2.8

  • Code cleanup.
  • Bed: Server extension support added.

1.2.7

  • CLI: history output is now colorized.
  • CLI: Level column hidden from history and info output.

1.2.6

  • API: Server: info now returns build status levels too.
  • CLI: Colorization is now possible based on any column.
  • CLI: info output is now colorized.

1.2.5

  • API: info: If the database is unavailable, only build statuses are not returned.
  • API: info: The info method didn't work if the database was unavailable. Fixed.
  • API: Web: Alias for info added: list.
  • API: Web: history, logs: If the database is unavailable, the history and logs methods are still accessible but explicitly return errors.
  • Server config: DB path can only point to a file. Previous decision to allow directories led to ambiguity.
  • Server config: If the DB path was null (or false, or 0), no apps could be created. Fixed.

1.2.4

  • Build: Exec: Support for stream redirection and shell commands added.
  • Server config: DB path can now point to a directory; sloth.db will be created automatically.
  • Build logging: Trigger events are now logged with level DEBUG, not INFO.
  • Util: SqliteHandler: Exception handling on event emitting added.

1.2.3

  • Apps with listen points "_" and "x/y" were not logged. Fixed.
  • Listen points are used to refer to apps instead of names (i.e. slugs).
  • Removed dependency awesome-slugify.
  • Sloth: The "name" attribute replaced with "listen_point".

1.2.2

  • CLI: info: Alias added: list.

1.2.1

  • CLI, API: Logs: If a listen point did not exist, an empty list was returned instead of an error. Fixed.
  • Build: Exec: All failed executions were logged with the same "init missing cmd" error. Fixed.
  • Build: Exec: Failed actions are logged as error, not critical.
  • Build: Exec: If an action failed, its stdout and stderr were not logged. Fixed.
  • Build: Exec: In an action fails, its exit code is logged as error. The stdout and stderr are logged as debug, as usual.

1.2.0

  • Build: Logging: Params are now stored by the exec logger, not the build logger. This keeps build history clean.

1.1.9

  • Build: Action execution: If stderr is not empty, the action is considered failed.
  • CLI: Logs: Tables are now colorized.
  • Logging: Minor improvements in build logging.
  • New dependency: colorama.
  • Payload handling: Single payload can now trigger multiple builds. Useful for combined pushes with commits from multiple branches.

1.1.8

  • API: Server: info: Info was broken if at least one app was never triggered. The default timestamp is now 0. Fixed.

1.1.7

  • API: Server: bind: Local variable e was called before assignment. Fixed.
  • Bed: Create app: Listen point conflict: Wrong variable was referenced in the error message. Fixed.

1.1.6

  • API: Server: logs: Log level filtering didn't work. Fixed.
  • API: Server: info: The records are now sorted by the last build timestamp.

1.1.5

  • Ext: Build history: The "Failed" status indicates the failed action and the exception raised.
  • Ext: Build history: The "Triggered" status indicates params.
  • Logging: The build logger added to Sloth.
  • Logging: The "processing" logger renamed to "exec."
  • Sloth: Exec params persisted between builds, resulting in false successes. Fixed.
  • Sloth: Build trigger is now logged with level DEBUG.

1.1.4

  • CLI: The "version" command removed.
  • CLI: Remote server version is now shown in the "status" command output.

1.1.3

  • API: Client: The "version" API method support added.
  • API: Server: The "version" method added to get the server version.
  • CLI: The "version" command added.

1.1.2

  • Ext: Build history: The "Triggered" status is added before action queue execution.

1.1.1

  • Ext: Build history: Build status was set to 'Never triggered' on every app creation. Fixed.

1.1.0

  • API: Server: info: The "last_build_timestamp" field added to the output.
  • CLI: info: The "Last Build Timestamp" column added.

1.0.9

  • API: Client: The "history" API method support added.
  • API: Client: The "logs" API method support added.
  • API: Server: info: The "last_build_status" field added to the output.
  • API: Server: The "history" method added to get paginated app build history.
  • CLI: info: The "Last Build Status" column added.
  • CLI: The "history" command added.
  • CLI: The "logs" command added.
  • DB logging moved to a separate built-in extension.
  • DB build history tracking added as a separate built-in extension.
  • Sloth: Extensions: The "extend" function now accepts the extension name + its config instead of just name.

1.0.8

  • API: The "logs" method added to get app logs.
  • Bed: Database logging added by default.
  • Bed: Unbound apps could not be removed on server stop. Fixed.
  • Server config: New section "paths" added with params "access_log", "error_log", and "db" point to the access log, error log, and database files respectively.
  • Server config: The "config_paths" section moved to the "paths: configs" subsection.
  • Server config: The "log_dir" param replaced with the "paths: access_log" and "paths: error_log" params.

1.0.7

  • CLI: reload: ConnectionError is now properly handled.
  • CLI: reload: If an app's listen point was changed in the bound config file, the newly created app failed to bind to it after being created. Fixed.

1.0.6

  • Sloth: The "provider" section is now optional (some apps should only be triggered manualy).
  • CLI: Glob support added to the "create" command. You can now specify glob paths like "/path/to/configs/*.yml."
  • Server config: New section "config_paths" added. Apps will be created from the given config files. You can now specify glob paths like "/path/to/configs/*.yml."

1.0.5

  • API: info: If multiple listen points were passed, an error occured. Fixed.
  • API: info: The listen_point param is now called listen_points (since there can be many of them).
  • CLI: info: Table rows are now always arranged in the same order.
  • CLI: Output messages are now saner.
  • CLI: The status command added to check the Sloth CI server status (running/not running).
  • Core: A new api package with the API server and client parts added.
  • Setup: New dependency added: tabulate.
  • Setup: New optional dependency added: sloth-ci.ext.logs.

1.0.4

  • API: bind method added.
  • API: create: The config_source param renamed to config_string and can now be only a config string.
  • API: info method added to get the config file bound with an app.
  • Bed: Ability to bind an app with a config file added.
  • CLI: create: The config_source param renamed to config_file and can now be only a filepath.
  • CLI: create command now can accept multiple files.
  • CLI: If connection to the API server failed, the exception is properly handled.
  • CLI: info command added.
  • CLI: reload command added to reload an app or all apps. Useful when the bound config file has updated.
  • CLI: remove command now can accept multiple listen points.

1.0.3

  • Sloth: Validation: The provider dict was emptied on first payload check, so all the following ones did not work. Fixed.

1.0.2

  • CLI: trigger: if no params were passed, an error would occur. Fixed.
  • Bed: add_sloth: TypeError is now handled, interpeted as config source is not a file path or a valid config string.
  • API: create: TypeError is now handled, interpeted as config source is not a file path or a valid config string. Using absolute path is advised.
  • CLI: Message on Sloth CI start added.

1.0.1

  • The "-d" ("--daemon") CLI flag removed (it was not working anyway).

1.0.0

  • First major version. Changelog started.