pgcenter (master) unstable; urgency=low

pgcenter (0.9.0) unstable; urgency=low
  * record/report: add support for millisecond resolution
  * add support of pg_stat_wal WAL usage statistics (Postgres 14)
  * add support of pg_stat_database sessions statistics (Postgres 14)
  * add support of pg_stat_progress_copy (Postgres 14)
  * add support of pg_stat_database.numbackends
  * top: avoid generating Postgres errors if requested stats is not supported by Postgres
  * record: skip collecting stats if this stats is not supported by Postgres
  * add 'apk' package format
  * use '/usr/bin' instead of '/usr/local/bin' when installing from rpm/deb packages
  * top: add filesystem stats screen
  * top: expose version info in help screen
  * extend tables sizes statistics: add info about tables metadata and TOASTs
  * fix problem when pg_stat_statements cannot be found when installed in other than 'public' schema
  * top: when formatting queries for sys/all tables or indexes avoid silent continue if query templating failed
  * top: add error handling to menu drawing routines
  * when printing stat, return error in case of zero or negative column width calculated
  * simplify regexp for extracting query text from pg_stat_activity
  * top: fix silent wreck of terminal when working with menus

pgcenter (0.8.0) unstable; urgency=low
  * add accounting of parallel workers stats when profiling (available only for PG13 and newer)
  * add support of pg_stat_statements WAL usage statistics
  * add support for pg_stat_progress_basebackup statistics
  * add support for pg_stat_progress_analyze statistics
  * fix connection problems related to absence needed conn options which required when using 'simple' protocol
  * update Go version up to 1.16
  * top: fix hangs on statistics writing when UI fails
  * use alpine as a base image for Docker
  * fix problems related to run using Docker
  * minor code improvements, comments

pgcenter (0.7.0) unstable; urgency=low
  * add golangci-lint, fix issues
  * add gosec, fix issues
  * add testing, major code and internal design refactoring

pgcenter (0.6.6) unstable; urgency=low
  * adjust query for getting statements rate, accordingly to v13.
  * adjust query for getting statements timings accordingly to v13. Exec and Plan times from pg_stat_statements are accounted together.

pgcenter (0.6.5) unstable; urgency=low
  * nothing important, removed old code, small refactoring and bugfixes
  * top: fix 'G' hotkey when building query report

pgcenter (0.6.4) unstable; urgency=low
pgcenter (0.6.3) unstable; urgency=low
  * nothing important, just attempts to fix CI errors

pgcenter (0.6.2) unstable; urgency=low
  * report: print header at the beginning of the output
  * top/report: refactoring aligning
  * adjust header's styles of iostat/nicstat tabs in top utility
  * added support for pg_stat_database.checksum_failures (pg-12)
  * added support of pg_stat_progress_cluster and pg_stat_progress_create_index views
  * inject program version info from git at build time
  * fix #66, pgcenter crashes when no running postgres
  * avoid rude disconnection from postgres at top-program exit

