Change log

0.5

04/27/2009

First release

  • Bug #6: Add tutorials
  • Bug #7: Documentation for JS APIs
  • Bug #22: Replace Naturaldocs with something else
  • Bug #24: Tidy up code locations
  • Bug #26: Multi-line instructions and the REPL
  • Bug #29: Prelude utility functions should be in a module
  • Bug #47: Object.defineProperty (flusspferd::load_properties_functions) seems to have problems with prototype properties
  • Bug #50: Range does not work
  • Feature #18: Merge doc branch into master?
  • Feature #16: Make it easier to get an std::string out of flusspferd::value
  • Feature #20: Make adding class methods to the prototype one step
  • Feature #40: Implement ServerJS "Securable Modules" spec
  • Feature #41: Implement "mixed mode" modules (directly) in loader
  • Feature #25: Emacs mode
  • Feature #35: Waf install should create and install documentation
  • Feature #27: Machine command mode for the Flusspferd shell

0.5.1

04/28/2009

Bugfix release for 0.5

  • Bug #54: Did not compile with a Spidermonkey that was not compiled with JS_THREADSAFE
  • Bug #51: Makefile missing in 0.5 release!

0.6

06/08/2009

  • Bug #60: Use rpaths for external libraries
  • Bug #66: flusspferd.pc not created
  • Bug #65: Switch to another build system
  • Bug #74: Prepare 0.6 release
  • Bug #71: value::value(int) is broken
  • Feature #46: Use explicit constructors in flusspferd::value
  • Feature #68: CommonJS Binary/B
  • Feature #56: Flusspferd modules should be able to replace the 'exports' object
  • Feature #69: CommonJS Encodings
  • Feature #72: Automatically convert C++ containers to JS Arrays
  • Feature #11: flusspferd::value v("mystring") should probably work
  • Feature #61: High-level language for creating proxy classes

0.6.1

06/18/2009

  • Feature #81: Allow manual enabling/disabling of modules

0.7

08/31/2009

  • Bug #86: Flusspferd does not exit interactive shell
  • Bug #90: Wierdness with Generator expressions in modules.
  • Bug #94: Memory leak in flusspferd::execute
  • Feature #78: Command line modules
  • Feature #73: Permanent history
  • Feature #79: CMakeLists should use OPTION() for optional features
  • Feature #82: Improve option parsing of the shell
  • Feature #14: Improve loading of optional core components like Blob
  • Feature #88: C Style Example Code of Flusspferd Printing Command Line Arguments
  • Feature #83: Implement CommonJS "system" module

0.8

10/20/2009

  • Bug #130: Running shell with dir (instead of file) causes underflow error
  • Bug #98: SQLite3.cursor binding parameters doesn't work
  • Bug #107: Add transcation methods begin(), commit() and rollback() to SQLite3
  • Bug #109: query() should support sql tails in sqlite
  • Bug #108: Implement exec() and execMany() for sqlite
  • Bug #104: sqlite3 plugins should support BLOB data type
  • Bug #110: object::set_property runs into a recursive loop and causes a segmentation fault
  • Bug #117: BinaryString decodeToString must check for undefined parameter (not passed parameter)
  • Bug #118: Encodings tests are broken
  • Bug #4: Test suite needs to extend to Javascript tests
  • Bug #87: No descriptions on thrown bugs from sqlite
  • Bug #100: Enable JS strict mode
  • Bug #99: instanceof across module boundaries
  • Bug #101: object to function conversion broken.
  • Bug #102: Add is_native to Classes group in Doxygen
  • Bug #106: string substr (size_t start, size_t length) is not const
  • Bug #105: sqlite3: add last_insert_id method to SQLite3
  • Feature #39: Implement CommonJS "file" spec
  • Feature #111: Improve SQLite3.Cursor.next() to return either the result as an object or an array
  • Feature #93: Allow moving contexts between threads
  • Feature #92: Relocatable binaries
  • Feature #96: Change getopt to be able to auto generate bash_completion, --help and parts of the manpage
  • Feature #115: Implement compose_error_message for Windows
  • Feature #122: Allow directory creation through the directory plugin
  • Feature #121: Return set value from object.set_property
  • Feature #103: Get SQLite3 back into master

