Jaxer Release Notes
Jaxer Release Notes
Release 0.9.7:
- Added informative error messages to DB.MySQL, using
whatever information MySQL gave about the error (JXR-153)
- Added a removeAll() method to the Jaxer.Container prototype
so you can now clear out your session, sessionPage, page, or application containers
(JXR-166)
- Addressed threading issues in JaxerManager running on
some operating systems (JXR-176)
- Added a Jaxer.Util.isEmptyObject(obj) to determine whether
an object has no (enumerable) properties
- createDB (and hence also Jaxer.DB.createDB) now returns a connection
object (JXR-168)
- Improvements to scriptdoc (and hence to content assist and help docs)
- Use the latest recommended optimization options from Mozilla
(http://mxr.mozilla.org/mozilla/source/tools/tinderbox-configs/firefox/win32/mozconfig)
- Fixed GTK issue that caused a problem when using the canvas element
on some operating systems (JXR-102)
Release 0.9.6:
- We now allow the value of the proxy attribute on a function
to be anything that is equivalent to true or false, not just specifically true
or false, when deciding whether to proxy it. (JXR-156)
- Fixed an important bug where we did not mark the document as having
been touched by Jaxer when the only changes to it were done by an externally-src'ed
JavaScript file (JXR-162)
- Improve the performance when loading in externally-src'ed
JavaScript scripts by using new Core-level functionality to detect when functions
are created, for later tagging with the script tag's runat value (JXR-111)
- Allow for Unicode path for the log file (JXR-110)
- Check more robustly whether a connection from the web
server to Jaxer has succeeded. This allows restarting Jaxer independently of the
web server, which previously only worked correctly on Windows. Note that this required
a protocol change, so the web server and JaxerManager/Jaxer need to be using
this same new protocol (JXR-160)
- Fix issues related to running on 64bit Linux versions,
such as Ubuntu 64bit (JXR-158 and others)
- Fixed bug in the default local_jaxer/configRoutes.js
and added a warning if we encounter a non-function item in the Config.routes array
- Fixed Jaxer.DB.lastInsertRowIdand related (JXR-167)
- Fix some Linux build issues
Release 0.9.5:
- Updated Mozilla base to same as Firefox3 beta 3 ("FF3b3"),
which introduces numerous improvements. Made changes to Jaxer for compatibility
- Added the ability to compile scripts into bytecode, and execute
compilde bytecode
- Changed the callback environment such that callbacks use
the regular (window) global object
- Created the autoload attribute on script blocks to
automatically load a library JS file into both regular page requests and callbacks
in that page. Added Jaxer.Config.RELOAD_AUTOLOADS_EVERY_PAGE_REQUEST for easier
development/debugging cycles
- We no longer inline externally-sourced scripts that run on
the server, for a much better intuitive server-side experience
- By default, Jaxer now does not embed clientFramework inline
in all outgoing pages, instead it embeds an externally-sourced script tag. In Studio
we continue to use the inlined clientFramework
- Clean up the way we do callbacks, in particular making sure that
a page will only ever call its own callbacks, even if another page has identical callbacks
- Changed the (character) socket code to be compatible with FF3b3
(JXR-140, JXR-143, and others)
- For Mac OSX, added MySQL support, and allow starting and stopping
Jaxer and Apache independently of the main Start All button
- Added Jaxer.Util.Stopwatch functionality for timing
- Allow multiple prepared statement parameters to not be wrapped
in an Array (JXR-99)
- Now we can build and run on Solaris!
- For Windows, add MSVC runtime DLLs that are needed for
Jaxer built with MSVC 2005.
- Added more static methods to Jaxer.File and Jaxer.Dir,
and fixed Jaxer.File.chmod
- Fixed bug in prepared statement support for MySQL
- JaxerManager can now read settings from a cfg file (JXR-107)
- Improvements (mainly robustness and monitoring) to Jaxer
startup scripts, JaxerManager, and interprocess communications
- Fixed mod_jaxer to be compatible with gzipped contents
- Enhancements to Jaxer.request
- Minor JS and scriptdoc bug fixes
- File I/O unit tests now use tmp folder
-
Fixed issue when running within Studio on Vista SP1
when you're not an administrator. For some reason it was having a problem
with the length of the log file path. We now use different build flags
when building JaxerManager (JXR-101)
Release 0.9.4:
- Added support for MySQL on Linux (JXR-48)
- Document Jaxer.Request.FileInfo to better explain
how to work with uploaded files (JXR-79)
- Added the implementation and version properties
to the MySQL and SQLite connections' APIs (JXR-45 and JXR-46)
- Added extra information about ports to StartServers.bat
and StartJaxer.bat (Windows) (JXR-30)
- Explicitly check for the loading of the required
Jaxer prefs file (JXR-47)
- Fixed some API docs (JXR-63, JXR-77)
- Add content-type-based filter setting for
Jaxer handling of requests (JXR-76)
- Try to use same or similar failure codes for MySQL as
SQLite in MYSQL COM interfaces (JXR-57)
- Ignore invalid command line args instead of crashing
JaxerManager (JXR-56)
- Fix and improve some issues related to starting
up new Jaxer processes automatically (JXR-70)
- Decode incoming data as UTF-8 (JXR-38)
Release 0.9.3:
- Removed a scriptdoc tag that is not yet supported
and that prevented some API documentation from being generated.
- Fixed Linux build system problem that prevented
inclusion of API documentation in the Linux release package.
- Added the isOpen property and the test() method
to the APIs for Jaxer.DB.MySQL.Connection and Jaxer.DB.SQLite.Connection.
- Changed the release notes from text to html.
- Resolved the MOZILLA_FIVE_HOME issue on Linux (JXR-60).
- Significant speed improvement: we were scanning the entire global
context at the end of page processing to look for global functions with a runat property,
to catch those not picked up in script block parsing. We now added a setter to the Function
prototype to automatically register any functions that have runat properties set, so
we can just refer to this registry.
- Added Jaxer.Dir.grep(path, options) and
Jaxer.Dir.map(path, options, fn) for easier walking/processing of folder hierarchies.
- Modified the jQuery tests to skip tests with exceptions and display
them as skipped in the results. This increased the number of tests passed from 538 to 581,
leaving 42 tests still to fix.
- JXR-52: Do not check content type if page extension is already configured
for Jaxer filter, just pass it to Jaxer. This allows processing of more document types by Jaxer
(e.g. XHTML) but some issues, such as JXR-53 and JXR-54, remain.
- JXR-51: Do not use a type attribute on script blocks that Jaxer
generates and emits, nor on ones created by the developer that have a runat of server-only
and that are sent to the client because they contain proxies. This allows using advanced
type attributes on the server without sending them to clients (like IE) that don't support them.
Release 0.9.2:
- Switch to static builds of Jaxer/Mozilla and clean up some
previously-built pieces that are not needed.
This reduces load time and decreases Jaxer release size.
-
Enable integration with COM system on Windows builds
-
Fix bug that would cause crashes when protocol dumping was turned on,
and make protocol dumping more robust (flush when needed)
-
Improved performance by not firing unnecessary events from
Jaxer Core into the Jaxer framework
-
Added parameter validation for database connections (JXR-37)
-
Significant progress towards Linux builds (now they work on some distros)
-
Make tellJaxerManager cross-platform
-
Add support for including 3rd-party libraries when running Jaxer
unit tests (to see whether those libraries break Jaxer)
-
Added the Google Gears database resultset API to Jaxer.DB.ResultSet,
and fix Jaxer.DB.ResultSet.prototype.toHTML() (JXR-39 and JXR-40)
-
Add to the Jaxer DB API two synonymous properties: lastInsertId and
lastInsertRowId. These work for both dynamic connections (ones the
developer creates and manages) as well as the Jaxer.DB managed connections,
and for both SQLite and MySQL.
-
When XMLHttpRequests are used server-side, call onreadystatechange
after calling send() and getting the response. This allows supporting
Ajax libraries that rely on this event.
-
More robustness for jaxermanager on non-Windows platforms, and for
Jaxer's (Mozilla's) registration process on all platforms.
-
Enabled Mozilla's sql and canvas libraries; fix the gfx module's
initialization for canvas off-screen surface; enable ODBC
-
Fix JXR-41: when you try to use a File object with a directory's path
or a Dir object with a file's path, throw an error.
Release 0.9.1:
-
Build in more Mozilla extensions that could be useful on the server,
such as webservices SOA support and WebDAV.
-
Improved error handling and reporting in XMLHttpRequests, especially
when returning XML documents
-
Removed some cross-site XHR issues that prevented making certain
SOAP and other remote requests server-side.
-
Allow for SSL requests by handling certificates and allowing storage
(in the temp folder) of profile data
-
When you use SendOptions.contentType in XMLHttpRequests, the value
will be used to set the Content-Type header even if there is no
content (e.g. in a GET request) - important for AJAX .NET callbacks.
-
Allow setting any Mozilla preference by adding it to Config.MOZ_PREFS
in config.js, e.g. to enable HTTP proxying if your network requires it.
-
Don't rely on the Referer being present as a header during callbacks
(thereby supporting some really old browsers).
-
Eliminate silent failures due to not having the right error message file.
We now include en-US.jar.
-
Any premature exits/failures of the framework before page processing
is complete will result in a 500 Server error being returned to the
browser, instead of the partially-processed server content that could
occasionally have been returned to the browser previously.
-
Trap errors in URL parsing during construction of Jaxer.request, so
they lead to request errors rather than fatal errors.
-
Fixed link to the embedded API documentation, and make some scriptdoc
corrections. Properly show "advanced" items when clicking on the item
in the tree, and show "static" items as static.
-
Changed default JaxerManager ports to IANA-approved 4327 and 4328.
-
Eliminated a possible initialization race condition in which two Jaxer
processes could have tried to initialize some Mozilla filesystem
data at the same time.
-
Some cleanups and improvements to JaxerManager Command Line Interface
(CLI). See http://www.aptana.com/node/194 for details.
Release 0.9.0:
-
This is the first public release of Jaxer: beta version 0.9.0.
For more information, please go to http://www.aptana.com/jaxer/faq.