REBOL 3 Change Log: 2008
View.exe 2.100.25 14-Dec-2008 (private)
- Text caret-to-offset: problem with returning position of the caret+1 has been fixed. This makes text area cursor positioning work a lot better.
View.exe 2.100.24 8-Dec-2008 (private)
- Clipboard is back: The clipboard port now supports unicode clips to support cut, copy, and paste operations.
View.exe 2.100.23 6-Dec-2008 (private)
- Crash fixed: a random crash on GUI startup was caused by the recently created MAKE OBJECT! of a MAP! conversion method. This has been fixed.
- HTTP downgraded to 1.0: this release makes a small change to HTTP protocol to downgrade it from 1.1 to 1.0 transfer methods due to problem with handling chunked HTTP encoding.
View.exe 2.100.22 4-Dec-2008 (private)
- Natives changed: Removed map-inner and map-outer natives, replacing them with a single map-gob-offset function.
- It's default action is maps from a higher level offset to the deepest gob relative offset (map-inner).
- Returns the gob and the offset (pair!) as a block.
- Use the /reverse refinement to map from inside gob and point to top level gob and offset (map-outer).
- Optimized. Does not call compositor, therefore works on all gobs, not just those currently being displayed.
- GUI source code updated to use new functions.
- Percent limit removed: Removed overflow trap on percent! when converting from other datatypes. Internally, we allow percent to be out of its printed representation range, for example in intermediate computations.
View.exe 2.100.20 27-Nov-2008 (private)
- Windowing change: window creation uses same relative position offset as event system.
- All window offsets are now consistent: both use the client-area (internal window coordinates), not the caption box.
- Also consistent now with no-border and no-title window positions.
- Your graphics code may need to compensate for window caption boxes and borders. For example, opening a window at 0x0 will put the caption off the top.
- See system/view/metrics for those sizes.
View.exe 2.100.19 25-Nov-2008 (private)
- Windowing change: properly computes the border and caption sizes.
- Fixes bug where window was too small vertically.
- Added work-area metric: system/view/metrics object now includes work-origin and work-size pairs for primary screen. These values allow you to open windows to avoid under-lapping special system areas like the task bar.
Alpha "View" 2.100.13 5-June-2008
- Fixes problem with ENCLOAK and DECLOAK using binary keys. (Also, note that STRING! used as a key will auto-convert to UTF-8 before SHA1 key generation.)
- IN now allows a block of contexts (as words or paths) to search for the first matching context that includes the given word. If word is not found in any context, then NONE is returned.
- DELECT/IN will lookup non-command variables according to contexts listed in a block. This allows multiple contexts to overlay each other, making property sheets easier to implement for functions like DRAW. (Because a lower level property sheet does not need to inherit variables from a higher level sheet.)
- SELECT and FIND are now valid on OBJECT!, producing same result as GET IN, but with less overhead. (Because GET IN first binds the word and returns it, then passes it to GET for lookup.) Also allows next case...
- SELECT and FIND are now valid on NONE! and always return the NONE result. This allows simplification of expressions because you no longer need to check that the series variable was set (e.g. within an object).
- MAP! accepts keys that are NONE (rather than causing an error) and returns NONE for them.
- EVENT! datatype allows /gob selector now. Equivalent to /window, but we now allow the gob to be a non-window. Be careful with that, since various window functions will fail on a non-window gob.
- MAP-EVENT returns a new event that has its event gob and event offset mapped to the inner GOB. This provides a shortcut to a common pattern used in most event handlers.
- Removes potential infinite loop case in graphics when finding GOB window parent.
Alpha "View" 2.100.12 10-May-2008
Basic profiling capability. See: http://www.rebol.net/wiki/Profiler
Alpha "View" 2.100.11 (Internal) 5-May-2008
Fixes following bugs listed in Tracker:
- Console close gadget will close application (also logoff and shutdown)
- 371 CRASH (System Error #1223) if 'SELF is loaded within a module
- 448 Re-enable VIEW functions
- 430 Values-of CRASH!!
- 443 WRITE/APPEND does not append. It starts from zero.
- 445 WRITE/PART writes junk
- 426 FIND mentions "string" when it actually means "series"
- 436 TYPES-OF for REFINEMENT!
- 446 RENAME %file.r changes name to ????r
- 182 DOing a file does lines before the rebol header
- 383 CHANGE/DUP appends data instead of changing them
- 367 PARSE seems to catch errors
- 357 MAP! with integer as a key
- 373 TAKE/part, negative range past head doesn't work
- 141 TAKE/part does not always return a block
- 362 halt does not halt (if it is the only line of code). see also #65
- 339 ECHO not working
- 380 PAGE-UP hyphens vs. underscores
Alpha "View" 2.100.10 (Internal) 1-May-2008
- Changes to garbage collector in order to make it less likely that an active value will get recycled. In general, this should be more reliable, but watch for strange problems, especially large memory usage. (You can use RECYCLE/ballast 20000 to help home-in on GC problems.)
- EVOKE function (renamed prior conjure function). This is a better name for these hidden features and not so magical sounding.
- EVOKE 'crash-dump to get stack back-trace on crashes. It can help determine the source of a problem. However, it only works for less serious crashes -- where memory is still fairly uncorrupted.
- Bug in COLLECT from lambda functions being GC'd. This is a work-around for now.
Alpha "View" 2.100.9 (Internal) 29-April-2008
- WAIT time now optimizes for accuracy vs. efficiency. WAIT timeout of less than 1.0 are made accurate. Greater than 1.0 are made efficient.
- TCP port problem of appending of extra zeros after CLOSE event has been fixed.
- Asynchronous DNS is back in operation for both TCP open and DNS port.
- OPEN? action fixed for server (listen) ports. Now returns TRUE after successful OPEN function.
- OPEN of an already existing listen port is now an error. This uses SO_EXCLUSIVEADDRUSE. Also, this is also a security measure to prevent possible DOS attack on server side.
- Added error message for ACCESS called PROTOCOL for those types of errors (from port protocol handlers). Use that instead of USER errors for protocols.
- PARSE fixed for binary strings. Using a WORD: position, COPY, TO, and THRU all work now with BINARY! datatype.
Alpha "View" 2.100.8 (Internal) 28-April-2008
First release of graphics features -- READ NOTES BELOW!
This is a test build of the new REBOL core with graphics enabled. It is just a concept test.
Important notes:
- JPEG decoder is not included. (Pending the codec mechanism.)
- Unicode events are not enabled in this release.
- Unicode richtext is not yet supported.
So, this release adds:
- Windowing
- Window events
- Graphics natives
- Draw dialect
- Effect dialect
- Richtext dialect
(Note that graphics currently adds about 300KB to the size of REBOL.)
Alpha 2.100.7 (Internal) 27-April-2008
WAIT uses OS event system again. This is the next step toward bringing the GUI back online. You will noticed that network tests will no longer burn CPU time while waiting for packets.
Alpha 2.100.6 (Internal) 25-April-2008
- System port event look has a problem with FOREACH that causes major memory leak. Replaced with FORALL loop.
- CLOSE for TCP does not attempt to close an already closed socket.
Alpha 2.100.5 (Internal) 21-April-2008
- DNS is sync right now (async disabled temp)
- Port functions pruned (substantially)
- Port functions only allow BINARY!
- Bug fixed in CLOSE mechanism (no more hanging sockets)
- BROWSE works for local files now
To see changes to PORT functions, use help like this:
? open ? read ? write
Alpha 2.100.2 (Internal) 27-March-2008
- First Unicode alpha prototype. This is just a prototype for early testing purposes.
- Adds REFLECT as an action.
- Adds SPEC-OF, TYPES-OF, BODY-OF, etc. reflection mezzanines. (Type "? -of" to see them all). These should now be used rather than FIRST, SECOND, THIRD on reflectable datatypes.
- HELP reworked to use reflectors
- Adds SYSTEM/CATALOG for lists of internal "basis" blocks. For example, datatypes and reflectors. Use (? system/catalog to see the lists.)
- LOGIC named bit words added. But this is preliminary! We may not keep it.
- Added ASCII? function
- TO BLOCK! allowed now for TYPESETS to obtain datatype lists.
- WHAT shows functions and titles. Use WHAT/args for arg lists.
- REDUCE/only added. Used to avoid reducing keywords for lightweight dialects.
- Spaces are trimmed from MAKE WORD! (or cause error if in between chars).
- Other fixes.
Alpha 2.99.4 - Public version
The first public release of REBOL 3.0 alpha test version.
- Released 8-Jan-2008
- Release notes (readme file)
Alpha 2.99.3 A00-A83 - Private versions
Jun-2007 to Dec-2007
Early private prototype releases to a small group of testers. Process was kept private in order to keep the development and feedback minimal and manageable.