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 version starter 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 reset operation 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 @tracked CLI 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 Lexer and Parser interfaces
  • 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 logical keyword
  • 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 version starter 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