Releases: Mrgoblings/AnasOS
Release v1.1.0
Referenced issue
Resolves GITHUB_ISSUE_NUMBER
Description
A clear and concise description of what changes you have made.
Root Cause (if fixing a bug)
What was the cause of the bug?
Breaking change?
Is the change you are introducing going to affect already other existing resources?
- No, this code change does not affect other project resources.
- Yes, the code changes modify already existing project resources.
Additional context
Add any other context about the pull request, if applicable.
Release v1.0.1
Referenced issue
Resolves GITHUB_ISSUE_NUMBER
Description
A clear and concise description of what changes you have made.
Root Cause (if fixing a bug)
wrong build command
Breaking change?
Is the change you are introducing going to affect already other existing resources?
- No, this code change does not affect other project resources.
- Yes, the code changes modify already existing project resources.
Additional context
Add any other context about the pull request, if applicable.
Release v1.0.0
Referenced issue
Resolves #1
Resolves #2
Resolves #22
Description
- Adds Application lifecycle
- Implements an 'AppList', which handles multiple applications and switches between them
- Implements Terminal Application
- Implements a simple Shell, that has completions with button TAB, history trough up/down arrow keys
- Adds simple interface to add new Commands. All commands need to be manually added to the Shell to enable them for usage. In Rust there is no automatic way in no_std environment to include them in the shell.
- Fixes issue from where the framebuffer deathlocked itself
Breaking change?
Is the change you are introducing going to affect already other existing resources?
- No, this code change does not affect other project resources.
- Yes, the code changes modify already existing project resources.
Additional context
All communication between processes is done trough mailbox communication scheme with static Arc allocated on the stack queues.
Release v0.6.0
Referenced issue
Resolves #30
Description
Adds double frame buffering and calls buffer_swap on every timer interrupt.
Breaking change?
Is the change you are introducing going to affect already other existing resources?
- No, this code change does not affect other project resources.
- Yes, the code changes modify already existing project resources.
Additional context
add setup for applications
Release v0.5.0
Referenced issue
Fixes #28
Description
Adds graphical environment via a framebuffer. The framebuffer is given trough multiboot2. The address is mapped and parsed to an array of Rgb888 pixels
Breaking change?
Is the change you are introducing going to affect already other existing resources?
- No, this code change does not affect other project resources.
- Yes, the code changes modify already existing project resources.
Additional context
- Fixed heap double allocation
- Corrected physical memory offset to
0
Release v0.4.0
Referenced issue
Resolves #26
Description
Adds an executor to collect all the async tasks.
The keyboard is moved to its own task.
Breaking change?
Is the change you are introducing going to affect already other existing resources?
- No, this code change does not affect other project resources.
- Yes, the code changes modify already existing project resources.
Additional context
Release v0.3.0
Referenced issue
Resolves #5
Resolves #23
Resolves #25
Description
adds paging memory, allows dynamic memory.
Adds logo for the AnasOS
Breaking change?
Is the change you are introducing going to affect already other existing resources?
- No, this code change does not affect other project resources.
- Yes, the code changes modify already existing project resources.
Additional context
this took 1 month
Release v0.2.0
Referenced issue
Resolves #19
Description
The following interrupts are handled:
-
Breakpoint Exception:
- Handler:
breakpoint_handler - Interrupt Vector: Typically interrupt vector 3 (0x03)
- Handler:
-
Double Fault Exception:
- Handler:
double_fault_handler - Interrupt Vector: Typically interrupt vector 8 (0x08)
- Handler:
-
Timer Interrupt:
- Handler:
timer_interrupt_handler - Interrupt Vector:
InterruptIndex::Timerwhich isPIC_1_OFFSET(32)
- Handler:
-
Keyboard Interrupt:
- Handler:
keyboard_interrupt_handler - Interrupt Vector:
InterruptIndex::Keyboardwhich isPIC_1_OFFSET + 1(33)
- Handler:
Summary of Handled Interrupts:
- Breakpoint Exception:
breakpoint_handler - Double Fault Exception:
double_fault_handler - Timer Interrupt:
timer_interrupt_handler - Keyboard Interrupt:
keyboard_interrupt_handler
Breaking change?
Is the change you are introducing going to affect already other existing resources?
- No, this code change does not affect other project resources.
- Yes, the code changes modify already existing project resources.
Additional context
The Global Descriptor Table (GDT) and Task State Segment (TSS) have been set up. The GDT is initialized with entries for the kernel code segment and the TSS, which includes a stack for handling double faults. The init function loads the GDT and TSS, ensuring that the CPU can correctly handle segmentation and task switching, particularly for critical exceptions like double faults.
Release v0.1.1
Referenced issue
References #18
Description
Adds documentation for the Bootloader, the Kernel, VGA, CI Github Actions and Multiboot
Breaking change?
Is the change you are introducing going to affect already other existing resources?
- No, this code change does not affect other project resources.
- Yes, the code changes modify already existing project resources.
Release v0.1.0
Referenced issue
Resolves #16
Resolves #15
Resolves #14
Resolves #9
References #5
Description
Implements Video Graphics Array (VGA) support and ensures correct booting into 64-bit operating mode.
Root Cause (if fixing a bug)
The bootloader failed to initiate a jump to 64-bit operating mode as expected, causing it to operate incorrectly in 64-bit mode.
Breaking change?
Is the change you are introducing going to affect already other existing resources?
- No, this code change does not affect other project resources.
- Yes, the code changes modify already existing project resources.
Additional context
The build process has been simplified to use cargo build instead of cargo rustc, enhancing ease of use. Rust’s core print macros are now fully operational.