@cmumford cmumford released this Mar 2, 2017 · 72 commits to master since this release

Assets 2
  • 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.

@cmumford cmumford released this Aug 11, 2016 · 81 commits to master since this release

Assets 2
  • 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.

@cmumford cmumford released this Sep 16, 2014 · 125 commits to master since this release

Assets 2
  • 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
  • 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)

@cmumford cmumford released this Sep 15, 2014 · 126 commits to master since this release

Assets 2
  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

@cmumford cmumford released this Sep 15, 2014 · 127 commits to master since this release

Assets 2
  • 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.

@cmumford cmumford released this Sep 15, 2014 · 128 commits to master since this release

Assets 2
  • 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

@cmumford cmumford released this Sep 15, 2014 · 129 commits to master since this release

Assets 2

Fix issues #206, #207


  • 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.

@cmumford cmumford released this Sep 15, 2014 · 130 commits to master since this release

Assets 2

Fix issues #83, #93, #188, #196.

Additionally, fix the bug described in https://groups.google.com/d/msg/leveldb/yL6h1mAOc20/vLU64RylIdMJ where a large contiguous keyspace of deleted data was not getting compacted.

Also fix a bug where options.max_open_files was not getting clamped properly.

@cmumford cmumford released this Sep 15, 2014 · 131 commits to master since this release

Assets 2

Non-functional changes only:

  1. Add Kevin Regan to the AUTHORS file
  2. Add standard license header to issues/issue178_test.cc

@cmumford cmumford released this Sep 15, 2014 · 132 commits to master since this release

Assets 2

Fixes issues:

As well as the issue reported by edouarda14@gmail.com about MissingSSTFile unit test failing on windows.