Skip to content

Releases: hugsy/cemu

0.8.0

02 Aug 14:50
4325764
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.7...0.8

0.7

24 Jun 04:31
e48541c
Compare
Choose a tag to compare
0.7

Version 0.7 Changelog

Highlights

  • Moved to PyQt6
  • Updated minimum Python version to 3.10
  • Added GitHub Actions for publishing, formatting, and linting
  • Enforced black as the only coding style
  • Improved CI/CD
  • Command-line REPL based on prompt_toolkit
  • Cemu can now be used as a library
  • Ctrl+F can be used to switch to focus mode, showing nothing but code pane

cemu-repl

Improvements

  • All plugins and panes are now dockable widgets, which can be hidden/displayed from toolbar
  • Created a global backend context structure
  • Refactored code to use the global context
  • Use of GithubActions for testing, formatting and publishing
  • Added stale.yml config
  • Added issue templates
  • Added PR template
  • Added contribution and funding policy files
  • Added an action for codeql-analysis.yml
  • Updated readme with new logo and badges
  • Added byte alignment combobox to memory view
  • Removed debug prints and added docstrings
  • Added new commands in CLI
  • Fixed state transition bug in UI
  • Added Pytest run in CI
  • Added basic tests for ARM/Aarch64
  • Removed obsolete files
  • Started adding support for multiple OSes

Bug Fixes

  • Implemented type hinting throughout the project, resulting in many potential bug fixed
  • Implemented a proper callback system for logging
  • Fixed most errors from pylint
  • Fixed emulation issues
  • Mitigated a weird unicorn-engine bug in MIPS and SPARC, reporting an incorrect emulation end address
  • Fixed state transition bug in the UI

Miscellaneous

  • Made delivery on demand in CI
  • Fixed typos in CI actions
  • Updated build.yml file
  • Fixed py 3.10 version specification in CI
  • Restored files to permission 0644
  • Added warning message when no SP or PC was specified before starting emulation
  • Updated README.md, added more descriptive how-to, added REPL screenshot, and a fancy new logo
  • Fixed the calculation of $sp and $pc when the emulator sets up
  • Added extra tests

Please note that this changelog may not include all the changes and improvements made in the codebase.

Contributors

Full Diff

Changelog: 0.6...0.7

0.6

29 May 19:44
80c13f5
Compare
Choose a tag to compare
0.6

What's Changed

  • Moved to Python 3.9
  • Better type hinting, fixed tons of logic bugs
  • Move to PyQt6
  • Added 'Focus Mode' (shortcut : Ctrl+F)
  • Updated & fixed dependencies from requirements.txt

New Contributors

Full Changelog: 0.5...0.6

Cemu 0.5 - Impish Tradition

01 Nov 01:47
Compare
Choose a tag to compare

New features:

  • compile-as-you-go: whenever possible, cemu will attempt to display the assembly
    of the code being typed in the Code Editor pane
  • Switched to a dockable system for each pane, layout is fully customizable
  • Simplified the "Memory Map" pane, to allow adding/removing new section easily
  • A proper configfile allows to push further the customization (edit shortcuts and stuff)
  • Last but not least, thanks to the awesome LIEF Project
    by @romainthomas, it is possible to generate PE32/PE32+ executables directly from cemu!

img1
img2

Enjoy 🍻

Release 0.4

10 Jul 23:47
Compare
Choose a tag to compare

Minor bug fixed
Label support

Release 0.3

24 Jan 02:16
Compare
Choose a tag to compare

New layout, multiple bug fixed, more OS agnostic.

Code was massively refactored to make it more extendable.

Released v0.2.2

27 Mar 02:43
Compare
Choose a tag to compare
  • Mode, architecture and syntax can be dynamically provided via the file header, using @@@ separator:
  • Improved integrated Python interpreter
  • Many bugfix

Release v0.2.1

09 Aug 19:37
Compare
Choose a tag to compare

This is a minor update to 0.2 release that fixes a bunch of installing issues when using PIP packager, when installing on OSX and some distributions of Linux, such as Kali Linux.

Release v0.2

21 Jul 02:55
Compare
Choose a tag to compare

Changelog

  • Partial redesign of the architecture model
  • New architecture
  • Repository converted to PyPI compatible format
  • Added new menus: "Recent Files", "Shortcuts", "About"
  • Strings can be given as immediate, for example the following expression (x86-32) is now valid:
mov dword ptr [esp], "nib/"
mov dword ptr [esp+4], "hs//"
  • Syscall can be provided in the code pane, and will be replaced by the parser. Simply denote your syscall prefixed with __NR_SYS_: for example (ARM)
mov r7, __NR_SYS_execve
  • Many bug fixes