diff --git a/CMakeLists.txt b/CMakeLists.txt index 3c75045af..6ad9c0610 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ include(EthPolicy) eth_policy() # project name and version should be set after cmake_policy CMP0048 -set(PROJECT_VERSION "0.4.0") +set(PROJECT_VERSION "0.4.1") project(solidity VERSION ${PROJECT_VERSION}) # Let's find our dependencies diff --git a/cmake/scripts/buildinfo.cmake b/cmake/scripts/buildinfo.cmake index 963c74e4b..e2f8cb3eb 100644 --- a/cmake/scripts/buildinfo.cmake +++ b/cmake/scripts/buildinfo.cmake @@ -48,7 +48,7 @@ if (SOL_COMMIT_HASH) endif() if (SOL_COMMIT_HASH AND SOL_LOCAL_CHANGES) - set(SOL_COMMIT_HASH "${SOL_COMMIT_HASH}-mod") + set(SOL_COMMIT_HASH "${SOL_COMMIT_HASH}.mod") endif() if (NOT SOL_COMMIT_HASH) diff --git a/libsolidity/interface/Version.cpp b/libsolidity/interface/Version.cpp index 31ba4afc1..0dca1cedc 100644 --- a/libsolidity/interface/Version.cpp +++ b/libsolidity/interface/Version.cpp @@ -58,12 +58,14 @@ bytes dev::solidity::binaryVersion() solAssert(i < VersionString.size() && VersionString[i] == '.', ""); ++i; ret.push_back(byte(parseDecimal())); - solAssert(i < VersionString.size() && VersionString[i] == '-', ""); + solAssert(i < VersionString.size() && (VersionString[i] == '-' || VersionString[i] == '+'), ""); ++i; + size_t commitpos = VersionString.find("commit."); + solAssert(commitpos != string::npos, ""); + i = commitpos + 7; solAssert(i + 7 < VersionString.size(), ""); bytes commitHash = fromHex(VersionString.substr(i, 8)); - if (commitHash.empty()) - commitHash = bytes(4, 0); + solAssert(!commitHash.empty(), ""); ret += commitHash; solAssert(ret.size() == 1 + 3 + 4, ""); diff --git a/scripts/travis-emscripten/publish_binary.sh b/scripts/travis-emscripten/publish_binary.sh index d202764a0..e89e3ce3e 100755 --- a/scripts/travis-emscripten/publish_binary.sh +++ b/scripts/travis-emscripten/publish_binary.sh @@ -34,7 +34,7 @@ VER=$(cat CMakeLists.txt | grep 'set(PROJECT_VERSION' | sed -e 's/.*set(PROJECT_ test -n "$VER" VER="v$VER" COMMIT=$(git rev-parse --short HEAD) -DATE=$(date --date="$(git log -1 --date=iso --format=%ad HEAD)" --utc +%F) +DATE=$(date --date="$(git log -1 --date=iso --format=%ad HEAD)" --utc +%Y.%m.%d) ENCRYPTED_KEY_VAR="encrypted_${ENCRYPTION_LABEL}_key" ENCRYPTED_IV_VAR="encrypted_${ENCRYPTION_LABEL}_iv" @@ -52,14 +52,14 @@ git config user.email "chris@ethereum.org" git checkout -B gh-pages origin/gh-pages git clean -f -d -x # We only want one release per day and we do not want to push the same commit twice. -if ls ./bin/soljson-"$VER-$DATE"-*.js || ls ./bin/soljson-*-"$COMMIT.js" +if ls ./bin/soljson-"$VER-nightly.$DATE"-*.js || ls ./bin/soljson-*"commit.$COMMIT.js" then echo "Not publishing, we already published this version today." exit 0 fi # This file is assumed to be the product of the build_emscripten.sh script. -cp ../soljson.js ./bin/"soljson-$VER-$DATE-$COMMIT.js" +cp ../soljson.js ./bin/"soljson-$VER-nightly.$DATE+commit.$COMMIT.js" node ./update cd bin LATEST=$(ls -r soljson-v* | head -n 1) diff --git a/test/contracts/AuctionRegistrar.cpp b/test/contracts/AuctionRegistrar.cpp index 05da34901..277de4eb2 100644 --- a/test/contracts/AuctionRegistrar.cpp +++ b/test/contracts/AuctionRegistrar.cpp @@ -39,7 +39,7 @@ namespace { static char const* registrarCode = R"DELIMITER( -pragma solidity ^0.3.5; +pragma solidity ^0.4.0; contract NameRegister { function addr(string _name) constant returns (address o_owner); diff --git a/test/contracts/FixedFeeRegistrar.cpp b/test/contracts/FixedFeeRegistrar.cpp index af8ee5950..736015fae 100644 --- a/test/contracts/FixedFeeRegistrar.cpp +++ b/test/contracts/FixedFeeRegistrar.cpp @@ -52,7 +52,7 @@ static char const* registrarCode = R"DELIMITER( // @authors: // Gav Wood -pragma solidity ^0.3.5; +pragma solidity ^0.4.0; contract Registrar { event Changed(string indexed name); diff --git a/test/contracts/Wallet.cpp b/test/contracts/Wallet.cpp index b4f29a872..cfc630d4f 100644 --- a/test/contracts/Wallet.cpp +++ b/test/contracts/Wallet.cpp @@ -55,7 +55,7 @@ static char const* walletCode = R"DELIMITER( // some number (specified in constructor) of the set of owners (specified in the constructor, modifiable) before the // interior is executed. -pragma solidity ^0.3.5; +pragma solidity ^0.4.0; contract multiowned { diff --git a/test/libsolidity/SolidityEndToEndTest.cpp b/test/libsolidity/SolidityEndToEndTest.cpp index 3c85d8a85..7ee5700c7 100644 --- a/test/libsolidity/SolidityEndToEndTest.cpp +++ b/test/libsolidity/SolidityEndToEndTest.cpp @@ -5961,7 +5961,7 @@ BOOST_AUTO_TEST_CASE(version_stamp_for_libraries) bytes runtimeCode = compileAndRun(sourceCode, 0, "lib"); BOOST_CHECK(runtimeCode.size() >= 8); BOOST_CHECK_EQUAL(runtimeCode[0], int(Instruction::PUSH6)); // might change once we switch to 1.x.x - BOOST_CHECK_EQUAL(runtimeCode[1], 3); // might change once we switch away from x.3.x + BOOST_CHECK_EQUAL(runtimeCode[1], 4); // might change once we switch away from x.4.x BOOST_CHECK_EQUAL(runtimeCode[7], int(Instruction::POP)); }