The Times They Are a-Strangin’

film_dylanNothing ever stays the same I guess.

Yesterday, ThirdMotion, Inc. (the company that brought you StrangeIoC) and I decided it was time to part ways. This change is perfectly amicable on both sides; sometimes things just move in different directions.

Oh, Mighty Zarquon! What does this mean for me, er, I mean, for Strange?!

Relax, nerd. It’s not that bad. ThirdMotion has always been Strange’s staunchest advocate and ally (we open sourced it in the first place to make sure it would always be there for you), and that hasn’t changed. The company plans to hand over all Strange-related material to me and I’ll administer it…which isn’t really much of a change, since I’ve pretty much been doing that anyway.

What will change

I’ll be spending time looking for a new job, so at least for the short term we’ll probably not see a huge amount of forward development. How much development happens once I’m settled probably depends a lot on wherever I end up working.

While the old repo addresses (e.g. thirdmotion/strangeioc) will continue to function, we now have new recommended addresses:

[EDIT]Owing to an issue with GitHub pages, the old StrangeIoC repo no longer has an automatic redirect to the new repo. There’s just a note there telling you to go to the new page. Doing this allows the old documentation page to auto redirect to the new one. Don’t ask.[/EDIT]

By the same token, the docs at…
…have officially moved to…

Probably I won’t be able to assist as much in support for a little while. I’ll jump in when I can, but feeding the wife and cat kind of take precedence. I’m sure y’all understand.

What won’t change

Strange isn’t going away. I kind of expect that whoever hires me next will do so in large part because of Strange, so hopefully I can convince them that it’s in their interest to support me in keeping it going.

As always, I’m grateful to everyone for your interest and support. It’s not always easy, but it’s never dull.

StrangeIoC v0.7.0 Released

logoWe’ve just released v0.7.0. Available now at GitHub. We’ll release soon to the Unity Asset Store.

From the change log, here’s all the new/improved goodness:

– New feature: Pooling
– New feature: Implicit and Weak Bindings
– Fix: bug on removal of first Context
– Fix: Fix to multiple context removal regarding false circular dependencies
– Fix: Fixed a race condition that allowed some Views to register before the Context was ready
– Fix: Fixed an EventDispatcher bug where a listener removed during Dispatch still receives callback.
– Change: Many methods that previously returned ‘object’ now return T.
– Change: MediationBinder now Mediates Views ‘bottom-up’ so that more deeply nested Views receive injection first.
– Change: Added a new exception to warn if accidentally mapped a View to something not a MonoBehaviour
– [Issue #56] Improved Context startup syntax
– [Issue #53] Exposing a checkbox that allows a View to not register with the Context
– [Issue #45] Fix for issue that could cause double-instantiation of a mapped Singleton
– [Issue #44] Prevent empty Constructors from improperly firing when a longer Constructor has been tagged as default
– [Issue #40] Fixes a null pointer when using CrossContext without MVCSContext
– [Issue #39] Add some porcelain methods to clarify View/Mediation binding behaviour
– [Issue #34] Fixed a bug where constructor injection resulted in NPE when mapped ToSingleton
– [Issue #13] Reflector now throws an Exception when attempting to inject into non-public setter
– [Issue #1] PostConstructs now support priority ordering