File icingadb.changes of Package icingadb

-------------------------------------------------------------------
Wed Mar 26 17:34:47 UTC 2025 - ecsos <ecsos@opensuse.org>

- Update to version 1.2.1:
  * Release Icinga DB Version 1.2.1
  * Update AUTHORS and .mailmap
  * schema/pgsql: Drop checkcommand_argument.argument_key storage mode
  * HA: Limit max open database connections to `1`
  * HA: Use Transaction for each query
  * build(deps): bump github.com/icinga/icinga-go-library from 0.3.1 to 0.4.0
  * Docs: Redis ACL Username and Database
  * test: Rebind Log Output Query for PostgreSQL
  * schema: Fix broken upgrade script `1.3.0`
  * build(deps): bump golang.org/x/sync from 0.9.0 to 0.10.0 in /tests
  * build(deps): bump golang.org/x/sync from 0.9.0 to 0.10.0
  * Fix typo
  * build(deps): bump github.com/stretchr/testify in /tests
  * build(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0
  * build(deps): bump golang.org/x/sync from 0.8.0 to 0.9.0
  * build(deps): bump golang.org/x/sync from 0.8.0 to 0.9.0 in /tests
  * HA State: ensure not this and another instance can be responsible
  * HA: Use `... FOR UPDATE` lock clause unconditionally
  * HA: Reduce deadlocks via exclusive locking (`SELECT ... FOR UPDATE`)
  * HA: Abort Transaction Commit after Timeout
  * HA/Heartbeat: Use last message's timestamp
  * HA: Insert environment within retryable function
  * HA: Deferred SQL Transaction Rollback
  * HA: Increase log level for heartbeats from the future
  * icingadb: Unify select cases for derived contexts
  * Replace `int64` with `atomic.Int64` where applicable
  * `telemetry`: Fix `atomic.Pointer` initialisation responsibility
  * `telemetry`: Use `sync/atomic#Pointer` instead of our own wrapper
  * `HA`: Use `sync/atomic#Pointer` instead of our own wrapper
  * Make structifyStream() channel types more explicit, e.g. input only
  * build(deps): bump github.com/redis/go-redis/v9 in /tests
  * GHA: introduce golangci-lint
  * gosec: handle integer conversions and potential overflows
  * gosec: justify SHA1 usage with #nosec annotations
  * errcheck: discard not used error return values
  * RetentionConfig: restrict days to uint16
  * Shorten CommentType#UnmarshalText()
  * Adjust installation docs for centralized icinga.com doc injection
  * Add `From Source` section to installation docs
  * build(deps): bump github.com/mattn/go-sqlite3 from 1.14.22 to 1.14.24
  * pkg/icingaredis/: check context termination while looping over channel
  * build(deps): bump actions/checkout from 2 to 4
  * build(deps): bump dominikh/staticcheck-action from 1.1.0 to 1.3.1
  * build(deps): bump actions/setup-go from 4 to 5
  * build(deps): bump actions/upload-artifact from 2 to 4
  * Update GHA dependencies via dependabot
  * GHA: Remove -gcflags="-m" from go build
  * .deb: let user install icinga-archive-keyring package
  * Test history.SlaDowntimeEndTime#Value()
  * Test history.DowntimeEventTime#Value()
  * Test history.FlappingEventTime#Value()
  * Test icingadb/v1.EnvironmentFromContext()
  * Test icingadb/v1.Environment#NewContext()
  * Shorten icingadb/v1.EnvironmentFromContext()
  * Shorten icingadb/v1.AddressBin#Value()
  * Test icingadb/v1.Address6Bin#Value()
  * Test icingadb/v1.AddressBin#Value()
  * Docs: Fix whitespaces
  * schema: Enlarge Command Argument and Environment Key
  * build(deps): bump github.com/creasty/defaults from 1.7.0 to 1.8.0
  * build(deps): bump golang.org/x/sync from 0.7.0 to 0.8.0
  * build(deps): bump golang.org/x/sync from 0.7.0 to 0.8.0 in /tests
  * Test icingaredis.CreateEntities()
  * doc/03-Configuration.md: Logging Fields in Journald
  * build(deps): bump github.com/docker/docker in /tests
  * build(deps): bump github.com/icinga/icinga-go-library
  * build(deps): bump github.com/goccy/go-yaml in /tests
  * schema: Fix values to fit by increasing type sizes
  * build(deps): bump github.com/goccy/go-yaml from 1.11.3 to 1.12.0
  * build(deps): bump github.com/jessevdk/go-flags from 1.5.0 to 1.6.1
  * build(deps): bump github.com/redis/go-redis/v9 in /tests
  * build(deps): bump github.com/icinga/icinga-go-library
  * GHA: also test MySQL 8
  * cmd/icingadb-migrate: replace magic number 20 with sha1.Size
  * icingadb-migrate: Verify env ID length
  * icingadb-migrate: Mitigate NULL names in {comment,downtime}_query
  * build(deps): bump github.com/icinga/icinga-go-library
  * doc/02-Installation.md: Fix installing-icingadb-db-packages anchor
  * Remove library code
  * Use `icinga-go-library`
  * Allow to dynamically define type constraint name
  * database: Introduce `ColumnMap`
  * Introduce `GetAddr()` for `database#DB` and `redis#Client`
  * `config#FromYAMLFile()`: Parse result into value pointed to by the passed argument
  * `config#ParseFlags()`: Parse result into value pointed to by the passed argument
  * Replace `utils.Fatal()` with `utils.PrintErrorThenExit()`
  * Refine `types#UnixMilli` tests
  * `types#UnixMilli.Scan()`: Support `uint64`
  * `types#UnixMilli.Scan()`: Support `[]byte`
  * Fix `types#UnixMilli.UnmarshalText()` crashing on empty strings
  * Introduce `contracts#SafeInit()`
  * Decouple `structify` from `contracts`
  * Introduce `logging#NewLoggingFromConfig()`
  * Don't set default port in `redis`
  * Move Redis related code to `redis`
  * Move `internal/config#Retention` to `internal/config#RetentionConfig`
  * Move `internal/config#FromYAMLFile()` to `config#FromYAMLFile()`
  * Move `internal/config#ParseFlags()` to `config#ParseFlags()`
  * Move database related code from `internal` to `database`
  * Move `TLS` config options to `config#TLS`
  * Add `logging#Config`
  * Add `utils#IsUnixAddr()`
  * Move special types to `icingadb/types`
  * `icingadb-migrate`: Don't alias `types` import
  * Move `icingadb#DB` to `database#DB`
  * Move `contracts#Waiter{,Func}` to `com#Waiter{,Func}`
  * Move `com#SplitOnDupId()` to `database#SplitOnDupId()`
  * Make `com#CopyFirst()` generic
  * Move `database#DB.CheckSchema()` to `icingadb#CheckSchema()`
  * Introduce `icingadb#RetryConnectorCallbacks`
  * Use `google/go-cmp` to determine equality of checksums
  * Move type related utility functions from `internal` to `types`
  * Move `utils#Name()` to `types#Name()`
  * `types#Binary`: Assert `fmt.Stringer` interface compliance
  * Move `utils#TableName()` to `database#TableName()`
  * Introduce `strcase` for converting string cases
  * Move database related contracts to `database/contracts`
  * Move `internal#CantPerformQuery()` to `database#CantPerformQuery()`
  * Move `icingadb/objectpacker` to `objectpacker`
  * Move `config` to `internal/config`
  * build(deps): bump github.com/jmoiron/sqlx from 1.3.5 to 1.4.0 in /tests
  * build(deps): bump github.com/jmoiron/sqlx from 1.3.5 to 1.4.0

-------------------------------------------------------------------
Wed Mar 26 17:34:02 UTC 2025 - ecsos <ecsos@opensuse.org>

- Update to version 1.2.0:
  * Bump version to 1.2.0
  * Unify notation of `n * time.Duration`
  * Update AUTHORS and .mailmap
  * icingadb.DB: Retry Schema Checks
  * icingadb: Remove shouldRetry
  * Retry `io.EOF` error
  * Docs: Account Redis' trademark policy
  * Increment go.mod Go version to 1.22
  * `retry`: Mitigate timing issues
  * `retry`: Set `attempt`'s initial value to `1`
  * `HA`: Don't log retry count
  * `retry`: Explicitly check context for error
  * `retry`: Execute on error callbacks for retryable errors only
  * Consolidate default retry timeout and settings
  * `HA`: Give up retrying after 5 minutes
  * `HA.retry()`: Always use context with a deadline
  * `retry`: Reduce `nil` checks for errors
  * `retry`: `return` immediately after context errors
  * Revert "retry: if stopped due to outer context, return that error"
  * `retry`: Don't cancel `RetryableFunc` if it exceeds `Timeout`
  * Retention: Also retry `DELETE` statements
  * Retry **every** database error
  * `db`: Log retried queries and give up after 5 minutes
  * Register mysql default logger prior to 'mysql#NewConfig()'
  * Upgrading docs for state_history schema migration
  * Unify check attempt data type to uint32 already used somewhere
  * Remove deprecated io/ioutil package references
  * config.example.yml: Comment out unmodified blocks
  * Add upgrading hints/warnings
  * Add a correct composite `INDEX` for the history table
  * build(deps): bump golang.org/x/sync from 0.6.0 to 0.7.0 in /tests
  * build(deps): bump golang.org/x/sync from 0.6.0 to 0.7.0
  * Enhance HA "Taking over", "Handing over" logging
  * `history.Sync`: Don't operate on closed channel
  * Validate `wsrep_sync_wait` database option
  * Document `wsrep_sync_wait` database option
  * Drop `icingadb#Register()` & make `mysqlLogger` exportable
  * Database: Drop `registerDriverOnce` variable
  * Move `pkg/driver` to `pkg/icingadb/driver.go`
  * driver: Move `timeout` from package level to a function scope
  * MySQL driver: on connect try setting wsrep_sync_wait, swallow error 1193
  * Driver: Allow to post initialize database connections
  * Drop superfluous custom driver registration
  * Make value for SET SESSION `wsrep_sync_wait` configurable
  * Document `database.options` properly
  * build(deps): bump github.com/go-sql-driver/mysql in /tests
  * build(deps): bump github.com/go-sql-driver/mysql from 1.8.0 to 1.8.1
  * Document `retention.count` & `retention.interval` options
  * Flatten(): render even large numbers as-is, not using scientific notation
  * Flatten(): type-check input only once
  * Use types.MakeString() instead of manual initialization (refactor)
  * Test Flatten()
  * Introduce types.MakeString()
  * Upgrade `go-redis` to `v9`
  * build(deps): bump github.com/docker/docker in /tests
  * PostgreSQL: get_sla_ok_percent to return decimal
  * build(deps): bump go.uber.org/zap from 1.26.0 to 1.27.0 in /tests
  * build(deps): bump github.com/goccy/go-yaml in /tests
  * build(deps): bump github.com/jmoiron/sqlx from 1.3.4 to 1.3.5 in /tests
  * build(deps): bump github.com/google/uuid from 1.3.0 to 1.6.0 in /tests
  * MySQL/MariaDB: Use strict SQL mode
  * Integration tests: don't hard-code MySQL in some tests
  * `schmema/mysql/1.1.2`: Fix timestamp is not UNIX time
  * build(deps): bump github.com/go-sql-driver/mysql in /tests
  * build(deps): bump github.com/stretchr/testify in /tests
  * `schema/mysql`: Use `UNIX_TIMESTAMP()` instead of `CURRENT_TIMESTMAP()`
  * tests/go.mod: bump github.com/icinga/icinga-testing "version"
  * dependabot: enable go mod updates for /tests
  * dependabot: run daily
  * dependabot: remove reviewers
  * build(deps): bump github.com/goccy/go-yaml from 1.11.2 to 1.11.3
  * Retry broken pipe errors (`EPIPE`)
  * build(deps): bump go.uber.org/zap from 1.26.0 to 1.27.0
  * docs: Fix link to `Icinga DB Web`
  * cmd/icingadb: Log Icinga DB version during startup
  * build(deps): bump github.com/go-sql-driver/mysql from 1.7.1 to 1.8.0
  * build(deps): bump github.com/google/uuid from 1.4.0 to 1.6.0
  * build(deps): bump golang.org/x/sync from 0.5.0 to 0.6.0
  * Remove redundant closure
  * build(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0
  * build(deps): bump github.com/mattn/go-sqlite3 from 1.14.18 to 1.14.22
  * build(deps): bump golang.org/x/sync from 0.3.0 to 0.5.0
  * build(deps): bump github.com/mattn/go-sqlite3 from 1.14.17 to 1.14.18
  * build(deps): bump github.com/docker/docker in /tests
  * build(deps): bump github.com/google/uuid from 1.3.0 to 1.4.0
  * build(deps): bump golang.org/x/net from 0.7.0 to 0.17.0 in /tests
  * build(deps): bump go.uber.org/zap from 1.25.0 to 1.26.0
  * build(deps): bump github.com/goccy/go-yaml from 1.11.0 to 1.11.2

-------------------------------------------------------------------
Wed Mar 26 17:33:04 UTC 2025 - ecsos <ecsos@opensuse.org>

- Update to version 1.1.1:
  * GitHub Actions: remove version check
  * doc/04-Upgrading.md: Fix path for schema upgrades
  * GitHub Actions: also run on support branches
  * cmd/icingadb: warn about unknown config options instead of rejecting them
  * Upgrading docs for v1.1.1
  * Add changelog for v1.1.1
  * Update version number to 1.1.1
  * Update AUTHORS
  * GitHub Actions: change master to main
  * Increase database schema version
  * Schema: merge 1.2.0.sql upgrades into 1.1.1.sql
  * Schema: change sort order of history event type enum
  * build(deps): bump go.uber.org/zap from 1.24.0 to 1.25.0
  * Run `go fmt ./...`
  * GitHub Actions: use actions/setup-go@v4 and go-version: 1.x
  * schema/pgsql: Add missing indices to `hostgroup` and `servicegroup`
  * schema/mysql: Add missing indices to `hostgroup` and `servicegroup`
  * schema/pgsql: Add new index for `customvar_flat`
  * schema/mysql: Add new index for `customvar_flat`
  * Migration: refactor output/processing of converted entities
  * cmd/icingadb-migrate: ignore icinga_downtimehistory#was_started=0 rows
  * Make integration tests work with Go 1.20.6
  * Config parsing: unit test failure due to unknown fields
  * Test UnixMilli#MarshalJSON()
  * Test Bool#MarshalJSON()
  * Test Binary#MarshalJSON()
  * {Bool,Binary,UnixMilli}#MarshalJSON(): return valid JSON, not empty string
  * Add empty custom vars test cases
  * Flatten empty custom vars of type `array` & `map` correctly
  * Support Percona XtraDB Cluster by not using SERIALIZABLE transactions directly
  * icingadb-migrate: document TLS support
  * Config parsing: fail on unknown fields and print them
  * build(deps): bump golang.org/x/sync from 0.2.0 to 0.3.0
  * build(deps): bump github.com/mattn/go-sqlite3 from 1.14.16 to 1.14.17
  * build(deps): bump github.com/stretchr/testify from 1.8.3 to 1.8.4
  * retry.Retryable(): treat ENOENT (AF_UNIX) like ECONNREFUSED, i.e. also retry
  * build(deps): bump github.com/creasty/defaults from 1.6.0 to 1.7.0
  * build(deps): bump github.com/go-sql-driver/mysql from 1.7.0 to 1.7.1
  * build(deps): bump github.com/lib/pq from 1.10.7 to 1.10.9
  * icingadb-migrate: handle NULL event time columns
  * Merge network and database error retryability detection functions
  * build(deps): bump github.com/goccy/go-yaml from 1.9.6 to 1.11.0
  * build(deps): bump github.com/opencontainers/image-spec in /tests
  * build(deps): bump github.com/docker/distribution in /tests
  * build(deps): bump golang.org/x/net in /tests
  * build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.3
  * build(deps): bump golang.org/x/sync
  * build(deps): bump github.com/docker/docker in /tests
  * schema: notification: enlarge name and name_ci 255 -> 767
  * GitHub Actions: run Go lint job with at least 1.19
  * GHA: handle changed interface of Icinga/docker-icingadb
  * Heartbeat#sendEvent(m): nil-check m before dereferencing it
  * convertFlappingRows(): fix foreign key error history -> flapping_history
  * migrateOneType(): allow multiple stages of INSERT IGNORE, UPSERT
  * build(deps): bump go.uber.org/zap from 1.23.0 to 1.24.0
  * build(deps): bump github.com/go-sql-driver/mysql from 1.6.0 to 1.7.0
  * Replace apt-get with apt
  * Log UNIX socket address w/o port number

-------------------------------------------------------------------
Wed May 10 11:06:11 UTC 2023 - ecsos@opensuse.org

- Update to version 1.1.0:
  * Release 1.1.0
  * Improve documentation for migration tool
  * build(deps): bump github.com/mattn/go-sqlite3 from 1.14.6 to 1.14.16
  * go mod tidy
  * go get -u github.com/goccy/go-yaml
  * cmd/icingadb-migrate: avoid unnecessary config option
  * Fix release issue template
  * Bump github.com/stretchr/testify from 1.8.0 to 1.8.1
  * Bump go.uber.org/zap from 1.21.0 to 1.23.0
  * Bump github.com/lib/pq from 1.10.6 to 1.10.7
  * Migration: docs enhancements
  * cmd/: rename ido2icingadb/ to icingadb-migrate/
  * cmd/ido2icingadb: move docs to the main tree
  * cmd/ido2icingadb: use built-in decorators for the progress bar
  * cmd/ido2icingadb: build cache from [0,toId], not just [fromId,toId]
  * Fix tests for new icinga2 master
  * Increase Go version for integration tests to 1.18
  * cmd/ido2icingadb: don't tell how to mess up everything
  * cmd/ido2icingadb: Keep It Simple Stupid
  * cmd/ido2icingadb: assert schema
  * Make checkDbSchema() reusable as DB#CheckSchema()
  * cmd/ido2icingadb: handle custom input data time range changes
  * cmd/ido2icingadb: allow custom input data time range
  * cmd/ido2icingadb: make sure not to return false-positive nil (i.e. EOF) checkpoints
  * cmd/ido2icingadb: show ops/s
  * cmd/ido2icingadb: remove unused code
  * cmd/ido2icingadb: increase parallelism
  * Introduce DB#CreateIgnoreStreamed()
  * cmd/ido2icingadb: remove unnecessary transactions
  * cmd/ido2icingadb: chunkCacheTx(): commit less often
  * cmd/ido2icingadb: remove unnecessary mutex
  * cmd/ido2icingadb: rename to Icinga DB Migration
  * cmd/ido2icingadb: add docs
  * cmd/ido2icingadb: make cache filling fast again
  * cmd/ido2icingadb: allow to migrate multiple IDO databases
  * cmd/ido2icingadb: reduce bulk size
  * cmd/ido2icingadb: remove unused code
  * cmd/ido2icingadb: upsert, not update, to make bulk statements
  * cmd/ido2icingadb: allow converters to upsert
  * cmd/ido2icingadb: centralise notification type conversion
  * DB#BuildInsertIgnoreStmt(): handle primary key being not "id"
  * cmd/ido2icingadb: clean up cache
  * cmd/ido2icingadb: fix duplicate comment
  * cmd/ido2icingadb: fix missing flapping_history#percent_state_change_end
  * cmd/ido2icingadb: don't unnecessarily overwrite already written/migrated history
  * cmd/ido2icingadb: fix missing ack clearings
  * cmd/ido2icingadb: indicate no notification author as "", not "-"
  * cmd/ido2icingadb: fix missing flapping end events
  * cmd/ido2icingadb: build fix
  * cmd/ido2icingadb: fix missing config defaults
  * cmd/ido2icingadb: bulk, not prepare, upserts
  * cmd/ido2icingadb: fix downtime SLA end time
  * cmd/ido2icingadb: improve code docs
  * cmd/ido2icingadb: don't unnecessarily pre-fill ido_migration_progress
  * cmd/ido2icingadb: rename onNewUncommittedDml to commitPeriodically
  * cmd/ido2icingadb: remove obsolete code
  * cmd/ido2icingadb: let SQLite VACUUM automatically
  * cmd/ido2icingadb: write SLA
  * cmd/ido2icingadb: avoid &(*ht)[i]
  * cmd/ido2icingadb: improve comments
  * cmd/ido2icingadb: go:embed large queries
  * cmd/ido2icingadb: go:embed schemata
  * cmd/ido2icingadb: build fix
  * cmd/ido2icingadb: better ETA
  * cmd/ido2icingadb: prefer generics over reflection
  * cmd/ido2icingadb: support Postgres
  * cmd/ido2icingadb: migrate(): run only one transaction at a time
  * cmd/ido2icingadb: correct mismatching FK ID
  * cmd/ido2icingadb: don't hash non-hashable types
  * cmd/ido2icingadb: build fix
  * cmd/ido2icingadb: reduce historyType#convertRows call complexity
  * cmd/ido2icingadb: sliceIdoHistory(): reduce onRows call complexity
  * cmd/ido2icingadb: sliceIdoHistory(): re-use memory
  * cmd/ido2icingadb: env: "Environment" config constant value -> hex ID
  * cmd/ido2icingadb: make IDs UUID -> SHA1
  * cmd/ido2icingadb: merge countIdoHistory() and computeProgress()
  * cmd/ido2icingadb: ensure migration progress bar finishes
  * cmd/ido2icingadb: resume migration progress bar where interrupted
  * cmd/ido2icingadb: simplify computeProgress() a lot
  * cmd/ido2icingadb: sliceIdoHistory(): take named args
  * cmd/ido2icingadb: migrate(): don't REPLACE, but upsert (one by one)
  * cmd/ido2icingadb: simplify unnecessarily complex datatype
  * cmd/ido2icingadb: document misc.go
  * cmd/ido2icingadb: migrate(): UPDATE after REPLACE
  * cmd/ido2icingadb: document cache.go
  * cmd/ido2icingadb: document main.go
  * Revert "Outsource cmd/icingadb.Exit* to cmd/internal"
  * cmd/ido2icingadb: remove redundant function
  * cmd/ido2icingadb: don't re-invent sqlx.In()
  * cmd/ido2icingadb: types: add keys and delete zero values
  * cmd/ido2icingadb: document sliceIdoHistory()
  * cmd/ido2icingadb: shorten SugaredLogger#With().Info() to #Infow()
  * cmd/ido2icingadb: reason not actually used INNER JOINs
  * cmd/ido2icingadb: reduce IDE warnings
  * cmd/ido2icingadb: correct log levels
  * cmd/ido2icingadb: actually migrate
  * cmd/ido2icingadb: chunk all large queries
  * cmd/ido2icingadb: fill cache
  * cmd/ido2icingadb: generalize cache schemata
  * cmd/ido2icingadb: support SELECT xh.foo_bar->FooBar int
  * cmd/ido2icingadb: introduce barIncrementer
  * cmd/ido2icingadb: make bulk a const
  * cmd/ido2icingadb: introduce historyType#setupBar()
  * cmd/ido2icingadb: separate cache schema
  * cmd/ido2icingadb: make log a global var
  * cmd/ido2icingadb: prepare cache
  * cmd/ido2icingadb: split main()
  * cmd/ido2icingadb: deduplicate parallelism
  * cmd/ido2icingadb: compute previous progress
  * .../compliance/check-licenses.sh: also check UNLICENSE
  * cmd/ido2icingadb: count total IDO events
  * cmd/ido2icingadb: connect to databases
  * cmd/ido2icingadb: parse config file
  * cmd/ido2icingadb: parse CLI flags
  * Outsource cmd/icingadb.Exit* to cmd/internal
  * Save memory during config sync via SyncSubject#FactoryForDelta()
  * Show diff of dependencies in GitHub Actions
  * Bump github.com/stretchr/testify from 1.7.2 to 1.8.0
  * parseString(): Don't Repeat Yourself

-------------------------------------------------------------------
Fri Jul 01 06:30:22 UTC 2022 - ecsos@opensuse.org

- Update to version 1.0.0:
  * Changelog for 1.0.0
  * Update internal/version.go for 1.0.0
  * Update AUTHORS and .mailmap
  * Add issue template for releasing a version
  * Docs: Add Distributed Setups
  * Docs: Update Upgrading
  * CI: Check version
  * Docs: Update Configuration
  * Docs: Update Installation
  * Example config: Add Redis password
  * Set Redis server port to 6380 by default
  * Remove RELEASE.md
  * Update CHANGELOG.md
  * Update README.md
  * Docs: Update About
  * Docs: Remove Redis installation
  * Example config: Document retention
  * Example config: Document logging
  * Docs: Fix table borders
  * Example config: retention.options override history-days, not days
  * Docs: Don't require database password
  * Docs: Don't require database port
  * Docs: Use 'Database name' instead of 'Database database'
  * Example config: Add newlines between history- and sla-days
  * Example config: Document database section
  * Example config: Don't specify database type
  * Example config: Don't specify database port
  * Docs: Use CHANGEME as database password
  * icinga:*:state: rename state to soft_state
  * Schema: Include `environment_id` as part of the history retention indices
  * Retry down and unreachable host or network errors
  * Fix comment
  * Retry ECONNRESET
  * Retry: Detect ECONNREFUSED properly
  * Block XREADs for a maxium of one second
  * Fix Redis MaxRetries
  * Telemetry: use mutex for synchronizing last database error
  * Telemetry: change stats names in Redis
  * Telemetry: rename keys in heartbeat stream
  * Telemetry: send Go metrics as performance data string
  * Make json keys and DB columns consistent
  * Write own heartbeat into icingadb:telemetry:heartbeat
  * Introduce Atomic[T]
  * Remove unused StreamLastId()
  * Clear icinga:runtime* and read from 0-0 later
  * XTRIM data XREAD from icinga:runtime*
  * oneBulk(): terminate once input closed (like the regular bulker)
  * Add host:port log info when trying to connecto to database/redis
  * Make Database/Redis schema mismatch error more user friendly
  * Write ops/s by op and s to icingadb:telemetry:stats
  * DB#CleanupOlderThan(): allow to get done work counted in real time
  * DB#Delete(): allow monitoring succeeded items
  * DB#CreateStreamed(): allow monitoring succeeded items
  * DB#{*BulkExec,*Streamed}(): replace succeeded channel with callbacks
  * Rename config.yml.example to config.example.yml
  * schema: Merge all alter table statments of the same table into a single one
  * Bump expected redis schema version to 5
  * Docs: use @localhost instead of @127.0.0.1 for MySQL user
  * Bump github.com/stretchr/testify from 1.7.1 to 1.7.2
  * Fix integration tests
  * Checkable: Adjust the naming of the struct/json keys according to the new scheme
  * Add _name suffix to columns referring to name
  * Fix `icingadb --version` output when using older Git versions
  * Streamline IsRetryable functions and retry DNS errors
  * Add more information to `icingadb --version` ouput
  * Bump github.com/lib/pq from 1.10.5 to 1.10.6
  * Quote column names for the case they're reserved
  * Integration tests: use separate artifact names for MySQL/PostgreSQL
  * Add CommandArgument#Separator
  * Tests: Update go.mod
  * Expect serverName only in TLS.MakeConfig()
  * Split Redis address into host and port
  * Retention: take environment_id into account
  * PostgreSQL: add missing retention indices
  * CleanupOlderThan: no longer return number of rounds
  * Retention: remove StartWithCallback
  * Build fix
  * Check for required database and Redis config options during config validation
  * PostgreSQL: Support text comparsion for int/enum columns
  * SLA reporting: history retention for SLA tables
  * SLA reporting: fill new tables from history in schema migration
  * SLA reporting: integration tests
  * SLA reporting: tests for the SQL stored function
  * SLA reporting: add SQL stored function to calculate SLA value
  * List required RDBMS versions and increase PostgreSQL minimum
  * SLA reporting: additionally write relevant history events to dedicated SLA tables
  * Use default MySQL port if none is specified
  * Allow setting port for PostgreSQL Unix domain socket
  * SLA reporting: SQL schema
  * Retention: periodically log number of items removed
  * Don't print a stacktrace on config errors
  * Schema: Make custom variable names case insensitive
  * go:embed LUA script
  * On HA takeover set other instances' icingadb_instance#responsible = n
  * On HA handover: always set icingadb_instance#responsible=n
  * Bump github.com/jmoiron/sqlx from 1.3.4 to 1.3.5
  * Bump github.com/stretchr/testify from 1.7.0 to 1.7.1
  * Update dependabot reviewers
  * Bump github.com/go-redis/redis/v8 from 8.11.4 to 8.11.5
  * Use Icinga DB docker instance for retention tests
  * Retry EAGAIN
  * Document Redis *nix socket support
  * RDBMS: support *nix sockets as documented
  * Run `go mod tidy` in tests/ after defaults update
  * Bump github.com/creasty/defaults from 1.5.2 to 1.6.0
  * Run `go mod tidy` in tests/ after pq update
  * Bump github.com/lib/pq from 1.10.4 to 1.10.5
  * Do x.UnixMilli(), not utils.UnixMilli(x)
  * UnixMilli(x): don't overflow on 4/11/2262 (UTC)
  * Schema: Adjust primary key irregularities of icon_image, notes_url & action_url tables
  * Merge Bulker and EntityBulker
  * Remove unused XMessageBulker
  * Reuse generic com.Bulk() instead of redundant com.BulkXMessages()
  * Make Bulker generic
  * Require Go v1.18+
  * Remove obsolete comment
  * Bump github.com/lib/pq from 1.10.3 to 1.10.4
  * Add tests for cleanup and history retention
  * Start history retention immediately
  * Add immediate option for periodic tasks
  * Add indices for history retention
  * Start history retention after config and state sync
  * Document history retention configuration
  * Allow history retention configuration
  * Introduce config.HistoryRetention
  * Introduce history.Retention
  * Introduce db.CleanupOlderThan()
  * Port integration tests to PostgreSQL
  * Remove null bytes from strings
  * Wrap "icingadb-*sql" in constants
  * Postgres: replace ENUM DOMAINs with TYPEs
  * Docs: Postgres: explicitly set en_US.UTF-8
  * Postgres: use case-insensitive CITEXT columns
  * Decouple *SQL schema versions
  * Simplify BulkChunkSplitPolicy
  * Throw BulkChunkSplitPolicy#Reset() away
  * Pass BulkChunkSplitPolicyFactory-s, not BulkChunkSplitPolicy-s
  * DB#BuildDeleteStmt(): don't pre-rebind `?`s
  * NamedBulkExec(): allow custom BulkChunkSplitPolicy
  * BulkEntities(): allow custom BulkChunkSplitPolicy
  * NewEntityBulker(): allow custom BulkChunkSplitPolicy
  * Introduce SplitOnDupId
  * Introduce NeverSplit
  * Introduce BulkChunkSplitPolicy
  * Don't re-invent sqlx.DB#Rebind()
  * Postgres: upsert: only handle primary key conflicts
  * DB#Build*Stmt(): quote table names
  * Document Postgres support
  * Support Postgres
  * Handle Postgres-specific errors
  * .github/workflows/compliance/anonymize-license.pl: handle github.com/lib/pq license
  * Avoid SQL syntax Postgres doesn't understand
  * Port MySQL schema to Postgres
  * Remove parallelism from history test
  * Bump icinga-testing version
  * doc: Document the password option for Redis
  * Fix typo
  * Add previous_soft_state to host_state and service_state
  * Docs: don’t explain MySQL installation
  * Bump go.uber.org/zap from 1.20.0 to 1.21.0
  * Don't embed TLS config
  * Rename TLS.Tls to TLS.Enable
  * HA#realize(): re-try transaction on temporary error
  * GHA: use latest staticcheck version
  * Schema: make notification_history#text longtext
  * GHA: go mod tidy
  * Run daily integration tests
  * Update dependabot reviewers
  * Bump go.uber.org/zap from 1.19.1 to 1.20.0
  * Make sure Redis connection pool is large enough
  * Integration tests: test downtime expiry history
  * Integration tests: text comment expiry history
  * Integration tests: test comment removal history
  * Integration tests: add author/removed_by to downtime cancellations
  * Integration tests: test that both icinga2 instances write identical history streams
  * Docs: Replace GRANT command incompatible with newer MySQL versions
  * Docs: Fix foreground command config parameter
  * go.mod: remove redundant replacement

-------------------------------------------------------------------
Fri Jul 01 06:22:28 UTC 2022 - ecsos@opensuse.org

- Update to version 1.0.0-rc2:
  * Integration tests: Add notifications and improve user runtime updates
  * Update AUTHORS
  * Update AUTHORS
  * Remove authors whose code is no longer in the repo
  * Use own connections for heartbeat and HA
  * Insert schema version last
  * Make NotificationRecipient struct readable
  * Docs: Fix default config file location
  * Refine remote Redis installation docs chapter
  * Reduce max_hmget_connections to 8
  * Change default configuration file path
  * Improve MySQL commands in installation docs
  * Fix whitespaces and too long lines in installation docs
  * Add upgrading docs
  * Change icinga-redis to icingadb-redis in remote Redis
  * Add Fedora, CentOS 8, dnf and some cleanup
  * Comment out flat config keys that have a default value
  * Use localhost in our example config
  * docs: Replace warning log level with warn
  * Integration tests: test history sync with HA
  * MySQL: Add more indexes
  * Add a regression test that ensures that runtime updates are executed in order
  * Runtime Updates: Use proper buffer channel sizes
  * Add special handling for entity bulks of size 1
  * Add special handling for bulks of size 1
  * RuntimeUpdates#Sync(): force FIFO for config updates
  * Set values for new host_id and downtime duration columns
  * Add `service_state.host_id` column
  * Downtime: Add `duration` & `scheduled_duration` columns
  * Schema: Fix index typos introduced by #385
  * Fix broken retry mechanics
  * .github/workflows/compliance.yml: assert GPLv2 compatibility of all deps' licenses
  * .github/workflows/compliance/anonymize-license.pl: replace redundant info in license text
  * .github/workflows/compliance/ls-deps.pl: extract all 3rd-party deps
  * Raise expectedRedisSchemaVersion
  * Schema: Prefix command_id with command type (check, event, notification)
  * Rename periodic.Stoper to periodic.Stopper
  * Use custom logger with 1 second interval for delta tests
  * Use custom logger for accessing the interval for periodic logging
  * Add periodic logging for runtime updates
  * Use debug instead of info for some log messages
  * Log which history sync started
  * Remove syncing $subject log message
  * Remove syncing $redisKey log message
  * Remove waiting for heartbeat message
  * Log time taken for the config and initial state sync
  * Use pkg periodic for database logs
  * Log which delta finished
  * Use pkg periodic for history sync logs
  * Use debug instead of info for overdue refresh logs
  * Use pkg periodic for overdue sync logs
  * Use internal.LoggingInterval()
  * Log how many items to insert
  * Speak of items instead of rows
  * Use pkg periodic for Redis logs
  * Introduce Counter.Total()
  * Introduce package periodic
  * Allow to configure interval for periodic logging
  * Introduce Counter.Reset()
  * Speak of Icinga heartbeat not Icinga 2 heartbeat
  * Comment out component-logging level pairs
  * Don't log if context is canceled
  * Increase Redis schema version
  * Update schema comments to match new use of environments
  * No longer skip environment tests and adapt them to new behavior
  * Exit on environment ID changes
  * Use new environment ID
  * Only sync entities that belong to the current environment
  * Config: Validate max_rows_per_transaction
  * Config: Validate max_placeholders_per_statement
  * Don't use CamelCase for config keys
  * Config: Validate xread_count
  * Restart HA after environment change
  * Use synctx instead of ctx
  * Make v1.Environment#Name types.String
  * Insert environment
  * Add db.BuildIgnoreStmt()
  * Replace Apache 2.0 licensed gopkg.in/yaml.v3 with MIT licensed github.com/goccy/go-yaml
  * Raise expectedRedisSchemaVersion 1 -> 2
  * Make History*#Id UUID -> SHA1
  * Make {NotificationHistory,StateHistory}#Id UUID -> SHA1
  * Sync history independent of HA
  * Enable tests for custom var flat runtime sync
  * Move custom var sync to a new method
  * Respect context in custom var sync
  * Expect no custom var clear events during runtime
  * Handle flat custom vars explicitly in runtime updates
  * Handle contracts.Initer in common.NewSyncSubject()
  * Use SyncSubject in RuntimeUpdates.Sync()
  * Add method SyncSubject.Name()
  * Use ExpandCustomvars() and synctx instead of ctx
  * Introduce function ExpandCustomvars()
  * Export DB.getSemaphoreForTable()
  * Move method DB.getSemaphoreForTable()
  * Use context from errgroup
  * Sync state runtime updates ASAP
  * Notify systemd that Icinga DB finished starting up
  * Allow to configure the logging output
  * Allow systemd-journald (and console) as log outputs
  * Introduce zapcore.Core that sends logs to systemd-journald
  * Use the app name as the default logger name
  * Introduce function utils.AppName()
  * Add ConvertCamelCase utility function
  * Move logging from internal to pkg
  * Bump github.com/go-redis/redis/v8 from 8.11.3 to 8.11.4
  * Only do anything while icinga:schema version meets our expectations
  * History sync: add benchmark
  * Add foreign key with cascade delete constraints to history tables
  * History sync: use information from notification stream for user_notification_history table
  * History sync: use indefinitely blocking XREAD
  * History sync: rewrite to use a sequential pipeline
  * Redis/DB: export options member
  * mysql.schema.sql: Add missing indices to *_customvar tables
  * HA: only set realize timeout when active
  * HA: after heartbeat expiry, stop writing to database and hand over
  * retry: if stopped due to outer context, return that error
  * heartbeat: wrap messages with a timestamp
  * heartbeat: use a single channel for all beat/loss events
  * Add XMessageBulker
  * History sync: add integration tests
  * Support TLS
  * Document logging configuration
  * Use child loggers
  * Use child loggers for Redis and database
  * Use logger from logging pkg
  * Allow to configure logging in the YAML configuration
  * Introduce Logging config struct
  * Introduce logging pkg with access to a default logger and named child logges
  * Remove example configuration from docs
  * Schema: s/mediumtext/longtext/
  * Rewrite delta to use only a single goroutine
  * Add tests and benchmarks for delta computation
  * Log all recovered reconnects to backends
  * Redis HYield: remove duplicates returned by HSCAN
  * Use uint64 instead of Counter
  * Use buffered channel
  * Do not close channel too early
  * Use pointer receiver for Counter.Val()
  * Introduce WaiterFunc type
  * Fix use of wrong log function on heartbeat loss
  * Include CheckResult#scheduling_source in state and history
  * Log all different failed reconnects to backends
  * On shutdown: give up HA handover after 3s, not 5m
  * Introduce Settings#OnSuccess
  * Introduce Settings#OnError
  * HA#Close(): allow custom context
  * HA#removeInstance(): allow custom context
  * WithBackoff(): aggregate optional settings in one struct
  * Bump go.uber.org/zap from 1.19.0 to 1.19.1
  * Update icinga-testing and use new features (#362)
  * Bump github.com/creasty/defaults from 1.5.1 to 1.5.2
  * Bump go.uber.org/zap from 1.18.1 to 1.19.0
  * Bump github.com/go-redis/redis/v8 from 8.11.2 to 8.11.3
  * Move etc/icingadb.service to packaging repositories (#345)
  * Automatically run integration tests using GitHub Actions
  * Start adding integration tests
  * Ensure extra config options are properly initialized
  * Clarify what MustPackAny() does
  * Schema: Add description to downtime columns 'triggered_by_id' and 'parent_id'
  * Don't print stack on CLI parsing failure or --help
  * Don't allow 0 for timeout redis option
  * Don't allow 0 for max_connections database option
  * Remove UnmarshalYAML
  * Don't inline Database options
  * Remove UnmarshalYAML
  * Don't inline Redis options
  * Move method
  * Introduce downtime#scheduled_by
  * Bump github.com/go-redis/redis/v8 from 8.11.1 to 8.11.2
  * Add missing doc in meta
  * Add missing doc in meta
  * Add missing doc in sync
  * Add missing doc in ha
  * Add missing doc in entitiesbyid
  * Add missing doc in dump_signals
  * Add missing doc in delta
  * Rename start() to run()
  * Add missing doc entitiy_bulker
  * Add missing doc in bulker
  * Add missing doc in stats_message
  * Add missing doc in icinga_status
  * Add missing doc in redis utils
  * Add missing doc in client
  * Add missing doc in utils
  * Add missing doc in db
  * Add missing doc in command
  * Add newline before return
  * Remove useless comments
  * Return error instead of panicking
  * Remove --datadir config flag
  * Remove config.ValidateFile()
  * Use cancelCtx() instead of just cancel()
  * Always use data as paramter name in UnmarshalJSON()
  * Always use text as paramter name in UnmarshalText()
  * Fix comments
  * Remove unused variables Yes and No
  * Fix typo
  * Fix different receiver names
  * Remove unused function PipeError
  * Use QueryxContext() instead of Query()
  * Remove unused functions
  * Validate specified config file only once
  * Support --version
  * Log MySQL driver errors at the debug level instead of discarding them
  * Also retry driver.ErrBadConn
  * Enlarge {comment,downtime}#name 255 -> 548
  * Use SET SESSION for schema modes
  * Clarify why acknowledgement_history#comment is NULLable
  * Allow acknowledgement_history#{author,is_sticky,is_persistent} being NULL
  * AcknowledgementHistory#Author: make missing value NULL, not ""
  * Reduce the size of bulk statements and make the size configurable
  * Don't append(x,y) if x is not to be modified
  * Get the last IDs of the runtime update streams before starting anything else
  * Stream state updates from icinga:runtime:state
  * Bump github.com/go-redis/redis/v8 from 8.11.0 to 8.11.1
  * Icinga DB: introduce Checkable#last_comment_id
  * Downtime: Add parent_id
  * Pointer receivers, Cond usage, pass ctx and Godoc for Heartbeat
  * Bump github.com/google/uuid from 1.2.0 to 1.3.0
  * Do not store ctx inside Cond and add Godoc
  * Introduce *_state#normalized_performance_data
  * Assert the database schema of the expected version being present
  * Fix SEGV due to empty config
  * Bump github.com/go-redis/redis/v8 from 8.10.0 to 8.11.0
  * Bump go.uber.org/zap from 1.17.0 to 1.18.1
  * Use bulk upsert for bulk updates in sync
  * Use bulk upsert in runtime updates
  * Activate bulk upsert
  * Return number of placeholders
  * output, long_output and performance_data columns modified to mediumtext
  * Support DriverContext
  * Call errors.Wrap*() unconditionally where appropriate
  * Use errors.As() and Is() in favor of Unwrap()
  * Print stack traces
  * Use Info() instead of Infof() if no format string
  * Wrap errors
  * Replace custom err w/ func returing a wrapped err
  * Fix imports
  * Add utils for wrapping errors
  * Bump github.com/go-redis/redis/v8 from 8.7.1 to 8.10.0
  * Bump github.com/jessevdk/go-flags from 1.4.0 to 1.5.0
  * Bump go.uber.org/zap from 1.16.0 to 1.17.0
  * Bump github.com/jmoiron/sqlx from 1.3.1 to 1.3.4
  * schema: Re-add indices for `host_id` and `service_id` in state tables
  * Service File: Change config file in exec command to new YAML file
  * Add stack of current goroutine to errors
  * Compare errors smartly, i.e. unwrap them first
  * HA: Respect context when operating channels
  * HA: context used to start transaction must not be canceled before the transaction is committed
  * Schema: Reverse order of entries in enums for boolean
  * MySQL schema: reverse order of entries in enums for boolean to fix sort order
  * Move `schema/1.0.0-rc2.sql` to `schema/mysql/upgrades/1.0.0-rc2.sql`
  * Move `schema/mysql.schema.sql` to `schema/mysql/schema.sql`
  * Add custom vars to the runtime update sync
  * Add issue template for bug reports
  * Increment icingadb_schema version
  * 1.0.0-rc2.sql: add all changes since v1.0.0-rc1 git tag
  * mysql.schema.sql: integrate changes from 1.0.0-rc2.sql
  * Don't misuse loop as if
  * s/CondClosed/ErrCondClosed/
  * Make channel for signal.Notify() buffered
  * Use !bytes.Equal(x,y), not bytes.Compare(x,y)!=0
  * Use time.Since(x), not time.Now().Sub(x)
  * Use time.NewTicker(), not time.Tick()
  * Simplify code
  * Un-capitalize error messages
  * Drop unused stuff
  * Avoid unreachable code
  * Ensure context cancellation
  * Don't "misuse" unsafe.Pointer
  * README.md: Fix new config setup step
  * Add a blank issue template with a link to the forum (#276)
  * Bump github.com/go-sql-driver/mysql from 1.5.0 to 1.6.0
  * README.md: Add information about the config and run command
  * README.md: Add RC2 upgrade information
  * Update configuration docs
  * Move mysql.schema.sql
  * Remove obsolete code
  * Reduce "Can't update or insert instance. Retrying" log noise
  * Also log environment info
  * Log first Redis connection error while retrying
  * Log first database connection error while retrying
  * gofmt: behave like Goland
  * GitHub actions: show what exactly is not well formatted
  * GitHub actions: separate linters
  * Include a Github Actions test
  * Improve database and HA logging
  * db.BulkExec(): Use ExecContext() instead of Query()
  * SQL driver: de-duplicate retry.WithBackoff() logic
  * Redis dialer: de-duplicate retry.WithBackoff() logic
  * retry.WithBackoff(): return the most descriptive error
  * retry.WithBackoff(): add optional timeout
  * retry.WithBackoff(): pass a context to the function to be tried
  * Don't execute runtime update upset queries concurrently
  * Wrap Redis errors
  * Introduce icingaredis.WrapCmdErr()
  * Introduce utils.Ellipsize()
  * HA: Add own instance ID to responsibility query
  * config.Redis#NewClient(): work-around go-redis/redis#1737
  * Redis: retry dial on syscall.ECONNREFUSED
  * Change ID fields to match SQL schema
  * types.AcknowledgementState: Fix state map
  * Sync overdue indicators
  * Flat CVs: represent null as "null", not "<nil>"
  * Make Redis/MySQL concurrency and batch sizes configurable
  * Introduce objectpacker.MustPackAny()
  * Remove time taken debug log for named queries
  * Remove NewCustomvar from Factories
  * Flatten: Fix keys
  * Sync customvar flat
  * Add func icingadb.v1.FlattenCustomvars()
  * Precise log messages
  * Remove log message
  * Fix race
  * Remove icingadb.Sync.fromRedis()
  * Add NewCustomvarFlat()
  * Introduce icingadb.Sync.ApplyDelta()
  * Expect common.SyncSubject in icingadb.Delta
  * Use type common.SyncSubject
  * Introduce func icingaredis.Client.YieldAll()
  * Introduce type common.SyncSubject
  * PackAny(): Golangify spec doc
  * PackAny(): pack [I]byte as string in map keys as well
  * PackAny(): restore unit test case
  * PackAny(): enhance code docs
  * PackAny(): panic() explicitly, not due to a programming error
  * Add comment explaining the purpose of ha.Close()
  * Exit with an error code if not exiting due to a signal
  * PackAny(): disallow types recursively more strictly
  * PackAny(): support numbers only as float64
  * Runtime updates must wait for config sync to complete
  * Implement runtime updates
  * Handle HA errors
  * Remove always-false if
  * Fix UsergroupMember.UserId JSON tag
  * PackAny(): support types.Binary
  * PackAny(): pack []byte as string, not array of numbers
  * icingadb.DB: Rename functions that take a channel to *Streamed()
  * icingadb.DB: Add Delete() and DeleteStreamed()
  * com.Bulker: Change type from contracts.Entity to interface{}
  * Add com.EntityBulker
  * icingaredis.Client: Add StreamLastId()
  * types.NotificationTypes: Implement UnmarshalText()
  * types.NotificationStates: Implement UnmarshalText()
  * types.Int: Implement UnmarshalText()
  * Structify: Allow for string ptr (e.g. NameCi)
  * NameCiMeta: Add missing json tag to NameMeta
  * Introduce PackAny()
  * Schema (Host-/ServiceState): Add columns id and properties_checksum
  * Add service state
  * Add host state
  * Add v1.State
  * Add types.AcknowledgementState
  * types.StateType: Implement UnmarshalJson()
  * Change redis key prefix to 'icinga:*' instead of 'icinga:config:*'
  * Read icinga:dump stream and respect dump signals
  * Main loop: return if ctx has an error
  * Handle SIGINT/SIGTERM/SIGHUP
  * Move factories away from main and use v1.Factories
  * Introduce v1.Factories
  * Add EntityFactoryFunc.WithInit()
  * Return ctx.Err() on ctx.Done()
  * main(): don't panic on (intentional) context cancel
  * Remove comment
  * Remove customvar_flat sync draft
  * HMYield(): handle missing values
  * Sync#Sync(): don't run no-ops
  * Fix missing import
  * Drop utils.SyncMap*()
  * Delta: don't over-lock
  * Introduce EntitiesById
  * Sync history
  * Introduce contracts.TableNamer
  * DB#Upsert(): workaround jmoiron/sqlx#694
  * DB#Upsert(): allow to update not all columns
  * Introduce DB#Upsert()
  * Deduplicate DB#Create() and DB#Update()
  * DB#NamedBulkExec*(): reduce channel requirements
  * DB#NamedBulkExec(): optionally inform about successfully inserted rows
  * Restrict Bulker to contracts.Entity
  * Make types.UnixMilli an encoding.TextUnmarshaler
  * Make types.String an encoding.TextUnmarshaler
  * Make types.Bool an encoding.TextUnmarshaler
  * Introduce types.StateType
  * Introduce types.NotificationType
  * Introduce types.Float
  * Introduce types.UUID
  * Introduce utils.MakeMapStructifier()
  * Host: sync also address{,6}_bin
  * Delta#start(): avoid a race across maps by using a mutex
  * NameCiMeta#NameCi: don't (unneccessarily) decode from JSON
  * shouldRetry(): retry on driver.ErrBadConn as well
  * Actually use re-trying SQL driver
  * Introduce types.CommentType
  * EntityWithChecksum: fix missing `json:",inline"`
  * Make CommandArgument an Initer
  * Introduce types.NotificationStates
  * Introduce types.NotificationTypes
  * Sync timeperiods as well
  * Sync notifications as well
  * Sync comments as well
  * Sync zones as well
  * Sync downtimes as well
  * Sync commands as well
  * Introduce Int
  * Introduce String
  * Sync endpoints as well
  * Sync groups as well
  * Sync users as well
  * Introduce CustomvarMeta
  * Group related types
  * Make channels more specific
  * Sync URLs as well
  * Host: re-use Checkable
  * New*(): don't re-do Init()
  * Auto-init Initers
  * Make NameCiMeta an Initer
  * Make project a Go module
  * HA: only execute query to remove old instances once
  * Replace persisted instance ID with a random one and remove old rows from icingadb_instance
  * Always write HA heartbeat
  * Only signal HA takeover if a takeover was attempted
  * Insert endpoint_id into icingadb_instance
  * Add cmd
  * Add first set of types to sync
  * Introduce meta types
  * Implement sync
  * Add type icingadb.HA
  * Introducte type icingaredis.Heartbeat
  * Add types necessary for heartbeat and HA
  * Add type icingaredis.Client
  * Introduce pkg com
  * Introduce flatten
  * Auto-reconnect database conns
  * Introduce retry functionality
  * Increase timeout to 60s for database connections
  * Add type icingadb.DB
  * Add config.yml.example
  * Add config utils
  * Add type config.Redis
  * Add type config.Database
  * Add .gitignore
  * Add type types.Bool
  * Add type types.UnixMilli
  * Add type types.Binary
  * Add utils
  * Add contracts
  * Bump github.com/sirupsen/logrus from 1.7.0 to 1.8.0
  * Set an explicit timeout for go test
  * Drop *Bridge
  * SqlFetchAll*(): return a slice of struct
  * Drop unused SqlFetchAll*()
  * Make overdue sync HA-aware
  * HA: only read new hearbeats from Redis
  * HA: use separate MySQL connection
  * HA: use separate Redis connection
  * Improve log messages related to HA takeover/handover
  * HA: prefer new Icinga 2 heartbeat over forced update
  * Detect and warn about slow HA heartbeat SQL transactions
  * Remove previous rows from icingadb_instance table
  * Add test for HA RegisterStateChangeListener
  * Rewrite HA logic to use SQL serializable transactions
  * Add test demonstrating that multiple instances may take over at the same time
  * Provide generic HA state change notifications
  * Don't retry individual SQL transaction commands
  * ChunkRows: replace float with int arithmetic
  * ChunkRows(): ensure to never get an empty chunk
  * configsync: fetch checksums using HSCAN if available, otherwise reuse config
  * Schema: correct comments in flapping_history, acknowledgement_history
  * configsync: use HSCAN instead of HKEYS
  * Add support mysql unix domain socket
  * Bump github.com/google/uuid from 1.1.5 to 1.2.0
  * Bump github.com/google/uuid from 1.1.4 to 1.1.5
  * Bump github.com/google/uuid from 1.1.3 to 1.1.4
  * Bump github.com/google/uuid from 1.1.2 to 1.1.3
  * Bump github.com/prometheus/client_golang from 1.8.0 to 1.9.0
  * Fix error message for MySQL in tests which previously said that Redis is not working
  * Actually insert NULL into NULLable columns
  * Keep testing w/ MariaDB v10.4
  * Test also w/ Redis v6+
  * Keep testing w/ Go v1.14
  * Bump github.com/go-ini/ini from 1.61.0 to 1.62.0
  * Bump github.com/sirupsen/logrus from 1.6.0 to 1.7.0
  * Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0
  * mysql/schema: Add name indices to host,service,user,usergroup tables
  * Adjust import sorting in main.go
  * Fix formatting using go fmt
  * Bump github.com/go-ini/ini from 1.60.1 to 1.61.0
  * Bump github.com/google/uuid from 1.1.1 to 1.1.2
  * Bump github.com/go-ini/ini from 1.57.0 to 1.60.1
  * Fix CI/CD tests
  * Doc: Add Redis password configuration settings
  * Add Redis password authentication
  * Bump github.com/prometheus/client_golang from 1.7.0 to 1.7.1
  * Allow to serve metrics at ::
  * GitHub actions: build Docker images
  * Bump github.com/prometheus/client_golang from 1.6.0 to 1.7.0
  * Create Dependabot config file
  * Bump github.com/go-ini/ini from 1.56.0 to 1.57.0
  * Bump github.com/json-iterator/go from 1.1.9 to 1.1.10
  * Small fixes in doc
  * Bump github.com/stretchr/testify from 1.5.1 to 1.6.1
  * Bump github.com/go-redis/redis/v7 from 7.3.0 to 7.4.0
  * Bump github.com/go-redis/redis/v7 from 7.2.0 to 7.3.0
  * History: correct event time of cancelled downtimes
  * Overdue: Fix indicators getting out of sync (Redis/DB)
  * *CommandArgument: Fix SetIf data type to accept any JSON data
  * MySQL: Make sure to chunk rows
  * Overdue: Make sure to chunk before updating in DB
  * Upgrade Redis client
  * User: Fix NotificationsEnabled not cast to DB bool
  * Bump github.com/go-ini/ini from 1.55.0 to 1.56.0
  * Bump github.com/prometheus/client_golang from 1.5.1 to 1.6.0
  * Bump github.com/sirupsen/logrus from 1.5.0 to 1.6.0
  * GitHub actions: test Go v1.13
  * Schema: Change *command_argument.argument_order to smallint
  * Correct typo in context image
  * Don't populate sticky acks as non-sticky
  * mkMysql(): allow connections to idle
  * Update .mailmap
  * Update .mailmap
  * Bump github.com/stretchr/testify from 1.4.0 to 1.5.1
  * Update go mod
  * SqlFetchChecksums(): close SQL rows ASAP
  * Change icinga-redis to icingadb-redis in service file
  * Docs: Remove release repo info
  * Docs: Replace release repo with testing repo for RC

-------------------------------------------------------------------
Fri Jun 25 14:50:13 UTC 2021 - ecsos <ecsos@opensuse.org>

- Initial version 1.0.0-rc1
openSUSE Build Service is sponsored by