diff --git a/CHANGELOG.md b/CHANGELOG.md index f316b7fa..cf06e942 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ HEAD * Removed `JsonBuffer::createArray()` and `createObject()` * Removed `printTo()` and `prettyPrintTo()` * Removed `measureLength()` and `measurePrettyLength()` +* Removed all deprecated features > ### BREAKING CHANGES > diff --git a/src/ArduinoJson/Configuration.hpp b/src/ArduinoJson/Configuration.hpp index 82483adf..2d0d1476 100644 --- a/src/ArduinoJson/Configuration.hpp +++ b/src/ArduinoJson/Configuration.hpp @@ -130,11 +130,6 @@ #endif #endif -// Enable deprecated functions by default -#ifndef ARDUINOJSON_ENABLE_DEPRECATED -#define ARDUINOJSON_ENABLE_DEPRECATED 1 -#endif - // Control the exponentiation threshold for big numbers // CAUTION: cannot be more that 1e9 !!!! #ifndef ARDUINOJSON_POSITIVE_EXPONENTIATION_THRESHOLD diff --git a/src/ArduinoJson/JsonArray.hpp b/src/ArduinoJson/JsonArray.hpp index 2a9dc26d..c050cf7e 100644 --- a/src/ArduinoJson/JsonArray.hpp +++ b/src/ArduinoJson/JsonArray.hpp @@ -180,13 +180,6 @@ class JsonArray : public Internals::ReferenceType, } } -#if ARDUINOJSON_ENABLE_DEPRECATED - DEPRECATED("use remove() instead") - FORCE_INLINE void removeAt(size_t index) { - return remove(index); - } -#endif - private: template bool set_impl(size_t index, TValueRef value) { diff --git a/src/ArduinoJson/JsonArraySubscript.hpp b/src/ArduinoJson/JsonArraySubscript.hpp index de40afc1..a9633991 100644 --- a/src/ArduinoJson/JsonArraySubscript.hpp +++ b/src/ArduinoJson/JsonArraySubscript.hpp @@ -73,14 +73,6 @@ class JsonArraySubscript : public JsonVariantBase { FORCE_INLINE bool set(TValue* value) { return _array.set(_index, value); } - // - // bool set(TValue, uint8_t decimals); - // TValue = float, double - template - DEPRECATED("Second argument is not supported anymore") - FORCE_INLINE bool set(const TValue& value, uint8_t) { - return _array.set(_index, value); - } private: JsonArray& _array; diff --git a/src/ArduinoJson/JsonBuffer.hpp b/src/ArduinoJson/JsonBuffer.hpp index f49f423c..1bd434ce 100644 --- a/src/ArduinoJson/JsonBuffer.hpp +++ b/src/ArduinoJson/JsonBuffer.hpp @@ -24,25 +24,6 @@ class JsonObject; // fixed memory allocation. class JsonBuffer : Internals::NonCopyable { public: - // Duplicates a string - // - // const char* strdup(TValue); - // TValue = const std::string&, const String&, - template - DEPRECATED("char* are duplicated, you don't need strdup() anymore") - typename Internals::EnableIf::value, - const char *>::type strdup(const TString &src) { - return Internals::StringTraits::duplicate(src, this); - } - // - // const char* strdup(TValue); - // TValue = char*, const char*, const FlashStringHelper* - template - DEPRECATED("char* are duplicated, you don't need strdup() anymore") - const char *strdup(TString *src) { - return Internals::StringTraits::duplicate(src, this); - } - // Allocates n bytes in the JsonBuffer. // Return a pointer to the allocated memory or NULL if allocation fails. virtual void *alloc(size_t size) = 0; diff --git a/src/ArduinoJson/JsonObject.hpp b/src/ArduinoJson/JsonObject.hpp index d182ae7a..502cc038 100644 --- a/src/ArduinoJson/JsonObject.hpp +++ b/src/ArduinoJson/JsonObject.hpp @@ -112,29 +112,6 @@ class JsonObject : public Internals::ReferenceType, bool set(TString* key, TValue* value) { return set_impl(key, value); } - // - // bool set(TKey, TValue, uint8_t decimals); - // TKey = const std::string&, const String& - // TValue = float, double - template - DEPRECATED("Second argument is not supported anymore") - typename Internals::EnableIf::value, - bool>::type - set(const TString& key, TValue value, uint8_t) { - return set_impl(key, - JsonVariant(value)); - } - // - // bool set(TKey, TValue, uint8_t decimals); - // TKey = char*, const char*, const FlashStringHelper* - // TValue = float, double - template - DEPRECATED("Second argument is not supported anymore") - typename Internals::EnableIf::value, - bool>::type - set(TString* key, TValue value, uint8_t) { - return set_impl(key, JsonVariant(value)); - } // Gets the value associated with the specified key. // diff --git a/src/ArduinoJson/JsonObjectSubscript.hpp b/src/ArduinoJson/JsonObjectSubscript.hpp index e108f3f5..832d0ca9 100644 --- a/src/ArduinoJson/JsonObjectSubscript.hpp +++ b/src/ArduinoJson/JsonObjectSubscript.hpp @@ -81,14 +81,6 @@ class JsonObjectSubscript FORCE_INLINE bool set(const TValue* value) { return _object.set(_key, value); } - // - // bool set(TValue, uint8_t decimals); - // TValue = float, double - template - DEPRECATED("Second argument is not supported anymore") - FORCE_INLINE bool set(const TValue& value, uint8_t) { - return _object.set(_key, value); - } private: JsonObject& _object; diff --git a/src/ArduinoJson/JsonVariant.hpp b/src/ArduinoJson/JsonVariant.hpp index 9fffb4af..598df822 100644 --- a/src/ArduinoJson/JsonVariant.hpp +++ b/src/ArduinoJson/JsonVariant.hpp @@ -65,15 +65,6 @@ class JsonVariant : public Internals::JsonVariantBase { _type = JSON_FLOAT; _content.asFloat = static_cast(value); } - template - DEPRECATED("Second argument is not supported anymore") - JsonVariant(T value, uint8_t, - typename Internals::EnableIf< - Internals::IsFloatingPoint::value>::type * = 0) { - using namespace Internals; - _type = JSON_FLOAT; - _content.asFloat = static_cast(value); - } // Create a JsonVariant containing an integer value. // JsonVariant(char) @@ -355,14 +346,4 @@ class JsonVariant : public Internals::JsonVariantBase { // The various alternatives for the value of the variant. Internals::JsonVariantContent _content; }; - -DEPRECATED("Decimal places are ignored, use the float value instead") -inline JsonVariant float_with_n_digits(float value, uint8_t) { - return JsonVariant(value); -} - -DEPRECATED("Decimal places are ignored, use the double value instead") -inline JsonVariant double_with_n_digits(double value, uint8_t) { - return JsonVariant(value); -} } // namespace ArduinoJson diff --git a/src/ArduinoJson/JsonVariantCasts.hpp b/src/ArduinoJson/JsonVariantCasts.hpp index 68f5bd7d..3f4ee018 100644 --- a/src/ArduinoJson/JsonVariantCasts.hpp +++ b/src/ArduinoJson/JsonVariantCasts.hpp @@ -13,23 +13,6 @@ namespace Internals { template class JsonVariantCasts { public: -#if ARDUINOJSON_ENABLE_DEPRECATED - DEPRECATED("use as() instead") - FORCE_INLINE JsonArray &asArray() const { - return impl()->template as(); - } - - DEPRECATED("use as() instead") - FORCE_INLINE JsonObject &asObject() const { - return impl()->template as(); - } - - DEPRECATED("use as() instead") - FORCE_INLINE const char *asString() const { - return impl()->template as(); - } -#endif - // Gets the variant as an array. // Returns a reference to the JsonArray or JsonArray::invalid() if the // variant @@ -55,5 +38,5 @@ class JsonVariantCasts { return static_cast(this); } }; -} -} +} // namespace Internals +} // namespace ArduinoJson diff --git a/test/Misc/CMakeLists.txt b/test/Misc/CMakeLists.txt index 0b54bd7b..28e273d0 100644 --- a/test/Misc/CMakeLists.txt +++ b/test/Misc/CMakeLists.txt @@ -3,7 +3,6 @@ # MIT License add_executable(MiscTests - deprecated.cpp FloatParts.cpp std_stream.cpp std_string.cpp diff --git a/test/Misc/deprecated.cpp b/test/Misc/deprecated.cpp deleted file mode 100644 index b84ad65c..00000000 --- a/test/Misc/deprecated.cpp +++ /dev/null @@ -1,140 +0,0 @@ -// ArduinoJson - arduinojson.org -// Copyright Benoit Blanchon 2014-2018 -// MIT License - -#define ARDUINOJSON_ENABLE_DEPRECATED 1 - -#include -#include - -#if defined(__clang__) -#pragma clang diagnostic ignored "-Wdeprecated-declarations" -#elif defined(__GNUC__) -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#elif defined(_MSC_VER) -#pragma warning(disable : 4996) -#endif - -TEST_CASE("Deprecated functions") { - SECTION("JsonVariant::asArray()") { - DynamicJsonArray array; - JsonVariant variant = array; - REQUIRE(variant.asArray().success()); - } - - SECTION("JsonVariant::asObject()") { - DynamicJsonObject obj; - JsonVariant variant = obj; - REQUIRE(variant.asObject().success()); - } - - SECTION("JsonVariant::asString()") { - JsonVariant variant = "hello"; - REQUIRE(std::string("hello") == variant.asString()); - } - - SECTION("JsonArray::removeAt()") { - DynamicJsonArray arr; - arr.removeAt(0); - } - - SECTION("JsonVariant::JsonVariant(float, uint8_t)") { - JsonVariant variant(3.14f, 2); - REQUIRE(variant == 3.14f); - } - - SECTION("JsonVariant::JsonVariant(double, uint8_t)") { - JsonVariant variant(3.14, 2); - REQUIRE(variant == 3.14); - } - - SECTION("float_with_n_digits()") { - JsonVariant variant = float_with_n_digits(3.14f, 4); - REQUIRE(variant == 3.14f); - } - - SECTION("double_with_n_digits()") { - JsonVariant variant = double_with_n_digits(3.14f, 4); - REQUIRE(variant == 3.14f); - } - - SECTION("JsonArraySubscript::set(double, uint8_t)") { - DynamicJsonArray arr; - arr.add(666); - arr[0].set(123.45, 2); - REQUIRE(123.45 == arr[0].as()); - REQUIRE(true == arr[0].is()); - REQUIRE(false == arr[0].is()); - } - - SECTION("JsonArray::add(double, uint8_t)") { - DynamicJsonArray arr; - arr.add(3.14159265358979323846, 4); - } - - SECTION("JsonArray::add(float, uint8_t)") { - DynamicJsonArray arr; - arr.add(3.14159265358979323846f, 4); - } - - SECTION("JsonObject::set(unsigned char[], double, uint8_t)") { - unsigned char key[] = "hello"; - - DynamicJsonObject obj; - obj.set(key, 3.14, 2); - - REQUIRE(3.14 == obj["hello"]); - } - - SECTION("JsonObject::set(const char*, double, uint8_t)") { - DynamicJsonObject obj; - obj.set("hello", 123.45, 2); - - REQUIRE(123.45 == obj["hello"].as()); - REQUIRE(obj["hello"].is()); - REQUIRE_FALSE(obj["hello"].is()); - } - - SECTION("JsonObjectSubscript::set(double, uint8_t)") { - DynamicJsonObject obj; - obj["hello"].set(123.45, 2); - - REQUIRE(true == obj["hello"].is()); - REQUIRE(false == obj["hello"].is()); - REQUIRE(123.45 == obj["hello"].as()); - } -} - -TEST_CASE("DynamicJsonBuffer::strdup()") { - DynamicJsonBuffer buffer; - - SECTION("char*") { - char original[] = "hello"; - const char* copy = buffer.strdup(original); - strcpy(original, "world"); - REQUIRE(std::string("hello") == copy); - } - - SECTION("unsigned char*") { - unsigned char value[] = "world"; - - DynamicJsonBuffer jsonBuffer; - const char* dup = jsonBuffer.strdup(value); - - REQUIRE(static_cast(value) != static_cast(dup)); - REQUIRE(std::string("world") == dup); - } - - SECTION("std::string") { - std::string original("hello"); - const char* copy = buffer.strdup(original); - original[0] = 'w'; - REQUIRE(std::string("hello") == copy); - } - - SECTION("NULL") { - const char* original = NULL; - const char* copy = buffer.strdup(original); - REQUIRE(0 == copy); - } -}