LevelDB v1.21 Release Notes

Release Date: 2019-03-29 // about 1 year ago
    • 🔀 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.

Previous changes from v1.20

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