API-CHANGES.txt 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793
  1. 0.19.1:
  2. * Deprecate amber/boot api nextId, prop globalJsVariables.
  3. * Remove amber/boot prop reservedWords (with the hope no one uses it directly).
  4. * Deprecate ProtoObject >> identityHash.
  5. * Deprecate SmalltalkImage >> packageAt: in favour of explicit #packageAt:ifAbsent:.
  6. + AmberBootstrapInitialization class >>
  7. + run
  8. + initializeClasses
  9. + organizeClasses
  10. + otganizeMethods
  11. + Behavior >>
  12. + basicOrganization
  13. + Compiler class >>
  14. + eval:
  15. + JavaScriptException >>
  16. + shouldBeStubbed
  17. + wrap
  18. + Message class >>
  19. + selector:arguments:notUnderstoodBy:
  20. + MethodContext >>
  21. + stubHere
  22. + stubToAtMost:
  23. + NonBooleanReceiver class >>
  24. + signalOn:
  25. + Package >>
  26. + evalBlock
  27. + evalBlock:
  28. + Package class >>
  29. + named:javaScriptDescriptor:
  30. + SmalltalkImage >>
  31. + packageDictionary
  32. + TBehaviorProvider >>
  33. + methodOrganizationEnter:andLeave:
  34. + TMasterBehavior >>
  35. + definedMethods
  36. + enterOrganization
  37. + leaveOrganization
  38. + Trait >>
  39. + basicOrganization
  40. + UndefinedObject >>
  41. + ==
  42. - Package >>
  43. - basicName:
  44. - basicImports
  45. - ProtoObject >>
  46. - isSameInstanceAs:
  47. - ObjectTest >>
  48. - testIdentityHash
  49. 0.19.0:
  50. * Remove class Thenable, add trait TThenable.
  51. * Behavior / Trait hierarchy uses traits.
  52. + NativeFunction class >>
  53. + isNativeFunction:
  54. + IRInstructions >>
  55. + isSelf
  56. + isSuper
  57. + IRVariable >>
  58. + isSelf
  59. + isSuper
  60. + ScopeVar >>
  61. + isSelf
  62. + isSuper
  63. + PseudoVar >>
  64. + isSelf
  65. + isSuper
  66. +UndefinedObject >>
  67. + identityHash
  68. + value
  69. - IRSend >>
  70. - isSuperSend
  71. 0.18.3:
  72. * Move {add,remove}Element from Array.prototype to kernel API.
  73. * New superclass of Behavior named BehaviorBody, pushed up some methods.
  74. * Represents named holder of methods; hierarchy and instantiation left to Behavior.
  75. * Add class Trait as subclass of BehaviorBody.
  76. * Add class TraitTransformation.
  77. * Deprecate #asJSON in favour of #asJavaScriptObject.
  78. * Deprecate #asJavascript in favour of #asJavaScriptSource.
  79. + BehaviorBody >>
  80. + setTraitComposition:
  81. + traitCompositionDefinition
  82. + traitUsers
  83. + allSubclassesDo:
  84. + superclass
  85. + Trait >>
  86. + allInstanceVariableNames
  87. + allSubclassesDo:
  88. + asJavascript
  89. + asTraitComposition
  90. + category
  91. + classTag
  92. + definition
  93. + package
  94. + superclass
  95. + theMetaClass
  96. + theNonMetaClass
  97. + exportBehaviorDefinitionTo:using:
  98. + traitUsers
  99. + package:
  100. + Trait class >>
  101. + named:package:
  102. + named:uses:package:
  103. + TraitTransformation >>
  104. + -
  105. + @
  106. + addAliases:
  107. + addExclusions:
  108. + aliases
  109. + asJSON
  110. + asJavascript
  111. + asTraitComposition
  112. + asTraitTransformation
  113. + definition
  114. + exclusions
  115. + initialize
  116. + postCopy
  117. + trait
  118. + trait:
  119. + Collection >>
  120. + copyWithout:
  121. + SequenceableCollection >>
  122. + reverseDo:
  123. + Array >>
  124. + asTraitComposition
  125. + amber/boot api >>
  126. + addElement
  127. + removeElement
  128. + wrapJavaScript
  129. + CharacterArray >>
  130. + asSymbolPrintOn:
  131. + symbolPrintString
  132. + String >>
  133. + isSelector
  134. + StringStream >>
  135. + print:
  136. + printSymbol:
  137. + Package >>
  138. + traitCompositions
  139. + Class >>
  140. + subClass:
  141. + subClass:uses:
  142. + subClass:uses:instanceVariables:
  143. + subClass:uses:instanceVariables:category:
  144. + subClass:uses:instanceVariables:classVariables:poolDictionaries:category:
  145. + subClass:uses:instanceVariables:package:
  146. + UndefinedObject >>
  147. + subClass:
  148. + subClass:uses:
  149. + subClass:uses:instanceVariables:
  150. + subClass:uses:instanceVariables:category:
  151. + subClass:uses:instanceVariables:classVariables:poolDictionaries:category:
  152. + subClass:uses:instanceVariables:package:
  153. + Metaclass >>
  154. + uses:instanceVariableNames:
  155. - Association >>
  156. - importsString
  157. - String >>
  158. - importsString
  159. - AbstractExporter
  160. - classNameFor:
  161. - Exporter >>
  162. - jsClassNameFor:
  163. 0.18.2:
  164. * Add Platform-DOM package with DOM-related stuff.
  165. * Platform-DOM not loaded by default. Packages that will use it will import it.
  166. + PlatformDom class >>
  167. + isFeasible
  168. + isDomNode:
  169. + newCustomEvent:detail:
  170. + toArray:
  171. + CharacterArray >>
  172. + asDomNode
  173. + Collection >>
  174. + asDomNode
  175. + JSObjectProxy >>
  176. + asDomNode
  177. + String >>
  178. + htmlTextContent
  179. 0.18.1:
  180. + ASTNode >>
  181. + withTail:
  182. - SendNode >>
  183. - valueWithReceiver:
  184. 0.18.0:
  185. * Remove class RethrowErrorHandler (hack for cli before 0.12.3).
  186. * Add Kernel-Dag package with abstract DAG-node and DAG-node visitor.
  187. * Some internal API changes in Compiler-* (including the move to DAG-node).
  188. - Object >>
  189. - throw:
  190. 0.17.0:
  191. * Remove classes InterfacingObject, PlatformInterface.
  192. * Deprecate $boot.nil (use $boot.nilAsReceiver).
  193. + amber/boot api >>
  194. + nilAsReceiver
  195. - NativeFunction class >>
  196. - constructor:
  197. - constructor:value:
  198. - constructor:value:value:
  199. - constructor:value:value:value:
  200. 0.16.1:
  201. * Deprecate $boot.dnu (use $boot.nilAsClass).
  202. + amber/boot api >>
  203. + nilAsClass
  204. 0.16.0:
  205. * Deprecate ClassBuilder >> setupClass:
  206. * $core.initialize now returns a Promise
  207. * $core.addClass now returns the class
  208. + amber/boot api >>
  209. + send2
  210. + traverseClassTree
  211. + Promise class >>
  212. + new
  213. - amber/boot api >>
  214. - wrapClassName
  215. - send
  216. - allSubclasses
  217. - AbstractCodeGenerator >>
  218. - classNameFor:
  219. 0.15.1:
  220. * Thenable class added
  221. * Promise class added, wraps JS Promise, subclass of Thenable
  222. + Thenable >>
  223. + catch:
  224. + on:do:
  225. + on:do:catch:
  226. + then:
  227. + then:catch:
  228. + then:on:do:
  229. + then:on:do:catch:
  230. + JSObjectProxy >>
  231. + catch:
  232. + on:do:
  233. + on:do:catch:
  234. + then:
  235. + then:catch:
  236. + then:on:do:
  237. + then:on:do:catch:
  238. + amber/boot api >>
  239. + seamless
  240. + Promise class >>
  241. + new:
  242. + forBlock:
  243. + value:
  244. + signal:
  245. + all:
  246. + any:
  247. 0.14.18:
  248. * Some internal API changes in Compiler-*.
  249. 0.14.14:
  250. * InterfacingObject >> ajax: deprecated
  251. * PlatformInterface class deprecated
  252. * Class BrowserInterface removed
  253. * Class Terminal, BrowserTerminal added
  254. * Class Platform, BrowserPlatform added
  255. + Environment >>
  256. + renamePackage:to:
  257. + Platform class >>
  258. + globals
  259. + newXhr
  260. + Terminal class >>
  261. + alert:
  262. + confirm:
  263. + prompt:
  264. + prompt:default:
  265. SmalltalkImage >>
  266. + existsJsGlobal:
  267. - PlatformInterface class >>
  268. - initialize
  269. - setWorker:
  270. 0.14.12:
  271. + JSObjectProxy >>
  272. + putOn:
  273. + ProtoStream >>
  274. + nextPutJSObject:
  275. 0.14.11:
  276. * Basic streaming protocol extracted from Stream to ProtoStream
  277. + Object >>
  278. + in:
  279. + JSObjectProxy >>
  280. + in:
  281. 0.14.10:
  282. + JSObjectProxy class >>
  283. + addObjectVariablesTo:ofProxy:
  284. + compareJSObjectOfProxy:withProxy:
  285. + forwardMessage:withArguments:ofProxy:
  286. + jsObject:ofProxy:
  287. + lookupProperty:ofProxy:
  288. - JSObjectProxy >>
  289. - jsObject:
  290. - lookupProperty:
  291. - compareJSObjectWith:
  292. - addObjectVariablesTo:
  293. - forwardMessage:withArguments:
  294. 0.14.4:
  295. + AmdExporter >>
  296. + importsForOutput:
  297. + AbstractCodeGenerator >>
  298. + currentPackage
  299. + currentPackage:
  300. + Compiler >>
  301. + currentPackage
  302. + currentPackage:
  303. + compile:forClass:protocol:
  304. + compileNode:forClass:package:
  305. + SemanticAnalyzer >>
  306. + thePackage
  307. + thePackage:
  308. + isVariableUndefined:inPackage:
  309. - Compiler >>
  310. - compile:
  311. - compile:forClass:
  312. - compileExpression:
  313. - SemanticAnalyzer >>
  314. - isVariableGloabllyUndefined:
  315. - Behavior >>
  316. - compile:
  317. 0.14.3:
  318. * #heliosClass is now #classTag
  319. + Compiler >>
  320. + eval:forPackage:
  321. + Behavior >>
  322. + packageOfProtocol:
  323. + Exporter >>
  324. + exportPackageContextOf:on:
  325. + exportPackageImportsOf:on:
  326. + Package >>
  327. + basicImports
  328. + imports
  329. + imports:
  330. + importsDefinition
  331. + importsFromJson:
  332. + importsAsJson
  333. + sortedImportsAsArray
  334. + validateImports:
  335. + Package class >>
  336. + named:imports:transport:
  337. + Association >>
  338. + importsString
  339. + String >>
  340. + importsString
  341. + ProtoObject >>
  342. + ifNil:
  343. + ifNil:ifNotNil:
  344. + ifNotNil:
  345. + ifNotNil:ifNil:
  346. + isNil
  347. + notNil
  348. - Object >>
  349. - ifNil:
  350. - ifNil:ifNotNil:
  351. - ifNotNil:
  352. - ifNotNil:ifNil:
  353. - isNil
  354. - notNil
  355. 0.14.1:
  356. * NativeFunction class >> constructor:[value:...] deprecated
  357. + NativeFunction class >>
  358. + constructorNamed:
  359. + constructorNamed:value:
  360. + constructorNamed:value:value:
  361. + constructorNamed:value:value:value:
  362. + constructorOf:
  363. + constructorOf:value:
  364. + constructorOf:value:value:
  365. + constructorOf:value:value:value:
  366. + functionNamed:
  367. + functionNamed:value:
  368. + functionNamed:value:value:
  369. + functionNamed:value:value:value:
  370. + functionNamed:valueWithArgs:
  371. + functionOf:
  372. + functionOf:value:
  373. + functionOf:value:value:
  374. + functionOf:value:value:value:
  375. + functionOf:valueWithArgs:
  376. + methodOf:this:
  377. + methodOf:this:value:
  378. + methodOf:this:value:value:
  379. + methodOf:this:value:value:value:
  380. + methodOf:this:valueWithArgs:
  381. + SmalltalkImage >>
  382. + optOut:
  383. + cancelOptOut:
  384. 0.14.0:
  385. + Object >>
  386. + asJQuery
  387. + asJQueryInContext:
  388. + BlockClosure >>
  389. + asJQuery
  390. + asJQueryInContext:
  391. - AnnouncementSubscription >>
  392. - block
  393. - block:
  394. - Collection >>
  395. - contains:
  396. - String >>
  397. - asSelector
  398. - asJavaScriptSelector
  399. - SmalltalkImage >>
  400. - at:
  401. - at:ifAbsent:
  402. - at:put:
  403. - current
  404. - vm
  405. - createPackage:properties:
  406. - MethodContext >>
  407. - temps
  408. - Object >>
  409. - try:catch:
  410. 0.13.2:
  411. + SourceArea class >>
  412. + codeMirror
  413. 0.13.1:
  414. * String >> asSelector is now String >> asJavaScriptMethodName
  415. * String >> asJavaScriptSelector is now String >> asJavaScriptPropertyName
  416. * smalltalk.selector is now smalltalk.st2js
  417. * smalltalk.convertSelector is now smalltalk.js2st
  418. * Collection >> ifEmpty:ifNotEmpty: family passes self to ifNotEmpty: block
  419. * Smalltalk vm is now Smalltalk core
  420. * boot.js's .vm is now .api
  421. * amber load sets' .vm is now .api
  422. * Internal variables smalltalk/globals/_st are now $core/$globals/$recv
  423. + smalltalk.
  424. + accessJavaScript
  425. + Object >>
  426. + postMessageTo:
  427. + postMessageTo:origin:
  428. + Class >>
  429. + heliosClass
  430. + SmalltalkImage >>
  431. + core
  432. + amber/boot exports
  433. + api
  434. + amber/{devel,deploy,lang} exports
  435. + api
  436. - ProtoObject class >>
  437. - heliosClass
  438. - Object class >>
  439. - heliosClass
  440. 0.12.6:
  441. + String >>
  442. + value:
  443. + ProtocolAnnouncement >>
  444. + package
  445. + Behavior >>
  446. + isTestClass
  447. + Package >>
  448. + isTestPackage
  449. + amber/{devel,deploy,lang} exports
  450. + nil
  451. + amber/helpers exports
  452. + nil
  453. 0.12.4:
  454. * Package Canvas renamed to Web
  455. * Object >> try:catch: deprecated in favour of BlockClosure >> tryCatch:
  456. + Announcer >>
  457. + on:do:for:
  458. + Node >>
  459. + navigationNodeAt:ifAbsent:
  460. + BlockClosure >>
  461. + tryCatch:
  462. + Environment >>
  463. + evaluate:for:
  464. + AmberCli >>
  465. + version:
  466. + Object >>
  467. + deprecatedAPI:
  468. - Environment >>
  469. - eval:on:
  470. - evaluateString:on:
  471. 0.12.3:
  472. * Package Import-Export renamed to Kernel-ImportExport
  473. * A dozen of methods moved from Object to ProtoObject
  474. * HashedCollection >> at:ifAbsentPut: pushed up to SequenceableCollection
  475. * HashedCollection >> , is now allowed (removed shouldNotImplement)
  476. * HashedCollection and Dictionary both subclasses of AssociativeCollection
  477. * Smalltalk class moved to SmalltalkImage class, Smalltalk is now global var
  478. * Smalltalk current deprecated in favour of Smalltalk
  479. * Smalltalk at:[put:] deprecated in favour of Smalltalk globals at:[put:]
  480. * <smalltalk.ClassName> deprecated in favour of <globals.ClassName>
  481. + CompiledMethod >>
  482. + defaultProtocol
  483. + Behavior >>
  484. + compile:protocol:
  485. + removeProtocolIfEmpty:
  486. + Package >>
  487. + load
  488. + loadFromNamespace:
  489. + Package class >>
  490. + load:
  491. + load:fromNamespace:
  492. + PackageTransport >> load
  493. + PackageHandler >> load:
  494. + AmdPackageHandler >> load:
  495. + Set >> removeAll
  496. + AssociativeCollection class
  497. + BucketStore class
  498. + SmalltalkImage >>
  499. + globals
  500. + vm
  501. + settings
  502. + Setting class
  503. + String >>
  504. + asSetting
  505. + asSettingIfAbsent:
  506. + settingValue
  507. + settingValueIfAbsent:
  508. + settingValue:
  509. + Smalltalk global variable
  510. - CompiledMethod >>
  511. - category: (use #protocol:)
  512. - defaultCategory
  513. - Behavior >> compile:category:
  514. - HTMLCanvas class >>
  515. - browserVersion
  516. - isMSIE
  517. - isMozilla
  518. - isOpera
  519. - isWebkit
  520. 0.12.2:
  521. * Collection >> contains: is deprecated in favor of anySatisfy:
  522. + Announcer >> on:doOnce:
  523. + String >>
  524. + uriEncoded
  525. + uriDecoded
  526. + uriComponentEncoded
  527. + uriComponentDecoded
  528. + Collection >>
  529. + removeAll
  530. + ifEmpty:ifNotEmpty:
  531. + ifNotEmpty:ifEmpty:
  532. + anyOne
  533. + noneSatisfy:
  534. + anySatisfy:
  535. + allSatisfy:
  536. 0.12.0:
  537. * SmalltalkMethodContext.prototype.fillBlock() takes a third 'index' parameter
  538. * Existing classes moved to new KernelInfrastructure package
  539. * ImporterExporter
  540. * are now StreamExporters
  541. * aware of AMD namespaces
  542. * support transport types and commit channels
  543. + Node >>
  544. + nextChild
  545. + method
  546. + postCopy
  547. + isCascadeNode
  548. + isLastChild
  549. + BlockNode >>
  550. + nextNode:
  551. + nextChild
  552. + SendNode >>
  553. + isCascadeSendNode
  554. + shouldBeAliased
  555. + CompiledMethod >> sendTo:arguments:
  556. + Array >>
  557. + addFirst:
  558. + removeLast
  559. + Number >>
  560. + ceiling
  561. + floor
  562. + asNumber
  563. + //
  564. + cos
  565. + sin
  566. + tan
  567. + arcCos
  568. + arcSin
  569. + arcTan
  570. + log
  571. + log:
  572. + raisedTo:
  573. + sign
  574. + **
  575. + ln
  576. + e
  577. + String class >> esc
  578. + String >>
  579. + asMutator
  580. + capitalized
  581. + isCapitalized
  582. + JSProxy >> printString
  583. + Behavior >>
  584. + ownProtocols
  585. + ownMethods
  586. + JSStream >> nextPutSendIndexFor:
  587. + InterfacingObject class
  588. + Interpreter class
  589. + DocumentFragmentTag class
  590. + AbstractExporter class
  591. + PlatformInterface class
  592. - Node >> extent
  593. - JSStream >> nextPutStatement:with:
  594. - Smalltalk.installSuperclass()
  595. - ClassReferenceNode class (now handled via VariableNode)
  596. 0.11.0:
  597. * AnnouncementSubscription use #valuable: instead of #block: (deprecated)
  598. * AbstractCodeGenerator inherits from Object, not NodeVisitor
  599. * Object>>printString
  600. * replace >>printString with >>printOn:
  601. * replace >>storeString with >>printString
  602. * PackageLoader is now PackageHandler (>>commit: >>setupPackagenamed:prefix: >>ajaxPutAt:data:
  603. * Package>>fetch: is now Package>>load:
  604. * Package>>fetch:prefix: is now Package>>load:prefix:
  605. * Queue>>front replaced by Queue>>next
  606. * Queue>>frontIfAbsent: replaced by Queue>>nextIfAbsent:
  607. * Queue>>back: replaced by Queue>>nextPut:
  608. * smalltalk.addMethod() does not use explicit JS selector
  609. * JSObjectProxy>>canForwardMessage: replaced by use of JSObjectProxy>>lookupProperty: with asJavaScriptSelector
  610. * JSObjectProxy>>forwardMessage: replaced by explicit JSObjectProxy>>forwardMessage:withArguments:
  611. * String>>asJavaScriptSelector moved to Kernel-Objects package
  612. + Object>>asString
  613. + Object>>putOn:
  614. + String>>isVowel
  615. + Collection>>putOn:
  616. + CharacterArray>>putOn:
  617. + Stream>><<
  618. + Stream>>write
  619. + SequenceableCollection>>newStream
  620. + SequenceableCollection>>readStream
  621. + SequenceableCollection>>stream
  622. + SequenceableCollection>>streamClass
  623. + SequenceableCollection>>writeStream
  624. + Collection>>isImmutable
  625. + Stream>>nextPutString:
  626. + StringStream>>nextPutString:
  627. + JSStream>>nextPutClassRefFunction:
  628. + String>>crlfSanitized
  629. + inlined Block now also responds to >>value:
  630. + Parser: split literal into runtimeLiteral and parseTimeLiteral
  631. + Parser: write #(4 #(5 6 #()) 7) as #(4 (5 6 ()) 7)
  632. + Parser: write #(#on:do: #Object) as #(on:do: Object)
  633. + Parser: Symbols for binarie selectores
  634. + Package>>commit
  635. + AIContext>>initializeLocals
  636. + ASTInterpreter>>withBlockContext:
  637. + smalltalk.allSelectors()
  638. + Object>>isCompiledMethod
  639. + Object>>isPackage
  640. + Object>>isBehavior
  641. + ClassMoved Announcemen class
  642. + Behavior>>includesBehavior:
  643. + Environment>>classes
  644. + Environment>>allSelectors
  645. + Environment>>removeProtocol:
  646. + Environment>>renameProtocol:to:in:
  647. + CompiledMethod>>protocol:
  648. + Smalltalk>>globalJsVariables
  649. + Smalltalk>>addGlobalJsVariable:
  650. + Smalltalk>>deleteGlobalJsVariable:
  651. - Object>>storeOn:
  652. - Object>>log:block:
  653. - Object>>printNl
  654. - Compiler-IR.st >>javascriptSelector
  655. - Compiler-IR.st >>nextPutVar:
  656. - Kernel-Collections.st >>asSuperSelector
  657. - Collection>>readStream
  658. - Collection>>stream
  659. - Collection>>streamClass
  660. - Collection>>writeStream
  661. - Symbol class (replaced with String)
  662. - IRInlinedNonLocalReturn class
  663. - IRInlinedSend>>nonLocalReturnInliner
  664. - IRNonLocalReturnInliner class
  665. - Package>>dependencies
  666. - Package>>dependencies:
  667. - Package>>properties
  668. - Package>>jsProperties
  669. - Package>>jsProperties:
  670. - Package>>propertiesAsJSON
  671. - Package>>propertyAt:
  672. - Package>>propertyAt:ifAbsent:
  673. - Package>>propertyAt:put:
  674. - Browser>>ajaxPutAt:data: