My favorites | Sign in
Project Home Wiki Issues Source
Search
for
NewDevelopments  
highlights from the SIMBL changelog
Updated Jan 28, 2011 by ms...@gmail.com

2011-01-27 SIMBL 0.9.9

  • fix exceedingly rare bug causing the installer to erroneously report failure
  • fix rare bug causing the agent to fail ungracefully on malformed bundles

2010-10-21 SIMBL 0.9.8

  • fixed for Leopard (10.5.x)
  • many small installer fixes for rare issues
  • fixed uinstaller

2009-10-04 SIMBL 0.9.7

  • blacklist for applications that cause the agent to crash
  • adjustable logging for debugging
  • quieter logging by default

2009-09-16 SIMBL 0.9.6

  • fixed installer to repair even worse permissions
  • injection mechanism is now much more efficient - only affect applications that have plugins

2009-09-10 SIMBL 0.9.5

The installer for this version will repair broken permissions that could prevent the SIMBL Agent from launching. Additionally, this is the first version to ship with an uninstaller as well.

2009-09-08 SIMBL 0.9.4

This version fixes a bug where certain applications (most notably Adobe apps) would result in a dialog asking where an application could be found. I also recompiled with a much leaner set of linked libraries which should speed up the launch process a bit. My goal is to add the absolute minimum overhead.

2009-09-07 SIMBL 0.9.3

This version should be compatible with garbage collected applications. It also fixes the installer to remove conflicting versions of the old SIMBL InputManager.

2009-09-06 SIMBL for Leopards

SIMBL-0.9.2b seems to work on both Leopard and Snow Leopard. Existing bundles should load fine in 32-bit mode as-is, no modifications. 64-bit bundles should work as well - I've tested this with a trivial plugin inside Safari.

This should be considered beta quality. In 5 years, I had one actual bug reported against SIMBL as an InputManager, but this is very different code with a very different mechanism. I have some ideas on how to increase reliability and minimize system impact, but I guessed a quick release would prevent people from reinventing too many wheels.

2009-09-03 SIMBL, Snow Leopard and the 64-bit Conundrum

SIMBL apparently works under some very specific circumstances on Snow Leopard.

  1. the application you are running is 32-bit
  2. the permissions and ownership on the /Library/InputManagers folder is exactly correct

There may even be more restrictions I'm not yet entirely aware of.

Now, you can force some applications to run as 32-bit, but unfortunately this not a general solution.

To address this, I've rebuilt the code injection mechanism in a two-part system. There is a small chunk of code that implements an OSAX scripting extension. There is an even smaller chunk of code that watches for application launches and triggers the injection of SIMBL when the application has finished launching. This is installed as an agent and runs in the background.

This seems to work fine on my Leopard PPC machine. I'm hoping I can get the remaining issues ironed out and tested on Snow Leopard in 64-bit mode tonight.

In the meantime, I will cobble together a bit of an installer. This will require some testing as well, but I'm fairly confident something will be available in the next couple of days.

There are a few solutions that I discarded.

Hacking a value for DYLD_INSERT_LIBRARIES into ~/.MacOSX/environment.plist initially looked promising. Despite obvious installer hassle (each installation only works with the current user, or must modify all users currently on the system) what really removed it from consideration was the side effects.

Using DYLD_INSERT_LIBRARIES requires DYLD_FORCE_FLAT_NAMESPACE. This could break a lot of things. However, even worse is that this mechanism is much less forgiving of deleting and removing the SIMBL framework itself. If the SIMBL library is removed or becomes broken, the potential is there for all applications to fail launching. This is obviously horrible, so I abandoned this pretty quickly.

Comment by antonin....@gmail.com, Sep 7, 2009

Great job! I've got Visor working under new SIMBL 0.9.2b. Kudos!

New SIMBL works great, but unfortunately I had problem with something else: http://lists.apple.com/archives/cocoa-dev/2008/May/msg00820.html

1) 64-bit runtime respects symbols visibility, so I cannot depend on XCode linker and have to lookup all symbols fully dynamically in my load routine (which forces me to do some larger rewrites)

2) new SIMBL injects bundle slightly after app has started. So there is timing issue, when I cannot capture creating of the main window, because my code is executed after the party. This is fortunately solvable in case of Visor, but again will require re-implementation.

Anyway keep up great work! I'm thrilled to see more 64-bit SIMBL plugins.

Comment by 5byf...@gmail.com, Sep 11, 2009

What version of Visor do you have working with the new SIMBL? On the Visor web site it specifically states that version 2.0.x does not work with SIMBL 0.9.2b. http://visor.binaryage.com/

Just curious.

Comment by tradyb...@gmail.com, Sep 11, 2009

visor 2.0.1 doesn't work with the new SIMBL. I assume this is probably one of the most popular plugins. It's messed up that we get snow leopard support from both devs but neither one is working with the other in tandem to make a solution that will work for 64 bit terminal :|

Comment by antonin....@gmail.com, Sep 16, 2009

new 64-bit Visor is being developed in this branch: http://github.com/darwin/visor/tree/x64

btw. old Visor works with new SIMBLs 0.9.x, but it has some issues. For example first opened terminal window is not captured by Visor (see my bullet #2 in previous post) and you need to open another window to get it "visorized".

For me it was much easier to write that Visor does not work with SIMBL 0.9.x than answering individual emails about this issue. Believe or not.


Sign in to add a comment
Powered by Google Project Hosting