Releases: hypermodeinc/badger
Badger DB v4.0.1
This release fixes a bug in the maxHeaderSize parameter that could lead to panics. We introduce an external magic number to keep track of external dependencies. We bump up the minimum required Go version to 1.19. No changes were made to the format of data on disk. This is a major release because we are making a switch to SemVer in order to make it easier for the community to understand when breaking API and data format changes are made.
Warning
The tag v4.0.0 has been retracted due to a bug in publisher.
Use v4.0.1 (see #1889)
Fixed
- fix(pb): fix generated protos #1888
- fix(publisher): initialize the atomic variable #1889
- fix: update maxHeaderSize #1877
- feat(externalMagic): Introduce external magic number (#1745) #1852
- fix(bench): bring in benchmark fixes from main #1863
Chores
- upgrade go to 1.19 #1868
- moving from CalVer to SemVer
- chore(cd): tag based deployments #1887
- chore(ci): fail fast when testing #1890
- enable linters (gosimple, govet, lll, unused, staticcheck, errcheck, ineffassign, gofmt) #1871 #1870 #1876
- remove dependency on io/ioutil #1879
- various doc and comment fixes #1857
Full Changelog: v3.2103.5...v4.0.1
Badger DB v3.2103.5
We release Badger CLI tool binaries for amd64 and now arm64. This release does not involve any core code changes to Badger. We added a CD job for building Badger for arm64.
Badger DB v3.2103.4
This patches an issue that could lead to manifest corruption. Fix was merged in #1756. Addresses this issue on Discuss and this issue on Badger. We also bring the release branch to parity with main by updating the CI/CD jobs, Readme, Codeowners, PR and issue templates, etc.
Fixed
- fix(manifest): fix manifest corruption due to race condition in concurrent compactions (#1756)
Chores
- Add CI/CD jobs to release branch
- Add PR and Issue templates to release branch
- Update Codeowners in release branch
- Update Readme in release branch
Full Changelog: v3.2103.3...v3.2103.4
BadgerDB v3.2103.3
This is a minor patch release that fixes arm64 related issues. The issues in the z
package in Ristretto were resolved in Ristretto v0.1.1.
Fixed
- fix(arm64): bump ristretto v0.1.0 --> v0.1.1 (#1806)
Full Changelog: v3.2103.2...v3.2103.3
BadgerDB v3.2103.2
This patch release contains:
Fixed
- fix(compact): close vlog after the compaction at L0 has been completed (#1752)
- fix(builder): put the upper limit on reallocation (#1748)
- deps: Bump github.com/google/flatbuffers to v1.12.1 (#1746)
- fix(levels): Avoid a deadlock when acquiring read locks in levels (#1744)
- fix(pubsub): avoid deadlock in publisher and subscriber (#1749) (#1751)
Full Changelog: v3.2103.1...v3.2103.2
BadgerDB v2.2007.4
BadgerDB v2.2007.3
This patch release contains:
Fixed
- fix(maxVersion): Use choosekey instead of KeyToList (#1532) #1533
- fix(flatten): Add --num_versions flag (#1518) #1520
- fix(build): Fix integer overflow on 32-bit architectures #1558
- fix(pb): avoid protobuf warning due to common filename (#1519)
Features
- Add command to stream contents of DB into another DB. (#1486)
New APIs
- DB.StreamDB
- DB.MaxVersion
BadgerDB v3.2103.1
This release removes CGO dependency opf badger by using Klauspost's ZSTD instead of Datadog's ZSTD. Also, this has some of the fixes.
Fixed
- fix(compaction): copy over the file ID when building tables #1713
- fix: Fix conflict detection for managed DB (#1716)
- fix(pendingWrites): don't skip the pending entries with version=0 (#1721)
Features
- feat(zstd): replace datadog's zstd with Klauspost's zstd (#1709)
BadgerDB v3.2103.0
Breaking
- Subscribe: Add option to subscribe with holes in prefixes. (#1658)
Fixed
- fix(compaction): Remove compaction backoff mechanism (#1686)
- Add a name to mutexes to make them unexported (#1678)
- fix(merge-operator): don't read the deleted keys (#1675)
- fix(discard): close the discard stats file on db close (#1672)
- fix(iterator): fix iterator when data does not exist in read only mode (#1670)
- fix(badger): Do not reuse variable across badger commands (#1624)
- fix(dropPrefix): check properly if the key is present in a table (#1623)
Performance
- Opt(Stream): Optimize how we deduce key ranges for iteration (#1687)
- Increase value threshold from 1 KB to 1 MB (#1664)
- opt(DropPrefix): check if there exist some data to drop before dropping prefixes (#1621)
Features
- feat(options): allow special handling and checking when creating options from superflag (#1688)
- overwrite default Options from SuperFlag string (#1663)
- Support SinceTs in iterators (#1653)
- feat(info): Add a flag to parse and print DISCARD file (#1662)
- feat(vlog): making vlog threshold dynamic 6ce3b7c (#1635)
- feat(options): add NumGoroutines option for default Stream.numGo (#1656)
- feat(Trie): Working prefix match with holes (#1654)
- feat: add functionality to ban a prefix (#1638)
- feat(compaction): Support Lmax to Lmax compaction (#1615)
New APIs
- Badger.DB
- BanNamespace
- BannedNamespaces
- Ranges
- Badger.Options
- FromSuperFlag
- WithNumGoRoutines
- WithNamespaceOffset
- WithVLogPercentile
- Badger.Trie
- AddMatch
- DeleteMatch
- Badger.Table
- StaleDataSize
- Badger.Table.Builder
- AddStaleKey
- Badger.InitDiscardStats
Removed APIs
- Badger.DB
- KeySplits
- Badger.Options
- SkipVlog
Changed APIs
- Badger.DB
- Subscribe
- Badger.Options
- WithValueThreshold