0.29.7: * Add TPromiseModel with unary value / signal passing to 1-arg. * Promise class as well as PromiseExecution use it. * Add class NonLifoReturn. * Including convenient NonLifoReturn class >> #reifyIfFeasible:. + Error class >> + messageText: + PromiseExecution >> + do: + signal: + try: + value: + TPromiseModel >> + signal + signal: + value + value: 0.29.5: + (model in `Promise new: [ :model | ]`) >> + do: + try: 0.29.3: * Deprecate TestCase >> debugCase. * Remove class DebugTestContext. + JSObjectProxy + isThenable + Promise class >> + delayMilliseconds: + TIsInGroup >> + isThenable + TThenable >> + isThenable 0.29.2: * Deprecate ClassBuilder >> addSubclass:named:instanceVariableNames:package:. * Deprecate ... >> migrateClassNamed:superclass:instanceVariableNames:package:. * Behavior >> instanceVariableNames aimed at only that. No visible change atm. * Deprecate Object >> asJavaScript{Object,Source}. * Hard to do generically if slots are added later. * InstanceVar => SlotVar and related apis (addIVar: => addSlotVar:). + Behavior >> + slots + Boolean >> + asJavaScriptSource + ClassBuilder >> + addSubclass:named:slots:package: + migrateClassNamed:superclass:slots:package: + ProtoObject >> + perform:with: + SequenceableCollection >> + pairsCollect: + pairsDo: + TBehaviorDefaults >> + slots + TBehaviorProvider >> + allInstanceVariableNames + allSlotNames + allSlots + instanceVariableNames + slotNames + UndefinedObject >> + asJavaScriptSource - Behavior >> - allInstanceVariableNames - instanceVariableNames - TBehaviorDefaults >> - allInstanceVariableNames 0.29.1: + Package >> + context + contextBlock + contextBlock: - Package >> - evalBlock - evalBlock: 0.27.1: + Number >> + isFinite + isNaN + Number class >> + negativeInfinity + positiveInfinity 0.27.0: + JSObjectProxy class >> + associationsOfProxy: 0.26.0: * Deprecate $core.seamless. + MethodContext >> + hydrated 0.25.4: * Add class DebugTestContext. + TestCase >> + debugCase 0.25.1: + Collection >> + copyEmpty + shortenedPrintString 0.25.0: * Deprecate Behavior >> javascriptConstructor(:) * Deprecate ProtoObject >> instVarAt:(put:) * Lots of changes in Compiler. * Added Teachable class. + Array >> + allIn: + Behavior >> + alternateConstructorViaSelector: + applySuperConstructorOn:withArguments: + beJavaScriptSubclassOf: + javaScriptConstructor + javaScriptConstructor: + superPrototype + BlockClosure >> + tryIfTrue:catch: + ProtoObject >> + instVarNamed: + instVarNamed:put: + SequenceableCollection >> + copyWithFirst: + SmalltalkImage >> + isError: + try:ifTrue:catch: + amber/boot api >> + detachClass(klass) + amber/helpers exports >> + $nil - Error >> - beSmalltalkError - isSmalltalkError - JavaScriptError >> - shouldBeStubbed - wrap - MethodContext >> - stubHere - stubToAtMost: - amber/boot api >> - addElement(arraySet, el) - removeElement(arraySet, el) 0.23.2: + Platform class >> + fetch: + fetchUrl:options: + BrowserPlatform >> + fetch: + fetchUrl:options: + NodePlatform >> + fetch: + fetchUrl:options: 0.23.1: + TBehaviorDefaults >> + includingPossibleMetaDo: + Class >> + includingPossibleMetaDo: + CompiledMethod >> + origin - SmalltalkImage >> - includesKey: 0.23.0: * Namespace change: amber_core => amber/core. * amber/boot api addClass only takes 3 params; 4 param version deprecated + SmalltalkImage >> + beClean + amber/helpers exports >> + beClean + amber/boot api >> + setSlots(klass, arrayOfNames) 0.22.4: * Remove class IndexableCollection, trait TKeyValueCollection. * Merge CharacterArray class into String class * Deprecate CharacterArray class * Deprecate Collection >> copyWithAll:, #, is enough. + amber/helpers exports + loadPackages - Array >> - numericallyIndexable - Set - detect:ifNone: (pushed up to Collection) - SequenceableCollection - numericallyIndexable - String >> - numericallyIndexable 0.22.1: + BlockClosure >> + provided + Class >> + provided 0.22.0: * Deprecate Exception >> resignal. Should have been #pass. + Compiler >> + ast:forClass:protocol: + cleanCodeGenerator + codeGenerator + forClass:protocol: + Exception + outer + pass + JSObjectProxy >> + removeKey: + Number >> + ln1p + SmalltalkImage >> + postLoad - AmberBootstrapInitialization class >> - initializeClasses - ClassBuilder >> - setupClass: - Compiler >> - compileNode:forClass:package: - ProtoObject - asJSON - asJavascript - SmalltalkImage >> - packageAt: - amber/boot api >> - nextId 0.21.1: + ClassBuilder >> + class:instanceVariables: + JSObjectProxy class >> + null + undefined - ClassBuilder >> - basicClass:instanceVariableNames: 0.21.0: * Deprecate SmalltalkImage >> existsJsGlobal: + Number >> + bitAnd: + bitNot + bitOr: + bitXor: + printStringBase: + Platform class >> + includesGlobal: 0.20.0: * Internal kernel fields naming changes. + amber/boot api >> + traitsOrClasses - SmalltalkImage >> - legacyGlobalJsVariables - amber/boot >> - nil - dnu - amber/boot api >> - classes 0.19.1: * Deprecate amber/boot api nextId, prop globalJsVariables. * Deprecate ProtoObject >> identityHash. * Deprecate SmalltalkImage >> packageAt: in favour of explicit #packageAt:if{Absent,Present}:. + AmberBootstrapInitialization class >> + run + initializeClasses + organizeClasses + organizeMethods + Behavior >> + basicOrganization + basicOrganization: + ClassOrganizer >> + theClass + ClassOrganizer class >> + on: + Compiler class >> + eval: + JavaScriptException >> + shouldBeStubbed + wrap + Message class >> + selector:arguments:notUnderstoodBy: + MethodContext >> + stubHere + stubToAtMost: + NonBooleanReceiver class >> + signalOn: + Package >> + evalBlock + evalBlock: + Package class >> + named:javaScriptDescriptor: + SmalltalkImage >> + packageDictionary + packageAt:ifPresent: + TBehaviorProvider >> + methodOrganizationEnter:andLeave: + TMasterBehavior >> + definedMethods + enterOrganization + leaveOrganization + Trait >> + basicOrganization + basicOrganization: + UndefinedObject >> + == + Number >> + min:max: + degreesToRadians + radiansToDegrees + arcTan: + between:and: + Number class >> + radiansPerDegree + Point >> + dotProduct: + normal + angle + normalized + r + corner: + extent: + rectangle: + Rectangle >> + = + corner + origin + containsPoint: + containsRect: + printOn: + Rectangle class >> + origin:corner: + origin:extent: + point:point: - Package >> - basicName: - basicImports - ProtoObject >> - isSameInstanceAs: - ObjectTest >> - testIdentityHash - amber/boot api >> - reservedWords (with the hope no one uses it directly) 0.19.0: * Remove class Thenable, add trait TThenable. * Behavior / Trait hierarchy uses traits. + NativeFunction class >> + isNativeFunction: + IRInstructions >> + isSelf + isSuper + IRVariable >> + isSelf + isSuper + ScopeVar >> + isSelf + isSuper + PseudoVar >> + isSelf + isSuper +UndefinedObject >> + identityHash + value + amber/boot >> + nilAsValue - IRSend >> - isSuperSend 0.18.3: * Move {add,remove}Element from Array.prototype to kernel API. * New superclass of Behavior named BehaviorBody, pushed up some methods. * Represents named holder of methods; hierarchy and instantiation left to Behavior. * Add class Trait as subclass of BehaviorBody. * Add class TraitTransformation. * Deprecate #asJSON in favour of #asJavaScriptObject. * Deprecate #asJavascript in favour of #asJavaScriptSource. + BehaviorBody >> + setTraitComposition: + traitCompositionDefinition + traitUsers + allSubclassesDo: + superclass + Trait >> + allInstanceVariableNames + allSubclassesDo: + asJavascript + asTraitComposition + category + classTag + definition + package + superclass + theMetaClass + theNonMetaClass + exportBehaviorDefinitionTo:using: + traitUsers + package: + Trait class >> + named:package: + named:uses:package: + TraitTransformation >> + - + @ + addAliases: + addExclusions: + aliases + asJSON + asJavascript + asTraitComposition + asTraitTransformation + definition + exclusions + initialize + postCopy + trait + trait: + Collection >> + copyWithout: + SequenceableCollection >> + reverseDo: + Array >> + asTraitComposition + amber/boot api >> + addElement + removeElement + wrapJavaScript + CharacterArray >> + asSymbolPrintOn: + symbolPrintString + String >> + isSelector + StringStream >> + print: + printSymbol: + Package >> + traitCompositions + Class >> + subClass: + subClass:uses: + subClass:uses:instanceVariables: + subClass:uses:instanceVariables:category: + subClass:uses:instanceVariables:classVariables:poolDictionaries:category: + subClass:uses:instanceVariables:package: + UndefinedObject >> + subClass: + subClass:uses: + subClass:uses:instanceVariables: + subClass:uses:instanceVariables:category: + subClass:uses:instanceVariables:classVariables:poolDictionaries:category: + subClass:uses:instanceVariables:package: + Metaclass >> + uses:instanceVariableNames: - Association >> - importsString - String >> - importsString - AbstractExporter - classNameFor: - Exporter >> - jsClassNameFor: 0.18.2: * Add Platform-DOM package with DOM-related stuff. * Platform-DOM not loaded by default. Packages that will use it will import it. + PlatformDom class >> + isFeasible + isDomNode: + newCustomEvent:detail: + toArray: + CharacterArray >> + asDomNode + Collection >> + asDomNode + JSObjectProxy >> + asDomNode + String >> + htmlTextContent 0.18.1: + ASTNode >> + withTail: - SendNode >> - valueWithReceiver: 0.18.0: * Remove class RethrowErrorHandler (hack for cli before 0.12.3). * Add Kernel-Dag package with abstract DAG-node and DAG-node visitor. * Some internal API changes in Compiler-* (including the move to DAG-node). - Object >> - throw: 0.17.0: * Remove classes InterfacingObject, PlatformInterface. * Deprecate $boot.nil (use $boot.nilAsReceiver). + amber/boot >> + nilAsReceiver - NativeFunction class >> - constructor: - constructor:value: - constructor:value:value: - constructor:value:value:value: 0.16.1: * Deprecate $boot.dnu (use $boot.nilAsClass). + amber/boot >> + nilAsClass 0.16.0: * Deprecate ClassBuilder >> setupClass: * $core.initialize now returns a Promise * $core.addClass now returns the class + amber/boot api >> + send2 + traverseClassTree + Promise class >> + new - amber/boot api >> - wrapClassName - send - allSubclasses - AbstractCodeGenerator >> - classNameFor: 0.15.1: * Thenable class added * Promise class added, wraps JS Promise, subclass of Thenable + Thenable >> + catch: + on:do: + on:do:catch: + then: + then:catch: + then:on:do: + then:on:do:catch: + JSObjectProxy >> + catch: + on:do: + on:do:catch: + then: + then:catch: + then:on:do: + then:on:do:catch: + amber/boot api >> + seamless + Promise class >> + new: + forBlock: + value: + signal: + all: + any: 0.14.18: * Some internal API changes in Compiler-*. 0.14.14: * InterfacingObject >> ajax: deprecated * PlatformInterface class deprecated * Class BrowserInterface removed * Class Terminal, BrowserTerminal added * Class Platform, BrowserPlatform added + Environment >> + renamePackage:to: + Platform class >> + globals + newXhr + Terminal class >> + alert: + confirm: + prompt: + prompt:default: SmalltalkImage >> + existsJsGlobal: - PlatformInterface class >> - initialize - setWorker: 0.14.12: + JSObjectProxy >> + putOn: + ProtoStream >> + nextPutJSObject: 0.14.11: * Basic streaming protocol extracted from Stream to ProtoStream + Object >> + in: + JSObjectProxy >> + in: 0.14.10: + JSObjectProxy class >> + addObjectVariablesTo:ofProxy: + compareJSObjectOfProxy:withProxy: + forwardMessage:withArguments:ofProxy: + jsObject:ofProxy: + lookupProperty:ofProxy: - JSObjectProxy >> - jsObject: - lookupProperty: - compareJSObjectWith: - addObjectVariablesTo: - forwardMessage:withArguments: 0.14.4: + AmdExporter >> + importsForOutput: + AbstractCodeGenerator >> + currentPackage + currentPackage: + Compiler >> + currentPackage + currentPackage: + compile:forClass:protocol: + compileNode:forClass:package: + SemanticAnalyzer >> + thePackage + thePackage: + isVariableUndefined:inPackage: - Compiler >> - compile: - compile:forClass: - compileExpression: - SemanticAnalyzer >> - isVariableGloabllyUndefined: - Behavior >> - compile: 0.14.3: * #heliosClass is now #classTag + Compiler >> + eval:forPackage: + Behavior >> + packageOfProtocol: + Exporter >> + exportPackageContextOf:on: + exportPackageImportsOf:on: + Package >> + basicImports + imports + imports: + importsDefinition + importsFromJson: + importsAsJson + sortedImportsAsArray + validateImports: + Package class >> + named:imports:transport: + Association >> + importsString + String >> + importsString + ProtoObject >> + ifNil: + ifNil:ifNotNil: + ifNotNil: + ifNotNil:ifNil: + isNil + notNil - Object >> - ifNil: - ifNil:ifNotNil: - ifNotNil: - ifNotNil:ifNil: - isNil - notNil 0.14.1: * NativeFunction class >> constructor:[value:...] deprecated + NativeFunction class >> + constructorNamed: + constructorNamed:value: + constructorNamed:value:value: + constructorNamed:value:value:value: + constructorOf: + constructorOf:value: + constructorOf:value:value: + constructorOf:value:value:value: + functionNamed: + functionNamed:value: + functionNamed:value:value: + functionNamed:value:value:value: + functionNamed:valueWithArgs: + functionOf: + functionOf:value: + functionOf:value:value: + functionOf:value:value:value: + functionOf:valueWithArgs: + methodOf:this: + methodOf:this:value: + methodOf:this:value:value: + methodOf:this:value:value:value: + methodOf:this:valueWithArgs: + SmalltalkImage >> + optOut: + cancelOptOut: 0.14.0: + Object >> + asJQuery + asJQueryInContext: + BlockClosure >> + asJQuery + asJQueryInContext: - AnnouncementSubscription >> - block - block: - Collection >> - contains: - String >> - asSelector - asJavaScriptSelector - SmalltalkImage >> - at: - at:ifAbsent: - at:put: - current - vm - createPackage:properties: - MethodContext >> - temps - Object >> - try:catch: 0.13.2: + SourceArea class >> + codeMirror 0.13.1: * String >> asSelector is now String >> asJavaScriptMethodName * String >> asJavaScriptSelector is now String >> asJavaScriptPropertyName * smalltalk.selector is now smalltalk.st2js * smalltalk.convertSelector is now smalltalk.js2st * Collection >> ifEmpty:ifNotEmpty: family passes self to ifNotEmpty: block * Smalltalk vm is now Smalltalk core * boot.js's .vm is now .api * amber load sets' .vm is now .api * Internal variables smalltalk/globals/_st are now $core/$globals/$recv + smalltalk. + accessJavaScript + Object >> + postMessageTo: + postMessageTo:origin: + Class >> + heliosClass + SmalltalkImage >> + core + amber/boot + api + amber/{devel,deploy,lang} exports + api - ProtoObject class >> - heliosClass - Object class >> - heliosClass - amber/boot - vm 0.12.6: + String >> + value: + ProtocolAnnouncement >> + package + Behavior >> + isTestClass + Package >> + isTestPackage + amber/{devel,deploy,lang} exports + nil + amber/helpers exports + nil 0.12.4: * Package Canvas renamed to Web * Object >> try:catch: deprecated in favour of BlockClosure >> tryCatch: + Announcer >> + on:do:for: + Node >> + navigationNodeAt:ifAbsent: + BlockClosure >> + tryCatch: + Environment >> + evaluate:for: + AmberCli >> + version: + Object >> + deprecatedAPI: - Environment >> - eval:on: - evaluateString:on: 0.12.3: * Package Import-Export renamed to Kernel-ImportExport * A dozen of methods moved from Object to ProtoObject * HashedCollection >> at:ifAbsentPut: pushed up to SequenceableCollection * HashedCollection >> , is now allowed (removed shouldNotImplement) * HashedCollection and Dictionary both subclasses of AssociativeCollection * Smalltalk class moved to SmalltalkImage class, Smalltalk is now global var * Smalltalk current deprecated in favour of Smalltalk * Smalltalk at:[put:] deprecated in favour of Smalltalk globals at:[put:] * deprecated in favour of + CompiledMethod >> + defaultProtocol + Behavior >> + compile:protocol: + removeProtocolIfEmpty: + Package >> + load + loadFromNamespace: + Package class >> + load: + load:fromNamespace: + PackageTransport >> load + PackageHandler >> load: + AmdPackageHandler >> load: + Set >> removeAll + AssociativeCollection class + BucketStore class + SmalltalkImage >> + globals + vm + settings + Setting class + String >> + asSetting + asSettingIfAbsent: + settingValue + settingValueIfAbsent: + settingValue: + Smalltalk global variable - CompiledMethod >> - category: (use #protocol:) - defaultCategory - Behavior >> compile:category: - HTMLCanvas class >> - browserVersion - isMSIE - isMozilla - isOpera - isWebkit 0.12.2: * Collection >> contains: is deprecated in favor of anySatisfy: + Announcer >> on:doOnce: + String >> + uriEncoded + uriDecoded + uriComponentEncoded + uriComponentDecoded + Collection >> + removeAll + ifEmpty:ifNotEmpty: + ifNotEmpty:ifEmpty: + anyOne + noneSatisfy: + anySatisfy: + allSatisfy: 0.12.0: * SmalltalkMethodContext.prototype.fillBlock() takes a third 'index' parameter * Existing classes moved to new KernelInfrastructure package * ImporterExporter * are now StreamExporters * aware of AMD namespaces * support transport types and commit channels + Node >> + nextChild + method + postCopy + isCascadeNode + isLastChild + BlockNode >> + nextNode: + nextChild + SendNode >> + isCascadeSendNode + shouldBeAliased + CompiledMethod >> sendTo:arguments: + Array >> + addFirst: + removeLast + Number >> + ceiling + floor + asNumber + // + cos + sin + tan + arcCos + arcSin + arcTan + log + log: + raisedTo: + sign + ** + ln + e + String class >> esc + String >> + asMutator + capitalized + isCapitalized + JSProxy >> printString + Behavior >> + ownProtocols + ownMethods + JSStream >> nextPutSendIndexFor: + InterfacingObject class + Interpreter class + DocumentFragmentTag class + AbstractExporter class + PlatformInterface class - Node >> extent - JSStream >> nextPutStatement:with: - Smalltalk.installSuperclass() - ClassReferenceNode class (now handled via VariableNode) 0.11.0: * AnnouncementSubscription use #valuable: instead of #block: (deprecated) * AbstractCodeGenerator inherits from Object, not NodeVisitor * Object>>printString * replace >>printString with >>printOn: * replace >>storeString with >>printString * PackageLoader is now PackageHandler (>>commit: >>setupPackagenamed:prefix: >>ajaxPutAt:data: * Package>>fetch: is now Package>>load: * Package>>fetch:prefix: is now Package>>load:prefix: * Queue>>front replaced by Queue>>next * Queue>>frontIfAbsent: replaced by Queue>>nextIfAbsent: * Queue>>back: replaced by Queue>>nextPut: * smalltalk.addMethod() does not use explicit JS selector * JSObjectProxy>>canForwardMessage: replaced by use of JSObjectProxy>>lookupProperty: with asJavaScriptSelector * JSObjectProxy>>forwardMessage: replaced by explicit JSObjectProxy>>forwardMessage:withArguments: * String>>asJavaScriptSelector moved to Kernel-Objects package + Object>>asString + Object>>putOn: + String>>isVowel + Collection>>putOn: + CharacterArray>>putOn: + Stream>><< + Stream>>write + SequenceableCollection>>newStream + SequenceableCollection>>readStream + SequenceableCollection>>stream + SequenceableCollection>>streamClass + SequenceableCollection>>writeStream + Collection>>isImmutable + Stream>>nextPutString: + StringStream>>nextPutString: + JSStream>>nextPutClassRefFunction: + String>>crlfSanitized + inlined Block now also responds to >>value: + Parser: split literal into runtimeLiteral and parseTimeLiteral + Parser: write #(4 #(5 6 #()) 7) as #(4 (5 6 ()) 7) + Parser: write #(#on:do: #Object) as #(on:do: Object) + Parser: Symbols for binarie selectores + Package>>commit + AIContext>>initializeLocals + ASTInterpreter>>withBlockContext: + smalltalk.allSelectors() + Object>>isCompiledMethod + Object>>isPackage + Object>>isBehavior + ClassMoved Announcemen class + Behavior>>includesBehavior: + Environment>>classes + Environment>>allSelectors + Environment>>removeProtocol: + Environment>>renameProtocol:to:in: + CompiledMethod>>protocol: + Smalltalk>>globalJsVariables + Smalltalk>>addGlobalJsVariable: + Smalltalk>>deleteGlobalJsVariable: - Object>>storeOn: - Object>>log:block: - Object>>printNl - Compiler-IR.st >>javascriptSelector - Compiler-IR.st >>nextPutVar: - Kernel-Collections.st >>asSuperSelector - Collection>>readStream - Collection>>stream - Collection>>streamClass - Collection>>writeStream - Symbol class (replaced with String) - IRInlinedNonLocalReturn class - IRInlinedSend>>nonLocalReturnInliner - IRNonLocalReturnInliner class - Package>>dependencies - Package>>dependencies: - Package>>properties - Package>>jsProperties - Package>>jsProperties: - Package>>propertiesAsJSON - Package>>propertyAt: - Package>>propertyAt:ifAbsent: - Package>>propertyAt:put: - Browser>>ajaxPutAt:data: