Recent Releases of Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - v1.0.3
What's Changed
- docs: adjust figure size for JOSS PDF rendering by @HectorMozo3110 in https://github.com/bloch-labs/bloch/pull/216
New Contributors
- @HectorMozo3110 made their first contribution in https://github.com/bloch-labs/bloch/pull/216
Full Changelog: https://github.com/bloch-labs/bloch/compare/v1.0.2...v1.0.3
- C++
Published by github-actions[bot] 4 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - v1.0.2
1.0.2 (2025-12-11)
Bug Fixes
- C++
Published by github-actions[bot] 6 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - v1.0.1
1.0.1 (2025-12-11)
Bug Fixes
- cx gate works on subspace where ctrl is 1 only (#180) (6938c5d)
- fixed bug where arrays could only be initialised by literals (#185) (4c676f3)
- initialise m_state to a single amplitude (#177) (b6d59e2)
- install scripts migrated to website, added update checker (#184) (fee4115)
- optimise qasm logging for better performance (#178) (a2b9cd4)
- parenthesised expressions not being evaluated at runtime (#182) (68c6371)
- perf: made runtime evaluator single use to prevent state leakage (#170) (87afa42)
- reset now clears measured flag (#172) (e07f9fd)
- C++
Published by github-actions[bot] 6 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - v1.0.0
- C++
Published by github-actions[bot] 6 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - Bloch v1.0.0-rc.3a
What's Changed
- bugfix: fix measured qubit being interactable (#131) by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/134
- bugfix: fix install script (#132) by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/135
Full Changelog: https://github.com/bloch-labs/bloch/compare/v1.0.0-rc.3...v1.0.0-rc.3a
- C++
Published by github-actions[bot] 8 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - Bloch v1.0.0-rc.3
Full Changelog: https://github.com/bloch-labs/bloch/compare/v1.0.0-rc.2...v1.0.0-rc.3
- C++
Published by github-actions[bot] 9 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - Bloch v1.0.0-rc.2
Full Changelog: https://github.com/bloch-labs/bloch/compare/v1.0.0-rc.1...v1.0.0-rc.2
- C++
Published by github-actions[bot] 9 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - Bloch v1.0.0-rc.1
What's Changed
- Added lexer and lexer tests by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/1
- #3: prefix private class members with m_ by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/4
- #2: refactor to allow bloch-lang comments to start with '//' by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/5
- #6: added readme by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/9
- #7: add contributing.md and formatting to ci pipeline by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/10
- #11: minor readme bugfixes by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/12
- #8: initial AST implementation by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/13
- #14: inital parser implementation by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/15
- #16: refactor parser to remove redundant code by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/17
- #18: initial semantic analysis implementation by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/25
- #22: implement else statements by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/26
- #23: add keyword to lexer by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/27
- #24: remove old
versionstarter code by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/28 - Optimise the Lexer and Parser interfaces by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/35
- #20: added Apache License by @therealfiish in https://github.com/bloch-labs/bloch/pull/30
- Create docs for compiler architecture and grammar by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/36
- #31: use std::move to prevent dangling references in the Parser by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/37
- #40: fix bug where semantic analysis was not recognising defined functions by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/46
- #44: implement built-in gate functions by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/47
- #19: add example .bloch files by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/49
- #48: implement a type system by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/50
- Update issue templates by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/52
- #56: added a changelog by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/58
- #57: added github actions to force changelog update on PR to master and to update changelog on tag by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/59
- #60: fix update changelog on tag script by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/61
- #60: fix update changelog on tag script by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/62
- #60: fix update changelog on tag script [no-changelog] by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/63
- #60: fix update changelog on tag script [no-changelog] by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/64
- #60: fix update changelog on tag script [no-changelog] by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/65
- #53: add equality and non-equality operators by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/66
- #68: added first pass of quantum simulator by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/69
- #67: added first implementation of bloch runtime evaluator by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/70
- #67: added first implementation of bloch runtime evaluator by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/72
- #71: first pass of codegen and cli functionality by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/73
- #51: ensured all boolean fields in AST nodes are initialised by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/83
- #77: addressed Parser and Lexer warnings and simplified some Parser logic by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/84
- #74: removed @state annotation as not supported by compile target by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/85
- #79: fix division by zero bug by @hamzaqureshi5 in https://github.com/bloch-labs/bloch/pull/82
- #80: removed logical primitive type by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/86
- #81: add integration tests by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/88
- #87: fix bug where echo was outputting to the console twice by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/89
- #75: removed old class functionality as not MVP by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/90
- #78: fix bug where loops were overwriting previous measurements by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/92
- #95: removed cpp code gen, bloch is now fully interpreted by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/96
- #94: echo now works with all and mixed data types by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/97
- #32: added while loops to Bloch by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/98
- #29: added ternary operator by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/100
- #55: added postfix increment and decrement operators by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/102
- #93: fix bug where sem analysis was not enforcing return statements for non-void functions by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/105
- #101: allow inline multiple variable declaration for qubits by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/106
- #107: require b suffix for bit literals to disambiguate from int by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/108
- #104: add shots CLI and @tracked annotation by @akshaypal123 in https://github.com/bloch-labs/bloch/pull/109
- #103: restrict postfix operators to int data type by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/110
- #111: remove import logic as not MVP by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/113
- #112: removed @adjoint annotation as not MVP by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/115
- #116: refactor bloch errors by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/118
- #76: fix
resetoperation in simulator and runtime by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/119 - #54: added logical and bitwise operators and bit arrays by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/120
- #117: added array support by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/122
- #123: refactor
@trackedCLI output by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/126 - #124: added --help and --version CLI flags by @bloch-akshay in https://github.com/bloch-labs/bloch/pull/129
New Contributors
- @akshaypal123 made their first contribution in https://github.com/bloch-labs/bloch/pull/1
- @therealfiish made their first contribution in https://github.com/bloch-labs/bloch/pull/30
- @bloch-akshay made their first contribution in https://github.com/bloch-labs/bloch/pull/83
- @hamzaqureshi5 made their first contribution in https://github.com/bloch-labs/bloch/pull/82
Full Changelog: https://github.com/bloch-labs/bloch/commits/v1.0.0-rc.1
- C++
Published by github-actions[bot] 9 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - 0.5.0-alpha
What's Changed
Added
- #53: add equality and non-equality operators by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/66
- #68: added first pass of quantum simulator by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/69
- #67: added first implementation of bloch runtime evaluator by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/70 and https://github.com/bloch-lang/bloch/pull/72
- #71: first pass of codegen and cli functionality by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/73
Full Changelog: https://github.com/bloch-lang/bloch/compare/0.4.2-alpha...0.5.0-alpha
- C++
Published by bloch-akshay 10 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - 0.4.2-alpha
What's Changed
Removed
- #60: fix update changelog on tag script (ended up just removing it for now) by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/65
Full Changelog: https://github.com/bloch-lang/bloch/compare/0.4.1-alpha...0.4.2-alpha
- C++
Published by akshaypal123 11 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - 0.4.1-alpha
What's Changed
Added
- #56: added a changelog by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/58
- #57: added github actions to force changelog update on PR to master and to update changelog on tag by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/59
Full Changelog: https://github.com/bloch-lang/bloch/compare/0.4.0-alpha...0.4.1-alpha
- C++
Published by akshaypal123 11 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - 0.4.0-alpha
What's Changed
Fixed
- #40: fix bug where semantic analysis was not recognising defined functions by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/46
Added
- #44: implement built-in gate functions by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/47
- #19: add example .bloch files by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/49
- #48: implement a type system by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/50
- Update issue templates by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/52
Full Changelog: https://github.com/bloch-lang/bloch/compare/0.3.1-alpha...0.4.0-alpha
- C++
Published by akshaypal123 11 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - 0.3.1-alpha
Overview
- Modernised and Optimised the
LexerandParserinterfaces - Wrote lots of documentation explaining the language grammar and compiler architecture
- Created a license file
What's Changed
- #34 Optimise the Lexer and Parser interfaces by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/35
- #20: added Apache License by @therealfiish in https://github.com/bloch-lang/bloch/pull/30
- #21 Create docs for compiler architecture and grammar by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/36
- #31: use std::move to prevent dangling references in the Parser by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/37
New Contributors
- @therealfiish made their first contribution in https://github.com/bloch-lang/bloch/pull/30
Full Changelog: https://github.com/bloch-lang/bloch/compare/0.3.0-alpha...0.3.1-alpha
- C++
Published by akshaypal123 11 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - 0.3.0-alpha
Overview
- Implemented initial semantic analysis
- Updated parser to handle else statements
- Lexer now recognises
logicalkeyword - Removed old deprecated starter code
What's Changed
- #18: initial semantic analysis implementation by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/25
- #22: implement else statements by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/26
- #23: add keyword to lexer by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/27
- #24: remove old
versionstarter code by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/28
Full Changelog: https://github.com/bloch-lang/bloch/compare/0.2.1-alpha...0.3.0-alpha
- C++
Published by akshaypal123 11 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - 0.2.1-alpha
Overview
- Fixed code inefficiencies in the Parser
What's Changed
- #16: refactor parser to remove redundant code by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/17
Full Changelog: https://github.com/bloch-lang/bloch/compare/0.2.0-alpha...0.2.1-alpha
- C++
Published by akshaypal123 11 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - 0.2.0-alpha
Overview
- Implemented initial abstract syntax tree (AST)
- Implemented intial parser
What's Changed
- #8: initial AST implementation by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/13
- #14: inital parser implementation by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/15
Full Changelog: https://github.com/bloch-lang/bloch/compare/0.1.2-alpha...0.2.0-alpha
- C++
Published by akshaypal123 11 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - 0.1.2-alpha
Overview
- Created README.md
- Created CONTRIBUTING.md
What's Changed
- #6: added readme by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/9
- #7: add contributing.md and formatting to ci pipeline by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/10
- #11: minor readme bugfixes by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/12
Full Changelog: https://github.com/bloch-lang/bloch/compare/0.1.1-alpha...0.1.2-alpha
- C++
Published by akshaypal123 11 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - 0.1.1-alpha
Overview
- Minor Lexer refactor to prefix private class members with m_
- Refactor comments to start with '//' rather than '#'
- Minor bugfix in GitHub actions yaml
What's Changed
- #3: prefix private class members with m_ by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/4
- #2: refactor to allow bloch-lang comments to start with '//' by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/5
Full Changelog: https://github.com/bloch-lang/bloch/compare/0.1.0-alpha...0.1.1-alpha
- C++
Published by akshaypal123 11 months ago
Bloch: a strongly typed, hardware-agnostic, hybrid quantum programming language - 0.1.0-alpha
Overview
- Implemented Lexer for the Bloch language
- Implemented BlochRuntimeError
- Supports tokenizing keywords, identifiers, literals, operators, punctuation
- Integrated basic tests for Lexer via GoogleTest
- Project compiles and tests pass via GitHub Actions
What's Changed
- Added lexer and lexer tests by @akshaypal123 in https://github.com/bloch-lang/bloch/pull/1
New Contributors
- @akshaypal123 made their first contribution in https://github.com/bloch-lang/bloch/pull/1
Full Changelog: https://github.com/bloch-lang/bloch/commits/0.1.0-alpha
- C++
Published by akshaypal123 11 months ago