All notable changes to this project will be documented in this file.
- Computed columns with negative domain (#298)
- Support checking for negative domain (#296)
- Column setters in trace template (#290)
- Support filtering of perspectives (#281)
- Enabling scrolling of tabs (#282)
- Add bit-decomposition to stdlib (#286)
- Perspective constancy function (#288)
- Allow empty
(begin ..)
(#289) - Improved error reporting in generated
Trace.java
(#291)
- Update implementation of
eq!
(#269) - Support custom class name for trace file. (#272)
- Setting column size factor manually (#274)
- Wrong Evaluation of Constraint Expressions using Expansion (#242)
- Rework
ifs
transform (#245) - Remove vector operations
- Fixes for
ratatui
dependency issue (#216) - Truncated Column Names (#226)
- Different Behavior for Expansion and Native Flag Combinations (#228)
- Update
check
reporting for perspectives (#229) - Update Github Release Action (#237)
- Support
RON
andJSON
bin formats (#223) - Support Perspective "blanking" (#224)
- Switch default
bin
format fromRON
toJSON
(#225)
- Custom
Serializer
forColumnRef
(#184) - Fix for Singleton Reduce (#192)
- Error when missing reduce (#194)
- Fix for unexpected list on
*
(#196) - Unused Declaration for Array Columns (
define.go
) (#197) - Fix #178 (#202)
- Incorrect Handling of Perspective Selectors (#204)
- Incorrect Trace Construction (#208)
- Fix #209 (#210)
- Implement
byte@prove
using range constraints (#182)
- Fix
ifs::raise_ifs
#87 (#97) - Remove old
to_string
invokation (#109) - Fix Default Base for Interleaved Constraints (#114)
- Rendering of columns in
convert
(#110) - Erroneous inversion optimization (#108)
- Fix for
eq!
typing instdlib.lisp
(#145) - Fix for
corset compute
(#156) - Fix #158 (#159)
- Incorrect typing of vector operations (#175)
- Add missing bigInt package (#137)
- Release
corset
v9.7.11
- Bump the cargo group across 1 directory with 2 updates (#103)
- Add force-bin
- Release corset version 9.7.10
- :nowarn -> :force
- Symbol resolving in array indexing operation
- Refactor perspectives in interleavings & sorts
- Better error message on erroneous module access
- Release corset version 9.7.9
- Allow the use of array columns in perspectivized interleaving
- Release corset version 9.7.8
- Permutations & interleave over expressions
- Release corset version 9.7.7
- Carry typing information over interleaving & permutations
- Release corset version 9.7.6
- Refuse to import erroneous values for Fr elements
- Allow for unknown columns in binary trace
- Clearer lookup error messages
- Add conversion to JSON
- Make mismatching column lengths a non-recoverable error
- Release corset version 9.7.5
- Wrong table layout obsucring elements
- Bool -> loob
- Display full file path on compile errors
- Wrong perspective colors
- Add a high contrast setting
- Add boolean version of chronologic testing operators
- Inverse pure expressions in place
- Release corset version 9.7.4
- Streamline function declaration parsing
- Specialization selection mechanism
- Release corset version 9.7.3
- Stepped ranges inclusion check
- Release corset version 9.7.2
- Correct in-boundness check for stepped ranges
- Release corset version 9.7.1
- Allow for any const. expr. in domains
- Release corset version 9.7.0
- Column sizes
- Better error messages when function arguments count is wrong
- Text representation of binary magma
- Type error message
- Expose constant as public
- Use fitting types to avoid wasting space in trace files
- Update dependencies
- Release corset version 9.6.0
- Homogeneize arrays and columns
- Release corset version 9.5.0
- Ensure all backings have the correct length
- Message on conditioning error
- Architecture-dependent build
- Generate normalization constraints
- Generate binarity constraints for
@prove
-annotated type
- Clippy
- Release corset version 9.3.0
- Release corset version 9.4.0
- Homogeneize column types proving
- Sort constraints auxiliary columns computation
- Fr/BigInt criss-crossing
- Parsed value can be negative
- Better error messages on erroneous value updating
- Release corset version 9.2.3
- Move columns_len to ConstraintSet
- Streamline concretization
- Add debug information for binary trace map
- Circumvent expression-backed computation issue
- Interleaved columns definition in WizardIOP
- Release corset version 9.2.2
- Type parsing
- Release corset version 9.2.1
- Error handling
- Exo-column conversion criterion
- Fail on erroneous types
- Add a CSV conversion option
- Update the WizardIOP exporter
- Release corset version 9.2.0
- Handle all errors while checking
- Handle Integer magma in Besu export
- Type compatibily error
- Release corset version 9.1.3
- Release corset version 9.1.4
- Release corset version 9.1.5
- Only use
@loob
and@bool
(#62)
- Feature-gate sqlite export
- Generate binaries on release
- Fix git-cliff configuration
- Correct types for
~or!
and~and!
(#57) - Conditioning should never be mixed
- Add inspector demo
- The
convert
command converts trace files to sqlite database
- Update dependencies
- Release corset version 9.1.2
- Bump zerocopy from 0.7.26 to 0.7.31 (#54)
- Superfluous logs
- Unwrap
- Sort module tabs
- Add
o/open
flag to directly go to a module tab
- Release corset version 9.1.1
- Release corset version 9.1.0
- Globally rename plookup to lookup
- Ensure that inspector colors are readable
- Sort constraints
- Importing traces as native values
- Conditioning of guards
- Concretize computations
- Escaping function
- Correctly mark used columns
- Render permutations & domains
- Apply all auto-constraints
- Adapt default Value to native/non-native
- Columns import/export for BLS
- Lookup checking on non-expanded constraints
- Build process
- Improve checking error reporting
- Add an option do display module spillings
- Switch from BN to BLS
- Implement :comp columns
- Adapt for MMAP export in Besu
- Flat binary file parser
- Update dependencies
- Clippy
- Update dependencies
- Update tui-textarea
- Release corset version 9.0.0
- Improve flat file importing performances
- Optimize register parsing
- Streamline the build process
- Ensure that generated Besu files implement
ModuleTrace
- Add vertical scrolling
- Prettier plookups
- Introduce field-agnosticity and related type-system revision (#40)
- Release corset version 9.0.0-alpha
- Pre-allocate column buffers
- Fine-typing of constants
- Update to new packages
- Do not ignore explicit base annotation on column declarations
- Release corset version 8.3.9
- Add
:truthiness
as a display option
- Release corset version 8.3.8
- Use appropriate type for constants in Besu
- Downgrade ron due to stack overflow issue
- Remove setter methods in generated traces
- Add an option to display columns
- Corset can now parse module following the standard hierarchy
- Clippy
- Release corset version 8.3.7
- Update to Rust 1.70.0
- Besu templates
- Make register allocation stable
- Colorize numbers
- Columns or register can both be loaded from trace files
- Colorize perspective columns only when active
- Add a
iota
keyword to create distinct constants - Accept STDIN as an input with
-
- Update dependencies
- Release corset version 8.3.6
- Dim/non-dim formatting
- Release corset version 8.3.5
- Homogeneize shift display
- Release corset version 8.3.4
- Correct format for subponents
- Release corset version 8.3.3
- Only show column names in checker
- Release corset version 8.3.2
- Erroneous display of checker reports
- Release corset version 8.3.1
- Stop using STDIN
- Release corset version 8.3.0
- OoB in Combinator display
- Incoherences in the type system regarding cyclic validation
- Add
corset inspect
to visualize trace files - Add a Forth micro-language to select rows in the inspector
- Specify columns potentially missing bool annotation
- Opcodes can be used as immediate values
- Always save valid scan expressions
- Corset code can be provided from STDIN
- Rename jobs
- Github++
- Clippy
- Clippy
- Release corset version 8.2.0
- Split inputs in their own modules
- Fix conditional compilation
- Drop dependency on names
- Release corset version 8.1.3
- Fix release.yml
- Release corset version 8.1.2
- Fix release.yml
- Release corset version 8.1.1
- Revamp domain implementation
- Add release.yml
- Allow for dropping individual columns
- Add a formatter
- Release corset version 8.1.0
- Erroneous implementation of perspective scopes
- Erroneous parsing of column type annotations
- Add warning on potentially overflowing
if
conditions for
can iterate over ranges, compile-time values, or arrays- Change besu java format trace generation format
- Unclutch debug report from log level, add trace span options
- Add a
size
method to zkBesu traces fillRemaining
zero-fills empty columns in zkBesu
- Comments & re-organization
- Release corset version 8.0.2
- Columns have a magma, not a type
- Add SPDX field in zkBesu template file (#19)
- Perspective guard should not alter constraint type (#21)
- AVX-specific argument type (#17)
- Add a flag to the debugger to display modules infos
- Prune old code
- Release corset version 8.0.1
- Add syntactic sugar for job-DAG creation
- Extend permutation signs; do not fail parsing on empty modules
- Issue #11
- Inverse constraint generation
- Mark used arrays as used
- Re-enable SIMD
- Handles/ID confusion in lib
- JSON export in conflated traces
- Cbindgen update
- When loading columns, pad both at top and bottom
- Booleans are stable by inversion
- Dynamically type user-defined function calls when possible
- All column expression must be typed
- Tests
- Correctly compute padding for double-past spilling
- Use local rayon thread pools in the FFI
- Missing argument on x86/AVX2 build
- Do not crash on Void constraints
- Only takes own constraints into account when computing spilling
- If applicable, pad imported columns with their defined value
- Typing of
eq!
- Embed handle information when available
- Hash computation for
ColumnRef
- "namespace-ize" perspective columns in zkGeth export
- Tests
- Concurrent borrow
- Update zkBesu exporter to reigsters
- Do not print all columns in debug
- Discern casting and operation result typing
- Always sort handles while debugging
- Don't output too long lines in the conflater
- Better error messages
- Besu export
- Erroneous symbols in WizardIOP
- Cgo antics
- Mixup between computations ID & columns ID
- Revert to old serialization
- Enable sorts in wizard
- Expand string purification
- Add cross-perspective references
- Better error message on columns loading
- Implement binary column representations
- Improve debugging outputs
- Add optional typing to user-defined functions
- Implement loobeans
- The debugger can now display types
- Add debug information on mismatching columns length
- Show as many compile error as possible at once
- Implement the new perspective behavior
- Colorize debugger output
- Add function overloading
- Condense debugging output
- Add the
--debug-src
flag - Allow for a debug-oriented representation of the AstNodes
- Warn on potentially mistyped columns
- N-hood columns do not need to be viewed as binary
- Update the Kotlin template
- Clippy
- Release corset version 8.0.0
- Optimize self-inverts of booleans as identity
- Pre-compute i64->Fr user-set padding values
- Use a product type for handles for clearer output
- Colored -> owo_colors
- Not & Eq are builtin rather than intrinsics
Node
members are now private- Homogeneize stdlib function names
- Stdlib renaming
- Homogeneize column create API
- Drop the
--allow-dups
flag - Implement
SelfInv
in Corset - Replace
:interleaved
bydefinterleaved
(#14) - Implement the new sizes system in WizardIOP exporter
- Go -> zkGeth
- Hide parser & exporters behind feature flags
- Simplify AVX feature gate
- Add an error to string converter
- Temporary revert to old size scheme
- Disable target-cpu
- No CPU-specific code
- Do not hard fail on missing columns
- Missing spills
- Better implementation of pretty_with_base
- Fix parsing of hex & bin values
- Postgres feature
- Do not output SIZE constants for the wizard
- Flatten if within other function calls
- Missing case
defpermutation
failing on aliases- Fail when defining invalid alias
- Insert constant symbols before computing them in a later pass
- Forgotten debug
- Besu templates
- Misunderstood SSE documentation
- Also convert padding to BE
- &str -> &[u8]
- Cross-module symbol referencing
- Insert array subcolumns earlier for easier lookup
- Global symbols lookup must start at the root scope
- Can address foreign symbols
- Introduce global/local scopes
- Ensure that JSON names are exported to the conflater
- Do not crash on empty loop bodies
- Warn when a constraint will not be checked
- Explicit linking modes in Go example
- Optimize trace expansion speed
- Add caching to JSON import/export
- Add a
--fail-on-missing
flag - Add a
:padding
setting to columns - Add a
force-bool
form - Expose libcorset through FFI
- Leverage errno for error codes
- Implement
reduce
; re-organize function hierarchy - Add
todo
form - Add a
debug
command - Accept hexadecimal and binary constants
todo
can take any number of arguments- Add
did-inc
anddid-dec
to the stdlib - Add
either
to the standard library - Add a setting to set display base
- Improve debug output
- Add a trace-checking function to the FFI
- Expose a function to load the constraint system from a string
- Expand the FFI interface
- Add java export for zkBesu
- Improve LaTeX export
- Add more time-related logging
- Add (SIMD) big-endianness conversion in FFI
- Use simd_json for better performances when available
- Render plookups in debug mode
- Implement partially sorted permutation constraints
- Add a conflater-specific exporter
- Export AllColumns for zkGeth
- Warn when a for loop body evals to empty
- Add columns to the debugging output
- Emit warnings for useless use of force-bool
- Implement perspectives
- Add the
~
self-inversion operator
- Cleanup
- Formatting
- Clippy
- Update dependencies
- Clippy
- Update dependencies
- Add git-cliff as dependency
- Prettier debugger
- Clippy
- Update dependencies
- Release corset version 8.0.0-rc
- Parallelize columns rendering in FFI
- Move read_trace to the compute module
- Split zkEVM parsing from trace computation in FFI
- Move symbol & computation tables to their own module
- Drop useless code
- Simplify unfallible function
- Simplify the zkGeth exporter
- Modularize errors
- Convert Expression::(Array)Column from tuple to struct
- Use sorbus to implement the scope tree
- Always optimize dependencies
- Add logs
- Range number formatting in WizardIOP
- Programatically filled columns need a way to set a size factor
- Disable n-hood constraints in Wizard
- Pad columns of modules containing range proofs
- Padding value for Eq columns
- Padding for Eq columns
- The WizardIOP range constraints are <, not <=
- Clippy
- Release corset version 7.1.0
- Simplify Wizard export of interleaved columns
- Double borrow
- Missing ID updates
- Edge cases in @ constraints for sorted columns
Not
typing- Guard system
- Typing of
Not
- Add an alternative
[X i]
notation for array indexing - Type now implements Ord
- Add private symbol tables
- Interleave can now take expression arguments
- Improve error handling for incorrect numeric values
- Enable more transformations for
check-loop
- CheckLoop test all extensions
- Typo
- Release corset version 7.0.0
- Streeamline types verification
- Minor factorization
- Add new errors
- New error type
- Re-organize transformations
- Fix regression
- Alias natural to integer
- Regression on supernumerary
DEFUN
arguments - Wrong typing of array columns
- Add the
LET
form - Add the
LEN
builtin function - Compute static expressions at compile time
- Release corset version 6.2.0
- Introduce testing helpers
- Release corset version 6.1.0
- Streamline the parsing phase
- Switch from
Err(anyhow!(...))
tobail!(...)
- Unclutter lookup errors
- Introduce a new :guard/:domain feature
- Reformat the stdlib
- Release corset version 6.0.0
- Better variable name
- Drop ComputeLoop
- Inverted permutation definition
- Sort constraint should not fail when there is no padding
- Do not fail while validating too short cyclic columns
- Better error messages on empty columns
- Overflow in powers of 256 projected on isize
- Add documentation to common types
- Avoid useless shift in WizardIOP local constraints
- Implement the n-hood constraints
- Detailed debugging now works with negative indices
- Add a --pretty flag to the compiler
- Check in-range constraints
- Implement sort constraint proving
- Remove data generation not required by zkGeth anymore
- Renaming
- Add helper functions
- Clippy
- Go export of constraints is not required anymore
- Release corset version 5.1.0
- Drop the make-decomposition builtin
- Consolidate post-compilation transformations
- Erroneous padding for Phantom columns
- Release corset version 5.0.1
- Do not crash at build if git fails
- Sort expressions in failure traces
- Add a better debugging view
- Highlight failing path when debugging constraints
- Bold-ize the failing columns in traces
- Add a --rerun option to CheckLoop
- CheckLoop can now report
- Add the --debug-dim flag
- Implement the new generalist padding system
- Clippy
- Release corset version 5.0.0
- Generalize the eval function
- Unify the debugging settings
- Tracing handling
- Split generator.rs
- Sparse checking output
- Forgotten arguments
- WizardIOP export
- Plookup rendering in WizardIOP
- In range constraints in WizardIOP
- Interleaved columns should actually exist
- Ensure that columns involved in permuations are marked as used
- Latest WizardIOP API
- Clearer names in WizardIOP
- Handle should be hashed on their name
- Revamp the padding system to handle dependencies
- Implement spilling in padding
- Solve constraint names overlaps
- Improve SQL processing
- Keep track of wheter columns are being used in exporters
- Check inversion constraints when expanding
- Prettier WizardIOP names
- Add git hash in
--version
- No need to export inlined constant in the WizardIOP
- Stderrlog -> buche
- Clippy
- Update dependencies
- Release corset version 4.0.0
- Constraints are now identified by handle
- Cleanup
- Only show error context when logLevel >= warn
- Release corset version 3.2.1
- Symbols with path should be resolved from the root context
- Clarify mangling
- Specify which column failed importation
- Formatting
- Release corset version 3.2.0
- Remove use of bool::then_some for compatibility motives
- Release corset version 3.1.2
- Array columns are not double-declared anymore
- Update README
- Primes are accepted in symbol names
- Release corset version 3.1.1
- Sort elements in WizardIOP export
- Pure functions can access constants
- Release corset version 3.0.0
- Release corset version 3.1.0
- Overhaul implementation of typing system
- Add an if-eq-else test
- Release corset version 2.0.0
- Fix DEFUNALIAS
- Fix non-deterministic behavior due to hashmaps
- Fix Defconst
- Fix BranchIfElse
- Fix Go export
- Fix
- Fix module
- Fix multiple constants definition
- Fixed missing comma
- Fix naming conventions
- Fix inverted columns
- Fix columns computation steps ordering
- Fix mistake for in-range
- Fix relative indexing
- Fix relative indexing
- Fix constraint checking
- Fixes
- Fix negative moduli
- Fix ‶unreachable″ code
- Fix wrapping
- Fix go exporter
- Fix off-by-one error
- Fix wrong indices
- Fix Go export
- Fix permutation
- Fix padding
- Fix Binary/NOT padding
- Fix JSON export
- Fix
- Fix
- Fix missing initialization
- Fix
- Fix didnt-change
- Fix postgres
- Fix compile-time evaluation of constants
- Fix unused symbols detection
- Fix mangling
- Fix(?) JSON export
- Fix partial padding
- Fix binary/not padding
- Fix hashing of Handles
- Fix computation & export of columns
- Fix erroneous static if folding
- Fix
- Fix the computation not being shared across contexts
- Fix if-eq
- Fix padding of computed columns
- Release corset version 1.2.0