annotate CHANGELOG @ 1234:e799c8df3146

Catching lame FFI applications
author Adam Chlipala <adamc@hcoop.net>
date Tue, 13 Apr 2010 11:15:43 -0400
parents 6d8e3dcb9713
children 068f55543d03
rev   line source
adamc@1197 1 ========
adamc@1197 2 20100401
adamc@1197 3 ========
adamc@1197 4
adamc@1197 5 - Subquery expressions and FROM items
adamc@1197 6 - Low-level support for SELECT with no FROM clause
adamc@1197 7 - Fixes for DBMS-portability of relational operators
adamc@1197 8
adamc@1183 9 ========
adamc@1190 10 20100325
adamc@1183 11 ========
adamc@1183 12
adamc@1188 13 - -verbose flag
adamc@1188 14 - COUNT(col) SQL aggregate function
adamc@1188 15 - 'benignEffectful' and 'safeGet' .urp commands
adamc@1188 16 - Remove Basis.getRequestHeader, since it can be used to circumvent cookie
adamc@1188 17 security
adamc@1190 18 - Rename Top.foldR*X to map*X
adamc@1188 19 - Bug fixes and optimization improvements
adamc@1183 20
adamc@1166 21 ========
adamc@1166 22 20100213
adamc@1166 23 ========
adamc@1166 24
adamc@1166 25 - Improvements to 'configure'; should now fail if any uncommon but required
adamc@1166 26 package is missing
adamc@1166 27 - Other fixes to configuration, build system, and C code portability
adamc@1166 28 - sigfile .urp directive & -sigfile command-line option
adamc@1166 29 - .urp files with no directives no longer need to begin with blank lines.
adamc@1166 30 - Other bug fixes
adamc@1166 31
adamc@1137 32 ========
adamc@1137 33 20100130
adamc@1137 34 ========
adamc@1137 35
adamc@1137 36 - Conversion to an Automake-based build system, for greater portability in
adamc@1137 37 building shared libraries
adamc@1137 38 - -path and -root command-line flags
adamc@1137 39 - Exported page handling functions (i.e., those page-generating functions
adamc@1137 40 appearing in the main module's signature) may now take any number of
adamc@1137 41 arguments, including 0.
adamc@1137 42
adamc@1123 43 ========
adamc@1123 44 20100112
adamc@1123 45 ========
adamc@1123 46
adamc@1123 47 - Basis.serialized type family, for storing more types in the database
adamc@1123 48 - Basis.textBlob, for building blobs from strings
adamc@1123 49 - Basis.debug function, for server-side debug printing
adamc@1123 50 - Bug fixes & optimization improvements
adamc@1123 51
adamc@1065 52 ========
adamc@1103 53 20091230
adamc@1065 54 ========
adamc@1065 55
adamc@1093 56 - Automatic insertion of implicit arguments in more positions
adamc@1065 57 - Reifying expressions as URLs and redirecting to them explicitly
adamc@1070 58 - More syntactic sugar for SQL
adamc@1070 59 - Typing of SQL queries no longer exposes which tables were used in joins but
adamc@1070 60 had none of their fields projected
adamc@1075 61 - Tasks
adamc@1095 62 - Dynamic linking of the runtime system
adamc@1077 63 - Optimization improvements
adamc@1103 64 - Bug fixes
adamc@1065 65
adamc@1050 66 ========
adamc@1056 67 20091203
adamc@1050 68 ========
adamc@1050 69
adamc@1050 70 - Extended cookie interface (breaks backward compatibility for 'setCookie')
adamc@1050 71 - Bug fixes
adamc@1056 72 - Extended UTF-8 characters in HTML
adamc@1050 73
adamc@1043 74 ========
adamc@1043 75 20091124
adamc@1043 76 ========
adamc@1043 77
adamc@1043 78 - Improved Internet Explorer compatibility
adamc@1043 79
adamc@1020 80 ========
adamc@1033 81 20091108
adamc@1020 82 ========
adamc@1020 83
adamc@1020 84 - Bug fixes
adamc@1020 85 - Optimization improvements
adamc@1021 86 - Removed a restriction that prevented some RPCs and calls to sleep or recv
adamc@1021 87 from compiling
adamc@1020 88
adamc@999 89 ========
adamc@999 90 20091012
adamc@999 91 ========
adamc@999 92
adamc@999 93 - Small bug fixes affecting MySQL and SQLite
adamc@999 94
adamc@988 95 ========
adamc@997 96 20091009
adamc@988 97 ========
adamc@988 98
adamc@988 99 - Bug fixes
adamc@988 100 - Improvement to choice of line number to cite in record unification error
adamc@988 101 messages
adamc@994 102 - SELECT DISTINCT
adamc@996 103 - New extra demos: orm1 and versioned1
adamc@988 104
adamc@985 105 ========
adamc@985 106 20090926
adamc@985 107 ========
adamc@985 108
adamc@985 109 - Reimplemented client-side code generation to use an interpreter, rather than
adamc@985 110 compilation to JavaScript; this avoids common browser flaws: lack of
adamc@985 111 optimization of tail calls and occasional bugs in closure handling.
adamc@985 112 - Bug fixes
adamc@985 113
adamc@968 114 ========
adamc@968 115 20090919
adamc@968 116 ========
adamc@968 117
adamc@968 118 - Bug fixes
adamc@968 119 - Optimization improvements
adamc@968 120 - Expanded grid demo in demo/more: optional columns, sorting, filtering,
adamc@968 121 paging, selecting rows, aggregate row
adamc@968 122
adamc@929 123 ========
adamc@929 124 20090912
adamc@929 125 ========
adamc@929 126
adamc@929 127 - Bug fixes
adamc@929 128 - Optimization improvements
adamc@929 129 - New set of extra demos in demo/more
adamc@929 130
adamc@914 131 ========
adamc@914 132 20090825
adamc@914 133 ========
adamc@914 134
adamc@914 135 - Many bug fixes
adamc@914 136 - Remote procedure calls must be marked with the new 'rpc' function.
adamc@914 137 - Some tweaks to enable usage on OSX (suggested by Paul Snively)
adamc@914 138
adamc@897 139 ========
adamc@897 140 20090718
adamc@897 141 ========
adamc@897 142
adamc@897 143 - New application protocols: CGI and FastCGI
adamc@897 144 - New database backends: MySQL and SQLite
adamc@897 145 - More JavaScript events added to tags in standard library
adamc@897 146 - New manual section on using the foreign function interface (FFI)
adamc@897 147
adamc@852 148 ========
adamc@852 149 20090623
adamc@852 150 ========
adamc@852 151
adamc@852 152 - Many bug fixes
adamc@852 153 - Mutually-recursive datatypes
adamc@852 154 - SML-style pattern-matching syntax for "fun", "fn", and local "val"
adamc@852 155 - Backwards-incompatible change to syntax of formal constructor parameters to
adamc@852 156 value-level functions, to support the previous change
adamc@852 157 - Path map support inspired by SML/NJ CM and MLton ML Basis
adamc@852 158 - Start of some new standard library modules
adamc@852 159 - Some improvements to JavaScript runtime, including better error handling
adamc@852 160
adamc@716 161 ========
adamc@790 162 20090505
adamc@716 163 ========
adamc@716 164
adamc@716 165 - Reimplement constructor class resolution to be more general and Prolog-like
adamc@716 166 - SQL table constraints
adamc@770 167 - URLs
adamc@736 168 - Client-side error handling callbacks
adamc@736 169 - CSS
adamc@736 170 - Signing cookie values cryptographically to thwart cross site request forgery
adamc@744 171 - Blobs and HTTP file upload
adamc@752 172 - SQL outer joins
adamc@755 173 - SQL views
adamc@756 174 - Subforms
adamc@768 175 - C and JavaScript FFI
adamc@768 176 - Path rewriting
adamc@716 177
adamc@702 178 ========
adamc@702 179 20090405
adamc@702 180 ========
adamc@702 181
adamc@702 182 - Asynchronous message-passing and the associated server-side client
adamc@702 183 bookkeeping
adamc@702 184 - Reimplement parts of the client-side runtime system to avoid space leaks
adamc@702 185 - spawn and sleep
adamc@702 186 - Expand the constructor class instance rule format
adamc@702 187
adamc@663 188 ========
adamc@663 189 20090312
adamc@663 190 ========
adamc@663 191
adamc@663 192 - Replace type-level "fold" with "map"
adamc@663 193 - Replace expression-level "fold" with folders, defined in Top and
adamc@663 194 supported by some special compiler inference
adamc@663 195 - Replace guarded constructors with guarded types, introduced only by
adamc@663 196 guarded expression abstraction, and with a new explicit application form
adamc@663 197 - Kind polymorphism
adamc@663 198 - Generalize type classes to constructor classes
adamc@663 199 - Initial compilation of client-side code to JavaScript
adamc@663 200 - Initial support for mixed client- and server-side programming (i.e., "AJAX")
adamc@665 201 - src/coq: Coq formalization of a core Ur-like calculus
adamc@663 202
adamc@506 203 ========
adamc@561 204 20081209
adamc@506 205 ========
adamc@506 206
adamc@506 207 - Optimization: Fusing page writes with calls to recursive functions
adamc@523 208 - Optimization of bottleneck compiler phases
adamc@561 209 - Reference manual
adamc@561 210 - SQL arithmetic operators
adamc@506 211
adamc@504 212 ========
adamc@504 213 20081120
adamc@504 214 ========
adamc@504 215
adamc@504 216 - Fix bug that sometimes led to omission of initial "<html>" in pages
adamc@504 217 - Take advantage of nested functions in some demos
adamc@504 218 - "profile" option that may appear in .urp files, to enable gprof profiling
adamc@663 219 - "-guided-demo" option that works like "-demo" but uses less screen space for
adamc@663 220 prose
adamc@504 221
adamc@467 222 ========
adamc@497 223 20081118
adamc@467 224 ========
adamc@467 225
adamc@467 226 - Nested function definitions
adamc@467 227 - Primitive "time" type
adamc@467 228 - Nullable SQL columns (via "option")
adamc@467 229 - Cookies
adamc@663 230 - Compiler: Specialization of functions to known arguments (especially of
adamc@663 231 function type)
adamc@467 232
adamc@435 233 ========
adamc@435 234 20081028
adamc@435 235 ========
adamc@435 236
adamc@435 237 - Add GCCARGS configure option
adamc@435 238
adamc@433 239 ========
adamc@433 240 20081027
adamc@433 241 ========
adamc@433 242
adamc@433 243 - On missing inputs, print an error message, but don't exit the web server.
adamc@434 244 - Remove need for "() <-" notation.
adamc@433 245
adamc@433 246 ========
adamc@433 247 20081026
adamc@433 248 ========
adamc@433 249
adamc@433 250 - Change 'sed' call to work on OSX.
adamc@433 251 - Avoid including or linking libpq files on apps that don't use SQL.