API-CHANGES.txt 15 KB

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