Upgrade to protobuf 24.4 #6310
Open
biodranik wants to merge 3 commits from
protobuf-24.4
into master
pull from: protobuf-24.4
merge into: organicmaps:master
organicmaps:master
organicmaps:release/2025.04.19
organicmaps:weblate-i18n
organicmaps:cicd
organicmaps:pastk-relnotes
organicmaps:pastk-data
organicmaps:github/fork/AndrewShkrob/android-auto/car-location
organicmaps:ios/pp-for-track-recording
organicmaps:redauburn-patch-1
organicmaps:ios/route-preview-redesign
organicmaps:rt-android-splashscreen-android12
organicmaps:geojson-support
organicmaps:github/fork/Raghaddahi/fix/1566-url-class-bugs
organicmaps:github/fork/rebustj/fix/coredata-crashes
organicmaps:github/fork/hemanggs/zoom-button-fix
organicmaps:github/fork/hemanggs/styles-poi
organicmaps:github/fork/AndrewShkrob/ci/cmake-workflow
organicmaps:beta/ios-hotfix-search
organicmaps:github/fork/sddzhyc/master
organicmaps:ios/search-fix-to-child-vc
organicmaps:github/fork/savsch/feat/android-modal-search
organicmaps:github/fork/RedAuburn/temp-auto-fix
organicmaps:github/fork/RedAuburn/rework-theme-system
organicmaps:github/fork/rimas-kudelis/sound-strings-lt
organicmaps:github/fork/coderang-gk/feature-homescreen-widget-bookmark
organicmaps:github/fork/AndrewShkrob/android/sdk-om
organicmaps:github/fork/FedericoCeratto/reuse-sbom
organicmaps:github/fork/gpesquero/my_location
organicmaps:github/fork/DevarshVasani/DownloadingError-Message
organicmaps:github/fork/DevarshVasani/handle-surface-destruction
organicmaps:github/fork/Strubbl/Strubbl-patch-1
organicmaps:github/fork/RedAuburn/mastodon-bluesky
organicmaps:github/fork/CrazyStevenz/patch-2
organicmaps:ios/update-toast-ui
organicmaps:pastk-generator-genorder
organicmaps:pastk-autogen-subways
organicmaps:github/fork/meenbeese/integrate-sonarcloud
organicmaps:github/fork/dmitrygribenchuk/localization_cleanup
organicmaps:github/fork/coderang-gk/android-transparent-navbar-light-mode
organicmaps:ios/add-icons-to-the-live-activity-widget
organicmaps:github/fork/hemanggs/parse-coordinate-links
organicmaps:github/fork/gpesquero/intermediate_points
organicmaps:ios/fix-search-on-map-tests-for-ipad
organicmaps:release/2025.03.02
organicmaps:github/fork/RedAuburn/always-update-fast
organicmaps:pastk-drape-subways-greying-out
organicmaps:ios/update-search-vc-ui
organicmaps:github/fork/Isira-Seneviratne/AudioManagerCompat
organicmaps:alpha/2025.02.23
organicmaps:crowdin-master
organicmaps:l10n
organicmaps:github/fork/soshial/generate-taginfo-json
organicmaps:github/fork/DeshDeepakKant/ui/improve-description-display-9943
organicmaps:github/fork/hemanggs/increase-touch-area
organicmaps:ios/search-ui-redesign
organicmaps:ios/show-new-search-vc-from-the-route-building
organicmaps:release/2025.01.24
organicmaps:github/fork/savsch/fix/android-pp-bookmark-edit-issue2418
organicmaps:github/fork/renderexpert/remove_gles2
organicmaps:github/fork/Osyotr/windows-unittests
organicmaps:github/fork/AndrewShkrob/android/world-maps-for-all-flavors
organicmaps:github/fork/RedAuburn/splashscreen-android12
organicmaps:drop-appstream-glib
organicmaps:separate-locationservice-lib
organicmaps:github/fork/gpesquero/remove_speed_display
organicmaps:github/fork/zeac/feature/1
organicmaps:github/fork/DeshDeepakKant/fix/building_levels_hint
organicmaps:github/fork/gpesquero/route_plan
organicmaps:github/fork/IsiGebauer/StylingMtbTrails
organicmaps:github/fork/DeshDeepakKant/Mobile-Internet-Settings
organicmaps:release/2025.01.12
organicmaps:github/fork/AndrewShkrob/actions/cpp-codestyle-check
organicmaps:github/fork/AndrewShkrob/clang-format
organicmaps:int/anrdoid-auto/permissions-screen
organicmaps:rt-docs-release-management-principles
organicmaps:generator-wikipedia
organicmaps:generator-actions
organicmaps:generator-subways
organicmaps:ios/enable-cpp-swift-interop
organicmaps:github/fork/map-per/sand
organicmaps:pastk-docs-values
organicmaps:fix-deprecated-atomic-load
organicmaps:rt-docs-communication
organicmaps:rt-docs-collaboration
organicmaps:github/fork/meenbeese/bsdiff
organicmaps:github/fork/meenbeese/karabakh
organicmaps:github/fork/AndrewShkrob/android-auto/location-off
organicmaps:ios/fix-compile-warnings-and-cleanup-unsupported-code
organicmaps:rt-ios-managed-signing
organicmaps:github/fork/IsiGebauer/AllowDirToBeEmpty
organicmaps:ios/fix-ios-test-ci-action-failure
organicmaps:ab-ios-bookmarks-last-category
organicmaps:github/fork/IdeallyGrey/swap-abandoned-disused-rail-rendering
organicmaps:github/fork/meenbeese/atomic-shared-ptr
organicmaps:pastk-docs-teams
organicmaps:qt-3d-preferences
organicmaps:github/fork/TobiPeterG/cur-speed-widget
organicmaps:fix-file-read-exception
organicmaps:fix-track-length-calculation
organicmaps:github/fork/kavikhalique/foreground-crash-fix
organicmaps:github/fork/meenbeese/py-rewrite
organicmaps:pastk-styles-feature-types-migration
organicmaps:release/24.11.27
organicmaps:github/fork/AndrewShkrob/docker/ubuntu-container
organicmaps:alpha/2024.11.26
organicmaps:beta/2024.11.26
organicmaps:github/fork/AndrewShkrob/refactoring/network
organicmaps:github/fork/Ferenc-/cmake-moc-workaround
organicmaps:github/fork/Ferenc-/qt-touchpad-rotate
organicmaps:ab-tests-macro-fixes
organicmaps:ios/track-recording-fifth-bar-button
organicmaps:github/fork/kavikhalique/expand-touch
organicmaps:vng-fix
organicmaps:release/24.11.12
organicmaps:alpha/2024.11.10
organicmaps:vng-langs
organicmaps:github/fork/DevarshVasani/enable-strict-mode
organicmaps:patch-3
organicmaps:release/2024.10.22
organicmaps:alpha/2024.10.22
organicmaps:beta/2024.10.22
organicmaps:github/fork/gpesquero/separators
organicmaps:github/fork/Piaszczysty/route-arrow-fix
organicmaps:place-page-for-tracks-backup
organicmaps:github/fork/RedAuburn/profile-image
organicmaps:github/fork/AndrewShkrob/magic-enums
organicmaps:release/2024.10.08
organicmaps:release/2024.10.04
organicmaps:github/fork/AndrewShkrob/data/resources-refactoring
organicmaps:github/fork/AndrewShkrob/data/move-fonts
organicmaps:github/fork/AndrewShkrob/core/autogenerate-translations
organicmaps:github/fork/shakhat/feature-#7358
organicmaps:alpha/2024.10.01
organicmaps:vng-search
organicmaps:github/fork/gpesquero/drape_locale
organicmaps:beta/2024.09.19
organicmaps:release/2024.09.19
organicmaps:rdb-weblate
organicmaps:release/2024.09.08
organicmaps:github/fork/alnzrv/wikimedia-fix
organicmaps:android/speed-limit-exceed-flag
organicmaps:alpha/2024.09.03
organicmaps:alpha/2024.09.03-ios-track-recording-feature
organicmaps:mb-PendingIntent-requestCode-fix
organicmaps:alpha/2024.08.29
organicmaps:add-timestamps-to-track
organicmaps:ab-ios-crash-on-assert
organicmaps:github/fork/dmfrodrigues/place-panel
organicmaps:github/fork/Tmpod/tmpod-alt-routes
organicmaps:github/fork/zyphlar/hyphenate_interpolated_addresses
organicmaps:alpha/2024.08.25-ios-track-recording-feature
organicmaps:alpha/2024.08.29-ios-track-recording-feature
organicmaps:github/fork/cortadocodes/create-reproducible-build-dockerfile
organicmaps:github/fork/dvdmrtnz/taginfo
organicmaps:github/fork/gpesquero/display_next_stop
organicmaps:android/speed-limit-threshold
organicmaps:android-oauth2-with-browser
organicmaps:release/2024.08.17
organicmaps:changes-from-release
organicmaps:release/2024.08.15
organicmaps:alpha-iOS-Bluetooth
organicmaps:github/fork/RedAuburn/dynamic-sidewalk-name
organicmaps:github/fork/Jean-BaptisteC/linkify_desc
organicmaps:github/fork/Jean-BaptisteC/phone_fab
organicmaps:github/fork/Jean-BaptisteC/download_screen
organicmaps:rdb-cldr-plural-order
organicmaps:ab-unused-code
organicmaps:ab-android-location-fix
organicmaps:recent-track-recorder
organicmaps:ab-cleaner-shutdown
organicmaps:localized_address_ordering
organicmaps:github/fork/gpesquero/speed_class
organicmaps:github/fork/Tmpod/task/improve-clangd-support
organicmaps:ab-android-layer-button-highlight
organicmaps:weblate
organicmaps:release/2024.07.08
organicmaps:alpha/2024.07.25-rtsisyk-ios-test
organicmaps:github/fork/willcohen/camp_pitch
organicmaps:ios-implement-the-recently-deleted-support-to-icloud-sync
organicmaps:recently-deleted-categories-using-postfix
organicmaps:fix-ios-simulator-version
organicmaps:github/fork/SRSAS/systemUIMode
organicmaps:github/fork/RedAuburn/collection_times-support
organicmaps:alpha/2024.07.02
organicmaps:github/fork/alkino/atomic_shared_ptr
organicmaps:vng-test-data
organicmaps:github/fork/fgbg03/user_routes_feature
organicmaps:release/2024.06.02
organicmaps:github/fork/j13m126/german-tone
organicmaps:github/fork/eisams/check_date
organicmaps:ios/undo-for-the-bookmark-deletion
organicmaps:ios/restore-bookmark-by-tap-on-the-map
organicmaps:ios/undo-for-the-bookmark-deletion-with-restoring-by-tap-on-the-map
organicmaps:github/fork/beasmm/feature-#5074
organicmaps:github/fork/catalms/add_stop_feature
organicmaps:revert-7969-pastk-drape-transparent-areas
organicmaps:github/fork/kubahaha/boundary_marker-preset
organicmaps:github/fork/fitojb/patch-1
organicmaps:ab-drape-use-constant-base-font-height
organicmaps:rt-beta
organicmaps:github/fork/krozhdestvenski/bookmark_category_select
organicmaps:vng-alt-routes
organicmaps:github/fork/AndrewShkrob/warnings/unused-parameter
organicmaps:pastk-styles-shared-paths-tune-down
organicmaps:android-auto/8015-8019-8022
organicmaps:github/fork/BrianMerino/master
organicmaps:github/fork/gerion0/gentoo-fixes
organicmaps:pastk-beta-0420
organicmaps:pastk-2generate-paths
organicmaps:ab-fix-shaders-rebuild
organicmaps:ios/fix-drape-failure-during-test-running
organicmaps:ios/add-test-target-terminate
organicmaps:cleanup/base
organicmaps:github/fork/Dinisvgc/bugfix
organicmaps:github/fork/charlie2clarke/overground-icon
organicmaps:ab-max-open-file-limit
organicmaps:weblate-appstore-i18n
organicmaps:2024.03.27-3-android-hotfix
organicmaps:ab-3party-oauthcpp
organicmaps:android-hotfix-24031805
organicmaps:github/fork/gpesquero/test_distance
organicmaps:ab-android-revert-links
organicmaps:github/fork/RedAuburn/no-tts-info
organicmaps:ab-tts-simpler-strings
organicmaps:rt-android-huawei-crash
organicmaps:rt-android-release-2024.03.02
organicmaps:rt-android-release-2024.03.01
organicmaps:ab-ios-release-2024.02.27
organicmaps:ab-from-chars
organicmaps:gplay-android-auto-hotfix
organicmaps:ab-case-folding
organicmaps:rt-store-metadata
organicmaps:ab-buffer-vector-string-view
organicmaps:ab-update-gh-cache-action
organicmaps:rt-android-bookmark-export
organicmaps:osm-oauth2-support
organicmaps:vng-test
organicmaps:github/fork/gpesquero/tts_link
organicmaps:github/fork/Timmy-Tesseract/master
organicmaps:github/fork/ahmetlii/master
organicmaps:github/fork/sklueber/master
organicmaps:rt-geo-links
organicmaps:github/fork/AndrewShkrob/android/lanes-refactoring
organicmaps:vng-lines
organicmaps:windows3
organicmaps:android-auto-disable
organicmaps:rt-android-paranoid-mode
organicmaps:github/fork/TheAdventurer64/juice
organicmaps:rt-android-outdoor
organicmaps:ios-hotfix-release-dec-2023
organicmaps:rt-android-location-providers
organicmaps:pastk-outdoors-hiking-routes
organicmaps:pastk-2generate
organicmaps:pastk-classif-hiking-routes
organicmaps:vng-gen-kk
organicmaps:poc-disable-route-build-zoom
organicmaps:kk2
organicmaps:ab-thread-checker-qt-download-dialog-fix
organicmaps:revert-6461-category-letterbox-it
organicmaps:beta-outdoor
organicmaps:github/fork/pratyaksh1610/branch-6024
organicmaps:designer-fixes
organicmaps:github/fork/AndrewShkrob/core/speed-limit-widget
organicmaps:vng-bookmarks
organicmaps:vng-outdoors
organicmaps:navigation/save-mode
organicmaps:pastk-TEST-rel-w-lines-stats
organicmaps:ab-kml-remove-unique-ptr
organicmaps:vng-bench
organicmaps:aa
organicmaps:rt-android-remove-workmanager
organicmaps:rt-android-debug
organicmaps:protobuf-24.3
organicmaps:pastk-core-housenumbers
organicmaps:github/fork/map-per/pedestrian
organicmaps:ruler-disable-reordering
organicmaps:android-warning-suppress
organicmaps:pastk-drape-bucket-discard-optimization
organicmaps:beta-ios-gpx-fix
organicmaps:github/fork/arnaudvergnet/android-structure-compose
organicmaps:github/fork/arnaudvergnet/compose
organicmaps:github/fork/Nimausfi/new-changes
organicmaps:github/fork/map-per/via_ferrata
organicmaps:pastk-generator-isolines-skip-resimplify
organicmaps:pastk-styles-world-railways
organicmaps:github/fork/kartikaysaxena/master
organicmaps:github/fork/Zhu-Pengming/TomABdh-patch-1
organicmaps:pastk-styles-TMP_dump_priorities
organicmaps:ab-increase-long-tap-radius
organicmaps:github/fork/map-per/track_number
organicmaps:github/fork/codeskraps/feature/nav_altitude_chart
organicmaps:car-checkpoint-tolerance
organicmaps:github/fork/barisunsalhn/fab-transparency
organicmaps:github/fork/N-45div/N-45div/issue4788
organicmaps:rt-android-fix-viewport
organicmaps:github/fork/n1snt/app-shortcuts
organicmaps:github/fork/Kovoschiz/yue4
organicmaps:vng-addr-test
organicmaps:downloader
organicmaps:github/fork/Aryan-Sagavekar/etaswitchfeature
organicmaps:obsolete-position-color
organicmaps:pastk-styles-geometryfallback
organicmaps:pastk-DEMO-geometry-1more-detailed
organicmaps:strings-be-ru-uk-miles
organicmaps:ios/external-keyboard-fix2
organicmaps:alex-outdoors
organicmaps:ios/blue-route-to
organicmaps:pastk-styles-fixpriorities2
organicmaps:pastk-styles-fixpriorities
organicmaps:rt-android-accent-color
organicmaps:pastk-drape-path_text_zoom_mask
organicmaps:pastk-drape-roadshields
organicmaps:update-appstore-metadata
organicmaps:pastk-styles-outdoors
organicmaps:3p/disable-system-jansson
organicmaps:ios/newly-created-list-order
organicmaps:czech-release
organicmaps:rt-fix-monkey-gh
organicmaps:github/fork/AndrewShkrob/core/rendering-on-many-surfaces
organicmaps:github/fork/SiarheiFedartsou/sf-clang-tidy2
organicmaps:ios/fix-tableview-headers-font
organicmaps:github/fork/dvrsaran/patch-1
organicmaps:rt-android-google-location-annoying
organicmaps:pastk-loc-share
organicmaps:ctest
organicmaps:windows2
organicmaps:kml-load-robust
organicmaps:tr-screenshots
organicmaps:vng-nav
organicmaps:github/fork/pastk/pastk-loc-share
organicmaps:github/fork/pratyaksh1610/branch-3621
organicmaps:d4f5409d-patch-1
organicmaps:rt-fix-location-resolution
organicmaps:github-actions-update
organicmaps:android_auto
organicmaps:matheusgomesms-store-releasenotes-pt_BRtranslation
organicmaps:rt-add-ci-timeout
organicmaps:rq-alterRoutes-vng
organicmaps:euskara
organicmaps:github/fork/trueTatar/latlon-refactoring
organicmaps:windows
organicmaps:tests-fix
organicmaps:pastk-styles-geometryfallback-1more-detailed
organicmaps:pastk-styles-zoomlessareas
organicmaps:github/fork/fgaz/changelog/2022.06.29-3
organicmaps:pastk-outdoors-beta
organicmaps:android/R8
organicmaps:github/fork/fardeenfs/public-transit
organicmaps:pastk-android-writability
organicmaps:rt-location-api
organicmaps:pastk-android-verifyerror
organicmaps:qt6
organicmaps:vng-my_pos
organicmaps:pastk-scripts
organicmaps:vng-sdfimage
organicmaps:vng-vehicle-refactoring
organicmaps:release-gp-fdroid-without-location-fixes
organicmaps:rt-android-track-recorder
organicmaps:rt-android-gplay-compliance
organicmaps:rt-android-remove-gms
organicmaps:rt-android-track-recorder-alarm
organicmaps:rt-android-keep-data
organicmaps:fix-odr
organicmaps:github/fork/pastk/pastk-storage
organicmaps:build/no-unity
organicmaps:backup-resources
organicmaps:android/warning-fixes
organicmaps:weblate-ios-i18n
organicmaps:rt-android-symlinks
organicmaps:weblate-android-i18n
organicmaps:weblate-whitespacing
organicmaps:rt-weblate-consume
organicmaps:ios/fixes
organicmaps:i18n-android
organicmaps:i18n-ios
organicmaps:rt-xcode-desktop
No reviewers
Labels
Clear labels
Accessibility
Address
Android
Android Auto
Android Automotive (AAOS)
API
AppGallery
AppStore
Battery and Performance
Blocker
Bookmarks and Tracks
Borders
Bug
Build
CarPlay
Classificator
Community
Core
CrashReports
Cycling
Desktop
DevEx
DevOps
dev_sandbox
Directions
Documentation
Downloader
Drape
Driving
Duplicate
Editor
Elevation
Enhancement
Epic
External Map Datasets
F-Droid
Fonts
Frequently User Reported
Fund
Generator
Good first issue
Google Play
GPS
GSoC
iCloud
Icons
iOS
Legal
Linux Desktop
Linux packaging
Linux Phone
Mac OS
Map Data
Metro
Navigation
Need Feedback
Night Mode
NLnet 2024-06-281
No Feature Parity
Opening Hours
Outdoors
POI Info
Privacy
Public Transport
Raw Idea
Refactoring
Regional
Regression
Releases
RoboTest
Route Planning
Routing
Ruler
Search
Security
Styles
Tests
Track Recording
Translations
TTS
UI
UX
Walk Navigation
Watches
Web
Wikipedia
Windows
Won't fix
World Map
No labels
Accessibility
Address
Android
Android Auto
Android Automotive (AAOS)
API
AppGallery
AppStore
Battery and Performance
Blocker
Bookmarks and Tracks
Borders
Bug
Build
CarPlay
Classificator
Community
Core
CrashReports
Cycling
Desktop
DevEx
DevOps
dev_sandbox
Directions
Documentation
Downloader
Drape
Driving
Duplicate
Editor
Elevation
Enhancement
Epic
External Map Datasets
F-Droid
Fonts
Frequently User Reported
Fund
Generator
Good first issue
Google Play
GPS
GSoC
iCloud
Icons
iOS
Legal
Linux Desktop
Linux packaging
Linux Phone
Mac OS
Map Data
Metro
Navigation
Need Feedback
Night Mode
NLnet 2024-06-281
No Feature Parity
Opening Hours
Outdoors
POI Info
Privacy
Public Transport
Raw Idea
Refactoring
Regional
Regression
Releases
RoboTest
Route Planning
Routing
Ruler
Search
Security
Styles
Tests
Track Recording
Translations
TTS
UI
UX
Walk Navigation
Watches
Web
Wikipedia
Windows
Won't fix
World Map
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
5 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference: organicmaps/organicmaps#6310
Reference in a new issue
No description provided.
Delete branch "protobuf-24.4"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Is based on and closes #5557
Contains additional iOS fixes and a newer protobuf version
Requres https://github.com/organicmaps/kothic/pull/27 to be merged
Why additional indent here?
Did you update the companion kothic PR as well?
At least protobuf version in
tools/kothic/requirements.txt
should be updated and it contains its ownsrc/drules_struct_pb2.py
.And kothic submodule update commit added here.
@AndrewShkrob
I don't like updating it manually every time. Can it be automated? Is it needed at all?Created https://github.com/organicmaps/kothic/pull/27
@pastk
#6301 is not merged yet, while https://github.com/organicmaps/kothic/pull/26 is.
Indent looks ok:

