annotate CHANGELOG @ 1298:e665527fce1c

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