| 1 |
Mango Release 2.0 |
|---|
| 2 |
|
|---|
| 3 |
- Note that some Mango features require the latest dmd compiler; the dependencies are related to the new version= behaviour, and various dmd bug fixes |
|---|
| 4 |
|
|---|
| 5 |
- Please take a look at the mango/examples/ directory |
|---|
| 6 |
|
|---|
| 7 |
- Mango uses Build.exe for compilation. You can create a Mango.lib by going to the mango/build directory and using Build @mango. However, Build and DMD are so fast that I find it convenient to just avoid lib files. Setting up DMD for Mango is straightforward ~ either add a -I[mango-path] to the command line, or add it to the sc.ini file in the dmd/bin directory. |
|---|
| 8 |
|
|---|
| 9 |
- Mango is fully compatible with the latest release of Ares ~ the two libraries tend to stay in sync. Add a -version=Ares to the DMD command-line when compiling for Ares. |
|---|
| 10 |
|
|---|
| 11 |
- Note that you will need the wsock32.lib (sockets), or equivalent, available within the link path. The earlier ws2_32.lib does not support multicast, and will therefore produce errors. |
|---|
| 12 |
|
|---|
| 13 |
- In a similar vein, you will need the ICU DLLs (or shared libs) to use the ICU bindings. These should be placed somewhere where the O/S can find them. Mango.icu now requires ICU v3.2 |
|---|
| 14 |
|
|---|
| 15 |
- Note that doxygen fails to include a significant amount of documentation. This is particularly evident where version{} is used, and where nested classes/functions are taken advantage of. Please refer to the source files for complete documentation. |
|---|
| 16 |
|
|---|
| 17 |
- mango/mango/test/unittest.d is the main test file. Check in there for some additional usage examples. |
|---|
| 18 |
|
|---|
| 19 |
======================================================================================== |
|---|
| 20 |
|
|---|
| 21 |
Release 2.0 changes |
|---|
| 22 |
|
|---|
| 23 |
- Renamed the mango.format package to be mango.convert |
|---|
| 24 |
- Moved mango.time.Rfc1123 over to the mango.convert package |
|---|
| 25 |
- Reshaped text-formatting package to be more streamlined |
|---|
| 26 |
- Added an Atoi template for lightweight conversions |
|---|
| 27 |
- Moved mango.io.Utf over to convert.Unicode |
|---|
| 28 |
- Moved mango.sys.Type over to the mango.convert package |
|---|
| 29 |
- Improved efficiency of URL decoding |
|---|
| 30 |
- Added Unicode support to printf-style formatting |
|---|
| 31 |
- Removed decoration from putw() and putd(), to correctly support wchar[] and dchar[]. This will likely require changes to string literals. |
|---|
| 32 |
- Removed the lazy heap-allocation methods from convert.Integer and convert.Rfc1123 |
|---|
| 33 |
- Module io.TextFormat replaced by convert.Sprint |
|---|
| 34 |
- Changed all I/O functions and delegates to return a uint, rather than an int |
|---|
| 35 |
- Added a UnicodeFile module |
|---|
| 36 |
- Added a UnicodeBom module |
|---|
| 37 |
- Added Unicode support to Win32 console |
|---|
| 38 |
- Console is now Buffer based, and UTF-8 encoded across all platforms |
|---|
| 39 |
- Added io.Print module for printf compatability (doesn't need Stdout) |
|---|
| 40 |
- Removed modules Resource & IResource, and cleaned up the relevant Conduit classes |
|---|
| 41 |
- Reworked ConduitFilter & IConduitFilter to be simpler; added an EndianFilter module |
|---|
| 42 |
- IBuffer, IReader and IWriter are now abstract classes ~ codegen is considerably better, but the names may need to change |
|---|
| 43 |
- Completed the convert.Unicode codec, and added streaming support |
|---|
| 44 |
- Mango.convert package is now templated for char, wchar, dchar |
|---|
| 45 |
- GrowBuffer renamed, and now lives in its own module |
|---|
| 46 |
- MappedBuffer now lives in its own module |
|---|
| 47 |
- Reworked FileStyle and ConduitStyle to be small structs instead. Both files are deprecated. Added Text varieties to the predefined FileStyle. |
|---|
| 48 |
- Added Mixed, Text, Binary style to the Buffer, and added sanity checks within Reader & Writer |
|---|
| 49 |
- Added a ream of casts to eliminate compiler warnings |
|---|
| 50 |
- Hopefully eliminated the cyclic static-ctor issue in mango.log (thanks to Tionex and teqdruid) |
|---|
| 51 |
- Added checks for app-termination before cleaning up external references (files, sockets, etc) |
|---|
| 52 |
- Stdin now reads Unicode correctly |
|---|
| 53 |
- Added a templated BufferFormat module to tie a Format instance to a Buffer. Used by Stdout and friends |
|---|
| 54 |
- Added a new mango.text package for string handling, and migrated utils.Text over there. Package is templated for char, wchar, dchar |
|---|
| 55 |
- Added mango.io.BufferTokenizer to bind new Token classes to either a Buffer or a Conduit |
|---|
| 56 |
- Added several more examples |
|---|
| 57 |
- Resolved ~this() handling for external resources ~ appears to work correctly on linux. |
|---|
| 58 |
- Added redirect support to HttpClient |
|---|
| 59 |
- change pragma(link, wsock32) to the DMD pragma(lib) instead, on Win32 |
|---|
| 60 |
|
|---|
| 61 |
|
|---|
| 62 |
Release 1.6 changes |
|---|
| 63 |
|
|---|
| 64 |
- Updated to latest version of Ares |
|---|
| 65 |
- Fixed bugs in unitest.d |
|---|
| 66 |
- Split PropertyConfigurator into its own module |
|---|
| 67 |
- Added mango.sys.OS module |
|---|
| 68 |
|
|---|
| 69 |
|
|---|
| 70 |
Release 1.5 changes |
|---|
| 71 |
|
|---|
| 72 |
- Added support for Http requests with '=' missing from within the query parameters (per request from Carlos) |
|---|
| 73 |
- All !== and === instances removed (thanks to TeqDruid) |
|---|
| 74 |
- Various minor patches to keep up with DMD changes |
|---|
| 75 |
- Added mango.io.Console as a lightweight console facade |
|---|
| 76 |
- Updated mango.log.ConsoleAppender per mango.io.Console |
|---|
| 77 |
- Removed the binding between mango.io.FilePath and mango.io.Uri (will provide a utility class instead) |
|---|
| 78 |
|
|---|
| 79 |
|
|---|
| 80 |
Release 1.4 changes |
|---|
| 81 |
|
|---|
| 82 |
- Removed customization points for everything other than UTF in the Reader/Writer hierarchy. This just makes things easier to grok |
|---|
| 83 |
- Added vararg/printf style output to DisplayWriter (and hence Stdout) |
|---|
| 84 |
- Updated the mango.format package to include vararg/printf style formatting. This includes support for array output, using the '@' format flag. No unicode support yet |
|---|
| 85 |
- Added a mango.time package with support for a number of HTTP oriented formats. |
|---|
| 86 |
- Added initial support for the Ares project |
|---|
| 87 |
- FlushWriter split out into its own module |
|---|
| 88 |
- Renamed mango.base to mango.sys |
|---|
| 89 |
- Updated mango.log to use mango.time & mango.sys.Epoch |
|---|
| 90 |
- Removed final traces of Phobos (other than RegExp), to be compliant with Ares |
|---|
| 91 |
- Exposed the read() and write() methods within Conduit, allowing one to bypass Buffer et. al. |
|---|
| 92 |
- FileConduit now derives from DeviceConduit. This was done so that Stdio does not require FileConduit |
|---|
| 93 |
- Cleaned up some references to Socket internals |
|---|
| 94 |
- Added Darwin patches from Anders (thanks!) |
|---|
| 95 |
|
|---|
| 96 |
|
|---|
| 97 |
Release 1.3 changes |
|---|
| 98 |
|
|---|
| 99 |
- Added special processing for Win32 console output (it doesn't like strings longer than 32K) |
|---|
| 100 |
- Added a MutableFilePath constructor to accept file names |
|---|
| 101 |
- Added a new 'File' class to simplify the API. This extends FileProxy, so you get the methods from there also |
|---|
| 102 |
- Added FileScan class, to collate files from multiple directories (originally from Chris Sauls) |
|---|
| 103 |
- Fixed a bug in FilePath.splice() |
|---|
| 104 |
- Added a FilePath.normalize() function to switch separator types |
|---|
| 105 |
- Changed splice() to include 'file extentions' where the basepath has a name that includes a '.' seperator |
|---|
| 106 |
- Changed all instances of Seperator to the correct spelling, and provided aliases for the invalid form (Thanks to Brad) |
|---|
| 107 |
- Moved file-system constants into a new FileConst module (and left aliases in FileSystem) |
|---|
| 108 |
- File classes now support Win95 & Win32s (thanks to Chris Sauls) |
|---|
| 109 |
- Added a split() function to the utils.Text class |
|---|
| 110 |
|
|---|
| 111 |
|
|---|
| 112 |
Release 1.2 changes |
|---|
| 113 |
|
|---|
| 114 |
- Mango.base.ByteSwap updates from Aleksey Bobnev, who took the time to benchmark various approaches (big thank-you!) |
|---|
| 115 |
- merged TokenEx back into Token, given new static constructor behavior in dmd 0.115 |
|---|
| 116 |
- added mango.format package |
|---|
| 117 |
- Added the extended precision floating-point converters by David Gay (wrapped by mango.format.DGDouble) |
|---|
| 118 |
- changed DisplayWriter to use mango.format |
|---|
| 119 |
- Added a check for invalid stdio handles in FileConduit |
|---|
| 120 |
- Cleaned up some cruft in the IWriter/IReader interaces |
|---|
| 121 |
- Added 'whisper' IO format, as the unoffical Mango standard |
|---|
| 122 |
- Enhanced support for reading arrays of a pre-determined size. Now uses a second argument instead of the old push() approach; C++ iostream format suffers as a result. |
|---|
| 123 |
- Mango.io.Stdio split into mango.io.Stdout and mango.io.Stdin, which reduces baggage for small console programs |
|---|
| 124 |
- removed some superfluous Phobos imports |
|---|
| 125 |
- Invalid Stdio handles are quietly ignored (per behaviour of legacy systems) |
|---|
| 126 |
- ServletContext can now accept independent Logger instances |
|---|
| 127 |
- Mango.log.Admin had a few public imports which should have been private |
|---|
| 128 |
- Anders kindly provided a set of patches for both GDC and the Mac (Darwin), along with the appropriate makefile (another big thank-you!) |
|---|
| 129 |
- removed all dependencies on printf() and sprintf(), except for mango.log |
|---|
| 130 |
- Http server reverted to HTTP/1.0 since it doesn't support chunking at this time |
|---|
| 131 |
- Added URegex to the ICU package |
|---|
| 132 |
- Mango.icu now requires ICU v3.2 (for the URegex package) |
|---|
| 133 |
- the old version=Mango has been inverted to simplify usage of Build.exe; now it's version=Isolated for the standalone versions of mango.log and mango.icu |
|---|
| 134 |
|
|---|
| 135 |
|
|---|
| 136 |
Release 1.1 changes |
|---|
| 137 |
|
|---|
| 138 |
- added UString utility constructor for loading via an IBuffer |
|---|
| 139 |
- added hadTimeout() method to SocketConduit, for explicit error-checking |
|---|
| 140 |
- removed some cruft from mango.cluster (an old reference to a specific host name) |
|---|
| 141 |
|
|---|
| 142 |
|
|---|
| 143 |
Release 1.0a changes |
|---|
| 144 |
|
|---|
| 145 |
- fixed new const-int errors tagged by dmd 0.107 |
|---|
| 146 |
|
|---|
| 147 |
|
|---|
| 148 |
Release 1.0 changes |
|---|
| 149 |
|
|---|
| 150 |
- Most version(linux) statements have been changed to version(Posix) instead. Make files should be adjusted accordingly |
|---|
| 151 |
- ICU wrappers have been fleshed out some more |
|---|
| 152 |
- UString has a number of additional methods |
|---|
| 153 |
- Module icu.UMango introduced, which binds the ICU converters into Mango.io |
|---|
| 154 |
- IArrayAllocator now knows about element widths, and makes adjustments to array.length as appropriate |
|---|
| 155 |
- Fixed another bug in System.Sleep(), where the Win32 platform was off by a factor of 1000 |
|---|
| 156 |
- The array lengths read/written by binary readers/writers has changed, from a byte-count to an element-count. This should not affect anything unless you already have persisted data that was originally written by io.Writer |
|---|
| 157 |
- Delivery of the Mango packages has been split into multiple components |
|---|
| 158 |
- Added support for all array types to readers/writers. They now support 15 different data types, plus the IReadable/IWritable notion. |
|---|
| 159 |
- Libraries (for Win32) are now included in the distribution. Linux libs will hopefully be provided in the near future |
|---|
| 160 |
- FlushBuffer had some design flaws, and has been replaced with FlushWriter instead. Stdio now used the latter, rather than the former, and auto-flushes when a Newline is seen. |
|---|
| 161 |
- The argument list for icu.UMessageFormat has been reworked |
|---|
| 162 |
- ICU bindings now operate nicely on linux: a big thank-you to John Reimer. |
|---|
| 163 |
- Mango.log is now even faster than before, and does zero memory-allocation once running. Supports Phobos, in addition to Mango.io |
|---|
| 164 |
- UTimeZone.d now has some useful time-zones pre-defined |
|---|
| 165 |
- Mango.io now uses an alias to support the twin put/get and <</>> syntax (kudos to Ivan Senji). |
|---|
| 166 |
|
|---|
| 167 |
|
|---|
| 168 |
Beta 9.5 changes |
|---|
| 169 |
|
|---|
| 170 |
- File system is now Unicode enabled (supports Basic Multilingual Plane). FilePath is now assumed to be UTF-8 encoded where it contains non-ansi characters |
|---|
| 171 |
- Started on the icu package (UChar, UString, ULocale, UConverter, UDateFormat, UMessageFormat, UNumberFormat, UResourceBundle, UTimeZone, UCalendar) |
|---|
| 172 |
- Added Utf8 functions to mango.io |
|---|
| 173 |
|
|---|
| 174 |
|
|---|
| 175 |
Beta 9.4 changes |
|---|
| 176 |
|
|---|
| 177 |
- Reworked the internals of the Reader/Writer framework. It's actually an entirely new, and more flexible, implementation with the same interface as before |
|---|
| 178 |
- Fixed some circular import issues that dmd v.102 brought to light |
|---|
| 179 |
- Fixed Win32 bug in System.sleep() where a "sleep forever" wouldn't |
|---|
| 180 |
|
|---|
| 181 |
|
|---|
| 182 |
Beta 9.3 changes |
|---|
| 183 |
|
|---|
| 184 |
- split IResource out from IConduit |
|---|
| 185 |
- renamed IFilter to IConduitFilter (and propogated changes) |
|---|
| 186 |
- System.d moved out of mango.io to mango.base (it never belonged there) |
|---|
| 187 |
- Timer.d moved to mango.utils |
|---|
| 188 |
- removed get/put support for ubyte[]) and byte[] from IReader/IWriter. There's so many issues regarding arrays in general that the resolution will have to be different that the current approach (note that std.streams has the same issue) |
|---|
| 189 |
- removed IPickled composite interface since the compiler cannot handle such things correctly (yet) |
|---|
| 190 |
- added an example of cluster alerts |
|---|
| 191 |
- moved Timer.Interval over to System.Interval instead |
|---|
| 192 |
- fixed new getErrno() issues due to Phobos changes |
|---|
| 193 |
- removed additional dependencies on Phobos |
|---|
| 194 |
- changed things for new version= behaviour |
|---|
| 195 |
- fixed Uri problem regarding the funky implicit [length] |
|---|
| 196 |
- added preliminary IWriter.write([]) and IReader.read([]) support (no Endian or Tokenizing support yet) |
|---|
| 197 |
|
|---|
| 198 |
|
|---|
| 199 |
Beta 9.2 changes |
|---|
| 200 |
|
|---|
| 201 |
- replaced cluster notification strategy for queues |
|---|
| 202 |
- moved AbstractServer, IServer, and ServerThread over to mango.utils |
|---|
| 203 |
- renamed mango.io.Utils to mango.utils.Text, and added mango.utils.Random |
|---|
| 204 |
- added an ILogger to the AbstractServer constructor, and some derivatives |
|---|
| 205 |
- made cluster server much more robust under duress |
|---|
| 206 |
- changed cluster-socket reaping strategy from server-based to client-based |
|---|
| 207 |
- added a mango.utils.Timer (with an interval clock also) |
|---|
| 208 |
- fixed some small bugs, and updated to dmd 0.96 import adjustments |
|---|
| 209 |
- added a set of base classes for message/task |
|---|
| 210 |
- added cluster exclusive-updates via remote cache-loading/locking |
|---|
| 211 |
- ICache renamed IMutableCache; ICache is now immutable |
|---|
| 212 |
- introduced ICacheLoader, and IRemoteCacheLoader |
|---|
| 213 |
- added mango.cluster.TaskServer for handling grid-like processing |
|---|
| 214 |
- added reply facilities for cluster messages/tasks |
|---|
| 215 |
- fixed all kinds of bugs related to crazy AA hashmap side-effects |
|---|
| 216 |
- added mango.log.RollingFileAppender, to handle rotation through a file-set |
|---|
| 217 |
- added mango.cache.HashMap (a port of Doug Lea's latest ConcurrentHashMap) |
|---|
| 218 |
- added a Timer class to provide large-grained clock values |
|---|
| 219 |
- changed timout values to Timer.Interval types instead (e.g. socket timeout) |
|---|
| 220 |
- added System.getMillisecs() and other related methods |
|---|
| 221 |
- annotated source code is now part of the documentation (still needs a lot of work!) |
|---|
| 222 |
- added HttpClient.read() to simplify that part of the process |
|---|
| 223 |
- added IConduit filter support (see IConduit.attach) |
|---|
| 224 |
- simplified the client-side of IBuffer, and cleaned up all dependents |
|---|
| 225 |
- added a task-server to the example folder |
|---|
| 226 |
|
|---|
| 227 |
|
|---|
| 228 |
Beta 9.1 changes |
|---|
| 229 |
|
|---|
| 230 |
- changed ICacheEntry and CacheEntry names to IPayload and Payload respectively in the mango.cache package |
|---|
| 231 |
- filled out mango.cluster with a large chunk of remote cache & queue functionality |
|---|
| 232 |
- fixed a bug in the assembler version of System.flipbytes() |
|---|
| 233 |
- the multicast support, hence cluster support, require wsock32.lib under Win32; the old library ws2_32.lib does not provide multicast support |
|---|
| 234 |
- fixed linux bug with huge Logger timestamps |
|---|
| 235 |
- fixed linux SocketListener bug (codegen bug, kudos to John) |
|---|
| 236 |
- added default values for FileConduit constructors (Style.ReadExisting) |
|---|
| 237 |
- split Dictionary in two (Dictionary and MutableDictionary) |
|---|
| 238 |
- reworked SocketListener to be an abstract class |
|---|
| 239 |
|
|---|
| 240 |
|
|---|
| 241 |
Beta 9 changes |
|---|
| 242 |
|
|---|
| 243 |
- Added multicast support via mango.io.MulticastSocket |
|---|
| 244 |
- Split mango Socket extensions into modules ServerSocket, SocketConduit, and DatagramSocket |
|---|
| 245 |
- Added the mango.io.SocketListener class for asynchronously dispatching socket input |
|---|
| 246 |
- Added a remote cache-invalidator as part of the new mango.cluster package |
|---|
| 247 |
- reworked PickleFactory yet again (thanks to Eric for pointing out the bogosity therein) |
|---|
| 248 |
- removed AbstractServer.stop() since it's no longer necessary: Socket.d now has an isCancelled() method |
|---|
| 249 |
|
|---|
| 250 |
Beta 8 changes |
|---|
| 251 |
|
|---|
| 252 |
- IBuffer.flush() now throws an IOException if there was an IO problem, as does IConduit.copy() which reversed its orientation from IConduit.copyTo() such that it's now possible to chain copy() operations |
|---|
| 253 |
- FileConduit gets a copy(FilePath) method to simplify file copying |
|---|
| 254 |
- Further documentation |
|---|
| 255 |
- Formal introduction of mango.log.Admin; try it out with mango.examples.servlets! |
|---|
| 256 |
- Http client and server reorganized as described in the dsource forums (both now a subset of mango.http) |
|---|
| 257 |
- updated to reflect dmd v0.93 .size, char.init, and typeinfo changes |
|---|
| 258 |
- added several default values to method arguments |
|---|
| 259 |
- ISerializable migrates to IPickle; Reader/Writer/Registry renamed appropriately; PickleRegistry is more flexible than before (see HTML documentation on PickleReader) |
|---|
| 260 |
- A new HybridToken is introduced. Please see documentation |
|---|
| 261 |
- CompositeReader/Writer method names changed from read/write to get/put instead |
|---|
| 262 |
- Added the mango.io.model.IBitBucket interface |
|---|
| 263 |
|
|---|
| 264 |
|
|---|
| 265 |
Beta 7 changes |
|---|
| 266 |
|
|---|
| 267 |
- certain imports have been made public rather than private, in an effort to reduce the number of user-level imports |
|---|
| 268 |
- mango.server.utils.Uri moved to mango.io.Uri |
|---|
| 269 |
- mango.server.utils.Utils moved to mango.io.Utils |
|---|
| 270 |
- some internal mango.cache changes |
|---|
| 271 |
- added the mango.log package |
|---|
| 272 |
- HttpClient api reshaped yet again |
|---|
| 273 |
- moved mango.server.http.HttpClient to package mango.client.http.HttpClient instead |
|---|
| 274 |
- added an addCookie() method to HttpClient, for outgoing cookies. Still does not have support for client cookie parsing ... |
|---|
| 275 |
|
|---|
| 276 |
|
|---|
| 277 |
Beta 6 changes |
|---|
| 278 |
|
|---|
| 279 |
- updated old-style casts (thanks Chris S) |
|---|
| 280 |
- reshaped server.http.HttpClient with respect to Uri access |
|---|
| 281 |
- a tad more documentation |
|---|
| 282 |
- reshaped ServletProvider with additional method arguments (unittest.d and servlets.d updated accordingly) |
|---|
| 283 |
|
|---|
| 284 |
|
|---|
| 285 |
Beta 5 changes |
|---|
| 286 |
|
|---|
| 287 |
- dsc prefix has been changed to mango. I have updated all make files and so on, and apologize for the inconvenience. |
|---|
| 288 |
- moved file constants from System.d to FileSystem.d |
|---|
| 289 |
- add doxygen tags to all files |
|---|
| 290 |
- fixed FilePath '\0' termination problem in toStringZ() |
|---|
| 291 |
- added an external Uri contructor to HttpClient |
|---|
| 292 |
- added an "examples" directory with servlets.d to get things going |
|---|
| 293 |
|
|---|
| 294 |
|
|---|
| 295 |
Beta 4 changes |
|---|
| 296 |
|
|---|
| 297 |
- added a few wrappers to make it easier to control the lifespan of Sockets (setLingerPeriod() etc.) |
|---|
| 298 |
- added SerializableReader/Writer classes, along with SerializableRegistry |
|---|
| 299 |
- updated unittest.d serialization example to reflect the above |
|---|
| 300 |
- added HttpClient, for easy management of client-side HTTP requests |
|---|
| 301 |
- fixed bug in Buffer.toString() |
|---|
| 302 |
- fixed various linux issues regarding Socket.d constants/enums (thanks John) |
|---|
| 303 |
- removed 'synchronized' from Socket.accept() |
|---|
| 304 |
- various examples of HttpClient usage added to unittest.d |
|---|
| 305 |
- fixed FilePath bug regarding "." and ".." files |
|---|
| 306 |
- added recursive file-scanner example to unittest (many thanks to Chris) |
|---|
| 307 |
- added mango.io.FileBucket, for storing serialized classes (doesn't work on linux; no FileConduit.truncate yet) |
|---|
| 308 |
- added the mango.cache package |
|---|
| 309 |
- fixed operator precedence bug in FileConduit.seek |
|---|
| 310 |
- improved support for 'context' in ServletProvider et. al. |
|---|
| 311 |
- added Regex pattern support to ServletProvider |
|---|
| 312 |
- added ServletResponse.copyFile method |
|---|
| 313 |
- added ServletRequest.getContext method |
|---|
| 314 |
- renamed various Input[Name] and Output[Name] classes to be [Name] and Mutable[Name] instead |
|---|
| 315 |
|
|---|
| 316 |
|
|---|
| 317 |
Beta 3 changes |
|---|
| 318 |
|
|---|
| 319 |
- memicmp() replaced with strncasecmp() in TokenStack.d (for linux) per John |
|---|
| 320 |
- added sanity checks in TokenStack.d |
|---|
| 321 |
- Fixed typo in Uri.d |
|---|
| 322 |
- toParent() in FilePath.d now throws an exception if the source object is an orphan |
|---|
| 323 |
- sprinkled a few more asserts around |
|---|
| 324 |
- tentatively synchronized Socket.accept(), to see if it resolves the linux server-socket issues |
|---|
| 325 |
- added the linux makefile, per Brad and John |
|---|
| 326 |
|
|---|
| 327 |
|
|---|
| 328 |
Beta 2 changes |
|---|
| 329 |
|
|---|
| 330 |
- several linux typos and bugs were fixed (thanks Brad). |
|---|
| 331 |
- Mango.utils now lives in Mango.server.utils. You may need to kill the previous folder ... |
|---|
| 332 |
- Added RFC 2396 compliant URI implementation (Mango.server.utils.Uri) |
|---|
| 333 |
- Mango.io.FilePath name-parser was reshaped such that it now actually works |
|---|
| 334 |
- Lots of changes vis-a-vis Mango.server and Mango.servlet; these will be seperated out of here at some point |
|---|
| 335 |
|
|---|
| 336 |
|
|---|
| 337 |
Beta 1 changes |
|---|
| 338 |
|
|---|
| 339 |
- fixed invalid import names for linux platform (thanks Brad). |
|---|
| 340 |
- Extended Token support for FP (thanks Chris) -- this needs further attention. |
|---|
| 341 |
- Added FreeList support for SocketConduit instances returned via ServerSocket.accept() |
|---|
| 342 |
- Removed hacks and workarounds vis-a-vis immature Interface runtime (way to go, Walter!). ColumnWriter and TextWriter now work as they were supposed to with dmd v0.83. |
|---|
| 343 |
- fixed inverted-logic bug in TextReader.get (per Chris) |
|---|
| 344 |
- added RFC 2109 Cookie implementation (server-side, not client-side) |
|---|
| 345 |
|
|---|
| 346 |
|
|---|
| 347 |
Alpha 6 Changes |
|---|
| 348 |
|
|---|
| 349 |
- added IBuffer.append() for directly appending to a buffer (sans Writer), and added an example to unittest.d |
|---|
| 350 |
- updated mango.io.FilePath to take advantage of the above |
|---|
| 351 |
- Socket.accept() now returns null on error rather than throwing an exception. This is to avoid exceptions being thrown when listener-threads are legitimately terminated |
|---|
| 352 |
|
|---|
| 353 |
|
|---|
| 354 |
Alpha 5 Changes |
|---|
| 355 |
|
|---|
| 356 |
- added composite IO, via CompositeReader and CompositeWriter |
|---|
| 357 |
- added some additional examples to mango.unittest.d, including an example of direct IO |
|---|
| 358 |
- resolved issues regarding the reading & writing of binary arrays |
|---|
| 359 |
- added a 'mapped' flag to Reader classes that decides whether to allocate array types, or simply map them onto the read buffer (allocate is the default) |
|---|
| 360 |
- fixed "forward reference" issue |
|---|
| 361 |
- removed IBuffer.lookahead() for now since there appears to be no need for it (may change later) |
|---|
| 362 |
- removed buffer.backup(), and combined its functionality into skip |
|---|
| 363 |
|
|---|
| 364 |
|
|---|
| 365 |
Alpha 4 Changes |
|---|
| 366 |
|
|---|
| 367 |
- removed IBuffer.isReady() since it could result in similar behaviour to eof testing |
|---|
| 368 |
- added Copyright headers |
|---|
| 369 |
- TextWriter renamed to DisplayWriter. Plain old text output only |
|---|
| 370 |
- TokenWriter renamed to TextWriter. TextReader/TextWriter operate upon delimited text only |
|---|
| 371 |
- TextWriter now takes a char[] delimiter rather than a single char |
|---|
| 372 |
- fixed precision bug for FP output |
|---|
| 373 |
|
|---|
| 374 |
|
|---|
| 375 |
Alpha 3 Changes |
|---|
| 376 |
|
|---|
| 377 |
- BufferToken renamed CompositeToken |
|---|
| 378 |
- Added IConduit constructors to Tokens and Readers/Writers to make usage somewhat less verbose |
|---|
| 379 |
- Added file random-access example to unittest.d |
|---|
| 380 |
- added Writer.flush() |
|---|
| 381 |
- some further documentation |
|---|
| 382 |
|
|---|
| 383 |
|
|---|
| 384 |
Alpha 2 Changes |
|---|
| 385 |
|
|---|
| 386 |
- IBuffer storage type changed from ubyte[] to void[] |
|---|
| 387 |
- IBuffer.flush() removed due to a design flaw. The replacement is IConduit.flush(IBuffer) |
|---|
| 388 |
- Some minor additional commentary and code added to mango/unittest.d |
|---|