Skip to content

Releases: google/leveldb

1.23

23 Feb 21:51
Compare
Choose a tag to compare
  • Sync MANIFEST before closing in db_impl when creating a new DB. Add logging with debugging information when failing to load a version set.
  • Optimize leveldb block seeks to utilize the current iterator location. This is beneficial when iterators are reused and seeks are not random but increasing. It is additionally beneficial with larger block sizes and keys with common prefixes.
  • Merge pull request #862 from rex4539:https
  • Documentation fixes
  • Merge pull request #855 from cmumford/submodule-fix
  • (test) Merge pull request #853 from cmumford:benchmark
  • Merge pull request #854 from cmumford:printf-fix
  • (cmumford/printf-fix) Fixed fprintf of 64-bit value.
  • (cmumford/benchmark) Added google/benchmark submodule.
  • Internal test cleanup
  • Internal cleanup migrating StatusOr.
  • Merge pull request #822 from jl0x61:bugFix
  • Merge pull request #819 from wzk784533:master
  • avoid unnecessary memory copy
  • Merge pull request #798 from lntotk:master
  • Fix accidental double std:: qualifiers.
  • Add some std:: qualifiers to types and functions.
  • Switch from C headers to C++ headers.
  • change const to constexpr
  • remove unnessary status judge
  • Remove leveldb::port::kLittleEndian.
  • Remove Windows workarounds in some tests.
  • Add Env::Remove{File,Dir} which obsolete Env::Delete{File,Dir}.
  • Defend against inclusion of windows.h in tests that invoke Env::DeleteFile.
  • Add WITHOUT ROWID to SQLite benchmark.
  • Merge pull request #756 from pwnall/third_party_2
  • Switch testing harness to googletest.
  • Move CI to Visual Studio 2019.
  • Allow different C/C++ standards when this is used as a subproject.
  • Align CMake configuration with related projects.
  • Remove redundant PROJECT_SOURCE_DIR usage from CMake config.
  • Fix installed target definition.
  • Added return in Version::Get::State::Match to quiet warning.
  • Using CMake's check_cxx_compiler_flag to check support for -Wthread-safety.
  • Fix tsan problem in env_test.
  • Merge pull request #698 from neal-zhu:master
  • Simplify unlocking in DeleteObsoleteFiles.
  • Add "leveldb" subdirectory to public include paths.
  • Align EnvPosix and EnvWindows.
  • Disable exceptions and RTTI in CMake configuration.
  • cache Saver in State object
    fix bug(uninitialized options pointer in State)
  • remove TODO in Version::ForEachOverlapping
  • use ForEachOverlapping to impl Get
  • Merge pull request #386 from ivanabc:master
  • unsigned char -> uint8_t
  • Add explicit typecasts to avoid compiler warning.
  • Guard DBImpl::versions_ by mutex_.
  • Converted two for-loops to while-loops.
  • Switch to using C++ 11 override specifier.
  • Added unit test for InternalKey::DecodeFrom with empty string.
  • Merge pull request #411 from proller:assert1
  • Using std::ostringstream in key DebugString.
  • Merge pull request #457 from jellor:patch-2
  • Fix EnvPosix tests on Travis CI.
  • Merge pull request #624 from adam-azarchs:master
  • Clean up util/coding.{h,cc}.
  • Initialize Stats::start_ before first use in Stats::Start().
  • Merge pull request #365 from allangj:c-strict-prototypes
  • Add argument definition for void c functions.
  • Consolidate benchmark code to benchmarks/.
  • Convert missed virtual -> override in db_test.cc.
  • Merge pull request #679 from smartxworks:optimize-readseq
  • Merge pull request #278 from wankai:master
  • don't check current key in DBIter::Next()
  • Add O_CLOEXEC to open calls.
  • broken db: fix assertion in leveldb::InternalKey::Encode, mark base as corrupt
  • set const property
  • reduce lock's range in DeleteObsoleteFiles
  • block_builder header file dependency fixed

Release 1.22

03 May 21:16
Compare
Choose a tag to compare
  • Corrected formatting to be compliant with the Google C++ Style Guide.
  • Specifically export the WriteBatch::Handler inner class for Windows link.
  • Merge pull request #665 from cheng-chang:coding.
  • Merge pull request #669 from pavel-pimenov:fix-readme-windows-mkdir.
  • Merge pull request #472 from zhoudayang:patch-1.
  • Merge pull request #339 from richcole-at-amazon:master.
  • Restore soname versioning with CMake build.
  • Other miscellaneous cleanups, fixes, and improvements.

