Summary
Lots of bug fixes and optimizations.
What's Changed
- Live reloading entire config and bug fixes by @levkk in #84
- Fix panic & query router bug by @levkk in #85
- Automatically reload config every seconds (disabled by default) by @levkk in #86
- Fix stats dymanic reload by @levkk in #87
- Support for TLS by @levkk in #91
- Bump activerecord from 7.0.2.2 to 7.0.3.1 in /tests/ruby by @dependabot in #94
- Add support for multi-database / multi-user pools by @drdrsh in #96
- Minor fix for some stats by @chhetripradeep in #97
- Add Serialize trait to configs by @drdrsh in #99
- Slightly more light weight health check by @drdrsh in #100
- Avoid ValueAfterTable when serializing configs by @drdrsh in #101
- Add test for config Serializer by @drdrsh in #102
- Send proper server parameters to clients using admin db by @drdrsh in #103
- Sync pgcat config for docker-compose by @chhetripradeep in #104
- Fix Python tests and remove CircleCI-specific path by @drdrsh in #106
- Add user to SHOW STATS query by @drdrsh in #108
- Report banned addresses as disabled by @drdrsh in #111
- Generate test coverage report in CircleCI by @drdrsh in #110
- Fix local dev by @drdrsh in #112
- Implementing graceful shutdown by @zainkabani in #105
- Prevent clients from sticking to old pools after config update by @drdrsh in #113
- create a prometheus exporter on a standard http port by @dat2 in #107
- Validates pgcat is closed after shutdown python tests by @zainkabani in #116
- fix docker compose port allocation for local dev by @dat2 in #117
- Health check delay by @zainkabani in #118
- Speed up CI a bit by @levkk in #119
- Fix debug log by @levkk in #120
- Make prometheus port configurable by @chhetripradeep in #121
- Statement timeout + replica imbalance by @levkk in #122
- Add cl_idle to SHOW POOLS by @drdrsh in #124
- Fix missing statistics by @levkk in #125
- Minor cleanup in admin command by @chhetripradeep in #126
- Add pool name and username to address object by @drdrsh in #128
- Minor Refactoring of re-used code and server stat reporting by @zainkabani in #129
- Random instance selection by @drdrsh in #136
- Random lb by @levkk in #138
- Fix incorrect routing for replicas by @levkk in #139
- Fix too many idle servers by @levkk in #140
- Really fix idle servers by @levkk in #141
- Avoid sending
Z
packet in the middle of extended protocol packet sequence if we fail to get connection form pool by @drdrsh in #137 - Graceful shutdown and refactor by @levkk in #144
- Exit with failure codes if configs are bad by @drdrsh in #146
- Move autoreloader to own tokio task by @zainkabani in #148
- Ruby integration tests by @drdrsh in #147
- Allow running integration tests with coverage locally by @drdrsh in #151
- Log Address information in connection create/drop by @drdrsh in #154
- Better handling extended protocol messages in the event of busy pool by @drdrsh in #155
- Send DISCARD ALL even if client is not in transaction by @drdrsh in #152
- Patch graceful shutdown bug by @zain-kabani in #157
- Main Thread Panic when swarmed with clients by @drdrsh in #158
- Adds microsecond logging and also reformats duration to include milliseconds by @zainkabani in #156
- Avoid reporting ProtocolSyncError when admin session disconnects by @drdrsh in #160
- Better logging for failure to get connection from pool by @drdrsh in #161
- Send signal even if process is gone by @levkk in #162
- Clean connection state up after protocol named prepared statement by @drdrsh in #163
- Add Discord link by @levkk in #164
- Add SHOW CLIENTS / SHOW SERVERS + Stats refactor and tests by @drdrsh in #159
- Report Query times by @drdrsh in #166
- Export pgcat objects in lib by @zainkabani in #169
- Update to latest library versions by @zainkabani in #170
- Minor refactor for configs by @zainkabani in #172
- Add defaults for configs by @zainkabani in #174
- Log failed client logins by @drdrsh in #173
- Don't drop connections if DB hasn't changed by @levkk in #175
- Fix the pool fix by @levkk in #176
- Set client state to idle after error by @drdrsh in #179
- Change sharding config to enum and move validation of configs into public functions by @zainkabani in #178
- Replace a few types with more developer-friendly names by @levkk in #182
- Fix maxwait metric by @drdrsh in #183
New Contributors
- @drdrsh made their first contribution in #96
- @chhetripradeep made their first contribution in #97
- @dat2 made their first contribution in #107
- @zain-kabani made their first contribution in #157
Full Changelog: v0.2.1-beta1...v0.3.0