All Versions
10
Latest Version
Avg Release Cycle
28 days
Latest Release
350 days ago

Changelog History

  • v3.0.0 Changes

    November 05, 2020

    ๐Ÿ”„ Changelog

    [!] implement asynchronous chain execution, closes #71 a387c0f
    [!] implement exclusive execution mode for chains, resolves #50 c7a538d
    [!] reimplement session locking, resolves #149 ec1f368
    [!] use jackc/pgx PostgreSQL library instead of lib/pq, closes #112 f4c945c
    ๐Ÿ”’ [+] add Chain.Lock() and Chain.Unlock() methods 233d004
    [+] add debug mode, closes #63 a387c0f
    [+] add getPgxConnString() function 73021c4
    ๐Ÿ‘ [+] add LISTEN\NOTIFY support b8fd7c4
    ๐ŸŒฒ [+] add Log() function which performs logging to standard output 2b7d5a4
    [+] add mutex to the notificationHandler df062a9
    โœ… [+] add notification_test da11522
    ๐Ÿ‘€ [+] add setupTestCaseEx() function df062a9
    โœ… [+] add tests for IntervalChain class 80ffce9
    โœ… [+] add tests for pgengine.ExecuteCustomScripts() function a82b995
    โœ… [+] add tests for pgengine.ExecuteSchemaScripts() function bcfbada
    โœ… [+] add tests for pgengine.FinalizeConfigDBConnection() function 6eeae0a
    โœ… [+] add tests for pgengine.ReconnectDbAndFixLeftovers() function 01bebe6
    โœ… [+] add tests for pgx logger 749f999
    โœ… [+] add tests for retrieveAsyncChainsAndRun() function 82434d9
    โฑ [+] add tests for scheduler.chainWorker() function 167664e
    โš™ [+] add timetable.next_run(timetable.cron) function #105 91473f6
    [+] check if the schema is available already first in TryLockClientName() 73021c4
    ๐Ÿ”’ [+] create SECURITY.md 0e779de
    โฑ [+] explain the ignore_error flag on the scheduler working process. 4c0ca4a
    [+] make chain channels buffered 82434d9
    [+] make intervalChainsChan channel buffered 80ffce9
    ๐ŸŒฒ [+] make LOG lines green and DEBUG blue b8fd7c4
    [+] prettify pgx logged object output b8fd7c4
    [+] run chains retrieval in parallel b8fd7c4
    ๐ŸŒฒ [+] use built-in pgx logging for verbose mode 236bbce
    ๐Ÿ‘• [+] use golangci-lint-action instead of binary installation 85e5c74
    [+] use pre-installed PostgreSQL in Github Actions (#163) 12c5ade
    [*] add *.sql files as targets for github action 8a2a36e
    [*] add PostgreSQL v13 to the manual 23d0acb
    [*] awesome-go badge added 96f5958
    [*] change SHELL task kind to PROGRAM, closes #155 ea06e3d
    ๐Ÿšš [*] move chain implementation into separate file ef729d4
    ๐Ÿšš [*] remove unused const 41dac5c
    โšก๏ธ [*] update pgx and go-sqlmock dependencies 3d69873
    โšก๏ธ [*] update schema 46f95a8
    [-] "Cron syntax "/5 * * * *" don't execute job at 00 minutes" bug fixed, closes #156 15a178f
    โœ… [-] call DB.Close() in tear down test function 90ac0c8
    [-] fix --name option in --clientname. c4c9246
    โœ… [-] fix engine tests 7ef5402
    ๐Ÿ‘• [-] fix golint warnings b468219
    โœ… [-] fix migrator tests 5bac7af
    0๏ธโƒฃ [-] fix README default values docs, spelling c6f2369
    [-] fix remote execution, fixes #164 a61ee58
    โฑ [-] fix reschedule() function 38b77ba
    โœ… [-] fix tests 36ecf8f
    [-] fix tests for pgx library #112 d52ccb8
    โœ… [-] fix TestSamplesScripts() f76bb74
    [-] fix TestShellCommand ee4dbb2 a5ac83b
    [-] fixes "Interval field value out of range", fixes #148 75bf0d6
    ๐Ÿ‘ท [-] use client_name in job_add function, fixes #150 06a294b

  • v2.3.0 Changes

    July 02, 2020

    ๐Ÿ”„ Changelog

    โšก๏ธ [!] update Go version to 1.14 b8d7d30
    [!] add contexts to all low level engine functions, resolves #142 2c458a3
    [!] add continuous code coverage #140 70f3e21
    โš™ [!] add timetable.next_run(timetable.cron) 03cfbef
    ๐Ÿš€ [+] add a separate tag to Docker Hub for every release 4495b73
    โœ… [+] add bootstrap tests 5db1aef
    ๐Ÿ“œ [+] add ClientName argument to cmdparser.NewCmdOptions 16b3383
    ๐ŸŒฒ [+] add contexts to task and logging functions 56f00f0
    [+] add continuous code coverage enhancement. Closes #140 d426785
    [+] add Coveralls action for push and pull request 128d727
    โœ… [+] add log tests 5429ed8
    โฑ [+] add self destruct chain to scheduler test 088372d
    โœ… [+] add tests for pgengine migrations b618547
    โฑ [+] add tests for scheduler
    ๐Ÿ‘ท [+] exit from workers immediately if context done 925fe37
    โœ… [+] improve pgengine test coverage 4869958
    โœ… [+] make access.go 100% covered by tests bea9739
    [+] make chains channel buffered b491a35
    โœ… [+] make cmdparser 100% covered by tests 292c03b
    โฑ [+] make interval chain reschedule compatible with context 0389e5b
    [+] make intervalChainsChan channel buffered
    โœ… [+] make migrator 100% covered by tests 63a1ae8
    โœ… [*] close database connection at the end of each test e481d9b
    ๐ŸŒฒ [*] log message prettify 6a61b03
    [*] prettify code 4fd917c
    ๐Ÿšš [*] remove init() function from shell.go 8ec2e7e
    [*] rewrite pgengine.TryLockClientName 06d9a6c
    โœ… [-] disallow parallel execution of tests 325c0a8
    ๐Ÿณ [-] fix Docker Hub name d9a7633
    [-] fix double sleep time for interval chains bb2b452
    โœ… [-] fix engine tests 16ef999
    ๐Ÿ‘ท [-] fix possible blocking in chain workers b491a35
    [-] fix SelfDestruct.sql sample 5ef5586
    [-] fix TryLockClientName to return True immediately without waiting 46c01b7
    ๐Ÿšš [-] remove Golang setup step. Latest is available automatically 61c207b
    ๐Ÿšš [-] remove unused variable 9626cd0

  • v2.2.1 Changes

    June 10, 2020

    ๐Ÿ”„ Changelog

    ๐Ÿณ [+] create workflow to push docker image bea8f55
    ๐ŸŒฒ [+] log output for sql and built-in tasks in case of error 086b261
    [-] fix "sql and built-in tasks have returncode 0 even in case of error" 086b261
    ๐ŸŒฒ [-] if task output is empty, log error as output effdfea

  • v2.2.0 Changes

    May 20, 2020

    ๐Ÿ”„ Changelog

    [!] add --init command line argument fixes #128, closes #129 f441bfc
    ๐Ÿ’ป [!] add --no-help command line argument to suppress help output 18768b0
    [!] add Grafana dashboard to monitor chain execution stats dd8608c
    [!] implement custom startup script support with --file, closes #131 e66ece0
    [!] implement autonomous tasks
    โœ… [+] add context argument to InitAndTestConfigDBConnection() 4acfaf5
    [+] add context arguments to migrations routines 4acfaf5
    [+] add context arguments to transactions, access and shell routines #118 9b599c2 4acfaf5
    [+] add context to pgengine.ReconnectDbAndFixLeftovers() and use channels
    โฑ [+] add context to scheduler.Run()
    [+] add pgengine.IsAlive() method
    [+] add reconnection routine to the main()
    [+] add sample for autonomous task
    [+] make cmdparser 100% covered with tests, resolves #126 8e787f8
    [+] make built-in 100% tasks 5778939
    โœ… [+] make download task 100% covered with tests 1f193e1
    โœ… [+] make mail task 100% covered with tests febeb1f
    ๐Ÿ‘ท [+] pass derived contexts to chain workers goroutines
    [+] return ConnectionDropped after failed pgengine.IsAlive()
    [+] rewrite reconnecting routing with channels and context #118 787628a c2cc25d
    [+] set timeout for initial connection to 90 sec #118 19dbca7 9d4c5c4
    ๐ŸŒฒ [*] improve log messages for reconnection tries #118 4ee0cc3
    โœ… [*] make InitAndTestConfigDBConnection() return boolean 4e1e2c8
    [*] make MigrateDb() and CheckNeedMigrateDb() return boolean #118 4e1e2c8 828f8f2
    [*] make pgengine.WaitTime public const 032ab3e a1c63ce
    โœ… [*] pass context argument to InitAndTestConfigDBConnection() in tests #118 223f1d9 693e817
    ๐ŸŒฒ [*] prettify log strings 65afcb1
    โ™ป๏ธ [*] refactor command line handling b87995f
    ๐Ÿšš [*] remove reconnection routine from pgengine.LogToDB()
    ๐Ÿ‘• [*] set cyclomatic complexity to 16 for linter; resolves #122 73d29fa
    [-] fix "if block ends with a return statement, so drop this else and outdent its block" 16fa2ee 3f8c518
    [-] fix "Cannot log to the database: pq: relation "timetable.log" does not exist" #118 25df3de 74ee9e6
    [-] fix "exported func Run returns unexported type scheduler.runStatus, which can be annoying to use" 310fd5d 3363398
    [-] fix "Host in --pgurl parameter ignored if port is not specified" f441bfc
    โฑ [-] fix "interval chains are not rescheduled if a database error occurs" f6dcb97
    โฑ [-] fix "return" to "continue" in scheduler.intervalChainWorker() 8226433
    ๐Ÿ–จ [-] fix "S1039: unnecessary use of fmt.Sprintf" 8226433
    [-] fix tests connection string 3106fa4 e32cb76
    [-] fix verbose level output
    [-] make scheduler.Run() return runStatus type #118 20c08e0 d07a486
    โฑ [-] reschedule interval chains in a separate goroutines acf02ec

  • v2.1.0 Changes

    April 13, 2020

    ๐Ÿ”„ Changelog

    ๐Ÿ›  [+] add "output" column to the timetable.execution_log table; fixes #86067e893
    [+] add .yml files as action triggers b258934
    ๐Ÿ‘ท [+] log client name and PID of worker at the start of a session cae0572
    ๐ŸŒฒ [+] make REPAIR pseudo log level red a3fccd6
    [+] PostgreSQL license used 23f27ef
    [+] resolves #108: add client_name to run_status and execution_log tables cae0572
    [+] resolves #115: Implement color output cc1fb64
    โœ… [+] test only if GoLang files were affected e843dbc
    [+] unshallow step is required for the changelog to work correctly b40beea
    โšก๏ธ [+] update golangci-lint version to 1.24.0 7fd8db4
    [*] add link to PR's fdab874
    ๐ŸŒฒ [*] new pgengine/log.go file added cc1fb64
    ๐Ÿšš [*] remove setup-go action since Go is preinstalled 7fd8db4
    [*] templated license used 4faf8ff
    โšก๏ธ [*] update golangci-lint settings 7fd8db4
    [-] do not produce db objects, use db.Ping() instead of sqlx.Connect() 8662f94
    [-] fix "Cannot stop execution if connection lost" #119 #120 2eb6193
    [-] fix "Cannot stop execution inside RECONNECTING cycle" 2eb6193
    ๐Ÿ–จ [-] fix "S1039: unnecessary use of fmt.Sprintf" 1bb1080
    โœ… [-] fix pgengine test 581ad8a
    [-] fix workflow with including paths e4b1d8c
    [-] fixes #113: "STARTED deleted from run_status during crash" cae0572
    [-] merge pull request #121 from cybertec-postgresql/120_connection_lost_terminate 19b4a93

  • v2.0.2 Changes

    March 17, 2020

    ๐Ÿ”„ Changelog

    ๐ŸŒฒ 47faf73 - fix error date in the log #111

  • v2.0.1 Changes

    March 13, 2020

    ๐Ÿ”„ Changelog

    ๐Ÿ”€ fc150de Merge pull request #107 from cybertec-postgresql/100_fix_crash

  • v2.0.0 Changes

    March 06, 2020

    The new major v2 release introduces:

    • ๐Ÿ’… brand new cron-style schedules;
    • ๐Ÿ‘ท @reboot, @every and @after jobs;
    • ๐Ÿ’ป disallow executing the shell tasks using --no-shell-tasks command line parameter;
    • โœ… continuos testing implemented with GitHub Actions;
    • ๐Ÿš€ release packages for different platforms available (.rpm, .deb, .tar.gz, .zip; Linux, macOS, Windows)
    • no external .sql files for bootstrapping, only single binary shipped;
    • โฌ†๏ธ upgrade machinery with database migrations implemented, see --upgrade option;
    • ๐ŸŒฒ notice processing added, e.g., RAISE NOTICE ... from tasks collected into the log
  • v0.1.2 Changes

    February 26, 2020

    ๐Ÿ”„ Changelog

    6b99ed9 - fix insert statements in samples #70

  • v0.1.0 Changes

    February 25, 2020

    Embedded SQL and migrations