Skip to content

Releases: objective-see/LuLu

Version 4.2.0

31 Oct 23:53

Choose a tag to compare

🆕 You can now sponsor LuLu/Objective-See Foundation:

LuLu v4.2.0

☑️ Fixed UI issues that could prevent profile creation (#801)

☑️ LuLu can now be installed within subfolders of /Applications (#805)

☑️ For bundled helper apps without an icon, the parent's icon is now shown

☑️ Rules can now be created with 0.0.0.0/ (IPv4) and ::/0 (IPv6) (#807)

🔐 Disk Image Hash (SHA256):
LuLu_4.2.0.dmg: 92516F945F681B37600D2649E5296BC48E2BABB8ADF3B8CC6274E95B382C87FA

Version 4.1.0

10 Oct 04:47

Choose a tag to compare

🆕 You can now sponsor LuLu/Objective-See Foundation:

LuLu v4.1.0

☑️ General UI improvements (#785)

☑️ Improved Turkish localization (#789)

☑️ Improved rule importing and cleanup (#795)

☑️ Improved handling bundles when hashing binary (#791)

☑️ Added support for 0.0.0.0/0 and ::/0 in allow/block list (#793)

🔐 Disk Image Hash (SHA256):
LuLu_4.1.0.dmg: A79AA1F793088FAFE1957461702456843D7BA75BBCC472476DF21E9F1D1D3791

Version 4.0.1

01 Sep 22:25

Choose a tag to compare

🆕 You can now sponsor LuLu/Objective-See Foundation:

LuLu v4.0.1

🔎 Improved Logging
Per request, added a dedicated debug log msg that shows: Process → Endpoint → Rule → Decision.

To filter on, from Terminal, run:

log stream --level debug --predicate 'subsystem == "com.objective-see.lulu" && composedMessage BEGINSWITH "[LULU]"'

🚮 Rules UI
Reverted logic that would hide HTTP/S ports for endpoint rules, as it was a bit confusing to determine whether rule was then for all ports, or just the HTTP/S ones.

🔐 Disk Image Hash (SHA256):
LuLu_4.0.1.dmg: BBA85CF9AA333CE2659AFAD8CC58F71B92CA082AC22FAB79DEB6D9B19E6CB16B

Version 4.0.0

25 Aug 19:52

Choose a tag to compare

🆕 You can now sponsor LuLu/Objective-See Foundation:

LuLu v4.0

👥 New Feature: Profiles (#574)

A profile defines a set of rules and settings. Once activated, the profile's settings apply LuLu-wide and can be modified via LuLu's Settings panes. Any changes to settings or rules (as well as any new rules) will apply only to that profile.

⏸️ New Feature: Disable Rules (#353)
Either individual rules, or all rules for an entire process can now be disabled

image


macOS 26 Compatibility Improvements

🪟 Rule's Window Improvements
'Hamburger' menu added contain rule options, such as disable, delete, view paths, etc.
Hitting delete on your keyboard, on a selected rule, will also delete the rule. Also, default ports (80/443) are hidden in rules to make the UI cleaner.

🚮 Rule Cleanup
Expired and temporary rules now automatically cleaned up / removed

🇮🇹 Additional Localization(s)
Italian

✍🏼 Improved Passive Rule Creation (#782)
Passive mode rule creation now prioritizes domain names over IP addresses. Now, when passive mode creates rules automatically, they will show meaningful names like github.com instead of 140.82.112.3:443.

🔗 Changes to VirusTotal Integration
Due to an API key being deprecated, VirusTotal button now open's VirusTotal's report in default browser

🔐 Disk Image Hash (SHA256):
LuLu_4.0.0.dmg: DD55AE20D509BEAFDB6E8D82ACBF508608F56C05975DBA35AF303DF6F5FCBA18

🙏🏽 Note, to facilitate with testing/bug reports, you can stream debug log messages via:

log stream --level debug --predicate="subsystem='com.objective-see.lulu'"

(Note: Server-side JSON file will be updated in a few days, so that the update message from within LuLu is displayed. For now, you can manually update by downloading the attached disk image LuLu_4.0.0.dmg)

Version 3.9.1 (A 4.0 beta)

14 Aug 03:55
4c2171d

Choose a tag to compare

Pre-release

Support for disabling rules (#353)
Other UI improvements and minor bug fixes

image

ℹ️ As this is a pre-release, please report any issues/bugs.
Note, to facilitate with testing/bug reports, you can stream debug log messages via:

log stream --level debug --predicate="subsystem='com.objective-see.lulu'"

Version 3.9.0 (A 4.0 beta)

14 Jul 09:06

Choose a tag to compare

Pre-release

Initial support for profiles!

A profile defines a set of rules and settings. 

Once created/activated, the profile's settings apply LuLu-wide and can be modified via LuLu's Settings panes. 
Any changes to settings or rules — as well as any new rules — will apply only to that profile.

Learn more about LuLu's Profiles here.

ℹ️ As this is a pre-release, please report any issues/bugs.
Note, to facilitate with testing/bug reports, you can stream debug log messages via:

log stream --level debug --predicate="subsystem='com.objective-see.lulu'"

Version 3.1.5

16 Apr 00:13

Choose a tag to compare

🌍 Additional Localizations
#749, #753 Added Simplified Chinese (zh-Hans). Mahalo @d86e

⚙️ UI Fixes and Improvements:
#754 Name added to CFBundleDisplayName
#752 Clicking on the 'Rules' menu no longer dismisses the whole menu
#743 Improvement for Rules window

Disk Image Hash (SHA1)
LuLu_3.1.5.dmg: 518F9008FA529F00C2885FD0075FF98107CB6837

Version 3.1.4

06 Apr 20:58

Choose a tag to compare

🇫🇷 Improved French localizations
Thank you @benjaminach!

☑️ Improving rules view UI scrolling (#743)
☑️ Improved handling of "Cancel" buttons in various dialogues (#745)
☑️ Fixed bug that could prevent block lists from be correctly initialized (#729, #732)

Disk Image Hash (SHA1)
LuLu_3.1.4.dmg:70294494FFC72540FB46C219FF093F49FAE54729

Version 3.1.3

29 Mar 18:51

Choose a tag to compare

🇺🇦 Ukrainian Localization
Added Ukrainian localization (#722)
Thank you MacPaw / Oleksandr!

🇹🇼 Traditional Chinese (Taiwan) Localization
Added Chinese (Taiwan) localization (#726)
Thank you Ice1187!

☑️ Improved Block/Allow List Matching (#729)
Block/allow lists are now loaded into a sets (faster lookup) and all matching is done on lowercase strings.
Moreover, the based domain is also checked (e.g. www.google.com -> google.com)

🌍 Improved (existing) Localizations

Disk Image Hash (SHA1)
LuLu_3.1.3.dmg: 2422B0A2255DB17E6D181A8C975550EC95859849

Version 3.1.2

17 Feb 23:53

Choose a tag to compare

🇰🇷 Korean
Added (South) Korean localization (#722)

🌍 Improved Localization
Translations corrections and UI improvements (to avoid clipping of longer translations) (#710, #714, #719, etc.)

💾 Made user selections in alert persistence
For example, if user expands alert to view details, this "preference" will be now be persisted across reboots (#717)

Disk Image Hash (SHA1):
LuLu_3.1.2.dmg: 1ff00d934b365fe14e89b7ae9cedb0e8755a5f19