[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"package:cask:batfi:en":3,"releases:stats:cask:batfi:en":257,"releases:cask:batfi:1:false:false:en":258,"releases-count:cask:batfi:true:en":367,"markdown:3:431:jw6esi":374},{"accentColor":4,"artifacts":5,"autoUpdates":35,"categories":36,"conflictsWith":43,"dependsOn":46,"deprecated":39,"description":60,"descriptionEn":61,"disabled":39,"displayName":62,"downloadSize":63,"downloadUrl":64,"editorChoice":39,"formulaeUrl":65,"homepage":66,"iconUrl":67,"installCommand":68,"installs":69,"installs30d":70,"isFont":39,"isLibrary":39,"kegOnly":39,"kind":73,"latestRelease":74,"machineTranslated":39,"minMacos":59,"name":62,"names":87,"platforms":89,"primaryCategory":229,"rank30d":230,"releaseCount":231,"releaseStats":232,"screenshots":238,"sourceLocale":81,"sourceUrl":246,"summary":247,"summaryTranslation":248,"supports":249,"tags":251,"tap":256,"token":88,"version":86,"versionChangedAt":78},"#155A45",{"apps":6,"binaries":8,"entries":9,"pkgs":34},[7],"BatFi.app",[],[10,17,24],{"declaration":11,"phase":15,"sources":16,"type":15},{"uninstall":12},[13],{"quit":14},"software.micropixels.BatFi","uninstall",[],{"declaration":18,"phase":21,"sources":22,"target":20,"type":23},{"app":19,"target":20},[7],"\u002FApplications\u002FBatFi.app","install",[7],"app",{"declaration":25,"phase":31,"sources":32,"type":33},{"zap":26},[27],{"trash":28},[29,30],"~\u002FLibrary\u002FApplication Support\u002FBatFi","~\u002FLibrary\u002FPreferences\u002Fsoftware.micropixels.BatFi.plist","cleanup",[],"zap",[],true,[37],{"icon":38,"machineTranslated":39,"name":40,"slug":41,"sourceLocale":42},"lucide:wrench",false,"Utilities","utilities","zh-CN",{"casks":44,"formulae":45},[],[],{"arch":47,"casks":49,"formulae":50,"macos":51,"requirements":52},[48],"arm64",[],[],">= 14",{"arch":53,"macos":57},[54],{"bits":55,"type":56},64,"arm",{">=":58},[59],"14","BatFi is a Mac app for controlling how the computer charges. It can hold a chosen charge limit, change that limit according to time and place, and charge to 100% when a full battery is needed. The official site states that BatFi requires macOS Sonoma 14.8 or later and Apple silicon, and that a licence is required.\n\n- Set a daily charging limit, such as stopping at 80%, and arrange for a full charge before a trip.\n- Create rules for different situations, such as holding a lower charge at a desk and topping up before leaving.\n- View power input and output, apps using power, battery cycles, temperature, and health.\n- Use menu bar indicators for battery percentage and time remaining, and keyboard shortcuts to switch power modes.\n\nInstall with `brew install --cask batfi`. After installation, open BatFi from Applications and configure the charging limit or rules you want. The official site lists the app as requiring a licence; Homebrew installation does not establish that the app is free.\n\nSources: [BatFi official site](https:\u002F\u002Fmicropixels.software\u002Fbatfi\u002F), [Homebrew cask](https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Fhomebrew-cask\u002FHEAD\u002FCasks\u002Fb\u002Fbatfi.rb)","App for managing battery charging","BatFi",7673622,"https:\u002F\u002Ffiles.micropixels.software\u002Fbatfi\u002FBatFi-latest.zip","https:\u002F\u002Fformulae.brew.sh\u002Fcask\u002Fbatfi","https:\u002F\u002Fmicropixels.software\u002Fbatfi","https:\u002F\u002Fcdn.opennavo.com\u002Ficons\u002Fuploads\u002Fcdd8a7e2f3a8\u002F7a3921f7f805-256.png","brew install --cask batfi",{"d30":70,"d365":71,"d90":72},54,1592,275,"cask",{"bodyMarkdown":75,"brewCommittedAt":76,"hasNotes":35,"id":77,"isLatest":35,"isPrerelease":39,"machineTranslated":39,"publishedAt":78,"sections":79,"source":80,"sourceLocale":81,"summary":82,"title":83,"translation":84,"version":86},"BatFi now translates several newer messages into every language it supports. These include messages about macOS charging to 100% on its own, the battery being held at 100% until unplugged, a charge limit not holding, and sleep during a manual discharge.\n\nSource: [Official changelog](https:\u002F\u002Ffiles.micropixels.software\u002Fbatfi\u002FBatFi-latest.html)\n\n- Translated several newer battery and charging messages into all supported languages.","2026-10-03T09:37:59Z",7235,"2026-10-07T09:38:25.801627Z",[],"editorial","en-US","Fixed localization for several newer battery and charging messages.","BatFi 4.0.3",{"locale":81,"machineTranslated":39,"sourceLocale":81,"status":85},"source","4.0.3",[62,88],"batfi",[90,125,160,195],{"arch":48,"artifacts":91,"conflictsWith":111,"dependsOn":114,"downloadUrl":64,"macos":123,"minMacos":59,"requiresRosetta":39,"tag":124,"version":86},{"apps":92,"binaries":93,"entries":94,"pkgs":110},[7],[],[95,100,104],{"declaration":96,"phase":15,"sources":99,"type":15},{"uninstall":97},[98],{"quit":14},[],{"declaration":101,"phase":21,"sources":103,"target":20,"type":23},{"app":102,"target":20},[7],[7],{"declaration":105,"phase":31,"sources":109,"type":33},{"zap":106},[107],{"trash":108},[29,30],[],[],{"casks":112,"formulae":113},[],[],{"arch":115,"casks":116,"formulae":117,"macos":51,"requirements":118},[48],[],[],{"arch":119,"macos":121},[120],{"bits":55,"type":56},{">=":122},[59],"27","arm64_golden_gate",{"arch":48,"artifacts":126,"conflictsWith":146,"dependsOn":149,"downloadUrl":64,"macos":158,"minMacos":59,"requiresRosetta":39,"tag":159,"version":86},{"apps":127,"binaries":128,"entries":129,"pkgs":145},[7],[],[130,135,139],{"declaration":131,"phase":15,"sources":134,"type":15},{"uninstall":132},[133],{"quit":14},[],{"declaration":136,"phase":21,"sources":138,"target":20,"type":23},{"app":137,"target":20},[7],[7],{"declaration":140,"phase":31,"sources":144,"type":33},{"zap":141},[142],{"trash":143},[29,30],[],[],{"casks":147,"formulae":148},[],[],{"arch":150,"casks":151,"formulae":152,"macos":51,"requirements":153},[48],[],[],{"arch":154,"macos":156},[155],{"bits":55,"type":56},{">=":157},[59],"26","arm64_tahoe",{"arch":48,"artifacts":161,"conflictsWith":181,"dependsOn":184,"downloadUrl":64,"macos":193,"minMacos":59,"requiresRosetta":39,"tag":194,"version":86},{"apps":162,"binaries":163,"entries":164,"pkgs":180},[7],[],[165,170,174],{"declaration":166,"phase":15,"sources":169,"type":15},{"uninstall":167},[168],{"quit":14},[],{"declaration":171,"phase":21,"sources":173,"target":20,"type":23},{"app":172,"target":20},[7],[7],{"declaration":175,"phase":31,"sources":179,"type":33},{"zap":176},[177],{"trash":178},[29,30],[],[],{"casks":182,"formulae":183},[],[],{"arch":185,"casks":186,"formulae":187,"macos":51,"requirements":188},[48],[],[],{"arch":189,"macos":191},[190],{"bits":55,"type":56},{">=":192},[59],"15","arm64_sequoia",{"arch":48,"artifacts":196,"conflictsWith":216,"dependsOn":219,"downloadUrl":64,"macos":59,"minMacos":59,"requiresRosetta":39,"tag":228,"version":86},{"apps":197,"binaries":198,"entries":199,"pkgs":215},[7],[],[200,205,209],{"declaration":201,"phase":15,"sources":204,"type":15},{"uninstall":202},[203],{"quit":14},[],{"declaration":206,"phase":21,"sources":208,"target":20,"type":23},{"app":207,"target":20},[7],[7],{"declaration":210,"phase":31,"sources":214,"type":33},{"zap":211},[212],{"trash":213},[29,30],[],[],{"casks":217,"formulae":218},[],[],{"arch":220,"casks":221,"formulae":222,"macos":51,"requirements":223},[48],[],[],{"arch":224,"macos":226},[225],{"bits":55,"type":56},{">=":227},[59],"arm64_sonoma",{"icon":38,"machineTranslated":39,"name":40,"slug":41,"sourceLocale":42},1097,17,{"brewLag":233,"cadence":237,"count30d":234},{"compared":234,"earlierCount":235,"medianMinutes":236},3,1,0,"biweekly",[239],{"caption":240,"height":241,"machineTranslated":39,"sourceLocale":81,"theme":242,"thumbUrl":243,"url":244,"width":245},"Official application interface",773,"dark","https:\u002F\u002Fcdn.opennavo.com\u002Fscreenshots\u002Fuploads\u002Fscreenshot\u002F173e8fc3fa26\u002F9b6d639537c0-640.png","https:\u002F\u002Fcdn.opennavo.com\u002Fscreenshots\u002Fuploads\u002Fscreenshot\u002F173e8fc3fa26\u002F9b6d639537c0-1280.png",1280,"https:\u002F\u002Fgithub.com\u002Fhomebrew\u002Fhomebrew-cask\u002Fblob\u002FHEAD\u002FCasks\u002Fb\u002Fbatfi.rb","A macOS app for managing battery charging, with charge limits, scheduled rules, and battery and power readings.",{"locale":81,"machineTranslated":39,"sourceLocale":81,"status":85},{"arm64":35,"requiresRosetta":39,"status":250,"x86_64":39},"known",[252,253,254,255],"battery charging","charge limits","power monitoring","menu bar","homebrew\u002Fcask",null,{"current":235,"records":259,"size":364,"stats":365,"total":231},[260,263,277,292,299,304,309,314,319,324,329,334,339,344,349,354,359],{"bodyMarkdown":75,"brewCommittedAt":76,"hasNotes":35,"id":77,"isLatest":35,"isPrerelease":39,"machineTranslated":39,"publishedAt":78,"sections":261,"source":80,"sourceLocale":81,"summary":82,"title":83,"translation":262,"version":86},[],{"locale":81,"machineTranslated":39,"sourceLocale":81,"status":85},{"bodyMarkdown":264,"brewCommittedAt":265,"hasNotes":35,"id":266,"isLatest":39,"isPrerelease":39,"machineTranslated":39,"publishedAt":265,"sections":267,"source":80,"sourceLocale":81,"summary":273,"title":274,"translation":275,"version":276},"BatFi 4.0.2 fixes a rare issue where closing the menu could freeze BatFi, leaving the menu bar icon unresponsive and requiring a force quit. The charge limit continued to be enforced because that function runs separately. The cause was a bug in a third-party library BatFi uses; this release uses a version of that library with the bug fixed.\n\nSource: https:\u002F\u002Ffiles.micropixels.software\u002Fbatfi\u002FBatFi-latest.html","2026-10-01T15:52:32Z",7209,[268],{"area":269,"items":270},"Fixes",[271,272],"Fixed a rare freeze when closing the menu.","Charge-limit enforcement kept working during the freeze.","Fixes a rare freeze after closing the menu. Charge-limit enforcement continued to work during the freeze.","BatFi 4.0.2",{"locale":81,"machineTranslated":39,"sourceLocale":81,"status":85},"4.0.2",{"bodyMarkdown":278,"brewCommittedAt":279,"hasNotes":35,"id":280,"isLatest":39,"isPrerelease":39,"machineTranslated":39,"publishedAt":279,"sections":281,"source":80,"sourceLocale":81,"summary":288,"title":289,"translation":290,"version":291},"BatFi 4.0.1 fixes three charging-related issues. After “Charge to 100%” completed, the battery could immediately return to the configured limit; with “Discharge battery when overcharged” enabled, it could then start draining. BatFi now keeps the battery at 100% until the charger is unplugged and indicates this in the menu.\n\nWhen a charge limit was lowered below the current battery level, the menu and a notification could incorrectly say macOS was charging to 100%, even while the battery was discharging. BatFi now determines the status from the current direction of power flow.\n\nA charge limit below 80% could also be reported as failed before macOS had finished applying it. Because macOS can take up to 45 seconds to accept a limit, BatFi now waits for the full allowed application time instead of timing out after 15 seconds.\n\nSource: [Official changelog](https:\u002F\u002Ffiles.micropixels.software\u002Fbatfi\u002FBatFi-latest.html)","2026-09-24T21:35:52Z",7234,[282],{"area":283,"items":284},"Charging",[285,286,287],"Keeps the battery at 100% until unplugged after charge-to-100%.","Reports the actual power-flow direction when lowering the limit.","Waits longer for charge limits below 80% to be applied.","Fixes charge-to-100% behavior, charging-status reporting, and timeout handling for charge limits below 80%.","BatFi 4.0.1",{"locale":81,"machineTranslated":39,"sourceLocale":81,"status":85},"4.0.1",{"brewCommittedAt":293,"hasNotes":39,"isLatest":39,"isPrerelease":39,"sections":294,"source":295,"translation":296,"version":298},"2026-09-09T18:41:38Z",[],"homebrew",{"status":297},"none","4.0.0",{"brewCommittedAt":300,"hasNotes":39,"isLatest":39,"isPrerelease":39,"sections":301,"source":295,"translation":302,"version":303},"2026-06-24T13:17:35Z",[],{"status":297},"3.1.1",{"brewCommittedAt":305,"hasNotes":39,"isLatest":39,"isPrerelease":39,"sections":306,"source":295,"translation":307,"version":308},"2026-06-19T16:25:54Z",[],{"status":297},"3.1.0",{"brewCommittedAt":310,"hasNotes":39,"isLatest":39,"isPrerelease":39,"sections":311,"source":295,"translation":312,"version":313},"2026-05-21T16:38:03Z",[],{"status":297},"3.0.5",{"brewCommittedAt":315,"hasNotes":39,"isLatest":39,"isPrerelease":39,"sections":316,"source":295,"translation":317,"version":318},"2026-02-23T00:58:58Z",[],{"status":297},"3.0.4",{"brewCommittedAt":320,"hasNotes":39,"isLatest":39,"isPrerelease":39,"sections":321,"source":295,"translation":322,"version":323},"2026-02-21T00:54:46Z",[],{"status":297},"3.0.3",{"brewCommittedAt":325,"hasNotes":39,"isLatest":39,"isPrerelease":39,"sections":326,"source":295,"translation":327,"version":328},"2026-02-04T12:46:33Z",[],{"status":297},"3.0.2",{"brewCommittedAt":330,"hasNotes":39,"isLatest":39,"isPrerelease":39,"sections":331,"source":295,"translation":332,"version":333},"2025-10-12T23:26:35Z",[],{"status":297},"3.0.1",{"brewCommittedAt":335,"hasNotes":39,"isLatest":39,"isPrerelease":39,"sections":336,"source":295,"translation":337,"version":338},"2025-09-14T21:32:28Z",[],{"status":297},"3.0.0",{"brewCommittedAt":340,"hasNotes":39,"isLatest":39,"isPrerelease":39,"sections":341,"source":295,"translation":342,"version":343},"2025-05-15T21:33:33Z",[],{"status":297},"2.4.2",{"brewCommittedAt":345,"hasNotes":39,"isLatest":39,"isPrerelease":39,"sections":346,"source":295,"translation":347,"version":348},"2025-05-05T15:34:58Z",[],{"status":297},"2.4.1",{"brewCommittedAt":350,"hasNotes":39,"isLatest":39,"isPrerelease":39,"sections":351,"source":295,"translation":352,"version":353},"2025-04-20T04:28:04Z",[],{"status":297},"2.4.0",{"brewCommittedAt":355,"hasNotes":39,"isLatest":39,"isPrerelease":39,"sections":356,"source":295,"translation":357,"version":358},"2025-04-08T03:19:06Z",[],{"status":297},"2.3.3",{"brewCommittedAt":360,"hasNotes":39,"isLatest":39,"isPrerelease":39,"sections":361,"source":295,"translation":362,"version":363},"2025-02-23T15:47:24Z",[],{"status":297},"2.3.2",20,{"brewLag":366,"cadence":237,"count30d":234},{"compared":234,"earlierCount":235,"medianMinutes":236},{"current":235,"records":368,"size":235,"stats":372,"total":231},[369],{"bodyMarkdown":75,"brewCommittedAt":76,"hasNotes":35,"id":77,"isLatest":35,"isPrerelease":39,"machineTranslated":39,"publishedAt":78,"sections":370,"source":80,"sourceLocale":81,"summary":82,"title":83,"translation":371,"version":86},[],{"locale":81,"machineTranslated":39,"sourceLocale":81,"status":85},{"brewLag":373,"cadence":237,"count30d":234},{"compared":234,"earlierCount":235,"medianMinutes":236},"\u003Cp>BatFi now translates several newer messages into every language it supports. These include messages about macOS charging to 100% on its own, the battery being held at 100% until unplugged, a charge limit not holding, and sleep during a manual discharge.\u003C\u002Fp>\n\u003Cp>Source: \u003Ca href=\"https:\u002F\u002Ffiles.micropixels.software\u002Fbatfi\u002FBatFi-latest.html\" target=\"_blank\" rel=\"noopener noreferrer\">Official changelog\u003C\u002Fa>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Translated several newer battery and charging messages into all supported languages.\u003C\u002Fli>\n\u003C\u002Ful>\n"]