Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
393 lines (255 sloc) 11.1 KB
2012.05.31, Version 0.9.3 (stable), v1869
New supported platform:
* FreeBSD
- Opa commited to FreeBSD port trees:
Thanks to Jeremy Messenger <>
New features:
* Doc
- 5 first chapters translated in Chinese.
Thanks to Li Wenbo <> for this major contribution!
Online preview:
* Syntax
- Possibility to use underscore inside numbers
- In js-like syntax, block braces of inserts can be used as delimiting a anonymous block function.
e.g. <div onready={ {function(_) code} }></>
and <div onready={ function(_){ code} }></>
can be written <div onready={ function(_) code }></>
- Projection database syntax
- Allows several match case with the same production
* IMAP Client
* SMTP Client
- plain authentication
* HTTP Server
- PUT and DELETE methods are now handled
* Iconv
- binded libiconv with the help of iconv-ocaml
- added an Iconv module consequently
* The directive @atomic(expr) now checks that the compiler is able to emit an atomic expression computation
(i.e. containing no scheduling point)
* New package stdlib.core.concurrency that provides (on server side only):
- generic Mutex mecanism
- exclusive section
- and reference with exclusive access
* Database
- Mongo is the default database backend
- Sub-path on database set and map
- Projection
- Options for update (ifexists)
- Remove and Remove all operators on database list
- Slice Projection
- Added hole expression and indexed expression on sub-path
- Exists query
* Easier to define several server register: it now accepts a single registrable or a list of registrable
* Better support of html5 void elements: for those elements, the close tag is now optional
Note: html5 void elements can't be closed with a frag tag (</>).
* Easier to change the doctype. For example, to use html5 doctype:
Server.start(Server.http, [{register: { doctype : { html5 }}}, {title:"html5", ~page} ])
* utf-8 charset meta tag automatically added for doctype html5
* namespace on html tag only for doctype xhtml1_1
* Scheduling policy updated to improve concurrency level
* possibility to disable manpages generation with NO_MANPAGES
* do not generate dyn_css link or script tag if useless
* The 'with' construction generate more efficient code (less scheduling points)
* Better check of wrong cyclic type definition
* Faster parsing of Mime Multipart message
* Added a max pang attemps
* Html escaping, faster (x2) and introduces almost no html entities for utf8 encoded html resources
Bug fixes:
* Memory leaks of buffer pools (http and mongodb)
* File descriptor leaks in case of error while answering http request
* Url decoding on multibyte utf8 characters
* UriParser
- fixed bug when parsing ' ' character in path
- accept key without value (including equal sign)
* Mime
- fixed a bug in Mime headers parsing
- various fixes
* Mongodb buffer sharing is now always safe
* Database
- Reference and value on mongo path
- Update of sum path
- Encode special mongo character on mongo fields
- Db.remove on path embedded in mongo database set and map
* Server
- Case insensitive http header parser
* Syntax
- Added 'default' case on Opa trx parser
- Generation of client skeleton in some polymorphic case
- Serialized funaction as server cell
* Session
- The error callback was not called in some use of Session.try_send
Updated APIs:
* Server
- {register:...} now accepts a list of registrable instead of a list of string
Use Server.register_from_extension to register a list of string.
* Resource
- allow custom response headers (name, value)
* SMTP Client
- return the raw message sent on success (Ok)
* Cache
- removed deprecated Negociator API (misspelled)
- added reset function to reset cache entirely
* Mime
- Mime.get_text and Mime.get_attachments now takes an additional decoding function
- Mime.Header.decode_value also takes a decoding function
* Bootstrap
- upgraded to Bootstrap 2.0.3
- ability to import Bootstrap CSS with or without responsiveness
- merged WBootstrap Badge and Label importance type
* Queue
- stdlib.queue moved to stdlib.core.queue
- add many folding function
* Set
- add 'mapping' functions that can map to different kind of set
* List
- add 'rev_iter'
* Random add 'bool'
* Parser
- Parser.alphanum, Parser.ident and Parser.bool added
* Scheduler
- New functions for advance users, providing fine-tuning of scheduling policy:
set_max_compute_successive, new set_nb_step_apply, point, yield, switch.
* ThreadContext
- add Client.using
* OpaValue
- Generator of default value (OpaValue.default)
* Json
- Added sort function
2012.04.06, Version 0.9.2 (stable), v1591
New supported platform:
* Windows 64bits
- the platform is now supported via our binary installer while still considered as unstable
Congratulations to shadinger ( for the major contribution!
Bug fixes:
* Windows
- line error location
* Mime
- fixed a bug in q-parser and qp-parser
- fixed inline plain/text detection
* UriParser
- fixed bug when parsing '+' character in query
- accept empty values for query parameters
* Json
- serialisation: emit an error when an integers serialisation could be out of range for the client
* Mongo
- ref and val path on database set
- sum type updating
- composed path
- always resize buffer when it's full
- detection of primary key query
- update with _id
- use 64bits package for autoinstall
* Separate compilation
- Fix packages ordering issues with compiler packages
Updated APIs:
* `+` : can be used to concatenate two strings
* Bootstrap CSS
- upgraded to v2.0.2
- fixes for Bootstrap and Opa icons inclusion
- changed the import names
- added Font Awesome icons
* Bootstrap Widgets
- upgrade bootstrap widgets to match v2.0 of bootstrap
- the previous implementation (compatible with <= v1.4.0) is moved in stdlib.widgets.deprecated.bootrap
* Mongo low-level drivers
- added authentication parameters and command line options
* HttpRequest
- added a get_form_data to retieves POST data (application/x-www-form-urlencoded )
* Date
- support %z in scanner format (returns GMT date)
Other features:
* Windows
- the installer is now completly standalone, nothing else need to be installed
* Html response, size reduction
- add option --xhtml-enable-inlined-event, that can choose to inline event handler code in the html
- automatic dom ids are shorter
* Dom ids: accept minus char inside ids
* Slicer
- new warning classes that prevent using inadapted slicer directives
- new compile-time option '--slicer-check' that activate predefined configuration for theses warning classes
* Mongo
- added authentication options for @mongo database
- added reference path on database set/map
- use the default command line options if non-specific command line
- use cursors
- 'tilda' syntactic sugar for update request
* Db3
- added reference path on the root
* bslClient
- better handling of DOM appendChild under an HTML5 element in IE (fallback to jQuery)
* Editor
- start support of Sublime Text 2 with a plugin available at
2012.03.09, Version 0.9.1 (stable), v1466
Other features:
* opa-translate tool updated for classic to js-like syntax translation
with support of syntactic sugar, prettier printer and various enhancements and bugfixes
* directive @from
- new @from directive to resolve importation conflicts
- In case of conflicts beetween two types with same original names, error message includes packages.
* cyclic types
- exportation of cyclic types
- typer.cyclic warnings when (non local) cyclic type exportation
* mixing database backends
- Added @db3 and @mongo database options on database schema declaration.
* new exprimental --remote-logs option to send logs to a remote web server
* new --cookie-accept-client-values to use cookie ec/ic values provided by the client instead of generating new ones
New APIs:
* Unification of runtime types (and fix 'magic' functions)
Updated APIs:
* included Twitter's Bootstrap CSS inside the stdlib, and improved the import system (see doc)
* added a way to register favicons (like css and js)
* changed WebClient API concerning additional headers
* improved / fixed MIME library
Bug fixes:
* Improved HTTP gzip compression time
* Various fixes on http client response parser
* Parser fixes : bindinds, declaration directives, sugared list
* Checking of recursives values
* Database queries on primary keys
* Events handler in new syntax
* Coercion on Xhmtl fragment
* File descriptors leak when embedding static files
Other changes:
* Log.* functions take a strings instead of 'alpha
* Http client doesn't log by default (use the new HTTP_CLIENT_DEBUG debug variable if needed)
* --db-local options with mongo databases: download, install and launch a mongo database if needed.
2012.02.14, Version 0.9.0 (stable), v1300
Major features:
* js-like syntax
- new parser for a syntax close to JavaScript
- this is now the default syntax (use --parser classic to the the previous syntax)
- emacs mode and vim mode have been updated for this syntax
* MongoDB support
- new db backend based on MongoDB (not default)
- fully integrated with the langage db syntactic construction
- replica sets are supported using SlaveOk mode
- db syntactic construction extension to support queries with multiple ranges
Other features:
* i18n
- new @i18n directive
- it supports generic value that depends on the language
- more concise and simpler support for string
* directive @public_env
- instructs the compiler that it is legal to serialize a closure
- helps constructing functions on the server side that will be used later on the client side
New APIs:
* Mime, WBootstrap, Bootstrap, Dropbox, GCharts, Markdown, IRC, XlsExport, CsvExport, ...
Updated APIs :
* Email, SmtpClient, SmtpServer, Dom, Resource, OAuth, Canvas, Facebook, Twitter, GitHub, ...
Bug fixes:
* json string escaping: escape all control characters
* many other minor and major bug fixes
* Mongo replica sets now detect unsolicited change in primary due to new
priority feature for replica set nodes
* System.get_memory_usage(() on FreeBSD
Other changes:
* versioning number to semantic versioning (
- 1.0s4 => v0.9.0
* no automatic include of the favicon link
* .mlstate renamed into .opa, and no un-necessary creation at runtime
* HTML5 doctype added
opa (1.0s3.4) unstable; urgency=low
* initial open-source release
-- Louis Gesbert <> Fri, 10 Jun 2011 15:44:20 +0200
Something went wrong with that request. Please try again.