Release 1.21

29 Mar 22:01
Compare
Choose a tag to compare
  • Switched to using Copybara for project synchronization.
  • Minor cleanup in ports.
  • Silence unused argument warnings in MSVC.
  • Add tests for empty keys and values.
  • Switch corruption_test to use InMemEnv.
  • Replace AtomicPointer with std::atomic.
  • Make InMemoryEnv more consistent with filesystem based Env's.
  • Align windows_logger with posix_logger.
  • Improve CI configuration and added AppVeyor (Windows CI) badge to README.
  • Added native support for Windows.
  • Make WriteBatch::ApproximateSize() const.
  • Fix PosixWritableFile::Sync() on Apple systems.
  • Fix fdatasync() feature detection in opensource build.
  • C++11 cleanup for util/mutexlock.h.
  • Rework threading in env_posix.cc.
  • Remove InitOnce from the port API.
  • Expose WriteBatch::Append().
  • Fix documentation for log file growth.
  • Add move constructor to Status.
  • Replace port_posix with port_stdcxx.
  • Reimplement ConsumeDecimalNumber.
  • Document the building process.
  • Replace NULL with nullptr in C++ files.
  • Remove PLATFORM_IS_LITTLE_ENDIAN from port/posix.h.
  • Add more thread safety annotations.
  • Require C++11.
  • Replace SIZE_MAX with std::numeric_limits.
  • Add CMake build support.
  • Enable thread safety annotations.
  • leveldb::DestroyDB will now delete empty directories.
  • Replace SSE-optimized CRC32C in POSIX port with external library.
  • Fix file writing bug in CL 170738066.
  • Fix use of uninitialized value in LRUHandle.
  • Fix issue #474: a race between the f*_unlocked() STDIO calls in env_posix.cc and concurrent application calls to fflush(NULL).
  • Use __APPLE__ instead of OS_MACOS. The former is compiler-provided.
  • Report missing CURRENT manifest file as database corruption.
  • LevelDB: Add WriteBatch::ApproximateSize().
  • Other minor fixes, code cleanup, and documentation improvements.

Release 1.20

02 Mar 00:18
Compare
Choose a tag to compare
  • Convert documentation to markdown.
  • Implement support for Intel crc32 instruction (SSE 4.2).
    Based on #309.
  • Limit the number of read-only files the POSIX Env will have open.
  • Add option for maximum file size.

Release 1.19

