Check out the Red programming language from the same author

Cheyenne v0.9.17 released

Nenad Rakocevic - Softinnov
21-Dec-2007 20:20:27 GMT

Article #13
Main page || Index || 4 Comments

Download here the source package.

  • Cheyenne can now run natively as NT-Service. Use the systray menu to switch between service and user mode. (switching to service mode requires admin rights)
  • Several new command-line options have been added :

    • -u : (Windows only) uninstall Cheyenne service (alternative to systray menu)
    • -f %path/ : specify a working folder for Cheyenne's runtime files.

    • Internal use (Windows only) :
    • -s : run as NT-service
    • -fromdesk : executable was started from a user desktop
  • cheyenne.r boot script refactored for cleaner and more modular approach.
  • CGI handler was redefining 'read-io in a unfriendly permanent way. Now you should use 'cgi-read-io if you want to read the system/ports/input from CGI scripts.
  • Fixed an issue with FastCGI apps, now local file paths are absolute instead of relative.
  • Major change in modules event functions prototype, now all module events are called with only one argument : 'req (the request objet). The HTTPd context is also now reachable from module's context using 'service word. For example :
        service/conf => loaded configuration file
  • RSP session timeouts can now be set per webapp or per session, from config file in webapps using the 'timeout keyword or from RSP code using the session/timeout property. The 'timeout keyword need a time! value. Example :
        timeout 00:30	; session timeout set to 30 minutes
  • BugFix in REBOL CGI scripts header handler introduced in previous betas.
  • If a 'Content-Length header is not sent by the client in a POST or PUT request, now Cheyenne returns a "400 Bad Request" response.
  • A new config file keyword 'post-mem-limit allows to define the threshold for disk-based temporary storage of POST/PUT data instead of buffering in memory (raw data of arbitrary size can now be sent with POST/PUT).
  • New 'listen keyword in configuration file in 'globals section allows to define the HTTPd listen ports. If the -p command line option is used, it overrides the ports defined by 'listen.
  • A new header 'Internal-Referer has been added to save the previous requested URL when a request is internally forwarded.
  • New config keyword in 'globals: 'set-mime allows to add new mime types. If the mime type is already defined, it will be replaced by the new definition. Syntax :
        set-mime type/sub-type .extension 
        set-mime type/sub-type [.ext1 .ext2 ...]
  • Fixed PHP support for non-Windows platforms. Added a new 'delay option in 'extapp definition block to allow slower processes finish booting before trying to obtain a connection.(This may happen on slower machines). PHP support tested successfully on Windows, Linux and OSX using PHP 5.2.5.
  • Minor additions to FastCGI protocol handler.
  • 'mod-userdir refactored :
    • cleaner and shorter code.
    • 'user and 'group keywords accept a name or integer ID.
    • task-master's slave processes are now SETUID too.
  • Cheyenne doesn't check anymore for a valid system/license, but now just for the /Library component.
  • Bug fixed (from online bugtracker) :
    #0010034 : Configuration: PHP execution stops working after a configuration reload  
    #0010032 : CGI: posting large amount of data fails  
    #0010026 : HTTP: protocol get redirected to 


27-Dec-2007 23:29:44
Does Cheyenne.r v0.9.17 require rebol/command now? I get an error as if it is trying to access a dll file.
27-Dec-2007 23:31:18
If so, how do I change prefs (like port used) with the encaped version?
29-Dec-2007 2:49:50
Changing port in encapped version: same as source version, either change it in httpd.cfg file or use the -p command line option e.g. :

cheyenne -p 8000

Btw, the encapped version, when first run, writes a default httpd.cfg file (if none found) in the same directory. If Cheyenne is run from Windows desktop, the working directory will be [...]/All Users/ApplicationData/Cheyenne/.
29-Dec-2007 2:55:46
Cheyenne requires the /Library component, but should run fine even if it's not present (but some features won't be available, like NT-services support). If you find some errors or odd behaviours, please report them in the bugtracker

The encapped version contains all the required components.

Post a Comment:

You can post a comment here. Please keep it on-topic.




  Note: HTML tags allowed for:b i u strike li ol ul font a p br pre blockquote

This is a technical blog related to the above topic. We reserve the right to remove comments that are off-topic, irrelevant links, advertisements, personal attacks, offensive blogments, etc.

© Nenad Rakocevic - Softinnov