Releases: hugsy/cemu
Releases · hugsy/cemu
0.8.0
What's Changed
- Bumped to 0.8 by @hugsy in #83
- Fix minor GUI bugs on Windows by @hugsy in #84
- Add
pre-commit
policy by @hugsy in #85 - Update GH Actions by @hugsy in #90
- Fix incorrect reset of the memory layout when switching architecture by @hugsy in #91
- Fix UI bugs by @LuLuKitty1998 in #96
- Move build system to
rye
by @hugsy in #98 - Code fixes before new release by @hugsy in #99
- [CI] removed comments + cleanup by @hugsy in #100
New Contributors
- @LuLuKitty1998 made their first contribution in #96
Full Changelog: 0.7...0.8
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
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
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
- @thelumberjhack made their first contribution in #66
- @kwadrat made their first contribution in #66
Full Changelog: 0.5...0.6
Cemu 0.5 - Impish Tradition
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!
Enjoy 🍻
Release 0.4
Minor bug fixed
Label support
Release 0.3
New layout, multiple bug fixed, more OS agnostic.
Code was massively refactored to make it more extendable.
Released v0.2.2
Release v0.2.1
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
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