nspluginwrapper 1.1.4, a snapshot from the development branch, is now available. As usual, since this is work-in-progress, you will only find source code here (at the bottom) and no binary packages.
Here is a short list of what changed since 1.1.2, details to follow:
NPP_URLNotify() (Bennet Yee)
Improved XEMBED support. This release fixes some problems with XEMBED whereby Flash gets confused some times. Symptoms: errors are printed in the console during plugin page reload (thus NPP_Destroy()) and/or the new Flash content fails to show up (we get a gray box instead).
Actually, this was caused by a combination of bugs in both Gtk2 and Firefox. In summary, Firefox was destroying the plugin window (at the Gdk level) too early without calling NPP_Destroy() nor NPP_SetWindow() with a NULL window parameter. Internally, the latter was attempted but Firefox simply doesn't care of propagating that to the plugin. The better fix should be done in Gtk and Firefox but there is workaround in nspluginwrapper, with a downside: the old Debian bug #435912 can happen again with non-latest and non-releases of Flash Player plugins. i.e. use Flash Player plugin 9.0.124 or 10.0.12.36.
New memory allocation hooks. It is now possible to use the GLib slice allocator for memory allocation through NPN_MemAlloc(). You can enable this feature through the –with-malloc=glib,libc configure option. The glib hooks will then be used by default. At run-time, you can use the standard C library allocators by setting either G_SLICE to “always-malloc”, or NPW_MALLOC_LIB to “libc”. There are also provisions to cope with plugins that call NPN_MemFree() for memory that was allocated through NPN_MemAlloc().
Fix DiamondX with Konqueror. DiamondX returns -1 for NPP_WriteReady(), i.e. answer to “how many bytes are you ready to receive?”. The NPAPI specs don't mention that case. However, Firefox will suspend the stream as it would for a return value of 0. Konqueror does not operate that way and immediately sends an NPP_Write(). nspluginwrapper now ranges check the arguments and will return -1 immediately, thus asking the browser to destroy the stream (which is what DiamondX expects). The better way would be to propagate that negative buffer length and let the plugin do additional stuff it planned in that case.
NPAPI version. NPAPI version 0.17 is currenty implemented and now correctly exposed as such. This could avoid a crash if the plugin was to use functions nspluginwrapper is not implementing yet. In practise, this would be NPAPI Java plugins but they are not supported yet.
Downloads. nspluginwrapper 1.1.4 is available as source code only. You can get packages from your distributor or build your own. RPMs are really simple to get: rpm -tb nspluginwrapper-1.1.4.tar.bz2 will generate binary RPMs in your usual tree.