v4.0.0
Breaking Changes
This v4 release is backward-incompatible with previous v3 versions.
- Do not try to run this release against the old-version
timetable
schema. - The best way to run it against the clean database or rename schema, e.g.
ALTER SCHEMA timetable RENAME TO timetable_old;
Please, use our new detailed manual to know more about new features and settings.
Changelog 💔🌄🧪
[!]
add configuration file support with Viper, closes #177 bebab44
[!]
add CopyFromFile
built-in task f87d6fc
[!]
add Readthedocs documentation (#254) 004b31f
[!]
merge timetable.command
table with timetable.task
, closes #261 8604b18
[!]
reimplement logging, closes #158 (#231) 4313948
[!]
remove jmoiron/sqlx
and DATA-DOG/go-sqlmock
dependencies, closes #187 #202 6542b71
[!]
remove old migrations and start from scratch, closes #258 020563d
[!]
rewrite cron handling from scratch 35a8cc8 fbfbfb2
[!]
rewrite pgengine and scheduler without global variables as classes fa37167
[!]
use Go 1.16 to build releases 729ef31
[!]
use new consistent terminology: command -> task -> chain f59fdda
[+]
add $PGTT_CLIENTNAME
env var 31faae6
[+]
add --cronworkers
and --intervalworkers
options under "Resource" group 91f5c0e
[+]
add .pgpass
support, closes #247 d3a317f
[+]
add --chain-timeout
command-line parameter, closes #270 7f27a50
[+]
add --log-database-level
command-line parameter, closes #274 338c28c
[+]
add --task-timeout
command line parameter 80428a7
[+]
add all release badge 0b1ae61
[+]
add chain timeout, closes #267 05b9736
[+]
add config.example.yaml
file bebab44
[+]
add config_test 5df8386
[+]
add database comments for objects f59fdda
[+]
add docs badge e325ff5
[+]
add high load skip timeout to LogHook
0513ba8
[+]
add log hook for PostgreSQL using COPY
machinery 93d51cc
[+]
add LogHook tests 0513ba8
[+]
add output for built-in and SQL tasks to the timetable.execution_log, closes #185 (#224) 681caf3
[+]
add pgengine.NewDB
function 330cb62
[+]
add pgxpoolIface
33fa7a4
[+]
add support for logging to file, closes #272 6a73a80
[+]
add supported cloud environments to the readme, #256 70c9f49
[+]
add supported PostgreSQL versions and operating systems to the readme, closes #256 5695742
[+]
add task timeout, closes #271 80428a7
[+]
add TASK_STARTED
and TASK_DONE
statuses, rename STARTED
to CHAIN_STARTED
660e32b
[+]
add TestMigratorOptions()
and increase TestMigrateTxError()
coverage 466c909
[+]
add TestSchedulerExclusiveLocking()
08e7ff9
[+]
add TestSelectChains()
3696f01
[+]
add time zone information to the manual 77c0237
[+]
add version number to all release files, closes #228 cf72721
[+]
allow specify content-type for SendMail built-in task, closes #225 (#226) 100bedd
[+]
bump github.com/pashagolub/pgxmock
1.2.0 af98bfd
[+]
bump github.com/spf13/viper
to 1.8.1 e7b30fd
[+]
bump jackc/pgconn
version to 1.9.0 7f2d671
[+]
bump jackc/pgtype
version to 1.8.0 7f2d671
[+]
bump jackc/pgx
version to 4.12.0 7f2d671
[+]
bump jessevdk/go-flags
version to 1.5.0 7f2d671
[*]
bump georgysavva/scany
to 0.2.9 c1f9529
[+]
create Dependabot config file 37729d7
[+]
delete only succeeded self-destructive chains, closes #265 613a945
[+]
increase TestMigrations() coverage 975d68c
[+]
Increase v4 tests coverage (#222) 9689e50
[+]
insert run status immediately during max_instance check, closes #223 5765662
[+]
introduce PgxIface, PgxConnIface, PgxPoolIface b028eaa
[+]
move cache settings to LogHook 0513ba8
[+]
set client name during LogHook creation 0513ba8
[+]
specify password for tests explicitly 524046f
[+]
use //go:embed
for migration .sql files aaee11d
[+]
use //go:embed
for pgengine .sql files b453937
[+]
use retcode and deferred functions instead of os.Exit() 7a1cdfa
[*]
change "--port" command-line option type to integer bebab44
[*]
decrease run_status rows usage by using only task related information 660e32b
[*]
improve and rename get_running_jobs() to get_chain_running_statuses() 7a1cdfa
[*]
improve TestExecuteSQLTask() 396cc88
[*]
improve timetable.run_status table 7a1cdfa
[*]
make go test fail fast in the build action 35a8cc8
[*]
make pgengine.NewDB() and config.NewCmdOptions() use variadic string params 524046f
[*]
move health_check() function to job_functions.sql 7a1cdfa
[*]
move Logger to appropriate file b5bcece
[*]
move PgURL parsing to the pgengine bebab44
[*]
move SetupCloseHandler to main.go 7a1cdfa
[*]
remove sensitive information from logs, closes #286 aba954d
[*]
remove unused chain.excluded_execution_configs column f59fdda
[*]
remove unused PgEngine.CanProceedChainExecution() 4cf2323
[*]
remove unused timetable.trig_chain_fixer(), closes #255 5b033d7
[*]
rename pgengine.UpdateChainRunStatus to AddChainRunStatus 660e32b
[*]
rename rus_status.current_execution_element column to command_id 660e32b
[*]
replace "--verbose" command-line option with "--loglevel" bebab44
[*]
return immediately from pgengine.CanProceedChainExecution if context expired 34946b8
[*]
simplify pgengine.CanProceedChainExecution() function 7a1cdfa
[*]
simplify readme.md, #256 b7cc5bf
[*]
split options into groups: Connection, Logging, Start, etc. bebab44
[*]
store remote database connection strings in chain table directly, closes #234 20f28f8
[*]
support alpha-beta strings in tag name for Release action e7318a8
[*]
switch to ory/mail from abandoned gomail, closes #248 21858fd
[*]
update Golang version used in Github Actions 944b903
[*]
update latest release badge by including pre-releases 8645ee0
[*]
use channel for error instead of variable 0513ba8
[*]
use dashes in long command-line parameters names 6a73a80
[*]
uses error log level during tests by default 524046f
[-]
fix 'date/time field value out of range' error in next_run(), fixes #237 35a8cc8
[-]
fix --pgurl ignored during connection, closes #252 5d771df
[-]
fix empty long dash separated command-line parameters, fixes #279 4e8016f
[-]
fix ErrNoRows check in CanProceedChainExecution() f0701c4
[-]
fix SelectChain() 8b802c3
[-]
remove database/sql from import eeb3eb4
[-]
remove STRICT
option from add_job()
function, fixes #291 2eff73a
[-]
remove unneeded logging CheckNeedMigrateDb() function f59fdda