[{"data":1,"prerenderedAt":1162},["ShallowReactive",2],{"wrun-open-editor-url":3,"indicators:reference/versions":4},"https://openmarket.xyz/chart/#wrun-open=v1",{"slug":5,"filePath":6,"frontmatter":7,"rawMarkdown":12,"tree":13},"reference/versions","reference/versions.md",{"title":8,"description":9,"order":10,"section":11},"Versions and contracts","How a wrun indicator changes over time for someone who writes it in the chart: the contract a package runs under, the compiler the editor pins, and what a new…",134,"reference","---\ntitle: \"Versions and contracts\"\ndescription: \"How a wrun indicator changes over time for someone who writes it in the chart: the contract a package runs under, the compiler the editor pins, and what a new…\"\norder: 134\nsection: \"reference\"\n---\n\n\u003C!-- source: docs/indicators/reference/versions.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Versions and contracts\n\nHow a wrun indicator changes over time for someone who writes it in the\nchart: the contract a package runs under, the compiler the editor pins, and\nwhat a new version of your indicator does and does not change. A wrun\nindicator has no language versions, only a contract that each published\npackage carries and the versions you publish.\n\n## What moves, and what never does\n\n```text\nThe contract        abi_version in the sheet Run derives from your declarations\nYour versions       0.1.0 on the first publish, then Patch, Minor or Major\nThe compiler        AssemblyScript 0.27.37, loaded by the editor's Run\n```\n\n\u003C!-- wrun:cards -->\n| Contract | What it adds | Your file is on it when it declares |\n| --- | --- | --- |\n| `wrun-1` | the first contract, frozen forever | nothing the rows below name |\n| `wrun-2` | celled inputs, text slots, renderers and declared drawings | a celled input, a text slot, a renderer or a declared drawing |\n| `wrun-3` | drawing handles, strategies and the last-bar flag | a handle, a `strategy(...)` or `bar.isLast()` |\n| `wrun-4` | frames: level profiles, panels and widgets | a frame |\n| `wrun-5` | text settings: the typed words, read by the file | a text setting |\n| `wrun-6` | the bar count: how many bars the run holds | a `bar.count()` read |\n\n- **The contract.** You never pick it: Run derives it from what your\n  declarations use (reading `bar.count()` makes the sheet `wrun-6`; a\n  text setting makes it `wrun-5`; a frame\n  makes it `wrun-4`; a handle, a\n  `strategy(...)` or `bar.isLast()` makes it `wrun-3`; a celled input, a\n  text slot, a renderer or a declared drawing makes it `wrun-2`; anything\n  else stays on `wrun-1`). The first contract is frozen: its behavior never\n  changes, and every package written under it keeps computing\n  bit-identically. Each later contract adds to the one before and freezes\n  in turn, so an indicator written today keeps computing the same way.\n- **Your versions.** The first publish is 0.1.0, and every later publish\n  is a new version you pick as **Patch**, **Minor** or **Major**, with a\n  one-line \"What changed\" ([Publishing](../functions/publishing.md)). A\n  published version never changes. A chart that added your indicator keeps\n  the exact version it added and reloads that version, so a new release\n  reaches a chart when its owner adds the new version. Where an indicator\n  runs (the browser, or OpenMarket's servers for Protected code) is fixed\n  by its first version.\n- **The compiler.** Run compiles in your browser with the AssemblyScript\n  version the kit pins, so the same source always builds the same module.\n\n## When the chart updates\n\nThe chart's editor and OpenMarket's alerts engine ship on their own\nschedule, and an update can let the editor accept new declarations, draw\nnew kinds of shapes, serve new sources, or accept a new file shape (a file\nwith `onBar()` beside the four-function form). It never rewrites a published\nversion: the module a chart loads is the one you published, under its\nfrozen contract, and a package that does not use a new feature is\nunaffected by it.\n\n## What we publish\n\n| Page | Purpose |\n| --- | --- |\n| [What is wrun](../getting-started/introduction.md) | What wrun is, how a file runs and where, in one read. |\n| [Publishing](../functions/publishing.md) | Versions, sharing and where a published indicator runs. |\n",{"type":14,"children":15,"data":1156,"position":1158},"root",[16,26,29,30,48,49,67,68,111,112,121,123,584,585,940,941,955,956,990,991,1006,1008],{"type":17,"value":18,"position":19},"comment"," source: docs/indicators/reference/versions.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit ",{"start":20,"end":23},{"line":21,"column":21,"offset":22},1,0,{"line":21,"column":24,"offset":25},125,124,{"type":27,"value":28},"text","\n",{"type":27,"value":28},{"type":31,"tagName":32,"properties":33,"children":34,"position":45},"element","p",{},[35],{"type":27,"value":36,"position":37},"How a wrun indicator changes over time for someone who writes it in the\nchart: the contract a package runs under, the compiler the editor pins, and\nwhat a new version of your indicator does and does not change. A wrun\nindicator has no language versions, only a contract that each published\npackage carries and the versions you publish.",{"start":38,"end":41},{"line":39,"column":21,"offset":40},5,152,{"line":42,"column":43,"offset":44},9,46,487,{"start":46,"end":47},{"line":39,"column":21,"offset":40},{"line":42,"column":43,"offset":44},{"type":27,"value":28},{"type":31,"tagName":50,"properties":51,"children":52,"position":63},"h2",{},[53],{"type":27,"value":54,"position":55},"What moves, and what never does",{"start":56,"end":60},{"line":57,"column":58,"offset":59},11,4,492,{"line":57,"column":61,"offset":62},35,523,{"start":64,"end":66},{"line":57,"column":21,"offset":65},489,{"line":57,"column":61,"offset":62},{"type":27,"value":28},{"type":14,"children":69},[70],{"type":31,"tagName":71,"properties":72,"children":76,"data":-1},"pre",{"class":73,"style":74,"tabindex":75},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0",[77],{"type":31,"tagName":78,"properties":79,"children":82},"code",{"class":80},[81],"language-text",[83,93,94,102,103],{"type":31,"tagName":84,"properties":85,"children":87},"span",{"class":86},"line",[88],{"type":31,"tagName":84,"properties":89,"children":90},{},[91],{"type":27,"value":92},"The contract        abi_version in the sheet Run derives from your declarations",{"type":27,"value":28},{"type":31,"tagName":84,"properties":95,"children":96},{"class":86},[97],{"type":31,"tagName":84,"properties":98,"children":99},{},[100],{"type":27,"value":101},"Your versions       0.1.0 on the first publish, then Patch, Minor or Major",{"type":27,"value":28},{"type":31,"tagName":84,"properties":104,"children":105},{"class":86},[106],{"type":31,"tagName":84,"properties":107,"children":108},{},[109],{"type":27,"value":110},"The compiler        AssemblyScript 0.27.37, loaded by the editor's Run",{"type":27,"value":28},{"type":17,"value":113,"position":114}," wrun:cards ",{"start":115,"end":118},{"line":116,"column":21,"offset":117},19,764,{"line":116,"column":119,"offset":120},20,783,{"type":27,"value":122},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":31,"tagName":124,"properties":125,"children":126,"position":581},"table",{},[127,193],{"type":31,"tagName":128,"properties":129,"children":130,"position":190},"thead",{},[131],{"type":31,"tagName":132,"properties":133,"children":134,"position":187},"tr",{},[135,153,170],{"type":31,"tagName":136,"properties":137,"children":138,"position":147},"th",{},[139],{"type":27,"value":140,"position":141},"Contract",{"start":142,"end":145},{"line":119,"column":143,"offset":144},3,786,{"line":119,"column":57,"offset":146},794,{"start":148,"end":150},{"line":119,"column":21,"offset":149},784,{"line":119,"column":151,"offset":152},12,795,{"type":31,"tagName":136,"properties":154,"children":155,"position":165},{},[156],{"type":27,"value":157,"position":158},"What it adds",{"start":159,"end":162},{"line":119,"column":160,"offset":161},14,797,{"line":119,"column":163,"offset":164},26,809,{"start":166,"end":167},{"line":119,"column":151,"offset":152},{"line":119,"column":168,"offset":169},27,810,{"type":31,"tagName":136,"properties":171,"children":172,"position":182},{},[173],{"type":27,"value":174,"position":175},"Your file is on it when it declares",{"start":176,"end":179},{"line":119,"column":177,"offset":178},29,812,{"line":119,"column":180,"offset":181},64,847,{"start":183,"end":184},{"line":119,"column":168,"offset":169},{"line":119,"column":185,"offset":186},66,849,{"start":188,"end":189},{"line":119,"column":21,"offset":149},{"line":119,"column":185,"offset":186},{"start":191,"end":192},{"line":119,"column":21,"offset":149},{"line":119,"column":185,"offset":186},{"type":31,"tagName":194,"properties":195,"children":196,"position":578},"tbody",{},[197,256,314,396,453,509],{"type":31,"tagName":132,"properties":198,"children":199,"position":253},{},[200,220,236],{"type":31,"tagName":201,"properties":202,"children":203,"position":215},"td",{},[204],{"type":31,"tagName":78,"properties":205,"children":206,"position":209},{},[207],{"type":27,"value":208},"wrun-1",{"start":210,"end":213},{"line":211,"column":143,"offset":212},22,872,{"line":211,"column":57,"offset":214},880,{"start":216,"end":218},{"line":211,"column":21,"offset":217},870,{"line":211,"column":151,"offset":219},881,{"type":31,"tagName":201,"properties":221,"children":222,"position":231},{},[223],{"type":27,"value":224,"position":225},"the first contract, frozen forever",{"start":226,"end":228},{"line":211,"column":160,"offset":227},883,{"line":211,"column":229,"offset":230},48,917,{"start":232,"end":233},{"line":211,"column":151,"offset":219},{"line":211,"column":234,"offset":235},49,918,{"type":31,"tagName":201,"properties":237,"children":238,"position":248},{},[239],{"type":27,"value":240,"position":241},"nothing the rows below name",{"start":242,"end":245},{"line":211,"column":243,"offset":244},51,920,{"line":211,"column":246,"offset":247},78,947,{"start":249,"end":250},{"line":211,"column":234,"offset":235},{"line":211,"column":251,"offset":252},80,949,{"start":254,"end":255},{"line":211,"column":21,"offset":217},{"line":211,"column":251,"offset":252},{"type":31,"tagName":132,"properties":257,"children":258,"position":311},{},[259,278,294],{"type":31,"tagName":201,"properties":260,"children":261,"position":273},{},[262],{"type":31,"tagName":78,"properties":263,"children":264,"position":267},{},[265],{"type":27,"value":266},"wrun-2",{"start":268,"end":271},{"line":269,"column":143,"offset":270},23,952,{"line":269,"column":57,"offset":272},960,{"start":274,"end":276},{"line":269,"column":21,"offset":275},950,{"line":269,"column":151,"offset":277},961,{"type":31,"tagName":201,"properties":279,"children":280,"position":289},{},[281],{"type":27,"value":282,"position":283},"celled inputs, text slots, renderers and declared drawings",{"start":284,"end":286},{"line":269,"column":160,"offset":285},963,{"line":269,"column":287,"offset":288},72,1021,{"start":290,"end":291},{"line":269,"column":151,"offset":277},{"line":269,"column":292,"offset":293},73,1022,{"type":31,"tagName":201,"properties":295,"children":296,"position":306},{},[297],{"type":27,"value":298,"position":299},"a celled input, a text slot, a renderer or a declared drawing",{"start":300,"end":303},{"line":269,"column":301,"offset":302},75,1024,{"line":269,"column":304,"offset":305},136,1085,{"start":307,"end":308},{"line":269,"column":292,"offset":293},{"line":269,"column":309,"offset":310},138,1087,{"start":312,"end":313},{"line":269,"column":21,"offset":275},{"line":269,"column":309,"offset":310},{"type":31,"tagName":132,"properties":315,"children":316,"position":393},{},[317,336,351],{"type":31,"tagName":201,"properties":318,"children":319,"position":331},{},[320],{"type":31,"tagName":78,"properties":321,"children":322,"position":325},{},[323],{"type":27,"value":324},"wrun-3",{"start":326,"end":329},{"line":327,"column":143,"offset":328},24,1090,{"line":327,"column":57,"offset":330},1098,{"start":332,"end":334},{"line":327,"column":21,"offset":333},1088,{"line":327,"column":151,"offset":335},1099,{"type":31,"tagName":201,"properties":337,"children":338,"position":347},{},[339],{"type":27,"value":340,"position":341},"drawing handles, strategies and the last-bar flag",{"start":342,"end":344},{"line":327,"column":160,"offset":343},1101,{"line":327,"column":345,"offset":346},63,1150,{"start":348,"end":349},{"line":327,"column":151,"offset":335},{"line":327,"column":180,"offset":350},1151,{"type":31,"tagName":201,"properties":352,"children":353,"position":388},{},[354,361,371,378],{"type":27,"value":355,"position":356},"a handle, a ",{"start":357,"end":359},{"line":327,"column":185,"offset":358},1153,{"line":327,"column":246,"offset":360},1165,{"type":31,"tagName":78,"properties":362,"children":363,"position":366},{},[364],{"type":27,"value":365},"strategy(...)",{"start":367,"end":368},{"line":327,"column":246,"offset":360},{"line":327,"column":369,"offset":370},93,1180,{"type":27,"value":372,"position":373}," or ",{"start":374,"end":375},{"line":327,"column":369,"offset":370},{"line":327,"column":376,"offset":377},97,1184,{"type":31,"tagName":78,"properties":379,"children":380,"position":383},{},[381],{"type":27,"value":382},"bar.isLast()",{"start":384,"end":385},{"line":327,"column":376,"offset":377},{"line":327,"column":386,"offset":387},111,1198,{"start":389,"end":390},{"line":327,"column":180,"offset":350},{"line":327,"column":391,"offset":392},113,1200,{"start":394,"end":395},{"line":327,"column":21,"offset":333},{"line":327,"column":391,"offset":392},{"type":31,"tagName":132,"properties":397,"children":398,"position":450},{},[399,418,434],{"type":31,"tagName":201,"properties":400,"children":401,"position":413},{},[402],{"type":31,"tagName":78,"properties":403,"children":404,"position":407},{},[405],{"type":27,"value":406},"wrun-4",{"start":408,"end":411},{"line":409,"column":143,"offset":410},25,1203,{"line":409,"column":57,"offset":412},1211,{"start":414,"end":416},{"line":409,"column":21,"offset":415},1201,{"line":409,"column":151,"offset":417},1212,{"type":31,"tagName":201,"properties":419,"children":420,"position":429},{},[421],{"type":27,"value":422,"position":423},"frames: level profiles, panels and widgets",{"start":424,"end":426},{"line":409,"column":160,"offset":425},1214,{"line":409,"column":427,"offset":428},56,1256,{"start":430,"end":431},{"line":409,"column":151,"offset":417},{"line":409,"column":432,"offset":433},57,1257,{"type":31,"tagName":201,"properties":435,"children":436,"position":445},{},[437],{"type":27,"value":438,"position":439},"a frame",{"start":440,"end":443},{"line":409,"column":441,"offset":442},59,1259,{"line":409,"column":185,"offset":444},1266,{"start":446,"end":447},{"line":409,"column":432,"offset":433},{"line":409,"column":448,"offset":449},68,1268,{"start":451,"end":452},{"line":409,"column":21,"offset":415},{"line":409,"column":448,"offset":449},{"type":31,"tagName":132,"properties":454,"children":455,"position":506},{},[456,474,489],{"type":31,"tagName":201,"properties":457,"children":458,"position":469},{},[459],{"type":31,"tagName":78,"properties":460,"children":461,"position":464},{},[462],{"type":27,"value":463},"wrun-5",{"start":465,"end":467},{"line":163,"column":143,"offset":466},1271,{"line":163,"column":57,"offset":468},1279,{"start":470,"end":472},{"line":163,"column":21,"offset":471},1269,{"line":163,"column":151,"offset":473},1280,{"type":31,"tagName":201,"properties":475,"children":476,"position":485},{},[477],{"type":27,"value":478,"position":479},"text settings: the typed words, read by the file",{"start":480,"end":482},{"line":163,"column":160,"offset":481},1282,{"line":163,"column":483,"offset":484},62,1330,{"start":486,"end":487},{"line":163,"column":151,"offset":473},{"line":163,"column":345,"offset":488},1331,{"type":31,"tagName":201,"properties":490,"children":491,"position":501},{},[492],{"type":27,"value":493,"position":494},"a text setting",{"start":495,"end":498},{"line":163,"column":496,"offset":497},65,1333,{"line":163,"column":499,"offset":500},79,1347,{"start":502,"end":503},{"line":163,"column":345,"offset":488},{"line":163,"column":504,"offset":505},81,1349,{"start":507,"end":508},{"line":163,"column":21,"offset":471},{"line":163,"column":504,"offset":505},{"type":31,"tagName":132,"properties":510,"children":511,"position":575},{},[512,530,544],{"type":31,"tagName":201,"properties":513,"children":514,"position":525},{},[515],{"type":31,"tagName":78,"properties":516,"children":517,"position":520},{},[518],{"type":27,"value":519},"wrun-6",{"start":521,"end":523},{"line":168,"column":143,"offset":522},1352,{"line":168,"column":57,"offset":524},1360,{"start":526,"end":528},{"line":168,"column":21,"offset":527},1350,{"line":168,"column":151,"offset":529},1361,{"type":31,"tagName":201,"properties":531,"children":532,"position":540},{},[533],{"type":27,"value":534,"position":535},"the bar count: how many bars the run holds",{"start":536,"end":538},{"line":168,"column":160,"offset":537},1363,{"line":168,"column":427,"offset":539},1405,{"start":541,"end":542},{"line":168,"column":151,"offset":529},{"line":168,"column":432,"offset":543},1406,{"type":31,"tagName":201,"properties":545,"children":546,"position":571},{},[547,555,565],{"type":27,"value":548,"position":549},"a ",{"start":550,"end":552},{"line":168,"column":441,"offset":551},1408,{"line":168,"column":553,"offset":554},61,1410,{"type":31,"tagName":78,"properties":556,"children":557,"position":560},{},[558],{"type":27,"value":559},"bar.count()",{"start":561,"end":562},{"line":168,"column":553,"offset":554},{"line":168,"column":563,"offset":564},74,1423,{"type":27,"value":566,"position":567}," read",{"start":568,"end":569},{"line":168,"column":563,"offset":564},{"line":168,"column":499,"offset":570},1428,{"start":572,"end":573},{"line":168,"column":432,"offset":543},{"line":168,"column":504,"offset":574},1430,{"start":576,"end":577},{"line":168,"column":21,"offset":527},{"line":168,"column":504,"offset":574},{"start":579,"end":580},{"line":211,"column":21,"offset":217},{"line":168,"column":504,"offset":574},{"start":582,"end":583},{"line":119,"column":21,"offset":149},{"line":168,"column":504,"offset":574},{"type":27,"value":28},{"type":31,"tagName":586,"properties":587,"children":588,"position":937},"ul",{},[589,590,786,787,906,907,936],{"type":27,"value":28},{"type":31,"tagName":591,"properties":592,"children":593,"position":782},"li",{},[594,611,618,630,636,648,655,667,674,685,691,703,708,720,726,738,745,756,763,774],{"type":31,"tagName":595,"properties":596,"children":597,"position":606},"strong",{},[598],{"type":27,"value":599,"position":600},"The contract.",{"start":601,"end":603},{"line":177,"column":39,"offset":602},1436,{"line":177,"column":604,"offset":605},18,1449,{"start":607,"end":609},{"line":177,"column":143,"offset":608},1434,{"line":177,"column":119,"offset":610},1451,{"type":27,"value":612,"position":613}," You never pick it: Run derives it from what your\ndeclarations use (reading ",{"start":614,"end":615},{"line":177,"column":119,"offset":610},{"line":616,"column":177,"offset":617},30,1529,{"type":31,"tagName":78,"properties":619,"children":620,"position":627},{},[621],{"type":27,"value":559,"position":622},{"start":623,"end":624},{"line":616,"column":177,"offset":617},{"line":616,"column":625,"offset":626},42,1542,{"start":628,"end":629},{"line":616,"column":177,"offset":617},{"line":616,"column":625,"offset":626},{"type":27,"value":631,"position":632}," makes the sheet ",{"start":633,"end":634},{"line":616,"column":625,"offset":626},{"line":616,"column":441,"offset":635},1559,{"type":31,"tagName":78,"properties":637,"children":638,"position":645},{},[639],{"type":27,"value":519,"position":640},{"start":641,"end":642},{"line":616,"column":441,"offset":635},{"line":616,"column":643,"offset":644},67,1567,{"start":646,"end":647},{"line":616,"column":441,"offset":635},{"line":616,"column":643,"offset":644},{"type":27,"value":649,"position":650},"; a\ntext setting makes it ",{"start":651,"end":652},{"line":616,"column":643,"offset":644},{"line":653,"column":409,"offset":654},31,1595,{"type":31,"tagName":78,"properties":656,"children":657,"position":664},{},[658],{"type":27,"value":463,"position":659},{"start":660,"end":661},{"line":653,"column":409,"offset":654},{"line":653,"column":662,"offset":663},33,1603,{"start":665,"end":666},{"line":653,"column":409,"offset":654},{"line":653,"column":662,"offset":663},{"type":27,"value":668,"position":669},"; a frame\nmakes it ",{"start":670,"end":671},{"line":653,"column":662,"offset":663},{"line":672,"column":151,"offset":673},32,1624,{"type":31,"tagName":78,"properties":675,"children":676,"position":682},{},[677],{"type":27,"value":406,"position":678},{"start":679,"end":680},{"line":672,"column":151,"offset":673},{"line":672,"column":119,"offset":681},1632,{"start":683,"end":684},{"line":672,"column":151,"offset":673},{"line":672,"column":119,"offset":681},{"type":27,"value":686,"position":687},"; a handle, a\n",{"start":688,"end":689},{"line":672,"column":119,"offset":681},{"line":662,"column":21,"offset":690},1646,{"type":31,"tagName":78,"properties":692,"children":693,"position":700},{},[694],{"type":27,"value":365,"position":695},{"start":696,"end":698},{"line":662,"column":143,"offset":697},1648,{"line":662,"column":604,"offset":699},1663,{"start":701,"end":702},{"line":662,"column":143,"offset":697},{"line":662,"column":604,"offset":699},{"type":27,"value":372,"position":704},{"start":705,"end":706},{"line":662,"column":604,"offset":699},{"line":662,"column":211,"offset":707},1667,{"type":31,"tagName":78,"properties":709,"children":710,"position":717},{},[711],{"type":27,"value":382,"position":712},{"start":713,"end":714},{"line":662,"column":211,"offset":707},{"line":662,"column":715,"offset":716},36,1681,{"start":718,"end":719},{"line":662,"column":211,"offset":707},{"line":662,"column":715,"offset":716},{"type":27,"value":721,"position":722}," makes it ",{"start":723,"end":724},{"line":662,"column":715,"offset":716},{"line":662,"column":43,"offset":725},1691,{"type":31,"tagName":78,"properties":727,"children":728,"position":735},{},[729],{"type":27,"value":324,"position":730},{"start":731,"end":732},{"line":662,"column":43,"offset":725},{"line":662,"column":733,"offset":734},54,1699,{"start":736,"end":737},{"line":662,"column":43,"offset":725},{"line":662,"column":733,"offset":734},{"type":27,"value":739,"position":740},"; a celled input, a\ntext slot, a renderer or a declared drawing makes it ",{"start":741,"end":742},{"line":662,"column":733,"offset":734},{"line":743,"column":427,"offset":744},34,1774,{"type":31,"tagName":78,"properties":746,"children":747,"position":753},{},[748],{"type":27,"value":266,"position":749},{"start":750,"end":751},{"line":743,"column":427,"offset":744},{"line":743,"column":180,"offset":752},1782,{"start":754,"end":755},{"line":743,"column":427,"offset":744},{"line":743,"column":180,"offset":752},{"type":27,"value":757,"position":758},"; anything\nelse stays on ",{"start":759,"end":760},{"line":743,"column":180,"offset":752},{"line":61,"column":761,"offset":762},17,1809,{"type":31,"tagName":78,"properties":764,"children":765,"position":771},{},[766],{"type":27,"value":208,"position":767},{"start":768,"end":769},{"line":61,"column":761,"offset":762},{"line":61,"column":409,"offset":770},1817,{"start":772,"end":773},{"line":61,"column":761,"offset":762},{"line":61,"column":409,"offset":770},{"type":27,"value":775,"position":776},"). The first contract is frozen: its behavior never\nchanges, and every package written under it keeps computing\nbit-identically. Each later contract adds to the one before and freezes\nin turn, so an indicator written today keeps computing the same way.",{"start":777,"end":778},{"line":61,"column":409,"offset":770},{"line":779,"column":780,"offset":781},38,71,2075,{"start":783,"end":785},{"line":177,"column":21,"offset":784},1432,{"line":779,"column":780,"offset":781},{"type":27,"value":28},{"type":31,"tagName":591,"properties":788,"children":789,"position":902},{},[790,807,814,829,836,853,858,873,880,896],{"type":31,"tagName":595,"properties":791,"children":792,"position":801},{},[793],{"type":27,"value":794,"position":795},"Your versions.",{"start":796,"end":799},{"line":797,"column":39,"offset":798},39,2080,{"line":797,"column":116,"offset":800},2094,{"start":802,"end":804},{"line":797,"column":143,"offset":803},2078,{"line":797,"column":805,"offset":806},21,2096,{"type":27,"value":808,"position":809}," The first publish is 0.1.0, and every later publish\nis a new version you pick as ",{"start":810,"end":811},{"line":797,"column":805,"offset":806},{"line":812,"column":672,"offset":813},40,2180,{"type":31,"tagName":595,"properties":815,"children":816,"position":824},{},[817],{"type":27,"value":818,"position":819},"Patch",{"start":820,"end":822},{"line":812,"column":743,"offset":821},2182,{"line":812,"column":797,"offset":823},2187,{"start":825,"end":826},{"line":812,"column":672,"offset":813},{"line":812,"column":827,"offset":828},41,2189,{"type":27,"value":830,"position":831},", ",{"start":832,"end":833},{"line":812,"column":827,"offset":828},{"line":812,"column":834,"offset":835},43,2191,{"type":31,"tagName":595,"properties":837,"children":838,"position":848},{},[839],{"type":27,"value":840,"position":841},"Minor",{"start":842,"end":845},{"line":812,"column":843,"offset":844},45,2193,{"line":812,"column":846,"offset":847},50,2198,{"start":849,"end":850},{"line":812,"column":834,"offset":835},{"line":812,"column":851,"offset":852},52,2200,{"type":27,"value":372,"position":854},{"start":855,"end":856},{"line":812,"column":851,"offset":852},{"line":812,"column":427,"offset":857},2204,{"type":31,"tagName":595,"properties":859,"children":860,"position":869},{},[861],{"type":27,"value":862,"position":863},"Major",{"start":864,"end":867},{"line":812,"column":865,"offset":866},58,2206,{"line":812,"column":345,"offset":868},2211,{"start":870,"end":871},{"line":812,"column":427,"offset":857},{"line":812,"column":496,"offset":872},2213,{"type":27,"value":874,"position":875},", with a\none-line \"What changed\" (",{"start":876,"end":877},{"line":812,"column":496,"offset":872},{"line":827,"column":878,"offset":879},28,2249,{"type":31,"tagName":881,"properties":882,"children":884,"position":892},"a",{"href":883},"../functions/publishing.md",[885],{"type":27,"value":886,"position":887},"Publishing",{"start":888,"end":890},{"line":827,"column":177,"offset":889},2250,{"line":827,"column":797,"offset":891},2260,{"start":893,"end":894},{"line":827,"column":878,"offset":879},{"line":827,"column":448,"offset":895},2289,{"type":27,"value":897,"position":898},"). A\npublished version never changes. A chart that added your indicator keeps\nthe exact version it added and reloads that version, so a new release\nreaches a chart when its owner adds the new version. Where an indicator\nruns (the browser, or OpenMarket's servers for Protected code) is fixed\nby its first version.",{"start":899,"end":900},{"line":827,"column":448,"offset":895},{"line":43,"column":327,"offset":901},2612,{"start":903,"end":905},{"line":797,"column":21,"offset":904},2076,{"line":43,"column":327,"offset":901},{"type":27,"value":28},{"type":31,"tagName":591,"properties":908,"children":909,"position":932},{},[910,926],{"type":31,"tagName":595,"properties":911,"children":912,"position":921},{},[913],{"type":27,"value":914,"position":915},"The compiler.",{"start":916,"end":919},{"line":917,"column":39,"offset":918},47,2617,{"line":917,"column":604,"offset":920},2630,{"start":922,"end":924},{"line":917,"column":143,"offset":923},2615,{"line":917,"column":119,"offset":925},2632,{"type":27,"value":927,"position":928}," Run compiles in your browser with the AssemblyScript\nversion the kit pins, so the same source always builds the same module.",{"start":929,"end":930},{"line":917,"column":119,"offset":925},{"line":229,"column":563,"offset":931},2759,{"start":933,"end":935},{"line":917,"column":21,"offset":934},2613,{"line":229,"column":563,"offset":931},{"type":27,"value":28},{"start":938,"end":939},{"line":177,"column":21,"offset":784},{"line":229,"column":563,"offset":931},{"type":27,"value":28},{"type":31,"tagName":50,"properties":942,"children":943,"position":951},{},[944],{"type":27,"value":945,"position":946},"When the chart updates",{"start":947,"end":949},{"line":846,"column":58,"offset":948},2764,{"line":846,"column":163,"offset":950},2786,{"start":952,"end":954},{"line":846,"column":21,"offset":953},2761,{"line":846,"column":163,"offset":950},{"type":27,"value":28},{"type":31,"tagName":32,"properties":957,"children":958,"position":987},{},[959,968,981],{"type":27,"value":960,"position":961},"The chart's editor and OpenMarket's alerts engine ship on their own\nschedule, and an update can let the editor accept new declarations, draw\nnew kinds of shapes, serve new sources, or accept a new file shape (a file\nwith ",{"start":962,"end":964},{"line":851,"column":21,"offset":963},2788,{"line":965,"column":966,"offset":967},55,6,3009,{"type":31,"tagName":78,"properties":969,"children":970,"position":978},{},[971],{"type":27,"value":972,"position":973},"onBar()",{"start":974,"end":975},{"line":965,"column":966,"offset":967},{"line":965,"column":976,"offset":977},15,3018,{"start":979,"end":980},{"line":965,"column":966,"offset":967},{"line":965,"column":976,"offset":977},{"type":27,"value":982,"position":983}," beside the four-function form). It never rewrites a published\nversion: the module a chart loads is the one you published, under its\nfrozen contract, and a package that does not use a new feature is\nunaffected by it.",{"start":984,"end":985},{"line":965,"column":976,"offset":977},{"line":865,"column":604,"offset":986},3234,{"start":988,"end":989},{"line":851,"column":21,"offset":963},{"line":865,"column":604,"offset":986},{"type":27,"value":28},{"type":31,"tagName":50,"properties":992,"children":993,"position":1002},{},[994],{"type":27,"value":995,"position":996},"What we publish",{"start":997,"end":1000},{"line":998,"column":58,"offset":999},60,3239,{"line":998,"column":116,"offset":1001},3254,{"start":1003,"end":1005},{"line":998,"column":21,"offset":1004},3236,{"line":998,"column":116,"offset":1001},{"type":27,"value":1007},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":31,"tagName":124,"properties":1009,"children":1010,"position":1153},{},[1011,1055],{"type":31,"tagName":128,"properties":1012,"children":1013,"position":1052},{},[1014],{"type":31,"tagName":132,"properties":1015,"children":1016,"position":1049},{},[1017,1034],{"type":31,"tagName":136,"properties":1018,"children":1019,"position":1028},{},[1020],{"type":27,"value":1021,"position":1022},"Page",{"start":1023,"end":1025},{"line":483,"column":143,"offset":1024},3258,{"line":483,"column":1026,"offset":1027},7,3262,{"start":1029,"end":1031},{"line":483,"column":21,"offset":1030},3256,{"line":483,"column":1032,"offset":1033},8,3263,{"type":31,"tagName":136,"properties":1035,"children":1036,"position":1045},{},[1037],{"type":27,"value":1038,"position":1039},"Purpose",{"start":1040,"end":1043},{"line":483,"column":1041,"offset":1042},10,3265,{"line":483,"column":761,"offset":1044},3272,{"start":1046,"end":1047},{"line":483,"column":1032,"offset":1033},{"line":483,"column":116,"offset":1048},3274,{"start":1050,"end":1051},{"line":483,"column":21,"offset":1030},{"line":483,"column":116,"offset":1048},{"start":1053,"end":1054},{"line":483,"column":21,"offset":1030},{"line":483,"column":116,"offset":1048},{"type":31,"tagName":194,"properties":1056,"children":1057,"position":1150},{},[1058,1105],{"type":31,"tagName":132,"properties":1059,"children":1060,"position":1102},{},[1061,1087],{"type":31,"tagName":201,"properties":1062,"children":1063,"position":1082},{},[1064],{"type":31,"tagName":881,"properties":1065,"children":1067,"position":1076},{"href":1066},"../getting-started/introduction.md",[1068],{"type":27,"value":1069,"position":1070},"What is wrun",{"start":1071,"end":1073},{"line":180,"column":58,"offset":1072},3292,{"line":180,"column":1074,"offset":1075},16,3304,{"start":1077,"end":1079},{"line":180,"column":143,"offset":1078},3291,{"line":180,"column":1080,"offset":1081},53,3341,{"start":1083,"end":1085},{"line":180,"column":21,"offset":1084},3289,{"line":180,"column":733,"offset":1086},3342,{"type":31,"tagName":201,"properties":1088,"children":1089,"position":1098},{},[1090],{"type":27,"value":1091,"position":1092},"What wrun is, how a file runs and where, in one read.",{"start":1093,"end":1095},{"line":180,"column":427,"offset":1094},3344,{"line":180,"column":1096,"offset":1097},109,3397,{"start":1099,"end":1100},{"line":180,"column":733,"offset":1086},{"line":180,"column":386,"offset":1101},3399,{"start":1103,"end":1104},{"line":180,"column":21,"offset":1084},{"line":180,"column":386,"offset":1101},{"type":31,"tagName":132,"properties":1106,"children":1107,"position":1147},{},[1108,1131],{"type":31,"tagName":201,"properties":1109,"children":1110,"position":1125},{},[1111],{"type":31,"tagName":881,"properties":1112,"children":1113,"position":1120},{"href":883},[1114],{"type":27,"value":886,"position":1115},{"start":1116,"end":1118},{"line":496,"column":58,"offset":1117},3403,{"line":496,"column":160,"offset":1119},3413,{"start":1121,"end":1123},{"line":496,"column":143,"offset":1122},3402,{"line":496,"column":834,"offset":1124},3442,{"start":1126,"end":1128},{"line":496,"column":21,"offset":1127},3400,{"line":496,"column":1129,"offset":1130},44,3443,{"type":31,"tagName":201,"properties":1132,"children":1133,"position":1142},{},[1134],{"type":27,"value":1135,"position":1136},"Versions, sharing and where a published indicator runs.",{"start":1137,"end":1139},{"line":496,"column":43,"offset":1138},3445,{"line":496,"column":1140,"offset":1141},101,3500,{"start":1143,"end":1144},{"line":496,"column":1129,"offset":1130},{"line":496,"column":1145,"offset":1146},103,3502,{"start":1148,"end":1149},{"line":496,"column":21,"offset":1127},{"line":496,"column":1145,"offset":1146},{"start":1151,"end":1152},{"line":180,"column":21,"offset":1084},{"line":496,"column":1145,"offset":1146},{"start":1154,"end":1155},{"line":483,"column":21,"offset":1030},{"line":496,"column":1145,"offset":1146},{"quirksMode":1157},false,{"start":1159,"end":1160},{"line":21,"column":21,"offset":22},{"line":185,"column":21,"offset":1161},3503,1791265222158]