This is a non-exhaustive list of some of things I've encountered in the past year of switching:
-
Contexts: Rebol 2 had three types of word spaces—SYSTEM/WORDS, OBJECT! and FUNCTION!. Rebol 3 tries to separate this out a bit with a runtime library (LIB) that contains all the 'standard' functions, SYSTEM/CONTEXTS/USER which is where all the regular script words go and imports meanings from LIB as it encounters new words, and MODULES that are kind of like extended objects designed to keep reusable code segments separate. (I've proposed and am working on some changes as to how that works with external scripts)
-
64-bit integers expand the range of Rebol integers, though does cause a few inconsistencies with bit-shifting (can be a gotcha with some binary formats)
-
STRING! types now use multi-byte codepoints—in Oldes' Rebol 3 they are now UTF-8. W