pgcenter (0.6.1) unstable; urgency=low
  * improved aligning and query truncation
    - record: records complete length of pg_stat_statements.query (be careful, it might produce high-volume stats file)
    - record: add startup parameter for configuring truncation
    - report: can use '--truncate 0', for disabling truncation only for pg_stat_statements.query (might produce an "eyes-bleeding" output)
  * reworked pg_stat_statements queries:
    - remove unnecessary GROUP BY, ORDER BY and aggregations
    - simplify usage of regexp_replace()
    - use pg_get_userbyid() instead of joining pg_roles view
    - use configurable limit for truncating length of queries
  * top: read remote stats only if pgcenter schema is available
  * top: do polling pg_stat_statements only if it's available (issue #59)
  * top: fixed handling of libpq errors during connection establishment (issue #58)
  * top: fix strong assembling of path to logfile (issue #55)

pgcenter (0.6.0) unstable; urgency=low
  * added goreleaser support
  * top: fix wrong handling of group cancel/terminate mask
  * implemented GoReport recommendations
  * profile: emit error if '-P' is not specified
  * config: emit error if neither '-i' nor '-u' specified
  * config: moved parameters check from main program code to command management code
  * some refactoring in connection handling code
  * add wait events profiling feature
  * lib/stat: fix wrong calculation of hits values
  * report: extend built-in help about supported statistics
  * lib/utils/postgres: use lib/pq default settings for SSL
  * report: show last processed stats file on error
  * return of the Changelog!
  * output aligning rewritten

 -- Alexey Lesovsky <lesovsky@gmail.com>  Sun, 2 Oct 2017 12:00:00 +0500

pgcenter (0.5.0) unstable; urgency=low

  * pgcenter rewritten using Golang
  * sub-commands have been implemented
  * new commands have been added: config/record/report/top
  * removed .pgcenterrc support
  * removed tabs
  * removed colors support

 -- Alexey Lesovsky <lesovsky@gmail.com>  Mon, 13 Nov 2017 11:19:00 +0500

pgcenter (0.4.0) unstable; urgency=low

  * pg_stat_database: add stats_age value based stats_reset.
  * pg-10: add pg_stat_replication lag values.
  * pg-10: add pg_stat_activity.backend_type.
  * pg-10: add support for updated pg_stat_replication (xlog -> wal).
  * change waiting connections accounting in postgres summary area.
  * make pg_stat_replication's xact_age,time_age optional, only when track_commit_timestamp is enabled.
  * use pg_roles instead of pg_authid due to https://github.com/lesovsky/pgcenter/issues/35.
  * fix wrong memory allocation for iostat/ifstat.
  * add details about prepared transactions: total, max, maxtime.
  * add xact_age,time_age to pg_stat_replication stats (available since 9.5).
  * add xlog field to pg_stat_replication stats.
  * allow to save current stat context into conninfo file (~/.pgcenterrc).
  * implement parsetr() as the fast replacement for sscanf().
  * refactoring: remove unnecessary variable from tab_s struct.
  * refactoring: remove redundant loop+case from init_tabs().
  * add system stats.
  * add handling for RHEL-specific postgres paths.
  * move the sources into src/ dir.
  * add -Wextra, -Wfloat-equal into Makefile and fix collateral warnings.
  * refactoring internal color management.
  * add new bufsize macros, increase line bufsize in read_diskstats().
  * add PVS-Studio comments, fix issues generated by PVS.
  * rename screens/consoles entities to more convenient name - tabs.
  * fix build errors on Ubuntu
  * split single file to many; collapse excessive comments.
  * add max_connections info into activity string.
  * rewrite check_string() function.
  * fix float sorting -- issues #29.
  * reduce size of memory allocations for data arrays.
  * fix bufsize in set_filter().

 -- Alexey Lesovsky <lesovsky@gmail.com>  Sat, 01 Oct 2016 13:23:00 +0500

pgcenter (0.3.0) unstable; urgency=low

  * print static program name in title instead of argv[0].
  * exclude (auto)vacuum tasks accounting in xact_maxtime field.
  * fix runglish, typos and cosmetic changes.
  * change long queries min age from 500ms to 0ms.
  * replace min() and max() functions with macros.
  * add filtration feature.
  * allow to use connection settings from libpq env vars.
  * add install-man section into Makefile.
  * fix torn multiline records in log tail.
  * use qsort_r() instead of hand-made sorting.
    - many improvements in arrays functions (diff, sort);
    - queries use it's own order now (user can't change 'ORDER BY' in query);
    - sorting available for all columns now.
  * remove unnecessary WHERE from pg_stat_statements queries.
  * fix segfault, when diskstats/net are failed to read at startup.
  * add mreport() - general function for log/error message reporting.
  * totally replace strncpy with snprintf.
  * fix check first symbol in listen_addresses.
  * add pg_stat_progress_vacuum (since 9.6).
  * add compatibility with pg-9.6 (pg_stat_activity).
  * use set_escdelay() instead of direct changing ESCDELAY.
  * fix signal_group_backend(), doesn't work if mask has more than one flag.
  * improve const correctness.
  * autovac info: print number of user vacuum and autovac max worker limit.
  * check_pg_listen_addr() refactoring.
  * pg_stat_replication now works on standbys too.
  * pg_stat_statements: use menu and switching, remove c, v, V hotkeys.
  * show details and hint if query has failed.
  * rewrite replication context, show detailed lag info.
  * pg_stat_statements: add local IO information context (V - hotkey).
  * nicstat: return from function if sock() failed (instead of program exit).
  * print_log() refactoring, check return value for fstat.
  * reconnect_if_failed() refactoring, eliminate unwanted 'get pg version' queries.
  * print_autovac_info()/print_postgres_activity() refactoring, merge queries into one.
  * print_autovac_info() refactoring, remove unnecessary 'else' sections.
  * print_postgres_activity() refactoring, remove unnecessary 'else' sections.
  * read_uptime() refactoring, use fscanf instead of sscanf, check ret.value.
  * get_loadavg() refactoring, use float's array anf reduce number of calls.
  * use unsigned data types for always positive variables.
  * stdout sanity check in password_prompt().
  * use sizeof(...) instead of macros.
  * refresh interval is limited between 1 and 300 seconds.
  * check port number at startup.
  * replace raw numbers to 'define' macros.
  * replace strcpy/strcat with strncpy/snprintf.
  * sanitize malloc() or replace it with char.
  * print_*stat*: don't exit if stats read failed.
  * print_mem: fix free swap.
  * don't show iostat for devices without iops.
  * replace with_esc/errmsg pointers to variables.
  * fix bogus if conditions in sort_array().
  * fix program identifier violation.
  * add error handling fo get_loadavg()-fscanf(), password_prompt()-malloc().
  * rewrite query stats defines to enum.
  * rewrite Makefile, add workaround for wrong path from OpenSUSE
    ncurses-config.
  * define DUPLEX_UNKNOWN explicitly.

 -- Alexey Lesovsky <lesovsky@gmail.com>  Sat, 19 Dec 2015 22:45:29 +0500

pgcenter (0.2.0) unstable; urgency=low

  * change default long query age to 00:00:00.5
  * fix segfault when adding new connection cancelled.
  * clean out code after iostat/nicstat stuff.
  * add nicstat subscreen.
  * divide init_stats() into init_stats() and init_iostats(), add free_iostats().
  * add iostat subscreen prototype.
  * expand log_opened into subscreen entity, which allows add new subscreens
    with new functions (iostat, nicstat, etc).
  * add pg_stat_statements temp.
  * use 100ms for escdelay.
  * config edit buttons replaced with menu.
  * change key mappings (rare actions moved from letters).
  * fix hardirq/softirq/steal wrong placement.
  * change read/write .pgcenterrc funcs.
  * add calls column into pg_stat_statements timing screen.
  * add pg_stat_statements io screen (9.1 and never).
  * set work_mem to 32MB (reduce disk spill in pg_stat_statements).
  * fix wrong array sort for pg_stat_statements.
  * pg_stat_activity.query formatting.
  * fix crash on sticking keys.
  * fix crash on switching from erroneous screen.
  * fix log viewing/config editing when connected through unix socket.
  * implement pg_stat_statements.queryid for non-9.4 pg.
  * fix broken pg_stat_statements before 9.4.

 -- Alexey Lesovsky <lesovsky@gmail.com>  Sat, 19 Dec 2015 13:54:12 +0500

pgcenter (0.1.3) unstable; urgency=low

  * fix pg_stat_statements general for 9.1.
  * pg_stat_statements timing improvements.
  * truncate conninfo string if it too long.
  * add swap,dirty,writeback stats.
  * connection info moved from left to right side.
  * add memory stat.
  * reset stats counters when close screen.
  * remove unnecessary WHERE from qstats query.
  * fix segfault on screen switching when screen not exists.
  * fix pg general info display.
  * cmd_readline() rewritten.
  * add verbose query report based on query_stat_total.sql.
  * get query text uses md5 hash instead of queryid.
  * get query text using pg_stat_statements.queryid (9.4 only).
  * add queryid output into pg_stat_statements (9.4 only).
  * update info about postgres version after successful reconnect.
  * reset previous results when switching between screens.
  * fix crash when switching with empty previous results.
  * add pg_stat_statements for 9.0, 9.1.
  * add pg_stat_database, pg_stat_activity for 9.0, 9.1.
  * add postgres uptime.
  * fix parameters moving when console closed.
  * add pg version output in sysstat section.
  * fix broken multiple connections when log_min_duration_statement issued.
  * remove DEFAULT_HOST, DEFAULT_PORT; use libpq default behaviour.
  * improve add_connection(): reset counters, remove unnecessary vars.

 -- Alexey Lesovsky <lesovsky@gmail.com>  Sun, 28 Aug 2015 14:27:07 +0500

pgcenter (0.1.2) unstable; urgency=low
  * Improve do_query() func.
  * Set log_min_duration_statement = 10000 for used connections.
  * Improve log tail, add header, store log location in screen struct.
  * Wrap routines into switch_context() function.
  * Remove -O2 from Makefile, because unknown garbage appeared with log tail.
  * Fix: clear taillog screen before closing.
  * Add Makefile, manpage, license.
  * Fix ncurses mode break after edit/show config or log.
  * Add reset statistics hotkey.
  * Show tables/indexes from system view on/off toggle.
  * Split pg_stat_statements screen to timings and general screens.
  * Rewrite pg_stat_statements query with human readable timings.
  * Write conninfo into file from --file=... or to default.
  * Add desc/asc sort order changing.
  * Allow specify connections file with --file option.
  * Rewrite arg parse and init_conn funcs.
  * Add pg_stat_statements to sys screen.
  * Add colors support.
  * Add log tail screen, full log view with PAGER.
  * Add suspend/resume pgcenter execution.
  * Allow change refresh interval.
  * Add psql hotkey.
  * Add reconnect if conn failed (eg pg restart).
  * Add cancel/terminate for process group.
  * Add infrastructure for cancel/terminate group of backends.
  * Add single backend cancel or terminate.
  * Add return error message in higher function from do_query.
  * Add reload_conf() function.
  * Allow editing postgresq/pg_hba/pg_ident/recovery config files.
  * Add show config with shift+C
  * Save conninfo to .pgcenterrc file.
  * Add new conn establishing, closing existing connections.
  * When query failed, print error to w_dba window.
  * Add pg_stat_statements screen.
  * Add autovacuum process counters to sysstat.
  * Print pg process activity info in sysstat window.
  * Print conninfo in sysstat window.
  * Fix pg_stat_user_functions sort order.
  * Add pg_stat_user_functions screen.
  * Add ability to change min age interval for pg_stat_activity long queries.
  * Add cmd_readline from pgbconsole.
  * Add pg_stat_activity long queries screen (based on db_activity).
  * Add relation sizes screen (awesome feature imho).
  * Add pg_statio_user_tables screen, join pg_statio_user_indexes to
    pg_stat_user_indexes screen.
  * Add pg_stat_user_tables, pg_stat_user_indexes screens.
  * Add pg_stat_replication screen, add screens sort order saved between
    screen switches.
  * Add column sort reordering with arrow keys.
  * Move query_context to screen_s struct, add order_key, order_desc params
    into screen_s. It allows store sort order info per screen.
  * Rename conn_opts_struct struct to screen_s, because struct used not only for
    connections.
  * Change pg_stat_database to normal output (changes per sec).
  * Add arrays sorting comparing functions.
  * Add pg_stat_database simple output.
  * Add console switching ability.
  * Add title (progname, current time), cpu usage, load average output.
  * Add ncurses, libpq.

 -- Alexey Lesovsky <lesovsky@gmail.com>  Sun, 24 May 2015 22:37:07 +0500
