From 497da23af647c554f3f3f6ecff6ebca5b18a946f Mon Sep 17 00:00:00 2001 From: Rick Mark Date: Mon, 3 Aug 2026 23:57:29 -0700 Subject: [PATCH 1/6] Updates for regular release --- .idea/apple-knowledge.iml | 410 ++++++++++----------- .idea/runConfigurations/Jekyll__Build.xml | 1 + .idea/vcs.xml | 6 - Gemfile | 15 +- Gemfile.lock | 149 +++----- _data/img4.yaml | 49 ++- _packages/ruby/lib/apple_data/data_file.rb | 29 +- lib/shasum.rb | 4 +- lib/syms.rb | 70 ++-- lib/tipw.rb | 2 +- tasks/bbcfg.rake | 69 ++-- tasks/device_tree.rake | 1 - tasks/integrity.rake | 112 +++--- tasks/ipsw.rake | 2 +- 14 files changed, 441 insertions(+), 478 deletions(-) delete mode 100644 .idea/vcs.xml diff --git a/.idea/apple-knowledge.iml b/.idea/apple-knowledge.iml index 7b75b4a1..01eca2e8 100644 --- a/.idea/apple-knowledge.iml +++ b/.idea/apple-knowledge.iml @@ -10,6 +10,7 @@ + @@ -39,220 +40,203 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.idea/runConfigurations/Jekyll__Build.xml b/.idea/runConfigurations/Jekyll__Build.xml index 5089afcd..06d63cdf 100644 --- a/.idea/runConfigurations/Jekyll__Build.xml +++ b/.idea/runConfigurations/Jekyll__Build.xml @@ -7,6 +7,7 @@ + diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7f..00000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Gemfile b/Gemfile index 60f52dc0..82dbbfc9 100644 --- a/Gemfile +++ b/Gemfile @@ -17,13 +17,13 @@ source 'https://rubygems.org' # If you want to use GitHub Pages, remove the "gem "jekyll"" above and # uncomment the line below. To upgrade, run `bundle update github-pages`. +gem 'activesupport' gem 'jekyll' +gem 'jsonpath' gem 'plist' -gem 'toml' gem 'rbs' -gem 'activesupport' -gem 'jsonpath' gem 'sorbet-runtime' +gem 'toml' gem 'apple-data', path: File.join(File.dirname(__FILE__), '_packages/ruby') @@ -46,8 +46,6 @@ group :jekyll_plugins do end group :development, :test do - gem 'activerecord' - gem 'activesupport', require: false gem 'awesome_print' gem 'base_x' gem 'bundle-audit' @@ -55,7 +53,7 @@ group :development, :test do gem 'CFPropertyList' gem 'cid' gem 'dotenv-rails' - gem 'eth', github: 'rickmark/eth.rb', branch: 'ruby4' + gem 'eth' gem 'faraday', '~> 2.5' gem 'faraday-retry' gem 'google-protobuf' @@ -63,7 +61,7 @@ group :development, :test do gem 'kramdown' gem 'manpages' gem 'mdl' - gem 'mediawiki_api', github: 'rickmark/mediawiki-ruby-api', branch: 'faraday_2' + gem 'mediawiki_api' gem 'merkle_tree' gem 'multibases' gem 'multicodecs' @@ -78,10 +76,11 @@ group :development, :test do gem 'rspec' gem 'rspec-rake' gem 'rubocop' + gem 'rubocop-rake' + gem 'rubocop-rspec' gem 'ruby-macho' gem 'sqlite3' gem 'steep' - gem 'tapioca', require: false gem 'typeprof' gem 'typhoeus' gem 'wikicloth' diff --git a/Gemfile.lock b/Gemfile.lock index 3dbe13ed..097a2ee8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,32 +1,3 @@ -GIT - remote: https://github.com/rickmark/eth.rb.git - revision: b2575ee2d4c8c4e30fb9020ac386499732b65c12 - branch: ruby4 - specs: - eth (0.5.17) - base64 (~> 0.1) - bigdecimal (~> 3.1) - bls12-381 (~> 0.3) - forwardable (~> 1.3) - httpx (~> 1.6) - keccak (~> 1.3) - konstructor (~> 1.0) - openssl (~> 3.3) - rbsecp256k1 (~> 6.0) - scrypt (~> 3.0) - -GIT - remote: https://github.com/rickmark/mediawiki-ruby-api.git - revision: 749a513b91827cfbe8ce9213bb9ae3a2811df11d - branch: faraday_2 - specs: - mediawiki_api (0.8.2) - faraday (~> 2) - faraday-cookie_jar - faraday-follow_redirects - faraday-multipart - sorbet-runtime - PATH remote: _packages/ruby specs: @@ -55,12 +26,6 @@ GEM erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activemodel (8.1.3.1) - activesupport (= 8.1.3.1) - activerecord (8.1.3.1) - activemodel (= 8.1.3.1) - activesupport (= 8.1.3.1) - timeout (>= 0.4.0) activesupport (8.1.3.1) base64 bigdecimal @@ -80,7 +45,6 @@ GEM awesome_print (1.9.2) base64 (0.3.0) base_x (0.8.1) - benchmark (0.5.0) bigdecimal (3.3.1) bls12-381 (0.3.1) bigdecimal @@ -137,6 +101,17 @@ GEM erb (6.0.6) erubi (1.13.1) escape_utils (1.3.0) + eth (0.5.17) + base64 (~> 0.1) + bigdecimal (~> 3.1) + bls12-381 (~> 0.3) + forwardable (~> 1.3) + httpx (~> 1.6) + keccak (~> 1.3) + konstructor (~> 1.0) + openssl (~> 3.3) + rbsecp256k1 (~> 6.0) + scrypt (~> 3.0) ethon (0.18.0) ffi (>= 1.15.0) logger @@ -296,6 +271,12 @@ GEM mixlib-cli mixlib-config mixlib-shellout + mediawiki_api (0.9.0) + faraday (>= 2.7.0) + faraday-cookie_jar + faraday-follow_redirects + faraday-multipart + faraday-retry mercenary (0.4.0) merkle_tree (0.2.0) method_source (1.1.0) @@ -320,7 +301,6 @@ GEM multipart-post (2.4.1) net-http (0.9.1) uri (>= 0.11.1) - netrc (0.11.0) nkf (0.3.0) nokogiri (1.19.4-aarch64-linux-gnu) racc (~> 1.4) @@ -339,10 +319,10 @@ GEM sawyer (~> 0.9) open_uri_redirections (0.2.1) openssl (3.3.3) - overcommit (0.71.0) + overcommit (0.72.0) childprocess (>= 0.6.3, < 6) iniparse (~> 1.4) - rexml (>= 3.3.9) + rexml (>= 3.4.2) parallel (2.1.0) parser (3.3.12.0) ast (~> 2.4.1) @@ -392,10 +372,7 @@ GEM rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rbi (0.4.2) - prism (~> 1.0) - rbs (>= 4.0.1) - rbs (4.1.1) + rbs (4.1.2) logger prism (>= 1.6.0) tsort @@ -411,7 +388,6 @@ GEM regexp_parser (2.12.0) reline (0.6.3) io-console (~> 0.5) - require-hooks (0.4.1) rexml (3.4.4) rouge (4.7.0) rspec (3.13.2) @@ -444,14 +420,17 @@ GEM rubocop-ast (1.50.0) parser (>= 3.3.7.2) prism (~> 1.7) + rubocop-rake (0.7.1) + lint_roller (~> 1.1) + rubocop (>= 1.72.1) + rubocop-rspec (3.10.2) + lint_roller (~> 1.1) + regexp_parser (>= 2.0) + rubocop (~> 1.86, >= 1.86.2) ruby-enum (0.9.0) i18n ruby-macho (6.0.0) ruby-progressbar (1.13.0) - rubydex (0.3.0-aarch64-linux) - rubydex (0.3.0-arm64-darwin) - rubydex (0.3.0-x86_64-darwin) - rubydex (0.3.0-x86_64-linux) rubyzip (2.4.1) safe_yaml (1.0.5) sass-embedded (1.102.0-aarch64-linux-gnu) @@ -473,23 +452,7 @@ GEM ffi-compiler (>= 1.0, < 2.0) rake (~> 13) securerandom (0.4.1) - sorbet (0.6.13386) - sorbet-static (= 0.6.13386) - sorbet-runtime (0.6.13386) - sorbet-static (0.6.13386-aarch64-linux) - sorbet-static (0.6.13386-universal-darwin) - sorbet-static (0.6.13386-x86_64-linux) - sorbet-static-and-runtime (0.6.13386) - sorbet (= 0.6.13386) - sorbet-runtime (= 0.6.13386) - spoom (1.8.7) - erubi (>= 1.10.0) - prism (>= 0.28.0) - rbi (>= 0.4.2) - rbs (>= 4.0.0.dev.5) - rexml (>= 3.2.6) - sorbet-static-and-runtime (>= 0.5.10187) - thor (>= 0.19.2) + sorbet-runtime (0.6.13403) sqlite3 (2.9.5-aarch64-linux-gnu) sqlite3 (2.9.5-aarch64-linux-musl) sqlite3 (2.9.5-arm64-darwin) @@ -513,22 +476,9 @@ GEM terminal-table (>= 2, < 5) uri (>= 0.12.0) strscan (3.1.8) - tapioca (0.19.2) - benchmark - bundler (>= 2.2.25) - netrc (>= 0.11.0) - parallel (>= 1.21.0) - rbi (>= 0.3.7) - require-hooks (>= 0.2.2) - rubydex (>= 0.1.0.beta10) - sorbet-static-and-runtime (>= 0.6.12698) - spoom (>= 1.7.16) - thor (>= 1.2.0) - tsort terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) thor (1.5.0) - timeout (0.6.1) toml (0.3.0) parslet (>= 1.8.0, < 3.0.0) tomlrb (2.0.4) @@ -557,7 +507,7 @@ GEM htmlentities nokogiri twitter-text - zeitwerk (2.8.2) + zeitwerk (2.8.3) PLATFORMS aarch64-linux @@ -572,7 +522,6 @@ PLATFORMS DEPENDENCIES CFPropertyList - activerecord activesupport apple-data! awesome_print @@ -581,7 +530,7 @@ DEPENDENCIES byebug cid dotenv-rails - eth! + eth faraday (~> 2.5) faraday-retry google-protobuf @@ -604,7 +553,7 @@ DEPENDENCIES kramdown manpages mdl - mediawiki_api! + mediawiki_api merkle_tree multibases multicodecs @@ -621,11 +570,12 @@ DEPENDENCIES rspec rspec-rake rubocop + rubocop-rake + rubocop-rspec ruby-macho sorbet-runtime sqlite3 steep - tapioca toml typeprof typhoeus @@ -635,8 +585,6 @@ CHECKSUMS CFPropertyList (4.0.0) sha256=385e7bbd7c27e176b23415275ca936ca0ece1727e5b890b08e36632076b00aff actionpack (8.1.3.1) sha256=974cb7154548e81f470b1b0f247b99cb38e87825899dca58610596e2817723d0 actionview (8.1.3.1) sha256=2da68b8414c47b43bfbed1ce69c5afe1c04f78c267aacb5660a4cab5ca12cfb6 - activemodel (8.1.3.1) sha256=99cc02ce2faec371d14440949d85787ebd23a907c9baef0a9d4bcd4d21888f88 - activerecord (8.1.3.1) sha256=0a2fb6c28f4938f6b013a3a549bec0a7e37d535f3dc8990e804bcc3258c0403b activesupport (8.1.3.1) sha256=85458765f25ea48b9019c46b6bb3fa5683197bf4280d9f06710a6e8d7a831376 addressable (2.9.0) sha256=7fdf6ac3660f7f4e867a0838be3f6cf722ace541dd97767fa42bc6cfa980c7af apple-data (1.0.375) @@ -644,11 +592,11 @@ CHECKSUMS awesome_print (1.9.2) sha256=e99b32b704acff16d768b3468680793ced40bfdc4537eb07e06a4be11133786e base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b base_x (0.8.1) sha256=63ac4ed7bce12e82f1c70c003acda5f157a8478467aeb13d3b0354865d75bc18 - benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c bigdecimal (3.3.1) sha256=eaa01e228be54c4f9f53bf3cc34fe3d5e845c31963e7fcc5bedb05a4e7d52218 bls12-381 (0.3.1) sha256=d1525cd319c53f14178d54f355dfe1b4c572fbf5625965c1afccdc425b9896dc builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f bundle-audit (0.2.0) sha256=cb499708f7fbc56d2d2e8bab09a1184f8f5b548bdbd628b757e5a1856874ca12 + bundler (4.0.16) sha256=d6ca5dd440c24f9abce9844cf44cc8e18c6a553de65a47efb4544137af92c47d bundler-audit (0.9.3) sha256=81c8766c71e47d0d28a0f98c7eed028539f21a6ea3cd8f685eb6f42333c9b4e9 byebug (13.0.0) sha256=d2263efe751941ca520fa29744b71972d39cbc41839496706f5d9b22e92ae05d chef-utils (19.3.15) sha256=1c537a9c85b55b6d897de8e8af6b66b017a6dfae2b5e7b25e0bf320637e0b86a @@ -675,7 +623,7 @@ CHECKSUMS erb (6.0.6) sha256=a9b24986700f5bf127c4f297c5403c3ca41b83b0a316c0cd09a096b56e644ae5 erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9 escape_utils (1.3.0) sha256=dffb7010922880ace6ceed642156c64e2a64620f27e0849f43bc4f68fd3c2c09 - eth (0.5.17) + eth (0.5.17) sha256=5be9caa85b0643613010ae33c92e746a02ce376a35245e6eb5f491e80531f137 ethon (0.18.0) sha256=b598afc9f30448cb068b850714b7d6948e941476095d04f90a4ac65b8d6efcb2 eventmachine (1.2.7) sha256=994016e42aa041477ba9cff45cbe50de2047f25dd418eba003e84f0d16560972 execjs (2.10.1) sha256=abe0ae028467eb8e30c10814eb934d07876a691aae7e803d813b7ce5a75e73f1 @@ -745,7 +693,7 @@ CHECKSUMS loofah (2.25.2) sha256=2007f746959ac65552456e04b433e83deb22759ab38c838b4445c70e43425918 manpages (0.7.0) sha256=03da5fb59d5c3a847b86594b2f9a9ebec3b42d46caeb60b73ed0486beee7b309 mdl (0.17.0) sha256=bb0a0813db04d3a41c991bdae8acc70912f153fc4fb88a3e0f126711da12c335 - mediawiki_api (0.8.2) + mediawiki_api (0.9.0) sha256=a4d77e35f8f608b923657da5f284a2b7beb130f443db910a0c10f3ca1641d1d3 mercenary (0.4.0) sha256=b25a1e4a59adca88665e08e24acf0af30da5b5d859f7d8f38fba52c28f405138 merkle_tree (0.2.0) sha256=12c8d37085edf856022434a49e397877a7772316c13d801ecb750f5c498416f1 method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5 @@ -762,7 +710,6 @@ CHECKSUMS multihashes (0.2.0) sha256=0fbf1db4ce2ed5c3380a6f95f03c724a55cdac0f40b1b4dbbb19ede886f7919f multipart-post (2.4.1) sha256=9872d03a8e552020ca096adadbf5e3cb1cd1cdd6acd3c161136b8a5737cdb4a8 net-http (0.9.1) sha256=25ba0b67c63e89df626ed8fac771d0ad24ad151a858af2cc8e6a716ca4336996 - netrc (0.11.0) sha256=de1ce33da8c99ab1d97871726cba75151113f117146becbe45aa85cb3dabee3f nkf (0.3.0) sha256=357a8dbeba38b727b75930f665146546076a394a1c243faf634ff176e3588895 nokogiri (1.19.4-aarch64-linux-gnu) sha256=1269fb644a6de405057a53dd5c762b1209b43ca7424f839454d3dbc677c31a8f nokogiri (1.19.4-aarch64-linux-musl) sha256=35c65b9ce72b3bb03207bdbe7067915019dc18c1b9b59139684bd6690fdd01af @@ -773,7 +720,7 @@ CHECKSUMS octokit (4.25.1) sha256=c02092ee82dcdfe84db0e0ea630a70d32becc54245a4f0bacfd21c010df09b96 open_uri_redirections (0.2.1) sha256=39e629b006b1d8f90dcc3e76908fc2df36365cb25a8fc525283e57017b2bc04e openssl (3.3.3) sha256=d46902138f2987c13122fab826030a11c2bb9b8a16394215cbfc5062c5e2d335 - overcommit (0.71.0) sha256=6cc72a5359673d9aa96447e25c924d92857216f5595a87ee2404e4687360b216 + overcommit (0.72.0) sha256=1cb8e39639e2f203ced5a303c2ac1e24ce49824ead52fa3204f954f936a63a3e parallel (2.1.0) sha256=b35258865c2e31134c5ecb708beaaf6772adf9d5efae28e93e99260877b09356 parser (3.3.12.0) sha256=21a6d7f755d5a24dfbdc6e6b772e4e879a52e7631a88bc5a3a134606052c9828 parslet (2.0.0) sha256=d45130695d39b43d7e6a91f4d2ec66b388a8d822bae38de9b4de9a5fbde1f606 @@ -798,13 +745,11 @@ CHECKSUMS rate_throttle_client (0.1.2) sha256=f9de968b892fea9272154f6182b4f5cfb74292585e66763fb8a8510181ec83ee rb-fsevent (0.11.2) sha256=43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe rb-inotify (0.11.1) sha256=a0a700441239b0ff18eb65e3866236cd78613d6b9f78fea1f9ac47a85e47be6e - rbi (0.4.2) sha256=f1da92e338a6d45f9c4c1465b27a878a007fa7a0307f38abd29e6ddcb9f155b9 - rbs (4.1.1) sha256=1bf118f2f95d1cd3956357645d495152b661e0257e57781d18ceecd461622b9e + rbs (4.1.2) sha256=050eb1d8b508f1233bed929c0f2c7052302f7adf295230d9cb314e9024078f48 rbsecp256k1 (6.0.0) sha256=d38f563bfc6bcf3ce20c336a4798cc6990427f291e74c6817360363a72f11669 rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469 regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835 - require-hooks (0.4.1) sha256=3a4cd3ed0131b9ec5c2e68f64cb0c5ba56daec6fc363d56e8eef74816c374d7d rexml (3.4.4) sha256=19e0a2c3425dfbf2d4fc1189747bdb2f849b6c5e74180401b15734bc97b5d142 rouge (4.7.0) sha256=dba5896715c0325c362e895460a6d350803dbf6427454f49a47500f3193ea739 rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587 @@ -815,13 +760,11 @@ CHECKSUMS rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c rubocop (1.88.2) sha256=8def251c90cd955feb4daa3edc0ab56893250c4ce90ef81e6c80c03f9a939bbf rubocop-ast (1.50.0) sha256=b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db + rubocop-rake (0.7.1) sha256=3797f2b6810c3e9df7376c26d5f44f3475eda59eb1adc38e6f62ecf027cbae4d + rubocop-rspec (3.10.2) sha256=0b3e2ecc592cd10ecbf0095bb58d1e357905276e069643523cc19eb7495f65e2 ruby-enum (0.9.0) sha256=77a09954184714a9ca0baf2dde91a38b96a8f0f834f1984c7a1e52df2148dadf ruby-macho (6.0.0) sha256=7bae15ff5564d06342a045523e47049cbf09f16e80b5ceb5bbc5fd8d8ec00c8e ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 - rubydex (0.3.0-aarch64-linux) sha256=a7221b71b21c5a1cdda1fbac0946ee0411a2efd94c8115cf37e4e69461d88e73 - rubydex (0.3.0-arm64-darwin) sha256=19f685610216e4e7f488722ac90dfbc33113a384dd16db309cf939606f4c32dd - rubydex (0.3.0-x86_64-darwin) sha256=59d20c98b0bf2226f5db5bee14cf57075aa93aa0c3fa0176f496a217691ff7b6 - rubydex (0.3.0-x86_64-linux) sha256=dfe4026591f226b4a1b53f82f86dc14fad2e7c221ee8a5be99a0a46bf2d58b04 rubyzip (2.4.1) sha256=8577c88edc1fde8935eb91064c5cb1aef9ad5494b940cf19c775ee833e075615 safe_yaml (1.0.5) sha256=a6ac2d64b7eb027bdeeca1851fe7e7af0d668e133e8a88066a0c6f7087d9f848 sass-embedded (1.102.0-aarch64-linux-gnu) sha256=087f377fa4135a8f67f5f422781b59815e99b8fd3aec335935c50a47c2a205fd @@ -833,13 +776,7 @@ CHECKSUMS sawyer (0.9.3) sha256=0d0f19298408047037638639fe62f4794483fb04320269169bd41af2bdcf5e41 scrypt (3.1.0) sha256=67fde35bc7e3b7fe906c5be9c242acf95fe4a886c89572f405f6b11df30aa6af securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1 - sorbet (0.6.13386) sha256=8f9cb0771c0843f1f2610847bf38a976716459fbec87b040ba8897414a286aa3 - sorbet-runtime (0.6.13386) sha256=716aa0a47e75bba1167205d408d59b622db3648109854e9fd309fb901564df48 - sorbet-static (0.6.13386-aarch64-linux) sha256=ebe41ccfbe9659d318cf6c5e28cede1069d4141bdc2f6524d4ba4d7b18440519 - sorbet-static (0.6.13386-universal-darwin) sha256=1d3cfdfd1c57a6108b322fe5d2657da2b4021aa1fed413634762d9c44d4ffea4 - sorbet-static (0.6.13386-x86_64-linux) sha256=29123908d23ca2bfc135c94c2da698934c74e9fbf02d5855274dc91d71071a93 - sorbet-static-and-runtime (0.6.13386) sha256=ca4450fa2ef490fd17526eac9e0067fbf2c2b657b83637a9957135658e6b8207 - spoom (1.8.7) sha256=81960502cdf23aa991f015988aa5dd43325e23ae4318b8e00d541299cbdb70f6 + sorbet-runtime (0.6.13403) sha256=8545fc4cd55fbf820f2000f6d13c0ea1c2e5f7b67369e76ebf39fea81fc490b3 sqlite3 (2.9.5-aarch64-linux-gnu) sha256=78075b6337d3d182c6d2b4691049ed45cd220826160c9ea18946bf6a1de200dc sqlite3 (2.9.5-aarch64-linux-musl) sha256=18c801185deb4adc01ddb281e8f672a39e3d1729979ca91e39439cd3eac0402d sqlite3 (2.9.5-arm64-darwin) sha256=d0cf444a70fc9395d513cfbcc1e6719e224aa645314e3824cb0474c721425aa2 @@ -848,10 +785,8 @@ CHECKSUMS sqlite3 (2.9.5-x86_64-linux-musl) sha256=e7d3a7474e8af0f96150c21abc203fbab5437206bfcdf11deab7741c0ca516f2 steep (2.0.0) sha256=6eb0ecc09637bbb54f0a5f2cf63daea6d3208ccace64b4f1107d976333605c30 strscan (3.1.8) sha256=aae2db611a225559f21ffbb71765c9a4e60fd262534a9ea84f4f11c7f32f679e - tapioca (0.19.2) sha256=938731b07811aee8d23871b1aee8861d464fbaf2cfffbf79a62b0c869a5120ec terminal-table (3.0.2) sha256=f951b6af5f3e00203fb290a669e0a85c5dd5b051b3b023392ccfd67ba5abae91 thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73 - timeout (0.6.1) sha256=78f57368a7e7bbadec56971f78a3f5ecbcfb59b7fcbb0a3ed6ddc08a5094accb toml (0.3.0) sha256=0a91d0f76a9036e84e44f95693b12f58d358c1df3ac8e3b5271f2056ecc6e4b9 tomlrb (2.0.4) sha256=262f77947ac3ac9b3366a0a5940ecd238300c553e2e14f22009e2afcd2181b99 tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f @@ -867,7 +802,7 @@ CHECKSUMS useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844 webrick (1.9.2) sha256=beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131 wikicloth (0.8.3) sha256=502e688579cfb6c408d353c26608d4495561c20a807697592eab8ef472c8e830 - zeitwerk (2.8.2) sha256=7212a61311083c604184b1ea2574b9aa05cd14f855a0841c06985cabe9181d12 + zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5 BUNDLED WITH 4.0.16 diff --git a/_data/img4.yaml b/_data/img4.yaml index 86378b35..f4bfe5ff 100644 --- a/_data/img4.yaml +++ b/_data/img4.yaml @@ -20,6 +20,7 @@ property_collections: - img4_tags - objects - der +- core unmapped: - ApRelaxedImageVerification - "@BCert" @@ -78,15 +79,19 @@ unmapped: - BbBehavior core: IM4M: + title: IMG4 Manifest description: Image4 Manifest Object (No payload, only manifest). IM4M, verion, IM4P: + title: IMG4 Payload description: Image4 Payload (No Manifest, Only Data). Contains IM4P, type, description, data and optional keybags IM4R: description: Image4 Recovery IMG4: + title: IMG4 File description: Wrapper for all Image4 Objects (Payload, Manifest, Recovery) MANB: + title: Manifest Body description: Manifest Body MANP: title: Manifest Proeprties @@ -293,7 +298,7 @@ lpol_properties: boots. logo: lpnh: - title: LocalPolicy Nonce Hash (lpnh) + title: LocalPolicy Nonce Hash description: The lpnh is used for anti-replay of the LocalPolicy. This is an SHA384 hash of the LocalPolicy Nonce (LPN), which is stored in the Secure Storage Component and accessible using the Secure Enclave Boot ROM or Secure Enclave. The raw @@ -316,7 +321,7 @@ lpol_properties: - recoveryOS - macOS nish: - title: Next Stage Image4 Manifest Hash (nsih) + title: Next Stage Image4 Manifest Hash description: The nsih field represents an SHA384 hash of the Image4 manifest data structure that describes the booted macOS. The macOS Image4 manifest contains measurements for all the boot objects—such as iBoot, the static trust cache, @@ -338,7 +343,7 @@ lpol_properties: - macOS nsrv: prot: - title: Paired recoveryOS Trusted Boot Policy Measurement (prot) + title: Paired recoveryOS Trusted Boot Policy Measurement description: A paired recoveryOS Trusted Boot Policy Measurement (TBPM) is a special iterative SHA384 hash calculation over the Image4 manifest of a LocalPolicy, excluding nonces, in order to give a consistent measurement over time (because @@ -718,7 +723,7 @@ manifest_properties: description: Internal Use Only Unit name: Ap,InternalUseOnlyUnit love: - title: Operating System Version + title: Long Operating System Version description: The love indicates the OS version that the LocalPolicy is created for. The version is obtained from the next state manifest during LocalPolicy creation and is used to enforce recoveryOS pairing restrictions. @@ -812,6 +817,8 @@ objects: title: Manifest Body MANP: title: Manifest Proeprties + SPAY: + title: SysCfg Payload WCHF: description: Wireless Charging Firmware acfw: @@ -1102,12 +1109,22 @@ objects: img4_tags: ADCL: description: Apple Display Calibration + BCAL: + title: Bluetooth Calibration BLDS: description: Boot LocalPolicy Digest String? BNCN: title: Board Nonce + BTBF: + title: Bluetooth Taurus Calibration Data + CBAT: + title: Charger Input Limit Calibration CLHS: description: Chained LocalPolicy Hash String + Coor: + title: Country of Origin + DPCl: + title: Primary Calibration Matrix DPRO: title: Demote Production description: Demote from Production Request Value is used by TSS sever to issue @@ -1117,16 +1134,38 @@ img4_tags: description: Demote from Secure Request Value is used by TSS server to issue ESEC values, or effective AP Security Mode should the requester be authorized. These requests are not available to consumers, only to Apple Internal. + DTCl: + title: Display Temperature Calibration EKEY: title: Effective Key Type EPRO: title: Effective Promotion Value ESEC: title: Effective Security + GLCl: + title: Gamma Tables Calibration + GYTT: + title: Gyroscope Temperature Calibration + MLB#: + title: Main Logic Board Serial Number + MdlC: + title: Model Configuration PAYP: description: + PRTT: + title: Pressure Temperature Compensation Table + PxCL: + title: Proximity Calibration Data + RMd#: + title: Regional Model Number SPTM: description: Secure Page Table Monitor + SpTS: + title: Speaker Thiele-Small Parameters + SwBh: + title: Software Behaviour (GreenTea) + WCAL: + title: Wireless Calibration ache: description: acib: @@ -1255,7 +1294,7 @@ img4_tags: lckr: description: Locker - Used for Effaceable Storage end Obliteration lcrt: - title: Local Certificate + title: Lynx Certificate lphp: description: Local Policy Hash Protection? lpol: diff --git a/_packages/ruby/lib/apple_data/data_file.rb b/_packages/ruby/lib/apple_data/data_file.rb index 640596b7..e62b793b 100644 --- a/_packages/ruby/lib/apple_data/data_file.rb +++ b/_packages/ruby/lib/apple_data/data_file.rb @@ -49,17 +49,17 @@ def collections def sort! collections.each(&:sort!) - if sort_paths - sort_paths.each do |path| - JsonPath.for(@data).gsub!(path) do |item| - case item - when Array - item.sort - when Hash - item.sort_by { |key, _value| key } .to_h - else - item - end + return unless sort_paths + + sort_paths.each do |path| + JsonPath.for(@data).gsub!(path) do |item| + case item + when Array + item.sort + when Hash + item.sort_by { |key, _value| key }.to_h + else + item end end end @@ -76,9 +76,8 @@ def metadata end def sort_paths - metadata['sort_paths'] + metadata['sort_paths'] end - private @@ -99,6 +98,8 @@ def ensure_metadata end end + # A specific "collection" inside a data file. Collections are enumerable groups of one type of item. + # The schema of each item is the same within a collection. class DataFileCollection def initialize(data_file, collection_name) @data_file = data_file @@ -120,4 +121,4 @@ def sort! end end end -end \ No newline at end of file +end diff --git a/lib/shasum.rb b/lib/shasum.rb index ca84e560..28f8591d 100644 --- a/lib/shasum.rb +++ b/lib/shasum.rb @@ -6,7 +6,7 @@ class SHASum # @param [String] input hash to check # @return [String] type of hash - def self.shasum_type?(input) + def self.shasum_type(input) case input.length when 32 'md5' @@ -42,7 +42,7 @@ def update_collection(collection) @sums.each do |filename, hash| entry = collection.ensure_key filename, description: false entry['hashes'] ||= {} - entry['hashes'][SHASum.shasum_type?(hash)] = hash + entry['hashes'][SHASum.shasum_type(hash)] = hash end end end diff --git a/lib/syms.rb b/lib/syms.rb index 2c52b903..62400a26 100644 --- a/lib/syms.rb +++ b/lib/syms.rb @@ -64,59 +64,65 @@ def path_ignored?(path) FileUtils.mkdir_p(output_path) FRAMEWORK_FILES.each do |framework_file| - File.open(framework_file).readlines.map(&:chomp).each do |framework| - next if path_ignored? framework + File.open(framework_file) do |file| + file.readlines.map(&:chomp).each do |framework| + next if path_ignored? framework - framework_basename = File.basename(framework, '.framework') + framework_basename = File.basename(framework, '.framework') - binary_path = File.join(framework, 'Versions/Current', framework_basename) + binary_path = File.join(framework, 'Versions/Current', framework_basename) - if File.exist? binary_path - do_read_symbols arch, binary_path, output_path, 'framework' - else - tbd_path = File.join(framework, "#{framework_basename}.tbd") - if File.exist? tbd_path - tbd_data = YAML.load_file(tbd_path) - install_name = tbd_data['install-name'] - puts "Using Framework Install Name: #{install_name}" + if File.exist? binary_path + do_read_symbols arch, binary_path, output_path, 'framework' + else + tbd_path = File.join(framework, "#{framework_basename}.tbd") + if File.exist? tbd_path + tbd_data = YAML.load_file(tbd_path) + install_name = tbd_data['install-name'] + puts "Using Framework Install Name: #{install_name}" - do_read_symbols arch, install_name, output_path, 'framework' if install_name + do_read_symbols arch, install_name, output_path, 'framework' if install_name + end end end end end XPC_FILES.each do |xpc_file| - File.open(xpc_file).readlines.map(&:chomp).each do |xpc| - next if path_ignored? xpc + File.open(xpc_file) do |file| + file.readlines.map(&:chomp).each do |xpc| + next if path_ignored? xpc - base_name = File.basename(xpc, '.xpc') + base_name = File.basename(xpc, '.xpc') - begin - plist_path = File.join(xpc, 'Contents/Info.plist') - puts "Reading XPC Plsit from: #{plist_path}" - plist = CFPropertyList::List.new(file: plist_path) - data = CFPropertyList.native_types(plist.value) + begin + plist_path = File.join(xpc, 'Contents/Info.plist') + puts "Reading XPC Plsit from: #{plist_path}" + plist = CFPropertyList::List.new(file: plist_path) + data = CFPropertyList.native_types(plist.value) - name = data['CFBundleName'] - rescue StandardError - name = base_name - end + name = data['CFBundleName'] + rescue StandardError + name = base_name + end - name ||= base_name + name ||= base_name - binary_path = File.join(xpc, 'Contents/MacOS', name) + binary_path = File.join(xpc, 'Contents/MacOS', name) - do_read_symbols arch, binary_path, output_path, 'xpc' + do_read_symbols arch, binary_path, output_path, 'xpc' + end end end SYM_FILES.each do |sym_file| - File.open(sym_file).readlines.map(&:chomp).each do |line| - next unless PATH_MATCH.match(line) - next if path_ignored? line + File.open(sym_file) do |file| + file.readlines.map(&:chomp).each do |line| + next unless PATH_MATCH.match(line) + next if path_ignored? line - do_read_symbols arch, line, output_path + do_read_symbols arch, line, output_path + end end end end diff --git a/lib/tipw.rb b/lib/tipw.rb index 2749582e..668355ed 100755 --- a/lib/tipw.rb +++ b/lib/tipw.rb @@ -9,7 +9,7 @@ # Module for interacting with theiphonewiki.com module TIPW SYNC_DATAFILE = AppleData::DataFile.new 'tipw_sync' - CLIENT = MediawikiApi::Client.new 'https://www.theapplewiki.com/api.php', log: false, index_url: 'https://theapplewiki.com/index.php' + CLIENT = MediawikiApi::Client.new 'https://www.theapplewiki.com/api.php', log: false KEY_VALUE_PAIR = /^\s\|\s(\w+)\s+=\s(.*)$/ diff --git a/tasks/bbcfg.rake b/tasks/bbcfg.rake index 3cb9e174..469d6882 100644 --- a/tasks/bbcfg.rake +++ b/tasks/bbcfg.rake @@ -15,47 +15,48 @@ namespace :data do exit(-1) end - file = File.open(args[:file], 'rb') - values = file.read(48).unpack(QUALCOMM_BBCFG_HEADER) + File.open(args[:file], 'rb') do |file| + values = file.read(48).unpack(QUALCOMM_BBCFG_HEADER) - if (values[0] != "\0GFC") || (values[1] != 3) || - (values[4] != 229_947_300_631_343_066) || (values[7] != 'BBCFGMBN') + if (values[0] != "\0GFC") || (values[1] != 3) || + (values[4] != 229_947_300_631_343_066) || (values[7] != 'BBCFGMBN') - print("Invalid Header:\n\n#{values.inspect}") - exit(-1) - end + print("Invalid Header:\n\n#{values.inspect}") + exit(-1) + end - parser = OpenSSL::ASN1.decode(file.read) - print("Build Type: #{parser.entries[0].value}\n") - print("Build Number: #{parser.entries[1].value}\n") - print("Build Host: #{parser.entries[2].value}\n") - print("Build User: #{parser.entries[3].value}\n") - print("Build IP: #{parser.entries[4].value}\n") - print("Build Commit Hash: #{parser.entries[5].value}\n") - print("Build Date: #{parser.entries[6].value}\n") - print("Build Branch: #{parser.entries[7].value}\n") + parser = OpenSSL::ASN1.decode(file.read) + print("Build Type: #{parser.entries[0].value}\n") + print("Build Number: #{parser.entries[1].value}\n") + print("Build Host: #{parser.entries[2].value}\n") + print("Build User: #{parser.entries[3].value}\n") + print("Build IP: #{parser.entries[4].value}\n") + print("Build Commit Hash: #{parser.entries[5].value}\n") + print("Build Date: #{parser.entries[6].value}\n") + print("Build Branch: #{parser.entries[7].value}\n") - # TODO: Loop over 8 and handle MCC/MNC or whatever those are.... - # + # TODO: Loop over 8 and handle MCC/MNC or whatever those are.... + # - base_dir = File.dirname(args[:file]) - extracted_dir = File.join(base_dir, "#{File.basename(args[:file])}_extracted") - Dir.mkdir extracted_dir + base_dir = File.dirname(args[:file]) + extracted_dir = File.join(base_dir, "#{File.basename(args[:file])}_extracted") + Dir.mkdir extracted_dir - parser.entries[9].value.each do |blob| - hash = blob.value[0].value - content = blob.value[1].value + parser.entries[9].value.each do |blob| + hash = blob.value[0].value + content = blob.value[1].value - if content[0..3] == 'MAVZ' - print("Found MAVZ compressed file with hash #{hash}\n") - output_file = File.join(extracted_dir, "#{hash}.bin") - File.write(output_file, Zlib.inflate(content[8..])) - else - print("Found ASN1 coded patch file with hash #{hash}\n") - output_file = File.join(extracted_dir, "#{hash}.stream") - File.write(output_file, blob.value[1].value) - print("Enumerating files in patch file:\n\n") - print_files_in_patch(output_file) + if content[0..3] == 'MAVZ' + print("Found MAVZ compressed file with hash #{hash}\n") + output_file = File.join(extracted_dir, "#{hash}.bin") + File.write(output_file, Zlib.inflate(content[8..])) + else + print("Found ASN1 coded patch file with hash #{hash}\n") + output_file = File.join(extracted_dir, "#{hash}.stream") + File.write(output_file, blob.value[1].value) + print("Enumerating files in patch file:\n\n") + print_files_in_patch(output_file) + end end end end diff --git a/tasks/device_tree.rake b/tasks/device_tree.rake index 67b3bf64..13f67508 100644 --- a/tasks/device_tree.rake +++ b/tasks/device_tree.rake @@ -1,6 +1,5 @@ # frozen_string_literal: true - namespace :data do desc 'update device files from device trees' task :device_tree do diff --git a/tasks/integrity.rake b/tasks/integrity.rake index f84be2e4..477bae8f 100644 --- a/tasks/integrity.rake +++ b/tasks/integrity.rake @@ -5,66 +5,69 @@ require 'json' require 'dotenv/load' require 'rate_throttle_client' -# Pseudo response object to make Eth.rb into something that can be used by rate -# limiting logic -class Response - # @return [Integer] Pseudo HTTP status code - attr_accessor :status - - def self.rate_limit - new 429 - end +# Defined values for Ethereum-based blockchain integrity +module Integrity + # Pseudo response object to make Eth.rb into something that can be used by rate + # limiting logic + class Response + # @return [Integer] Pseudo HTTP status code + attr_accessor :status + + def self.rate_limit + new 429 + end - def self.success - new 200 - end + def self.success + new 200 + end - private + private - def initialize(status) - @status = status - end + def initialize(status) + @status = status + end - def headers - { 'RateLimit-Remaining' => '0' } + def headers + { 'RateLimit-Remaining' => '0' } + end end -end -def do_request(eth, contract, key, name, value) - eth.transact contract, 'storeHash', PackageType::IPSW, name, HashType::SHA2_256, value['hashes']['sha2-256'], - gas_limit: 15_000_000, sender_key: key - Response.success -rescue Eth::Client::RpcError - Response.rate_limit -end + def do_request(eth, contract, key, name, value) + eth.transact contract, 'storeHash', PackageType::IPSW, name, HashType::SHA2_256, value['hashes']['sha2-256'], + gas_limit: 15_000_000, sender_key: key + Response.success + rescue Eth::Client::RpcError + Response.rate_limit + end -case ENV.fetch('RAKE_ENV', nil) -when 'test' - PRIVATE_KEY = [ENV.fetch('TEST_ETHEREUM_PRIVATE_KEY', nil)].pack('H*') - NODE_URL = ENV.fetch('TEST_ETHEREUM_RPC', nil) - CONTRACT_ADDRESS = ENV.fetch('TEST_INTEGRITY_CONTRACT', nil) -else - PRIVATE_KEY = [ENV.fetch('DEV_ETHEREUM_PRIVATE_KEY', nil)].pack('H*') - NODE_URL = ENV.fetch('DEV_ETHEREUM_RPC', nil) - CONTRACT_ADDRESS = ENV.fetch('DEV_INTEGRITY_CONTRACT', nil) -end + case ENV.fetch('RAKE_ENV', nil) + when 'test' + PRIVATE_KEY = [ENV.fetch('TEST_ETHEREUM_PRIVATE_KEY', nil)].pack('H*') + NODE_URL = ENV.fetch('TEST_ETHEREUM_RPC', nil) + CONTRACT_ADDRESS = ENV.fetch('TEST_INTEGRITY_CONTRACT', nil) + else + PRIVATE_KEY = [ENV.fetch('DEV_ETHEREUM_PRIVATE_KEY', nil)].pack('H*') + NODE_URL = ENV.fetch('DEV_ETHEREUM_RPC', nil) + CONTRACT_ADDRESS = ENV.fetch('DEV_INTEGRITY_CONTRACT', nil) + end -module PackageType - IPSW = 0 -end + module PackageType + IPSW = 0 + end -module HashType - MD5 = 0 - SHA1 = 1 - SHA2_224 = 2 - SHA2_256 = 3 - SHA2_384 = 4 - SHA2_512 = 5 - SHA3_224 = 6 - SHA3_256 = 7 - SHA3_384 = 8 - SHA3_512 = 9 - KECCAC_256 = 10 + module HashType + MD5 = 0 + SHA1 = 1 + SHA2_224 = 2 + SHA2_256 = 3 + SHA2_384 = 4 + SHA2_512 = 5 + SHA3_224 = 6 + SHA3_256 = 7 + SHA3_384 = 8 + SHA3_512 = 9 + KECCAC_256 = 10 + end end desc 'Perform blockchain integrity upload' @@ -77,10 +80,11 @@ task :integrity do eth = Eth::Client.create(NODE_URL) abi_json = File.read(File.join(File.dirname(__FILE__), '../lib/ApplePackageIntegrity.json')) contract_abi = JSON.parse(abi_json) - contract = Eth::Contract.from_abi(name: 'ApplePackageIntegrity', address: CONTRACT_ADDRESS, abi: contract_abi['abi']) + contract = Eth::Contract.from_abi(name: 'ApplePackageIntegrity', address: Integrity::CONTRACT_ADDRESS, + abi: contract_abi['abi']) - puts "Private key is of #{PRIVATE_KEY.length} bytes" - key = Eth::Key.new(priv: PRIVATE_KEY) + puts "Private key is of #{Integrity::PRIVATE_KEY.length} bytes" + key = Eth::Key.new(priv: Integrity::PRIVATE_KEY) collection.each do |name, value| next unless value['hashes'] && value['hashes']['sha2-256'] diff --git a/tasks/ipsw.rake b/tasks/ipsw.rake index 25a5f993..cc2ac2d9 100644 --- a/tasks/ipsw.rake +++ b/tasks/ipsw.rake @@ -183,7 +183,7 @@ namespace :data do collection.each_value do |entry| entry.delete 'description' - if entry['urls']&.any? { |url| url.is_a?(String) } + if entry['urls']&.any?(String) entry['urls'] = entry['urls'].map do |url| { 'url' => url } end From 814bcfcc66ee95289d1c908231499d0dedab7675 Mon Sep 17 00:00:00 2001 From: Rick Mark Date: Tue, 4 Aug 2026 00:12:31 -0700 Subject: [PATCH 2/6] upload artifact upgrade --- .idea/runConfigurations/Jekyll__Build.xml | 6 +++++- .idea/vcs.xml | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 .idea/vcs.xml diff --git a/.idea/runConfigurations/Jekyll__Build.xml b/.idea/runConfigurations/Jekyll__Build.xml index 06d63cdf..49e3e2c1 100644 --- a/.idea/runConfigurations/Jekyll__Build.xml +++ b/.idea/runConfigurations/Jekyll__Build.xml @@ -7,7 +7,11 @@ - + + + + + diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From e82e6b07e496b29d5d8daa2c7833b17b428262d1 Mon Sep 17 00:00:00 2001 From: Rick Mark Date: Tue, 4 Aug 2026 00:51:19 -0700 Subject: [PATCH 3/6] update ruby versions to 4.0.5 --- .idea/apple-knowledge.iml | 15 +++- .idea/modules.xml | 2 + .../modules/bundler-install_dash_docs-0.1.iml | 18 ++++ .idea/modules/specifications.iml | 15 ++++ _packages/ruby/Gemfile.lock | 87 +++++++------------ 5 files changed, 79 insertions(+), 58 deletions(-) create mode 100644 .idea/modules/bundler-install_dash_docs-0.1.iml create mode 100644 .idea/modules/specifications.iml diff --git a/.idea/apple-knowledge.iml b/.idea/apple-knowledge.iml index 01eca2e8..e20f2e0e 100644 --- a/.idea/apple-knowledge.iml +++ b/.idea/apple-knowledge.iml @@ -10,7 +10,11 @@ - + + + + + @@ -45,7 +49,8 @@ - + + @@ -204,8 +209,8 @@ - - + + @@ -219,6 +224,7 @@ + @@ -237,6 +243,7 @@ + diff --git a/.idea/modules.xml b/.idea/modules.xml index 85ebcbb2..04660539 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -3,9 +3,11 @@ + + \ No newline at end of file diff --git a/.idea/modules/bundler-install_dash_docs-0.1.iml b/.idea/modules/bundler-install_dash_docs-0.1.iml new file mode 100644 index 00000000..741eccde --- /dev/null +++ b/.idea/modules/bundler-install_dash_docs-0.1.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/specifications.iml b/.idea/modules/specifications.iml new file mode 100644 index 00000000..abf25442 --- /dev/null +++ b/.idea/modules/specifications.iml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_packages/ruby/Gemfile.lock b/_packages/ruby/Gemfile.lock index 7ab6ad0c..b3066601 100644 --- a/_packages/ruby/Gemfile.lock +++ b/_packages/ruby/Gemfile.lock @@ -1,73 +1,53 @@ GEM remote: https://rubygems.org/ specs: - activesupport (8.1.2) - base64 - bigdecimal - concurrent-ruby (~> 1.0, >= 1.3.1) - connection_pool (>= 2.2.5) - drb - i18n (>= 1.6, < 2) - json - logger (>= 1.4.2) - minitest (>= 5.1) - securerandom (>= 0.3) - tzinfo (~> 2.0, >= 2.0.5) - uri (>= 0.13.1) ast (2.4.3) - base64 (0.3.0) - bigdecimal (4.0.1) - concurrent-ruby (1.3.6) - connection_pool (3.0.2) - csv (3.3.5) - diff-lcs (1.5.0) - drb (2.2.3) - ffi (1.17.3-arm64-darwin) - ffi (1.17.3-x86_64-darwin) - ffi (1.17.3-x86_64-linux-gnu) + concurrent-ruby (1.3.8) + csv (3.3.6) + diff-lcs (1.6.2) + ffi (1.17.4-arm64-darwin) + ffi (1.17.4-x86_64-darwin) + ffi (1.17.4-x86_64-linux-gnu) fileutils (1.8.0) forwardable-extended (2.6.0) - i18n (1.14.8) - concurrent-ruby (~> 1.0) - json (2.18.0) - language_server-protocol (3.17.0.5) - listen (3.9.0) + json (2.21.2) + language_server-protocol (3.17.0.6) + listen (3.10.0) + logger rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) logger (1.7.0) - minitest (6.0.1) - prism (~> 1.5) - mutex_m (0.3.0) - parser (3.3.10.0) + parser (3.3.12.0) ast (~> 2.4.1) racc pathutil (0.16.2) forwardable-extended (~> 2.6) - prism (1.7.0) + prism (1.9.0) racc (1.8.1) rainbow (3.1.1) - rake (13.0.6) + rake (13.4.2) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rbs (3.10.2) + rbs (4.1.2) logger - rspec (3.11.0) - rspec-core (~> 3.11.0) - rspec-expectations (~> 3.11.0) - rspec-mocks (~> 3.11.0) - rspec-core (3.11.0) - rspec-support (~> 3.11.0) - rspec-expectations (3.11.0) + prism (>= 1.6.0) + tsort + rspec (3.13.2) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-core (3.13.6) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.11.0) - rspec-mocks (3.11.1) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.8) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.11.0) - rspec-support (3.11.0) + rspec-support (~> 3.13.0) + rspec-support (3.13.7) securerandom (0.4.1) - steep (1.10.0) - activesupport (>= 5.1) + steep (2.0.0) concurrent-ruby (>= 1.1.10) csv (>= 3.0.9) fileutils (>= 1.1.0) @@ -75,19 +55,18 @@ GEM language_server-protocol (>= 3.17.0.4, < 4.0) listen (~> 3.0) logger (>= 1.3.0) - mutex_m (>= 0.3.0) - parser (>= 3.1) + parser (>= 3.2) + prism (>= 0.25.0) rainbow (>= 2.2.2, < 4.0) - rbs (~> 3.9) + rbs (~> 4.0) securerandom (>= 0.1) strscan (>= 1.0.0) terminal-table (>= 2, < 5) uri (>= 0.12.0) - strscan (3.1.7) + strscan (3.1.8) terminal-table (4.0.0) unicode-display_width (>= 1.1.1, < 4) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) + tsort (0.2.0) unicode-display_width (3.2.0) unicode-emoji (~> 4.1) unicode-emoji (4.2.0) From b9a158011857a57009b533717826dc33302e9539 Mon Sep 17 00:00:00 2001 From: Rick Mark Date: Tue, 4 Aug 2026 00:51:19 -0700 Subject: [PATCH 4/6] update ruby versions to 4.0.5 --- .../modules/bundler-install_dash_docs-0.1.iml | 15 ++++ _packages/ruby/ruby.iml | 78 +++++++++---------- 2 files changed, 50 insertions(+), 43 deletions(-) diff --git a/.idea/modules/bundler-install_dash_docs-0.1.iml b/.idea/modules/bundler-install_dash_docs-0.1.iml index 741eccde..72055212 100644 --- a/.idea/modules/bundler-install_dash_docs-0.1.iml +++ b/.idea/modules/bundler-install_dash_docs-0.1.iml @@ -8,9 +8,24 @@ + + + + + + + + + + + + + + +