kothic is not 3party, I suggest use
[tools] Update kothic (...)
as a commit messageThis line is required:
I think it's not a big deal to update the version each time you update the version...
But if you don't like it, you can set any dummy value here, for example,
"OrganicMaps"
, or the commit hash of the protobuf repo.There is also another way. The version of protobuf is stored in
3party/protobuf/protobuf/version.json
:We can write a script to fetch
"protoc_version"
, but I think it's an overcomplication.ready to merge?
It'd be great to have "designer" fixes merged separately.
As for the protobuf version upgrade - there seems to be no value? in doing it, but it leads to ~300Kb (?) binary size increase, unfortunately...
mentioned in issue #2217
Its interesting that in Ubuntu 24.04 LTS there are two protobuf versions
libprotobuf32t64
isInstalled-Size: 3 082 kB
libprotobuf-lite32t64
is878 kB
(This package contains the runtime library needed for C++ applications whose message definitions have the "lite runtime" optimization setting.
).So maybe the lite runtime option was misconfigured in our case?
ref
set(protobuf_LIB_NAME libprotobuf-lite)
Also note the peculiarity in protobuf's version numbering (https://protobuf.dev/support/version-support/):
The C++ core uses protobuf 3.3.0 still. I understand that there could be breaking changes in newer versions, but for us versions mismatch between C++ and python protobufs worked well because we use basic features only.
What is the status here? Why do we need to update Protobuf at all? Were there any CVEs?
I don't think it makes sense to update protobuf, unless the increased size issue is solved.
But it would be great to salvage non-protobuf parts of this PR (designer target fixes) and merge them separately.
Shall we close the PR? Updating dependencies without a clear purpose may not be the best use of time.
As you can see from the linked messages, Gentoo (and probably other distributions) need to bundle the older protobuf as part of OrganicMaps then.
This is not a show stopper, just a consequence.
I have not tried, if OrganicMaps builds with the system version of protobuf (currently version 27.2 on my PC) with this PR.
Its better to just continue to build with a bundled protobuf submodule, treat it as a part of the project.
The version of protobuf used by OM cannot be compiled with MSVC without additional patches.
If the decision is to keep the old version then I would appreciate if someone with write access to the protobuf fork could replace this line with
#if 0
and use the patched version in this repo.a6189acd18/src/google/protobuf/stubs/hash.h (L236)
PS: Would be nice to have a more recent comparison of binary sizes.
mentioned in issue #10341
requested review from
@ghost
requested review from
@ghost
requested review from
@ghost
requested review from
@ghost
requested review from
@ghost
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.