Our team is proud to introduce new major [pg_timetable 
v4](https://github.com/cybertec-postgresql/pg_timetable/releases) with the new 
documentation, configuration file support, reimplemented logging machinery, job 
and task timeouts support, new CopyFromFile built-in functionality, and many 
more!

Please, use our new [detailed manual](https://pg-timetable.readthedocs.io/) to 
know more about new features and settings.

## Download

You're welcome to download the **pg_timetable v4** right now at: 
[https://github.com/cybertec-postgresql/pg_timetable/releases](https://github.com/cybertec-postgresql/pg_timetable/releases)

## Feedback

Please don't hesitate to ask any 
[questions](https://github.com/cybertec-postgresql/pg_timetable/discussions), 
to report [bugs](https://github.com/cybertec-postgresql/pg_timetable/issues), 
to [star](https://github.com/cybertec-postgresql/pg_timetable/stargazers) 
**pg_timetable** project and to tell the world about it.

## 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

Reply via email to