0.9.1

01/29/2010

  • Bug #198: Boost.Process based subprocess module tests fail
  • Bug #193: system.env changes not propogated to real ENV
  • Feature #194: Windows support for subprocess module

0.9

02/02/2010

0.9 - the one with the C++ API breaking changes

  • Bug #150: Docs do not fully work, when used locally
  • Bug #169: getopt aliases don't work properly
  • Bug #140: JIT is not enabled
  • Bug #154: Machine mode does not work
  • Bug #124: root_* should have an explicit constructor
  • Bug #162: Flusspferd crashes when GC Zeal is active
  • Bug #137: encodings.convertFromString (and ToString) need better errors
  • Bug #133: create_native_object ignores void* parameters
  • Bug #180: C++0x compatibility: utf16_t is a keyword in C++0x
  • Bug #160: binary.ByteArray missing extendLeft/extendRight
  • Bug #132: Will only build when using release mode, conflicting DEBUG symbol
  • Bug #134: Support INCLUDE/js/jsapi.h as well as INCLUDE/jsapi.h
  • Bug #170: Flusspferd doesn't work with Boost 1.41
  • Bug #186: Can't load DSO via relative require
  • Bug #127: automatic function params accepting numbers as objects (assert issues)
  • Bug #189: JS_SetGCZeal should be detected at configure time
  • Bug #190: bash_completion wrong for dirs
  • Bug #188: curl::exception is unused
  • Bug #192: Building Pdocs fails
  • Feature #171: Implement CommonJS Unit Testing proposal
  • Feature #172: Add support for JS_GetConstructor
  • Feature #175: object::constructor/prototype/parent should work on const objects
  • Feature #176: create<NativeFunction> should pass name and arity
  • Feature #178: Improve native_function_base constructor
  • Feature #177: Create @module.resource@ API
  • Feature #167: Easier way to proxy JS methods to member variable
  • Feature #174: C++ should be able to throw values/objects to JS
  • Feature #179: New API: flusspferd::create_on
  • Feature #181: Make API for JS_MaybeGC and use it
  • Feature #173: (re)Implement (working) XML module
  • Feature #164: Improve the GMP API
  • Feature #10: Rename some overloads of create_native_function to bind_native_function (and similar for other functions)?
  • Feature #183: CMake export file
  • Feature #187: Explicitly specify all source files in CMakeLists.txt
  • Feature #34: load / IO.load function
  • Feature #128: Create an object::instance_of(object theClass)
  • Feature #119: Write JS docs for XML plugin
  • Feature #116: Modules in $HOME
  • Feature #113: CURL Redirects
  • Feature #112: cURL overhaul - Improve libcurl and get it back to master
  • Feature #131: is_native/get_native should support native_function_base
  • Feature #141: operator== for value
  • Feature #139: Provide better default toSource and toString methods on NativeObject
  • Feature #144: Add array::push method
  • Feature #146: Make array::set_element more compatible to object::set_property
  • Feature #151: object::set_properties / object::define_properties
  • Feature #145: Allow array creation from a list of values.
  • Feature #152: Improve shebang handling
  • Feature #153: Exports objects should get toString and toSource
  • Feature #155: Use Spidermonkey's *ById Functions
  • Feature #157: Don't run test-sqlite3.t.js if sqlite3 Module is not build
  • Feature #147: flusspferd::create<>()

0.10

03/16/2010

Relase after next. Things we want sooner than the 'Mature 1.0' release. Date is not accurate.

  • Bug #159: Flusspferd crashes when calling js function returned from require() within a c++ callback
  • Feature #201: Get rid of function class
  • Feature #196: Make installation of the emacs files optional
  • Feature #197: Don't automatically zip the manpages
  • Feature #195: Make installation of the bash completion file optional
  • Feature #200: JSFunction* -> JSObject* can be converted with a static_cast

1.0

"Mature" release