Skip to content

v0.60.0

Choose a tag to compare

@github-actions github-actions released this 28 Aug 04:29
· 1458 commits to master since this release
94e8cc6

Changelog

  • 7570d8c Widen the summary on a re-entrant lambda instead of skipping it
  • 79d584d Weigh the slice the conversions are held in
  • f55e356 Weigh the conversions against the arguments they came from
  • 8a165ab Weigh the block's keys when admitting the memo
  • 09b5e05 Warn when a statement-position mutator provably updates nothing (#1226)
  • bf90838 Walk a hash lookup's retained results as a memory-quota root (#1183)
  • 02b048f Validate sort scratch, charge merge preflight keys
  • fa6e1e3 Validate set-op buffers together with their operands
  • 21ceb12 Validate scratch in difference's membership equality
  • bee99aa Validate equality scratch with the compared operands
  • 61e1ee7 Validate before charging where the check is cheap
  • 24adeca Validate absorbed breaks from preserved bound methods
  • 5489785 Use the repository's spelling for traveling and behavior
  • 3be0eba Use slices.Contains and maps.Copy for linear scans and map merges
  • 7bbfd53 Use errors.New for a constant-shaped message
  • d41a418 Use a fresh comparison state for the _by extrema
  • f0b3a6c Use a class's to_s for format's %s
  • 3ba6018 Use American spelling in the enum rendering comments
  • 8d57424 Use American spelling in the JSON key test comments
  • 5f696a4 Update the changelog for the clone and module-root fixes
  • 8aacd0b Treat a lone rest block parameter as arity one
  • 074b1f6 Traverse metered maps deterministically, skip empty lookups
  • a6ba8ed Tie a task slot to the job rather than to a worker
  • 1a6292b Tidy the bound-equality charge comment
  • 1ac36da Thread a byte charge through value equality
  • 6b8a0f8 Test zone abbreviations alongside the zoneless default
  • a74867c Test unknown-member reporting and its soundness boundaries
  • d39cab8 Test to_s dispatch, fallbacks, and sandbox accounting
  • f881c78 Test to_s and inspect coverage, agreement, and quotas
  • b44c008 Test the teaching diagnostics and their boundaries
  • e2e6c97 Test the spaced-paren diagnostic and its boundaries
  • fcb4659 Test the removed sentinel and the rebuilt positional view
  • 8b0dc28 Test the keyword-default diagnostic and its boundaries
  • 85a643d Test the directive scanner and literal percent handling
  • 7213695 Test the conversion digit cap
  • 63348e2 Test the checker's view of symbol comparisons
  • 7ed1091 Test the checker's view of string repetition
  • 4a39ecf Test the break diagnostic across blocks, procs, and loops
  • 0630f09 Test that zoneless time results are host-zone independent
  • 46ae05c Test that ordinary host objects keep their rendering
  • 739cf6f Test that character-set scans bill their entry comparisons
  • ab0a518 Test task root-cause reporting in both read orders
  • 8c8e5e5 Test string repetition, its rejections, and its quota
  • 8859aea Test scalar comparison coverage per kind
  • b3b2848 Test rescued error rendering and the unchanged bags
  • 7bcd265 Test recursive eql? strictness and unchanged ==
  • 4454a60 Test named captures, shadowing, and the offset match path
  • 631e668 Test integer-string parsing, syntax limits, and quotas
  • 26d4311 Test hash stored entries and regex receiver checking
  • 32e7f51 Test format's to_s conversion, padding, and quota
  • 7760f9c Test flat_map semantics and per-element accounting
  • a74e66b Test every capped method instead of trusting the set
  • 701e42e Test enum value to_s and inspect
  • 401d1e3 Test enum type members
  • c3577be Test enum rendering projection and the alias suggestion
  • 393c52c Test duplicate named capture resolution
  • 471da59 Test diagnostic deduplication across call sites
  • 79215ba Test crossed formats, both dispatch paths, and literal text
  • 0edebb3 Test control-flow signals escaping an implicit to_s
  • 34039f2 Test completion narrowing and its fallbacks
  • 522a85b Test comparison metering, memoization, and equal prefixes
  • 4e4ff89 Test comparison error rescue, position, and limit classification
  • 46ac99a Test break in blocks, its boundaries, and sandbox accounting
  • ceafa50 Test assert call forms across both spacings
  • d06d57a Test array ordering, cycles, and the unchanged operand kinds
  • b8ca8d9 Test absorbed break return-type validation
  • abbf838 Test Hash#map block shapes and quota accounting
  • eba1cbb Test Hash#map arity and retained-output accounting
  • 292040f Teach the checker that symbols compare
  • 19a538c Teach the checker that a string repeats
  • faf18e8 Tag deliberate string-form bags instead of inferring them from shape
  • d7e129c Suspend yield recording while block bodies run
  • 899029c Surface named captures on match data
  • b524d60 Surface latched exhaustion past swallowing adapters
  • 2507d97 Surface a nesting refusal from the percent-literal probe
  • f15beb5 Suppress the hint when the field already admits nil
  • 2b69fc7 Suppress local-callee modulo before probing for a percent literal
  • b0f8b0d Support break inside blocks
  • 3480a41 Stop the summary walk from re-entering a stored lambda
  • 1c942cc Stop the key charge where canonicalization stops
  • 177b9e4 Stop the composite scan after a sticky equality error
  • 2bf246b Stop the ambient walk when its budget is spent
  • 1fc2ebd Stop retry at the implicit to_s boundary
  • a359135 Stop reporting a hash's stored entries as unknown members
  • 586129c Stop repeated-region ivar effects from re-entering a lambda
  • 1b0bfcb Stop propagating failed key encodings in equality charges
  • f28ad7d Stop object provenance at the host boundary
  • ffecc31 Stop four static-check paths doing quadratic work (#1182)
  • 5457821 Stop converting template values twice, and size interpolated regexes
  • 6703f2e Stop bounded collection inside captured environments
  • 1a946ea Stop ambient traversal when the budget is spent
  • 7430939 Stop ambient binding iteration at the budget
  • 1399055 Stand a tiny token in for the execution in credentials
  • a29b554 Staff task workers per job rather than per max
  • a1249ba Spread the set-op precharge sources as well
  • f7e1e52 Spread set-op sources instead of materializing them
  • 5394758 Snapshot fallback diagnostics for outer dispatches
  • 54b66ff Snapshot ambient builtins before contracted capability calls
  • 6b2caae Skip untouched bigint canonicalization, hold the scan reservation
  • 1a5e0b2 Skip the regex flag charge when sources already differ
  • 098c34c Skip the build accumulator for one-element array literals
  • 28f1483 Skip detaching a slice that already owns its bytes
  • 5650160 Size the squish builder to its output
  • c78f777 Size regexes without rendering in the value package
  • 5647fc3 Size regexes without rendering in the recursive walkers too
  • c8db928 Size big-integer inspections with the decimal bound
  • d17a99e Size a rendering from its payload, not by rendering it
  • 18f0027 Share the source replay with the splat lookahead
  • bf4cf4b Share the property contract a host clone copies
  • 775a789 Share the pool with a scope opened inside a scope
  • 82451be Share the lexer stacks a snapshot captures
  • 70f952d Share the argument classification, not just the arithmetic
  • efae5e3 Share one type copy across a whole clone, not one per class
  • ae4270e Share one task concurrency budget across a call tree
  • 32e158e Share one comparison state across a sort or extrema pass
  • 53771f3 Settle container delimiters, and search invalid UTF-8 linearly
  • c08c5b0 Settle a block's bind charge construction walk before its callbacks (#1198)
  • 12517a4 Settle JSON output per value, not once at the end
  • 9f33275 Set up the comparison memo lazily and charge its real footprint
  • df1765a Separate the return-type target from the options-hash target
  • 0e5a51d See through exact-one repeats when sizing
  • 73634f6 See through counted repeat aliases when sizing
  • 1144bbc Scope the unrescuable guarantee to the latched caps
  • c9a9afa Scope the changelog to what the charge covers
  • 7aa2c7c Scan typed hash entries at data-only boundaries
  • a792187 Scan raw statics without materializing them
  • c2c656b Scan for published capabilities before returning a validation error
  • 96f9864 Scan absorbed break results for newly published builtins
  • 8053c11 Scale the needle rejection by the widest encoding
  • 89cba6d Scale durations by float operands instead of truncating them
  • dbc3c57 Say what the deep-transform retained-payload figure does not bound (#1188)
  • 7968fc2 Run the zip build as an accumulator-metered section
  • 71751d4 Run the estimator-counter test serially
  • 353126f Run the awaited job, and only on a goroutine that holds a slot
  • 98b0600 Route unknown-member errors through the script error path
  • 9701f51 Route an absorbed break through the normal return path
  • 2a3f60e Root a module's environment while it initializes
  • 4f4edab Roll back dropped memo reservations and charge the map's footprint
  • 71f100c Rewrap shared clones with each wrapper's own tag
  • 8a58d61 Reuse the comparison state across _by extrema, clearing results
  • 6ba09d5 Retract the dormant memory total when a block can rebind it (#1184)
  • f19dce8 Retain worker exhaustion independently of the first error
  • 2fcbe23 Resume the structural replay instead of restarting it
  • 32c11fe Restore the ivar dirty marker after lambda body walks
  • f362a07 Resolve token positions through a line index
  • ee5e64e Reserve the template scratch as the projection allocates it
  • a3c2ec9 Reserve the slice copy beside slice's ignored arguments
  • 30a518f Reserve the set-op root wrapper slice
  • cb00c4f Reserve the set helpers' buffers in loop scratch
  • 6df2417 Reserve the result backing before the first block call
  • d9771f8 Reserve the hinted scalar map before allocating it
  • 335f8dc Reserve the equality index maps before building them
  • 429f880 Reserve the entry sort's full live footprint
  • 9fc40ba Reserve the detaching copy before allocating it
  • ad83cf4 Reserve the backing before the runner snapshots its baseline
  • ed8c492 Reserve the HashEntries copies a metered comparison materializes
  • 8b7f347 Reserve task slots for the work a group has
  • f04decb Reserve retained template segments, and charge the regex sizing walk
  • 9808551 Reserve rendered display keys at realized capacity
  • 52c2fd4 Reserve outer slice growth in the scan budget
  • e2fbc42 Reserve only the template segments the render allocates
  • 53d8343 Reserve memo entries without a per-entry heap walk
  • fa5d3bd Reserve in-place array growth through the memoized walk
  • 12502f5 Require matching kinds, and order symbols in one pass
  • 87c6aa0 Reproduce the accepted-break binding case in its test
  • 1f27b46 Reprice equality scratch per granule, not per allocation (#1191)
  • 7c0f362 Report each check diagnostic once
  • 275b599 Report concatenations whose every operand alternative is rejected
  • 5cb4485 Report an unknown method on a statically-known receiver
  • 8d71c18 Report an invalid negated literal once
  • 1b07536 Report a task group's root cause, not a sibling's cancellation
  • d89149f Report a space before a parenthesised call argument
  • 55d145a Report a source that outruns the percent-scan allowance
  • d56e66a Report a scratch shortfall instead of answering "not found"
  • 09bff58 Report a crossed Time format instead of echoing it
  • c6c2fa9 Replace sort.Strings with slices.Sort
  • 1373886 Replace errors.As with errors.AsType where the target is an error type
  • e6c74d2 Render only the bags that declare a string form
  • 8eae82c Render negative token values through the fallback
  • 3d402c6 Render enum text into the buffer the quota charges
  • e847139 Render a rescued error as its message
  • 2781a4d Remove the unreachable callable example
  • c76f3a8 Remove the obsolete hash-key rationale
  • e2ae60e Remove the internal key from match results
  • 9cee7cf Remove the closed comparison caveat
  • ff37a97 Remove superseded hash migration notes
  • efb2a8e Remove superseded block-break restriction
  • bc0c8de Remove script-visible tasks and sleep (#1212)
  • 762cdba Remove obsolete callable release notes
  • 2296fad Remove escaping callables; blocks become enforced-nonescaping (#1224)
  • 17b4e58 Remove differential-testing scratch committed with the rc2 release prep
  • a58e45c Release the slots a shifted array no longer reaches (#1201)
  • 39a415b Release sort scratch as sibling traversals complete
  • ea485d0 Reject oversized needles before scanning them
  • 6afd552 Reject objects in string concatenation
  • d12cf67 Reject non-renderable operands in string concatenation statically too
  • ef588f0 Reject nil and containers in string concatenation
  • 727108f Reject member assignment to tagged bags
  • 10cf34d Reject in-place mutation of tagged bags
  • d91d930 Reject dotted type atoms without splitting them
  • 582481a Reject class instances in string concatenation
  • 7019922 Register the conversions instead of pricing them
  • bc0f693 Refuse spawns that observe exhaustion behind a nil group error
  • fcceac2 Refuse rescue on authenticated task exhaustion
  • f372d84 Refuse rescue matches on an exhausted execution
  • 072cbf7 Reduce modules to namespaces (#1211)
  • cab35ce Record which label colons precede a ternary separator
  • 868449c Record the deadcode sweep after the ADR-006 removals (#1225)
  • 3c41489 Record namespace writes a re-entrant lambda reaches
  • e68240f Recognize every renderer directive and reject malformed formats
  • c95f677 Rebuild exhaustion diagnostics from execution-held state only
  • 117dde2 Rebuild authenticated exhaustion instead of trusting it
  • 0bbebef Rebind escaped bound methods across calls
  • 51a7de2 Reach yields the recursion enables instead of assuming them
  • 848177b Re-observe exhaustion before admitting a spawned job
  • 49192c0 Re-measure retained entries against each live base
  • 20f2760 Qualify the ensure guarantee for latched exhaustion
  • a454c74 Publish a tagged bag's rendering at construction
  • 38f765f Publish ADR-006: slim the language for predictable sandboxing (#1213)
  • eb77195 Project runtime rune lengths without rendering
  • cb726a7 Project enum renderings before allocating them
  • a6e0a63 Project and stream enum text without materializing it
  • 4e3012b Price the zip rows once and keep the probe serial
  • 4120448 Price the zip result before building it
  • 43f5b2b Price the conversions instead of walking them per check
  • fb29b56 Price hash-literal entries through the memoized base walk
  • bd215a8 Price a partition against the array it returns
  • 8358a72 Preserve tags on capability result clones
  • 9597b76 Preserve stored lookup identities when cloning typed hashes
  • be55552 Preserve object tags through task payload cloning
  • e3e9cc5 Preserve object tags in packaged capability clones
  • 77563a4 Preserve object tags across internal containment clones
  • c0e51d6 Preserve nil in the default-proc migration
  • f45d797 Prepare v0.60.0 release
  • 0fcb194 Preflight display renderings, skip aliased key payloads
  • e53d319 Prefer the latched error over unrelated adapter failures
  • fcbb636 Precharge set operands in every dispatch path
  • cb2bb5b Preallocate the squish projection corpus
  • dfdd8d2 Preallocate the regex-length test corpora
  • d200225 Preallocate the order helper's result
  • fe60658 Position an incomparable relational comparison
  • 95fefe1 Pool the metered equality context on the execution
  • 7d55382 Point deliberate Ruby divergences at their alternative
  • 858c5fb Pin the percent scan's growth with a byte counter
  • 50120cb Pin that valid modulo never spends the percent-scan allowance
  • 90a3ccc Pin nested comparison metering with proportionality tests
  • fd8c532 Pin how the label-colon scan grows with the label count
  • 2797f94 Pin hash literal key kinds in both directions
  • 51b9ca3 Pin JSON key kinds and the documented conversion
  • 546385f Parse integer strings beyond int64
  • 89f88af Parse assert(cond, message) as an ordinary call
  • 0fbae59 Pace the conversion check and hand back a nested backing
  • af580f5 Order symbols and nil under the comparison operators
  • 2b5ca2e Order mixed hash entries before the metered linear walk
  • 73c335d Offer freed slots to waiting groups in registration order
  • 569cd0a Offer a freed slot to a waiting group before the local queue
  • 996e900 Note the template scratch check in the changelog
  • 2e4edc9 Narrow the module release overview
  • 41e479c Narrow retained-output release notes
  • 6837e3b Narrow member completion to the receiver's kind
  • 154a068 Name the block boundary when break cannot leave one
  • 357c8ea Meter regex source comparisons
  • eb25c8b Meter equality through the runtime's comparison paths
  • 972428e Meter display-key sizing and singleton renders
  • b496f43 Meter array comparison and memoize shared subtrees
  • 9be8d43 Merge remote-tracking branch 'origin/master' into mgomes/tokentype-int
  • 61199f6 Merge origin/master, reconciling token.go imports
  • 76386db Merge origin/master, dropping the sort imports both sides touched
  • 7c35486 Merge origin/master and latch the new quota raises
  • 7c9326d Merge origin/master
  • d85ec4f Memoize function effect scans so self-call sites stay linear (#1227)
  • 73bf66a Measure walk work by allocation rather than wall clock
  • 3d5e316 Measure deep-nesting construction under a memory quota
  • f554c0f Measure a mixin adoption against the quota that remains
  • 8777fea Match crossing detection to the renderer's directive acceptance
  • 58e1b69 Match Simplify's quantifier rules when sizing
  • 6414fc1 Mark latched exhaustion unforgeably at wrap time
  • e3000de Make the object tag part of identity and document it as Tier 2
  • 1c081a9 Make TokenType an integer enum
  • 99a36d7 Let re-entry walks read facts instead of clearing them
  • 111cf3c Let latched exhaustion outrank cancellation
  • 0e53404 Let ensure-triggered exhaustion replace the body's error
  • 3713b93 Let a builtin declare that it does not mutate, and stop re-walking the graph around it (#1202)
  • bd5b9e8 Leave a drained group registered rather than forgetting it
  • 9507162 Latch the parent when task exhaustion crosses the boundary
  • 6d0fc11 Latch genuine quota exhaustion on the execution
  • e8d6e44 Key the cost-walk cycle guard on the full slice header
  • be18128 Keep zone abbreviations out of the zoneless UTC default
  • 64d94e8 Keep unmetered host map equality allocation-free
  • 1bd7976 Keep typed clones intact and bound their key depth
  • dd0f0e0 Keep the seconds operand exact when scaling by a float
  • 56665a9 Keep the retention bookkeeping off the common path
  • 1fadcb2 Keep the participating group for duplicate capture names
  • a1839fc Keep the outer call site for positionless member lookups
  • 30e2429 Keep the ivar dirty marker through fresh inference scopes
  • f90ca70 Keep the exhaustion site when ensure cannot run
  • 387fd54 Keep the base-walk memo across a loop body's scope re-push (#1133)
  • 7a72d4f Keep regexes concatenable
  • 5e512d6 Keep propagated error frames past the dispatch latch check
  • ebff145 Keep only errors that carry the latched exhaustion
  • 88d85a3 Keep identity accounting through literal replacements
  • 192e808 Keep eql? kind-strict for nested values
  • 44f1614 Keep an inline job inside its group's limit and its waiter's wait
  • 8533a1f Keep Data public, charge the wrapper, key result clones by tag
  • df598ad Index code frames sparsely instead of per line
  • ee7c6f4 Include the result backing in the retained reservation
  • 83af173 Include string framing in key canonicalization charges
  • fb3d128 Host boundary hands out independent values (#1222)
  • be7fe81 Honor block arity and charge retained output in Hash#map
  • 01e82e8 Hold task slots only while the work needs them
  • dc470e7 Hold both allocations when admitting a replacement
  • bfdd0d2 Guard the token spelling table against drift
  • 4eec9fe Guard member builtins against wrong-kind receivers
  • 462fef9 Grow the comparison memo instead of preallocating it
  • 83ca924 Give the ordering members the bounded memo
  • c2855e9 Give the local race gate CI's 30m timeout (#1215)
  • 7cd3c36 Give differently-tagged wrappers independent clones
  • dd649a8 Give back the retained backing once nothing is held
  • 99b8186 Give arrays and hashes value semantics (#1219)
  • 361d35c Give an enum type name, to_s, and inspect
  • d9f8230 Generalize the byteslice detach into a shared helper
  • 5194328 Funnel memory-quota raises through one helper
  • 3e2f9a9 Frame raw Step exhaustion at the capability call site
  • a90524a Fold a minus into a literal only when it is adjacent
  • d2b5c8e Fix the embedding starter templates and gate them in CI
  • 84930e6 Fix the arbitrary-precision fuzz oracle
  • 2f0d05e Extend scratch validation and sort metering to set scans
  • bbd5ad9 Expose the member receiver at a parse position
  • 5e3e4d4 Export the escaped-method test value through block forwarding
  • 5929379 Explain a nullable read of a required shape field
  • 4f6e2e9 Explain a keyword default that reads as a type annotation
  • 9f500a9 Expand numeric alternatives before consulting the rule table
  • e2a2c2f Exempt the constant-time string methods from the scan charge
  • 00a8384 Exempt chomp by arity, and charge symbol equality predicates
  • 4a938b3 Exclude the sign from the digit limit
  • 7d414fe Exclude absorbed break values from capability binding
  • 6f75be7 Evict the oldest memo entry instead of refusing new ones
  • 680cca3 Estimate regex program size without expanding it
  • d752669 Enforce the digit cap before the int64 fast path
  • e15ea28 Eliminate the second rendering instead of halving it
  • cd459a4 Drop wall-clock ceilings from the comparison tests
  • 1a94620 Drop the registration machinery this no longer uses
  • 995e1a3 Drop provenance at every host boundary
  • 2c74407 Drop object tags from script-level duplication
  • fcbd650 Drop equality operand roots once a comparison answers
  • 8e5dd9c Document unrescuable quota exhaustion
  • bd8f63b Document type-aware member completion
  • 4305a69 Document the v0.60.0 module downgrade
  • a9a0c51 Document the sizing model's error asymmetry
  • 4824c87 Document the parenthesized keyword default form
  • 90ffe1f Document the hint's argument-path scope
  • 173c61c Document the UTC default for zoneless times
  • adedb1e Document that crossing the Time format languages is an error
  • 8ced90c Document that JSON.parse produces string keys
  • 4cabc9c Document how zone abbreviations resolve
  • 6b8eb56 Document enum value to_s and inspect
  • c84b2a1 Document enum type members
  • 069634d Document String#*
  • b140541 Document ParseTimeString
  • 3cb9230 Document Array#flat_map
  • a63c0ae Do not bind contracts from a rejected return value
  • f3e1dd1 Dispatch interpolation and puts to a class's to_s
  • 28d68a3 Discard the fluent return in the task latch transfer
  • a1b94ce Detect a crossed format without rendering it
  • c656bd9 Detach writes through call-form and auto-invoked accessor roots (#1228)
  • 17abf23 Detach string results from their receiver's backing (#1194)
  • a86bf64 Detach string bracket reads from their backing
  • 3a0c61f Detach small byte slices from their backing
  • bbede5e Detach partition components from the receiver
  • bbd3305 Detach every byte slice and charge the copy
  • 39761e4 Detach String#slice results from their backing
  • 425d487 Describe the live nonretaining contract
  • 82681a2 Describe the ensure body as skipped after exhaustion
  • 817395b Defer starved task jobs instead of running them at spawn
  • 6859150 Default zoneless times to UTC rather than the host zone
  • c10cefa Deduplicate repeated payloads across hash-literal entries
  • 6633b05 Deduplicate literal entries against the union of identities
  • 5aab996 Decline the charged append on reallocation
  • 6820fbe Decline charged appends into occupied spare slots
  • 6c43d9a Decide concatenation validity over both operands' alternatives
  • 6c52f90 Decide concatenation for callable operands
  • 14cb4ea Cut the cost walk at its budget and bill object keys
  • 17fc0a8 Cover the member receiver guard
  • d03a6b3 Cover capability revocation for forwarded bound methods
  • 2d77ffd Count the wrappers a predeclaration scan steps over
  • 85f88a2 Count invalid UTF-8 runes, and keep the per-node step
  • 4dc385a Count estimator visits instead of allocations
  • fa0bf44 Correct the v0.60 module milestone
  • 24a7e0d Correct the quoted hash key rule in the language reference
  • 07f3a3a Correct the escape bound and charge template values as rendered
  • 07696eb Correct the collection-loop caveat
  • 7255694 Copy a property contract once per clone instead of sharing it
  • 5320103 Convert the func-comparator sorts to slices.SortFunc
  • b413596 Consult the length hook from the unbounded byte projections
  • 0048e2b Compare expansion roots when collapsing quantifiers
  • 2a04991 Compare arrays lexicographically
  • 0c3a2b6 Compare an int and a float numerically under ==
  • 34dd0e4 Commit array appends into the base-walk memo
  • c3bd50e Commit added hash entries into the base-walk memo
  • f61ee19 Collect difference composites instead of the arrays holding them (#1186)
  • d1dff32 Collapse only identical nested quantifiers
  • cd58e15 Collapse nested quantifiers when sizing
  • 8029842 Collapse hash keys to one string keyspace (#1217)
  • 1abd0fa Collapse clamp-style if statements into min and max
  • 93b2707 Close the sort-metering and scalar-lookup gaps
  • e57863f Close the key-charge gaps codex found
  • 35ac8fb Clone typed hashes in insertion order
  • 1a0dd37 Clone capability arguments in containment mode
  • 2825773 Clear the slots Array#pop and Array#shift vacate (#1167)
  • 9e98ec1 Clear a released conversion slot before dropping it
  • b71d623 Classify incomparable comparisons as ArgumentError
  • 619b6c0 Clarify zone abbreviation portability
  • eda57aa Clarify the lightweight language surface (#1231)
  • 15b2091 Check the conversions once, when the pile is complete
  • 4ccc404 Check memo reservations periodically
  • f4617c4 Check conversions between them rather than reserving them
  • 89b7b99 Charge value rendering for the bytes it prints
  • 6edf58e Charge truncated renders and cap between?
  • f345c82 Charge the step quota per element in array scans (#1132)
  • ababf1e Charge the step quota for the bytes a string method scans
  • 1be96f1 Charge the result backing once and weigh binds against the live baseline
  • 176e3ea Charge the public byte walk, and size regexes in the rune walks
  • f33ad6b Charge the prefix a failed hash-key canonicalization copies (#1190)
  • c0792ac Charge the parse scan before it runs
  • 105ee6b Charge the local predeclaration scan
  • 87569d2 Charge the interpolation sizing walk, which the last commit missed
  • 9bbdcaf Charge the eviction ring alongside the memo
  • 1bb4070 Charge the destructuring targets a scan walks
  • 6d299b2 Charge the comparison memo against the memory quota
  • 1f5d125 Charge the class constants a mixin adopts
  • b81acb6 Charge the ancestor copies canonicalization performs
  • 527fac6 Charge the aggregate branch of every format projection
  • 89631da Charge tally keys during capacity sampling
  • 38341f2 Charge symbol comparisons; stop charging chop and chomp
  • ad87184 Charge substitution output and template renders
  • c94c304 Charge string work that never reaches method dispatch
  • 6ec832a Charge string work at the shared paths, not the entrances
  • 6a84747 Charge string character-set scans for the entries they compare
  • 6457ebc Charge string bytes in ordered element comparisons
  • 20787e7 Charge string bytes at key-canonicalization sites
  • f05ab3f Charge sort reads in batches from the comparator
  • d2f344f Charge shared array keys per canonicalized occurrence
  • 8356b56 Charge repeat branches and discard zero repeats
  • bbe0e95 Charge regex flags before comparing them
  • f202bb3 Charge receiver keys in typed hash copies
  • b7a3a78 Charge receiver keys in the typed merge copy
  • a376b85 Charge preprocessed arguments in full, and from one place
  • 17c9f10 Charge operations whose output size is not bounded by their inputs
  • 4354208 Charge only the completed prefix for failed key canonicalization
  • a69b912 Charge one step per node when sizing a nested regex
  • 35d7d72 Charge hash.map_with_index and transform_values for the results they keep (#1197)
  • 3fbb400 Charge format's projected output and every direct-call argument
  • c640e27 Charge format for its pattern and its hex inputs
  • 4a812d9 Charge format conversions as they accumulate
  • 6d552dd Charge every rendering site, not only inspect and puts
  • a6a9d7b Charge each object wrapper and its published rendering
  • 269963d Charge duplicate-scan candidates before rendering them
  • 7d2b9e6 Charge conversions for what they add
  • 1428cb1 Charge byteslice for the bytes it copies
  • 4f30875 Charge block substitutions and serialized nested strings
  • ade693b Charge block replacements as they are accepted
  • 3d78a8c Charge and reserve the byteslice copy
  • 49d6d2f Charge an argumentless difference for the copy it makes (#1189)
  • 74605ea Charge adopted keys in hash.replace
  • 5ad0960 Charge a predeclaration scan for the names it hashes
  • 6649ef8 Charge a function value its captured environment
  • 19c94f2 Charge a block for what its caller is still holding (#1187)
  • 5a0c27f Charge Min copies for open-ended repeats
  • 0616d4d Charge JSON output without projecting memory per value
  • d52365e Charge JSON output built from literals, and parsing
  • 7e0ebba Charge JSON output and compare strings in one pass
  • a37bd7f Carry worker diagnostics through the trusted channel
  • 0ab7fc9 Carry the equality byte remainder across comparisons
  • 7643bad Carry the conversions into the render check
  • 54990fd Carry the class-body marker through env clones
  • b47fb25 Capture the shape-key-kind hint with the argument fact
  • 53053ec Capture hints for statically expanded splat elements
  • 5283025 Capture an absent hint rather than re-inferring it
  • 49c5f77 Cap the digits a string conversion will parse
  • f0d29d5 Cap sessions mode by hash-literal width
  • fa8fb93 Cap comparison arguments at what the receiver can bound
  • 7f3237f Calibrate the search timing test to the clock
  • dc819f5 Cache object clones by map and tag
  • 543a3af Build the rune table a prefix at a time too
  • c823d09 Build the line index a prefix at a time
  • 97ae24c Build the conversion bookkeeping at the first conversion
  • eff068e Build hash literals without bumping the mutation epoch
  • 4c11f65 Build each script's code frame index once
  • 1e4583c Budget the typed destructure projection
  • 743d0fb Budget the scan request against remaining quota
  • b019239 Budget the regex cache by compiled program size
  • d5ae9c1 Budget the destructure projection by type size
  • 658c533 Bound two unmetered loops in eval (#1177)
  • d7fe44e Bound the zero-width scan table by the memory quota
  • 92978d4 Bound the traversal map a pooled context retains
  • 8d6d617 Bound the summary yield walk and prove the mutator fact comparisons (#1195)
  • 63697d9 Bound the speculative percent-array literal scan
  • 78c984e Bound the scan match request by the memory quota
  • 88cd389 Bound the runtime string hooks so precision formats do not materialize
  • 319f150 Bound the rendering of a rejected Time.at unit
  • ced3f87 Bound the reentrant ivar effect walk per walk, not per nesting level (#1192)
  • 631cc05 Bound the namespace effect scan on self-invoking lambdas
  • 68729fd Bound the module suggestion directory scans
  • 38a2f74 Bound the length of an is_type? atom
  • c3d199d Bound the copying a hash shape field write does (#1185)
  • 02b951f Bound the comparison memo and reserve it once
  • c9479f8 Bound the ambient builtin snapshot
  • 36212d8 Bound live memory across a chain of nested tasks (#1196)
  • 1b3196c Bound how long a script may sleep (#1180)
  • f799b0b Bound how far the splat lookahead reads
  • b9446c4 Bound how deeply string interpolations may nest
  • cbd798c Bound how deeply parenless calls may nest
  • b5dfa1c Bound how deep task jobs may nest on one goroutine (#1193)
  • c7c7a9c Bound forwarded send-chain resolution depth
  • ba01c98 Bind yielded contracts before the block runs
  • 133e1de Bind the allocator rounder on set-op equality contexts
  • d270c0f Bind exhaustion credentials to their execution
  • c02b914 Bind contracts to the values a capability yields
  • b972761 Bind contracts on builtins retained by capability blocks
  • e597b87 Bind a minus before a numeric literal to the literal
  • a1b015b Bill the mixed hash path by display work performed
  • 227d9d2 Bill keys before sorting them, order the legacy value scan
  • b424065 Bill index and rindex for what their guard admits
  • 059c04b Bill an operand by what it renders, not by its kind
  • 666cad3 Batch sub-granularity leaf charges across the equality walk
  • cdaccc6 Avoid repeated instance ivar widening scans
  • 2473611 Authenticate exhaustion across aggregate error trees
  • 5322f77 Ask other groups before the releasing group's own queue
  • 52c5b5a Apply the kind and length guards only where they hold
  • 75c85fb Annotate the deliberately non-wrapping test error
  • a53412c Annotate the deliberate manual unwrap walk
  • f74c516 Align docs and capability proofs with the slim language (#1230)
  • 3ac9bbe Advance the wakeup generation on repeat registrations
  • 4d8aeb4 Adopt Cut, range-int loops, and drop dead loop-variable copies
  • 3ef0ae1 Admit the memo against the caller's live roots
  • 0a35220 Admit charged hash stores on the fallback's terms
  • 1dca882 Address review: meter equality, keep sandbox errors, fix memoization
  • f159db9 Add to_s and inspect to enum values
  • 0d61c20 Add the missing to_s and inspect members
  • fc42acc Add the loop-growth changelog entry
  • b61d8b7 Add changelog fragment for unknown-member checking
  • a008d6b Add changelog fragment for to_s and inspect coverage
  • 877ab3a Add changelog fragment for the unknown-member fixes
  • ce9e13b Add changelog fragment for the teaching diagnostics
  • 71e2b03 Add changelog fragment for the string-form gate
  • 68ab14d Add changelog fragment for the spaced-paren diagnostic
  • 28669d9 Add changelog fragment for the quoted hash key docs fix
  • fa55c03 Add changelog fragment for the match data key removal
  • c6b06d8 Add changelog fragment for the implicit to_s boundary
  • 638358a Add changelog fragment for the format detection scan
  • 3cc4e27 Add changelog fragment for the enum rendering guard
  • 4e37fdc Add changelog fragment for the conversion digit cap
  • d7ea6e3 Add changelog fragment for the checker string repetition fix
  • e42d9b4 Add changelog fragment for the break diagnostic
  • 795cca4 Add changelog fragment for the JSON key note
  • 57022f1 Add changelog fragment for the Hash#map fixes
  • 2fcdab2 Add changelog fragment for task root-cause reporting
  • 5d386af Add changelog fragment for symbol comparison checking
  • 2c12c4f Add changelog fragment for scalar comparison coverage
  • 93aa619 Add changelog fragment for rescued error rendering
  • 8f425c5 Add changelog fragment for parenthesised assert
  • 1157b00 Add changelog fragment for nested eql? strictness
  • af1d0b9 Add changelog fragment for named captures
  • 1bf1e7a Add changelog fragment for integer string parsing
  • 64dc009 Add changelog fragment for instance to_s dispatch
  • 9e416db Add changelog fragment for format to_s
  • 2c8edd9 Add changelog fragment for duplicate named captures
  • b3d3178 Add changelog fragment for diagnostic deduplication
  • e653f14 Add changelog fragment for comparison error positioning
  • 2677e59 Add changelog fragment for break in blocks
  • da048b7 Add changelog fragment for array comparison metering
  • 556a12f Add changelog fragment for array comparison
  • f311c86 Add changelog fragment for absorbed break validation
  • bf55756 Add changelog fragment for Hash#map
  • 3de020d Add changelog entry for the percent scan budget
  • 40e88e6 Add changelog entries for the clone and adoption budgets
  • 5b003e2 Add a just deadcode recipe (#1218)
  • 144ec50 Add a changelog entry for the character-set scan charge
  • bc8b36c Add String#* for string repetition
  • c19ca17 Add Hash#map
  • c458bd5 Add Array#flat_map
  • 1420a52 Abort metered key sorts when their charge fails