8000 Release 2.4.0 by legleux · Pull Request #5334 · XRPLF/rippled · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Release 2.4.0 #5334

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 68 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
d7e9491
Add Antithesis intrumentation (#5042)
Bronek Dec 3, 2024
8215c60
test: Check for some unlikely null dereferences in tests (#5004)
ximinez Dec 3, 2024
47b0543
test: Add more test cases for Base58 parser (#5174)
ximinez Dec 3, 2024
6d58065
refactor: clean up `LedgerEntry.cpp` (#5199)
mvadari Dec 4, 2024
ea1fffe
Enforce levelization in libxrpl with CMake (#5111)
thejohnfreeman Dec 6, 2024
eabca84
Antithesis instrumentation improvements (#5213)
Bronek Dec 16, 2024
5cd72f2
Add MPTIssue to STIssue (#5200)
gregtatcam Dec 16, 2024
bcbfb04
fix: allow overlapping types in `Expected` (#5218) 8000
mvadari Dec 16, 2024
7506852
fix: Add header for set_difference (#5197)
legleux Dec 16, 2024
49e0d54
Set version to 2.4.0-b1
ximinez Dec 16, 2024
679e35f
refactor: add `rpcName` to `LEDGER_ENTRY` macro (#5202)
mvadari Jan 2, 2025
0324764
prefix Uint384 and Uint512 with Hash in server_definitions (#5231)
shawnxie999 Jan 2, 2025
040cd23
chore: add macos dependency installation (#5233)
rrmanukyan Jan 7, 2025
58af62f
XLS-46: DynamicNFT (#5048)
tequdev Jan 9, 2025
07f118c
chore: update deprecated Github Actions (#5241)
mvadari Jan 9, 2025
ccc0889
Permissioned Domains (XLS-80d) (#5161)
oleks-rip Jan 10, 2025
ff8b9aa
Fix failing assert in `connect` RPC (#5235)
mvadari Jan 14, 2025
9e4a7d5
Fix the flag processing of NFTokenModify (#5246)
tequdev Jan 16, 2025
7be5c31
Fix levelization script to ignore commented includes (#5194)
vlntb Jan 16, 2025
839d17e
fix: Use consistent CMake settings for all modules (#5228)
ximinez Jan 16, 2025
ebd8e63
Set version to 2.4.0-b2
ximinez Jan 16, 2025
eac3abd
fix: Error consistency in LedgerEntry::parsePermissionedDomains() (#5…
kuznetsss Jan 21, 2025
e1e67b2
Update branch management and merge / release processes (#5215)
ximinez Jan 23, 2025
870882f
test: Unit tests to recreate invalid index logic error (#5242)
ximinez Jan 23, 2025
20710f5
Cleanup API-CHANGELOG.md (#5207)
Bronek Jan 23, 2025
409c1d5
Add missing space character to a log message (#5251)
tequdev Jan 23, 2025
3868c04
Switch from assert to XRPL_ASSERT (#5245)
Bronek Jan 23, 2025
5fbee8c
Add [validator_list_threshold] to validators.txt to improve UNL secur…
Bronek Jan 23, 2025
ed4870c
chore: Update Visual Studio CI to VS 2022, and add VS Debug builds (#…
ximinez Jan 24, 2025
b6e3453
Update secp256k1 library to 0.6.0 (#5254)
legleux Jan 27, 2025
50b8f19
Fix CI unit tests (#5196)
oleks-rip Jan 28, 2025
dcc4581
Add RPC "simulate" to execute a dry run of a transaction (#5069)
mvadari Jan 29, 2025
3d02580
Merge remote-tracking branch 'upstream/master' into merge231
ximinez Jan 29, 2025
1b75dc8
Set version to 2.4.0-b3
ximinez Jan 30, 2025
33e1c42
Add deep freeze feature (XLS-77d) (#5187)
vvysokikh1 Jan 31, 2025
f6d6308
Improve git commit hash lookup (#5225)
ximinez Feb 5, 2025
fb3713b
Amendment `fixFrozenLPTokenTransfer` (#5227)
shawnxie999 Feb 5, 2025
02387fd
Updates Conan dependencies (#5256)
bthomee Feb 6, 2025
d9e4009
fix: issues in `simulate` RPC (#5265)
mvadari Feb 7, 2025
0968cdf
fix: Do not allow creating Permissioned Domains if credentials are no…
Bronek Feb 7, 2025
8103459
fix: Omit superfluous setCurrentThreadName call in GRPCServer.cpp (#5…
donovanhide Feb 10, 2025
fa5a854
fix: Amendment to add transaction flag checking functionality for Cre…
oleks-rip Feb 10, 2025
3a55a64
docs: Add a summary of the git commit message rules (#5283)
ximinez Feb 11, 2025
a079bac
chore: Rename missing-commits job, and combine nix job files (#5268)
ximinez Feb 12, 2025
b02b8d0
chore: Fix small typos in protocol files (#5279)
code0xff Feb 13, 2025
e8e7888
docs: ensure build_type and CMAKE_BUILD_TYPE match (#5274)
intelliot Feb 13, 2025
97e3dae
fix: Replace charge() by fee_.update() in OnMessage functions (#5269)
bthomee Feb 13, 2025
01fe947
refactor: Change recursive_mutex to mutex in DatabaseRotatingImp (#5276)
ximinez Feb 13, 2025
dc9e6c3
chore: Update XRPL Foundation public key (#5289)
Tokeiito Feb 14, 2025
7c9d652
Support canonical ledger entry names (#5271)
bthomee Feb 14, 2025
dd5e655
Reduce duplicate peer traffic for ledger data (#5126)
ximinez Feb 14, 2025
db0fad6
Log proposals and validations (#5291)
mtrippled Feb 15, 2025
466849e
docs: Clarifies default port of hosts (#5290)
bthomee Feb 15, 2025
43e1d44
fix: Switch Permissioned Domain to Supported::yes (#5287)
oleks-rip Feb 15, 2025
01fc8f2
Set version to 2.4.0-rc1
legleux Feb 18, 2025
844646d
docs: Revert peer port to 51235 (#5299)
bthomee Feb 19, 2025
159dfb5
Revert "Reduce duplicate peer traffic for ledger data (#5126)" (#5300)
ximinez Feb 19, 2025
dce3e1e
Add logging and improve counting of amendment votes from UNL (#5173)
ximinez Feb 20, 2025
ab44cc3
Set version to 2.4.0-rc2
legleux Feb 20, 2025
9745718
fix: Remove 'new parent hash' assert (#5313)
Bronek Feb 25, 2025
37d06bc
Fix Replace `assert` with `XRPL_ASSERT` (#5312)
Bronek Feb 25, 2025
cd7c628
fix: Acquire previously failed transaction set from network as new pr…
mtrippled Feb 26, 2025
0a1ca06
Set version to 2.4.0-rc3
legleux Feb 26, 2025
af018c7
Log detailed correlated consensus data together (#5302)
mtrippled Feb 27, 2025
c1c2b5b
chore: Move "assert" and "werr" flags from "actions/build" (#5325)
ximinez Feb 28, 2025
53ea31c
chore: Update XRPL Foundation Validator List URL (#5326)
Tokeiito Feb 28, 2025
5bf3a30
Set version to 2.4.0-rc4
legleux Mar 3, 2025
8446e29
Set version to 2.4.0
legleux Mar 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/actions/dependencies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ runs:
conan export external/snappy snappy/1.1.10@
conan export external/rocksdb rocksdb/6.29.5@
conan export external/soci soci/4.0.3@
conan export external/nudb nudb/2.0.8@
- name: add Ripple Conan remote
shell: bash
run: |
Expand Down
96 changes: 48 additions & 48 deletions .github/workflows/clang-format.yml
exit 1
Original file line number Diff line number Diff line change
Expand Up @@ -8,52 +8,52 @@ jobs:
env:
CLANG_VERSION: 18
steps:
- uses: actions/checkout@v4
- name: Install clang-format
run: |
codename=$( lsb_release --codename --short )
sudo tee /etc/apt/sources.list.d/llvm.list >/dev/null <<EOF
deb http://apt.llvm.org/${codename}/ llvm-toolchain-${codename}-${CLANG_VERSION} main
deb-src http://apt.llvm.org/${codename}/ llvm-toolchain-${codename}-${CLANG_VERSION} main
EOF
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add
sudo apt-get update
sudo apt-get install clang-format-${CLANG_VERSION}
- name: Format first-party sources
run: find include src -type f \( -name '*.cpp' -o -name '*.hpp' -o -name '*.h' -o -name '*.ipp' \) -exec clang-format-${CLANG_VERSION} -i {} +
- name: Check for differences
id: assert
run: |
set -o pipefail
git diff --exit-code | tee "clang-format.patch"
- name: Upload patch
if: failure() && steps.assert.outcome == 'failure'
uses: actions/upload-artifact@v3
continue-on-error: true
with:
name: clang-format.patch
if-no-files-found: ignore
path: clang-format.patch
- name: What happened?
if: failure() && steps.assert.outcome == 'failure'
env:
PREAMBLE: |
If you are reading this, you are looking at a failed Github Actions
job. That means you pushed one or more files that did not co 8000 nform
to the formatting specified in .clang-format. That may be because
you neglected to run 'git clang-format' or 'clang-format' before
committing, or that your version of clang-format has an
incompatibility with the one on this
machine, which is:
SUGGESTION: |
- uses: actions/checkout@v4
- name: Install clang-format
run: |
codename=$( lsb_release --codename --short )
sudo tee /etc/apt/sources.list.d/llvm.list >/dev/null <<EOF
deb http://apt.llvm.org/${codename}/ llvm-toolchain-${codename}-${CLANG_VERSION} main
deb-src http://apt.llvm.org/${codename}/ llvm-toolchain-${codename}-${CLANG_VERSION} main
EOF
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add
sudo apt-get update
sudo apt-get install clang-format-${CLANG_VERSION}
- name: Format first-party sources
run: find include src -type f \( -name '*.cpp' -o -name '*.hpp' -o -name '*.h' -o -name '*.ipp' \) -exec clang-format-${CLANG_VERSION} -i {} +
- name: Check for differences
id: assert
run: |
set -o pipefail
git diff --exit-code | tee "clang-format.patch"
- name: Upload patch
if: failure() && steps.assert.outcome == 'failure'
uses: actions/upload-artifact@v4
continue-on-error: true
with:
name: clang-format.patch
if-no-files-found: ignore
path: clang-format.patch
- name: What happened?
if: failure() && steps.assert.outcome == 'failure'
env:
PREAMBLE: |
If you are reading this, you are looking at a failed Github Actions
job. That means you pushed one or more files that did not conform
to the formatting specified in .clang-format. That may be because
you neglected to run 'git clang-format' or 'clang-format' before
committing, or that your version of clang-format has an
incompatibility with the one on this
machine, which is:
SUGGESTION: |

To fix it, you can do one of two things:
1. Download and apply the patch generated as an artifact of this
job to your repo, commit, and push.
2. Run 'git-clang-format --extensions cpp,h,hpp,ipp develop'
in your repo, commit, and push.
run: |
echo "${PREAMBLE}"
clang-format-${CLANG_VERSION} --version
echo "${SUGGESTION}"
To fix it, you can do one of two things:
1. Download and apply the patch generated as an artifact of this
job to your repo, commit, and push.
2. Run 'git-clang-format --extensions cpp,h,hpp,ipp develop'
in your repo, commit, and push.
run: |
echo "${PREAMBLE}"
clang-format-${CLANG_VERSION} --version
echo "${SUGGESTION}"
exit 1
72 changes: 36 additions & 36 deletions .github/workflows/levelization.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,42 +8,42 @@ jobs:
env:
CLANG_VERSION: 10
steps:
- uses: actions/checkout@v4
- name: Check levelization
run: Builds/levelization/levelization.sh
- name: Check for differences
id: assert
run: |
set -o pipefail
git diff --exit-code | tee "levelization.patch"
- name: Upload patch
if: failure() && steps.assert.outcome == 'failure'
uses: actions/upload-artifact@v3
continue-on-error: true
with:
name: levelization.patch
if-no-files-found: ignore
path: levelization.patch
- name: What happened?
if: failure() && steps.assert.outcome == 'failure'
env:
MESSAGE: |
If you are reading this, you are looking at a failed Github
Actions job. That means you changed the dependency relationships
between the modules in rippled. That may be an improvement or a
regression. This check doesn't judge.
- uses: actions/checkout@v4
- name: Check levelization
run: Builds/levelization/levelization.sh
- name: Check for differences
id: assert
run: |
set -o pipefail
git diff --exit-code | tee "levelization.patch"
- name: Upload patch
if: failure() && steps.assert.outcome == 'failure'
uses: actions/upload-artifact@v4
continue-on-error: true
with:
name: levelization.patch
if-no-files-found: ignore
path: levelization.patch
- name: What happened?
if: failure() && steps.assert.outcome == 'failure'
env:
MESSAGE: |
If you are reading this, you are looking at a failed Github
Actions job. That means you changed the dependency relationships
between the modules in rippled. That may be an improvement or a
regression. This check doesn't judge.

A rule of thumb, though, is that if your changes caused
something to be removed from loops.txt, that's probably an
improvement. If something was added, it's probably a regression.
A rule of thumb, though, is that if your changes caused
something to be removed from loops.txt, that's probably an
improvement. If something was added, it's probably a regression.

To fix it, you can do one of two things:
1. Download and apply the patch generated as an artifact of this
job to your repo, commit, and push.
2. Run './Builds/levelization/levelization.sh' in your repo,
commit, and push.
To fix it, you can do one of two things:
1. Download and apply the patch generated as an artifact of this
job to your repo, commit, and push.
2. Run './Builds/levelization/levelization.sh' in your repo,
commit, and push.

See Builds/levelization/README.md for more info.
run: |
echo "${MESSAGE}"
exit 1
See Builds/levelization/README.md for more info.
run: |
echo "${MESSAGE}"
exit 1
28 changes: 26 additions & 2 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on:
pull_request:
push:
# If the branches list is ever changed, be sure to change it on all
# build/test jobs (nix, macos, windows)
# build/test jobs (nix, macos, windows, instrumentation)
branches:
# Always build the package branches
- develop
Expand Down Expand Up @@ -41,13 +41,34 @@ jobs:
- name: install Ninja
if: matrix.generator == 'Ninja'
run: brew install ninja
- name: install python
run: |
if which python > /dev/null 2>&1; then
echo "Python executable exists"
else
brew install python@3.13
ln -s /opt/homebrew/bin/python3 /opt/homebrew/bin/python
fi
- name: install cmake
run: |
if which cmake > /dev/null 2>&1; then
echo "cmake executable exists"
else
brew install cmake
fi
- name: install nproc
run: |
brew install coreutils
- name: check environment
run: |
env | sort
echo ${PATH} | tr ':' '\n'
python --version
conan --version
cmake --version
nproc --version
echo -n "nproc returns: "
nproc
- name: configure Conan
run : |
conan profile new default --detect || true
Expand All @@ -66,6 +87,9 @@ jobs:
with:
generator: ${{ matrix.generator }}
configuration: ${{ matrix.configuration }}
cmake-args: "-Dassert=TRUE -Dwerr=TRUE ${{ matrix.cmake-args }}"
- name: test
run: |
${build_dir}/rippled --unittest
n=$(nproc)
echo "Using $n test jobs"
${build_dir}/rippled --unittest --unittest-jobs $n
60 changes: 60 additions & 0 deletions .github/workflows/missing-commits.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: missing-commits

on:
push:
branches:
# Only check that the branches are up to date when updating the
# relevant branches.
- develop
- release

jobs:
up_to_date:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check for missing commits
id: commits
env:
SUGGESTION: |

If you are reading this, then the commits indicated above are
missing from "develop" and/or "release". Do a reverse-merge
as soon as possible. See CONTRIBUTING.md for instructions.
run: |
set -o pipefail
# Branches ordered by how "canonical" they are. Every commit in
# one branch should be in all the branches behind it
order=( master release develop )
branches=()
for branch in "${order[@]}"
do
# Check that the branches exist so that this job will work on
# forked repos, which don't necessarily have master and
# release branches.
if git ls-remote --exit-code --heads origin \
refs/heads/${branch} > /dev/null
then
branches+=( origin/${branch} )
fi
done

prior=()
for branch in "${branches[@]}"
do
if [[ ${#prior[@]} -ne 0 ]]
then
echo "Checking ${prior[@]} for commits missing from ${branch}"
git log --oneline --no-merges "${prior[@]}" \
^$branch | tee -a "missing-commits.txt"
echo
fi
prior+=( "${branch}" )
done
if [[ $( cat missing-commits.txt | wc -l ) -ne 0 ]]
then
echo "${SUGGESTION}"
exit 1
fi
Loading
Loading
0