annotate CHANGELOG @ 1356:977901cb52cc

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