mirror of
https://github.com/Team-Resurgent/XBMC4Xbox.git
synced 2026-08-15 11:18:13 -07:00
If ever adding the XBMC4Xbox source to GitHub use "git add -f -A" or it wont add all the files.
567 lines
19 KiB
Plaintext
567 lines
19 KiB
Plaintext
Change Log
|
|
|
|
v1.3.13
|
|
improved performance (approx. 3x) of single-threaded print
|
|
exceptions in non-default modules reported like errors in script code
|
|
fix: mysession.spy: session depends on pool, so switched import order
|
|
fix: faulty session handlers thrown out on error
|
|
- takes care of annoying NameError: 'pool' not found
|
|
fix: sys.path always returned to original state, even on error
|
|
globals accessible via python modules
|
|
- applied patch contributed by: Niko Matsakis
|
|
iterable objects allowed within 'for' tag
|
|
- modified patch submitted by: Stefan Behnel
|
|
spyce lambdas can return values
|
|
updated spyceLock.py to eliminate Python FutureWarning for large constants
|
|
added include.spyceStr(), idea from Santtu Pajukanta
|
|
fix: error module performs response.clearFilters
|
|
- thanks to Colin Gillespie for reporting this
|
|
turning on spyce.DEBUG_ERROR will also display when modules start/finish
|
|
|
|
v1.3.12
|
|
added fix to prevent reparsing of POST stream on
|
|
internal redirect (modified Conan Albrecht's contribution)
|
|
documentation updates
|
|
fix: parsing totally empty files threw exception
|
|
user request: iterate over request object
|
|
modified semantics of active tags
|
|
- singleton tags now behave like paired tags with empty bodies
|
|
- defined a number of flags in spyceTag to reduce level of indentation
|
|
in generated python code where unnecessary:
|
|
conditional, loops, catches, mustend
|
|
- see tag documentation
|
|
updated core tag library accordingly
|
|
fix: dump_handler with binary files truncating on Windows
|
|
fix: files with DOS linebreaks
|
|
fix: both <%. and <%@ can now begin a spyce directive
|
|
directory listings of Spyce webserver look nicer, Apache-like
|
|
added form active tag library
|
|
added PATH_INFO functionality to spyceWWW
|
|
|
|
v1.3.11
|
|
user request: daemon webserver mode
|
|
fix: mod_python flush problem
|
|
performance: rewrote tokenizer/parser
|
|
- no longer using clusmy parser generator package
|
|
- still pure python, compilation times between 2-6x faster
|
|
user request: expose functionality to define spyceProcess function
|
|
with arbitrary parameters, and pass in parameters... helps
|
|
Coil framework with Spyce integration
|
|
fix: spyce webserver not performing path manipulations correctly
|
|
on Windows
|
|
fix: spyce.mime file not copied for .rpm and Windows installers
|
|
|
|
v1.3.10
|
|
Default development configuration changed to:
|
|
Apache 2.0.40 and Python 2.2.x
|
|
Release testing will be performed:
|
|
both on Linux and Windows
|
|
under CGI, FastCGI and mod_python
|
|
Other versions of Apache and Python should continue to work, but
|
|
will not be tested. I am depending on user feedback to catch any
|
|
errant bugs under these older configurations.
|
|
fix: spyceWWW properly deals with directory URLs that don't end in '/'
|
|
fix: request.getpost1/postget1() now accept default values
|
|
fix: memory cache checks file permission as well as modification time
|
|
fix: makefile was including .pyc/.pyo files in tarball
|
|
fix: spyce.vim syntax highlighting for spyce lambdas
|
|
fix: error module should be loaded last to avoid stdout module being
|
|
unloaded on error, thereby causing print statements to no longer go
|
|
to the browser during error handling
|
|
fix: error module setHandler used incorrect variable name, causing
|
|
setHandler to fail
|
|
updated spyce.vim syntax file for JSP/ASP like delimeters
|
|
spyce.vim now included in vim distribution
|
|
rpm generates spyceParserTable.py
|
|
(allowing for different versions of python)
|
|
added 'no-store' and 'must-revalidate' to response.uncacheable()
|
|
added pageerror configuration option to modify default page-level handler
|
|
rpm now requires http >2.0 and python >2.2 installed
|
|
|
|
v1.3.9
|
|
spyceWWW web server improved
|
|
- configuration options integrated into spyce.conf
|
|
- handler mechanism created
|
|
- defined spyce and dump handlers
|
|
- reads Apache format mime-type definition files
|
|
- .spy files ==> spyce handler; rest ==> dump handler
|
|
- can display directory listings
|
|
- configuration options added accordingly
|
|
- corresponding documentation changed
|
|
documentation restructured to explain common configuration file
|
|
options in the runtime section
|
|
fix: docs/examples/*.gif added to rpm and windows installer
|
|
expanded section on how to get Spyce running under IIS via CGI
|
|
|
|
v1.3.8
|
|
user request:
|
|
modified request.get/post/get1/post1/env() to accept default values
|
|
(note: will break code that provided caseInsensitive parameter by position)
|
|
added request.getpost/getpost1/postget/postget1/default() methods
|
|
bug fixes: python 1.5 backwards compatibility issues in the following
|
|
online examples: gif.spy, myPortal.spy, mysession.spy
|
|
|
|
v1.3.7
|
|
support for ASP-style delimeters -- <% %>
|
|
use of Bastion eliminated, due to Python deprecation
|
|
|
|
v1.3.6
|
|
info.spy example updated to deal with implicitly loaded taglib module
|
|
minor documentation fix for doc-mod_include
|
|
quotes for the PythonPath in httpd.conf
|
|
|
|
v1.3.5
|
|
taglib and spylambda modules loaded implicitly only when needed
|
|
(i.e. when tags or spyce lambdas are actually used in a given file)
|
|
make install made more portable; removed install -D switch
|
|
EOFError now handled for file-based spyce caching (strange Windows bug?)
|
|
improvements to automaton module
|
|
|
|
v1.3.4
|
|
doc updates - session module
|
|
minor mod_python bug - filename attribute used over environment
|
|
fix - windows installer unable to find python executable in some cases
|
|
|
|
v1.3.3
|
|
examples/info.spy added
|
|
keep track of spyce entry point, added to spyce header
|
|
fix - CGI fails (only on Apache2.0!) with GET info due v1.3.2 changes
|
|
fix - typo in core:if tag
|
|
|
|
v1.3.2
|
|
mod_python 3.0.1 compatibility
|
|
- switched to sre module, despite stack limits, because
|
|
pre module conflicts with pcre shared object that apache uses
|
|
(actually, just fails on some complicate reg.exps!)
|
|
This implies that very, very long spyce files might fail, until
|
|
sre module implements a state-machine-based reg.exp engine.
|
|
- apacheRequest.connection.child_num mysteriously removed,
|
|
therefore using os.getpid() in spyceModpyRequest.getServerID()
|
|
spyceApache.conf tweaked (should be more compatible)
|
|
installHelper.py converts backslash to forward slash
|
|
for httpd.conf on Windows
|
|
switched from pre to sre module in spyceCompile.py
|
|
- reason: Apache 2.0.x uses different pcre library from Python
|
|
causing failure under mod_python
|
|
- pre was used over the default (sre) because sre implementation is
|
|
stack-based and encountered overruns... Oh, well! Don't write
|
|
Spyce files that blow the stack until sre is fixed.
|
|
|
|
v1.3.1
|
|
fix - wrapped thread-unsafe yacc-like package with lock
|
|
renamed util module to spyceUtil.py
|
|
- conflict with python1.5 site-package
|
|
renamed cache.py, lock.py (just in case)
|
|
make website update script faster
|
|
|
|
v1.3.0
|
|
active tags introduced
|
|
- see: http://spyce.sourceforge.net/doc-tag.html
|
|
- [[.taglib]] directive added
|
|
- taglib spyce module added
|
|
- compiler changes to deal with active tags
|
|
- tagging infrastructure (spyceTag, spyceTagPlus, spyceTagLibrary)
|
|
- see: spyceTags.py
|
|
- user-defined active tag libraries possible
|
|
- see: http://spyce.sourceforge.net/doc-tag_new.html
|
|
- core active tag library
|
|
see: tags/core.py
|
|
see: http://spyce.sourceforge.net/doc-tag_core.html
|
|
- tag libraries loaded from same path as modules
|
|
- compiler syntax checking improved
|
|
- check for unbalanced parens
|
|
- check for unbalanced active tags
|
|
- extensible syntax checking for active tags
|
|
|
|
v1.2.10
|
|
bugfix - typo in spyceWWW caused threading mode startup failure
|
|
|
|
v1.2.9
|
|
stdout.push() can now accept no file argument
|
|
stdout.pop() now returns captured output
|
|
stdout.capture() added
|
|
see: examples/stdout.spy and stdout module docs
|
|
session_user session handler added in session module
|
|
see: examples/mysession.spy and session module docs
|
|
spylambda.define() can now memoize
|
|
see: http://spyce.sourceforge.net/doc-mod_lambda.html
|
|
memoized spyce lambda syntax: [[spy! ...: ...]]
|
|
see: http://spyce.sourceforge.net/doc-lang_lambda.html
|
|
slight modification to spyce.vim syntax file
|
|
response.addHeader() now support replacement
|
|
response.timestamp(), expire(), expireRel(), lastModified()
|
|
and uncacheable() methods added
|
|
see: http://spyce.sourceforge.net/doc-mod_response.html
|
|
performance!
|
|
|
|
v1.2.8
|
|
links page added
|
|
spyce VIM syntax file updated; deals with spyce lambdas
|
|
include module improvements
|
|
- 'vars' field added
|
|
- included file can return value
|
|
- documentation updated, specifically regarding use of 'context'
|
|
|
|
v1.2.7
|
|
internal restructuring continues
|
|
- separated spyce exceptions
|
|
- separated spyce configuration
|
|
- expanded spyce API and spyceServer
|
|
- spyce.spyceDone now imported as spyceDone
|
|
simplified spyceModule
|
|
- renamed wrapper field, to _api
|
|
- old spyceModule available as spyceModulePlus
|
|
- all standard modules updated
|
|
fixed - syntax errors were not reported properly
|
|
file-based spyce caching, with config option
|
|
performance improvements
|
|
|
|
v1.2.6
|
|
single and multi-page documentation
|
|
minor fixes:
|
|
- NoCloseOut.flush() added
|
|
- BufferedOutput.flush() flushes sub-stream
|
|
- template module pointed at new location of cache code
|
|
|
|
v1.2.5
|
|
spyceAPI defined: module access to spyceWrapper object restricted
|
|
- see: http://spyce.sourceforge.net/doc-mod_new.html
|
|
- (in general, will be moving towards restricted execution space)
|
|
toc module improved; add level(), l1()...l9() methods
|
|
server-level debug option added to config file
|
|
- see: http://spyce.sourceforge.net/doc-conf_common_debug.html
|
|
- debug Spyce module deprecated
|
|
engine now supports recursive requests (include spyce from itself)
|
|
sys.stdout (and therefore print statements) made thread-safe
|
|
spyce engine supports concurrent requests
|
|
server-level concurrency option added to config file
|
|
- see: http://spyce.sourceforge.net/doc-conf_common_concurrency.html
|
|
- spyce webserver operates in single, forking and threading modes
|
|
server-level Spyce module caching
|
|
- replaces Spyce-level module caching
|
|
- caching-related code separated from wrapper
|
|
code compilation seperated from wrapper (spyce.spyceCode)
|
|
autodetect when PYTHONOPTIMIZE causes lexer/parser failure
|
|
minor fixes and performance tweaks
|
|
|
|
v1.2.4
|
|
fix - new PLY parser uses reflection at runtime to read
|
|
documentation strings containing grammar, thus you
|
|
should not run Python in optimize mode, thus
|
|
mod_python option in spyceApache.conf changed.
|
|
fix - python 1.5 compatible .spy files for docs
|
|
|
|
v1.2.3
|
|
fix - code for new tokenizer/parser made python 1.5.2 compatible
|
|
|
|
v1.2.2
|
|
fix - PATH_INFO via CGI
|
|
fix - magic (#!) on first line treated as comment
|
|
|
|
v1.2.1
|
|
complete rewrite of spyce tokenizer and parser
|
|
- using PLY, table-driven
|
|
added spyce lambdas to language
|
|
|
|
v1.2.0
|
|
contrib section added
|
|
support for SPYCE_PATH environment variable
|
|
lots of documentation fixes
|
|
decided spyce was mature enough for 1.2.0
|
|
|
|
v1.1.46
|
|
feature request: improved examples page on website
|
|
|
|
v1.1.45
|
|
site and documentation revamp
|
|
refactored the spyceModule class (see spyceModule.py)
|
|
altered all standard modules to conform to new internal design
|
|
new table-of-contents (toc) module (see docs)
|
|
improved stdout module (see docs)
|
|
added push() and pop() methods
|
|
now loaded implicitly
|
|
exception tracebacks in chunks identify specific error lines
|
|
file globbing added to -O command-line option
|
|
|
|
v1.1.44
|
|
module directive deprecated
|
|
replaced with import tag
|
|
import tag accepts args attribute
|
|
calls module init() method at location of directive
|
|
init() methods added to modules: session, compress
|
|
see: http://spyce.sourceforge.net/doc_lang_directive.html
|
|
http://spyce.sourceforge.net/doc_mod.html
|
|
http://spyce.sourceforge.net/doc_mod_compress.html
|
|
http://spyce.sourceforge.net/doc_mod_session.html
|
|
http://spyce.sourceforge.net/doc_mod_new.html
|
|
bugfix - modules finalized on redirect
|
|
|
|
v1.1.43
|
|
bugfix - included files not inheriting modules properly
|
|
bugfix - transform module inside included file
|
|
|
|
v1.1.42
|
|
renamed spyce.conf to spyceApache.conf
|
|
renamed spyceApache to spyceModpy
|
|
renamed run_spyceApache to run_spyceModpy (affect spyceApache.conf)
|
|
added server-level configuration file functionality
|
|
server module search path
|
|
modules to load at startup
|
|
server-level error handler
|
|
global server variables
|
|
see: docs/doc_conf_common.html
|
|
added response.isCancelled() function
|
|
see: docs/doc_mod_response.html
|
|
bugfix - early client disconnect caused problems under mod_python
|
|
|
|
v1.1.41
|
|
extended HTTP response constants to conform to spec
|
|
extended HTML entity encoded characters to conform to spec
|
|
modified internal buffering semantics to allow eliminiation of special
|
|
case code for specific HTTP return codes (redirects) in the common path
|
|
performance improvements
|
|
convenience functions transform.html_encode() and url_encode() added
|
|
error module added: handles errors that occur during spyce processing
|
|
bugfix - HTTP return codes propagated correctly under mod_python
|
|
|
|
v1.1.40
|
|
bugfix - spyce syntax error propagated properly
|
|
response headers cleared on an internal redirect
|
|
case insensitive request.get,post,get1,post1,file
|
|
|
|
v1.1.39
|
|
modified how filter module injects itself into output stream
|
|
added response.addFilter() to allow piped functionality
|
|
on the output stream, modules can insert write, writeStatic,
|
|
writeExpr, flush and clear handlers
|
|
added compress module for dynamic compression functionality
|
|
compress module documentation
|
|
renamed filter module to transform (name conflict with Python builtin)
|
|
sys.path forced to be absolute before changing directory in CGI mode
|
|
bugfix - spyce path trimmed to just filename when directory changed for
|
|
CGI processing
|
|
bugfix - spyce web server closes sockets
|
|
|
|
v1.1.38
|
|
spyce can now run as a (proxy) web server
|
|
spyce -l [-p port] <server root>
|
|
|
|
v1.1.37
|
|
spyceDone exception to stop spyce processing
|
|
raise spyceDone, see gif.spy, fileupload.spy examples
|
|
response.close() deprecated
|
|
not needed with spyceDone functionality
|
|
cPickle used in session module
|
|
improved session serialization performance
|
|
|
|
v1.1.36
|
|
redirect.externalRefresh now has url= in string
|
|
internal redirect fixed
|
|
bug fix - consecutive compact line removal now possible
|
|
examples added: hello2.spy, form.spy
|
|
handle ISINDEX CGI queries that have extra command-line parameters
|
|
Status CGI header used for spyce redirect return codes
|
|
|
|
v1.1.35
|
|
bug - fixed cgi chdir in case of local directory
|
|
request - invoke spyce engine programmatically with spyce string
|
|
source tarball does not contain extra CVS junk
|
|
|
|
v1.1.34
|
|
fixed apache config bug in windows installer
|
|
|
|
v1.1.33
|
|
appended current Spyce file's directory to sys.path
|
|
|
|
v1.1.32
|
|
minor documentation tweaks
|
|
names attribute added to [[.module ]] tag
|
|
request.__getitem__() added
|
|
chdir in cgi mode
|
|
|
|
v1.1.31
|
|
windows installer improved: apache configuration and restart
|
|
fixed - handling of initial spaces in multi-line strings in python chunks
|
|
|
|
v1.1.30
|
|
red page marker in docs
|
|
created undefined windows lock variables
|
|
|
|
v1.1.29
|
|
documentation split up
|
|
rpm is now noarch
|
|
|
|
v1.1.28
|
|
include.dump() now has binary option
|
|
stdout changed to binary mode on windows for cgi purposes
|
|
fixed session_dir handler bug on windows
|
|
|
|
v1.1.27
|
|
fcgi implemented on windows too
|
|
windows installer
|
|
|
|
v1.1.26
|
|
fixed - nasty bug with the new module behaviour
|
|
small improvements to documentation and examples
|
|
improved request.uri() function
|
|
|
|
v1.1.25
|
|
fixed - fcgi module broke on windows
|
|
|
|
v1.1.24
|
|
line compaction improved
|
|
module behaviour on include.spyce() defined
|
|
|
|
v1.1.23
|
|
lots of changes so that: it works on Python 1.5.2 now too!
|
|
file-based session handler now uses pid, and file locks
|
|
live examples on sourceforge
|
|
|
|
v1.1.22
|
|
fixed Python v2.1.1-related bugs.
|
|
improved installation process and documentation
|
|
rpm more likely to succeed - uses fcgi or drops back to cgi
|
|
no longer mod_python based by default
|
|
|
|
v1.1.21 (faulty release)
|
|
stochastic session clean up; no more threading dependency
|
|
documentation: better installation notes
|
|
peep-hole optimizer
|
|
|
|
v1.1.20 (faulty release)
|
|
created explicit (swappable) cache infrastructure
|
|
BUG ** Spyce also works on Python v2.1
|
|
request - request.post(),post1() works in includes
|
|
documentation: cheetah install, ...
|
|
|
|
v1.1.19
|
|
filter module
|
|
|
|
v1.1.18
|
|
fcgi support added
|
|
X-Spyce header added
|
|
documentation: how to write new modules
|
|
|
|
v1.1.17
|
|
feature request - compaction algorithm improved
|
|
|
|
v1.1.16
|
|
generalised session.setHandler (session handler selection mechanism)
|
|
gdbm, bsd db session handlers added
|
|
|
|
v1.1.15
|
|
minor makefile and rpm script changes
|
|
handling of multi-line strings in python code
|
|
response.flush() added
|
|
|
|
v1.1.14
|
|
wrappers to check python version
|
|
|
|
v1.1.13
|
|
added new language construct: "Python chunks"
|
|
|
|
v1.1.12
|
|
stdout module redirects stdout to response object
|
|
added writeln() to response module
|
|
|
|
v1.1.11
|
|
fixed lots of CGI bugs:
|
|
reported bug - headers not sent
|
|
session module thread prevented script death
|
|
added spyce.ONE_SHOT variable
|
|
cookie module fixed
|
|
gif.spy example fixed
|
|
external redirect fixed
|
|
|
|
v1.1.10
|
|
performance:
|
|
implemented semantic cache for spyce compilation
|
|
templating module performs caching
|
|
lots of commenting
|
|
|
|
v1.1.9
|
|
templating module (cheetah integration)
|
|
documentation
|
|
|
|
v1.1.8
|
|
automaton module
|
|
documentation
|
|
|
|
v1.1.7
|
|
associative array access to session and cookie information
|
|
added pool module
|
|
documentation
|
|
comments emitted as tokens
|
|
syntax highlighting function: include.spycecode
|
|
documentation
|
|
|
|
v1.1.6
|
|
dynamically loading modules
|
|
|
|
v1.1.5
|
|
redirect module added
|
|
|
|
v1.1.4
|
|
response.unbuffer()
|
|
|
|
v1.1.3
|
|
support for file upload
|
|
request.get1(),post1()
|
|
|
|
v1.1.2
|
|
more reliable exception location reporting
|
|
|
|
v1.1.1
|
|
static includes
|
|
module search path
|
|
|
|
v1.1.0
|
|
Implemented modules -- major rewrite.
|
|
Changed includes, sessions, cookies, ... everything into modules
|
|
Changed the generated "stub", though this is mostly under-the-covers
|
|
Rewrote most of the documentation
|
|
|
|
v1.0.5
|
|
CGI support
|
|
Expanded install docs
|
|
|
|
v1.0.4
|
|
Many doc updates
|
|
Autosession support
|
|
changed directives tags to use html-like attributes
|
|
|
|
v1.0.3
|
|
Automatic session cleanup
|
|
Updated pilpel image
|
|
|
|
v1.0.2
|
|
Handle 403 - Forbidden
|
|
Handle 404 - Not Found
|
|
|
|
v1.0.1
|
|
Tracking original spyce code locations in generated code
|
|
Reporting runtime exceptions in original spyce code
|
|
Reporting syntax (compile) exceptions in original spyce code
|
|
|
|
v1.0 - Initial release
|
|
Documentation
|
|
Added [[.nocompact]] and [[.compact]]
|
|
Allowed escaped \[[ and \]] in HTML
|
|
Added session support, with on-disk implementation
|
|
Realised and implemented command-line
|
|
Added cookies
|
|
Added http header calls
|
|
Added get and post support
|
|
Created request and response objects
|
|
Added [[.include]]
|
|
Added [[.funcion]] and [[./function]]
|
|
Create in-memory spyce cache
|
|
Wrote a token-based Brace Converter
|
|
Added [[ ]] and [[= ]]
|
|
Created Spyce compiler shell
|
|
Wrote initial mod_python "hello world" handler
|
|
Read up on mod_python
|
|
Looked at PyServ
|
|
Attempted to engineer a WebWare-based solution
|
|
|