11 Aug 16:30
Compare
Choose a tag to compare
  • A snappy change broke test assumptions about the size of compressed output. Fixed.
  • Fix problems in LevelDB's caching code.
  • Fix LevelDB build when asserts are enabled in release builds. (#367).
  • Change std::uint64_t to uint64_t (#354).
  • Fixes a bug encountered when reading records from leveldb files that have been split, as in a [] input task split.
  • Deleted redundant null ptr check prior to delete. (#338).
  • Fix signed/unsigned mismatch on VC++ builds.
  • Putting build artifacts in subdirectory.
  • Added continuous build integration via Travis CI.
  • log compaction output file's level along with number.
  • Misc. improvements to README file.
  • Fix Android/MIPS build (#115).
  • Only compiling TrimSpace on linux (#310).
  • Use xcrun to determine Xcode.app path instead of using a hardcoded path.
  • Add "approximate-memory-usage" property to leveldb::DB::GetProperty.
  • Add leveldb::Cache::Prune.
  • Fix size_t/int comparison/conversion issues.
  • Added leveldb::Status::IsInvalidArgument() method.
  • Suppress error reporting after seeking but before a valid First or Full record is encountered.
  • #include -> (#280).
  • Now attempts to reuse the preceding MANIFEST and log file when re-opened.
  • Add benchmark that measures cost of repeatedly opening the database.
  • Added a new fault injection test.
  • Add arm64 support to leveldb.

Release 1.18

16 Sep 21:24
Compare
Choose a tag to compare
  • Update version number to 1.18
  • Replace the basic fprintf call with a call to fwrite in order to
    work around the apparent compiler optimization/rewrite failure that we are
    seeing with the new toolchain/iOS SDKs provided with Xcode6 and iOS8.
  • Fix ALL the header guards.
  • Createed a README.md with the LevelDB project description.
  • A new CONTRIBUTING file.
  • Don't implicitly convert uint64_t to size_t or int. Either preserve it as
    uint64_t, or explicitly cast. This fixes MSVC warnings about possible value
    truncation when compiling this code in Chromium.
  • Added a DumpFile() library function that encapsulates the guts of the
    "leveldbutil dump" command. This will allow clients to dump
    data to their log files instead of stdout. It will also allow clients to
    supply their own environment.
  • leveldb: Remove unused function 'ConsumeChar'.
  • leveldbutil: Remove unused member variables from WriteBatchItemPrinter.
  • OpenBSD, NetBSD and DragonflyBSD have _LITTLE_ENDIAN, so define
    PLATFORM_IS_LITTLE_ENDIAN like on FreeBSD. This fixes:
  • Switch from <cstdatomic> to <atomic>. The former never made it into the
    standard and doesn't exist in modern gcc versions at all. The later contains
    everything that leveldb was using from the former.
    This problem was noticed when porting to Portable Native Client where no memory
    barrier is defined. The fact that <cstdatomic> is missing normally goes
    unnoticed since memory barriers are defined for most architectures.
  • Make Hash() treat its input as unsigned. Before this change LevelDB files
    from platforms with different signedness of char were not compatible. This
    change fixes: issue #243
  • Verify checksums of index/meta/filter blocks when paranoid_checks set.
  • Invoke all tools for iOS with xcrun. (This was causing problems with the new
    XCode 5.1.1 image on pulse.)
  • include <sys/stat.h> only once, and fix the following linter warning:
    "Found C system header after C++ system header"
  • When encountering a corrupted table file, return Status::Corruption instead of
    Status::InvalidArgument.
  • Support cygwin as build platform, patch is from https://code.google.com/p/leveldb/issues/detail?id=188
  • Fix typo, merge patch from https://code.google.com/p/leveldb/issues/detail?id=159
  • Fix typos and comments, and address the following two issues:
  • Add missing db synchronize after "fillseq" in the benchmark.
  • Removed unused variable in SeekRandom: value (issue #201)

Release 1.17

15 Sep 16:57
Compare
Choose a tag to compare
  1. Cleanup: delete unused IntSetToString

    It was added in http://cr/19491949 (and was referenced at the time).
    The last reference was removed in http://cr/19507363.

    This fixes warning/error with pre-release crosstoolv18:

    'std::string leveldb::{anonymous}::IntSetToString(const std::set<long unsigned int>&)' defined but not used [-Werror=unused-function]
    
  2. Added arm64 and and armv7s to IOS build as suggested on leveldb mailing list.

  3. Changed local variable type from int to size_t

    This eliminates compiler warning/error and resolves issue #146

Release 1.16

15 Sep 17:07
Compare
Choose a tag to compare
  • Make Log::Reader not report a corruption when the last record in a log file is truncated.
  • Fix issue #230: variable created but not utilized.
  • Remove comment that referenced a removed feature.

Release 1.15

15 Sep 17:04
Compare
Choose a tag to compare
  • switched from mmap based writing to simpler stdio based writing. Has a minor impact (0.5 microseconds) on microbenchmarks for asynchronous writes. Synchronous writes speed up from 30ms to 10ms on linux/ext4.
    Should be much more reliable on diverse platforms.
  • compaction errors now immediately put the database into a read-only mode (until it is re-opened). As a downside, a disk going out of space and then space being created will require a re-open to recover from, whereas previously that would happen automatically. On the plus side, many corruption possibilities go away.
  • force the DB to enter an error-state so that all future writes fail when a synchronous log write succeeds but the sync fails.
  • repair now regenerates sstables that exhibit problems
  • fix issue #224 - Use native memory barriers on OSX
  • fix issue #218 - QNX build is broken
  • fix build on iOS with xcode 5
  • make tests compile and pass on windows

Release 1.14

15 Sep 17:13
Compare
Choose a tag to compare

Fix issues #206, #207

Also,

  • Fix link to bigtable paper in docs.
  • New sstables will have the file extension .ldb. .sst files will continue to be recognized.
  • When building for iOS, use xcrun to execute the compiler. This may affect issue #183.