Skip to content

Releases: ilius/starcal

StarCalendar 3.2.2

08 Feb 08:55
f81afe7
Compare
Choose a tag to compare

Changes since StarCalendar 3.2.1

Changes to dependecies

  • Mark Python 3.11 as supported

General bug fixes

  • Window Controller: handle bad bg color from user theme, and fallback to dark mode
  • Fix Label Box not hiding when unchecked/disabled from Customize dialog
  • Fix bug in WeekMonthEventRule: bad/missing conflict list
  • Fix failing tests for Hijri calendar

Installers' bug fixes

  • Fix install-pip: change python-igraph to igraph
  • Fix distro/base/install.py (used for BSD and Slackware) in cleanup step
  • Fix distro/base/install.sh: missing quotes
  • Fix uninstall : it just exited after parsing args, also fix shellcheck errors

Regional support

  • Update hijri months for 1403 calendar
  • Update plugins data based on 1403 calendar

License

  • Change license from GPL to AGPL (Affero GPL)

StarCalendar 3.2.1

31 Mar 07:59
1c533de
Compare
Choose a tag to compare

Changes since StarCalendar 3.2.0

  • Update Hijri months, #71
  • Debian installer: add python3-pkg-resources to dependencies
  • Fedora installer: add python3-setuptools to dependencies
  • SUSE installer: add python3-setuptools to dependencies
  • install-pip: add setuptools
  • distro/base/install.sh: cleanup all *.pkg.* files

StarCalendar 3.2.0

12 Nov 11:37
2a0ccdf
Compare
Choose a tag to compare

Changes since StarCalendar 3.1.13

New icon/logo

  • SVG (scalable), made with Inkscape

Major changes in Main Window and Customize window

  • Add "Right Panel" to see user events and plugins' text

    • In Persian, it's located on the left, so it's translated to "Left Panel"
    • You can still disable Right Panel, and enable Events and Plugins below the calendar
  • Re-design the layout of "Customize" window

    • Use a mix of vertical and horizontal layout for root widgets (first page of "Customize")
    • Allows Customize window to be smaller and work in smaller screens
    • Avoid automatically resizing Customize window
    • Improves the UX, and allows better use of space
    • Pagination similar to familiar UX of tablets and smart phones
  • Allow freely resizing main window

    • In previous versions user could not resize the window vertically
      • User had to change the height of Month/Week/Day Calendars in Customize window
    • Month/Week/Day Calendars are expanded when window is resized
    • Height option is no longer needed and removed from Month/Week/Day Calendars
  • Rewrite Events view widget (below calendar and in Right Panel), with some new features

    • It was a GtkHBox with many children, not it's only one GtkTreeView
    • Allow customizing separator between summary and decription of event
    • Add "Copy Event Text" item to right-click menu

Re-design Preferences window and Customize window

  • Split everything into multiple pages (using Gtk.Stack)
  • Makes the UX much better
  • Organizes the options better
  • Makes the window smaller, and compatible with smaller screens
  • Becomes more similar to touchscreen operating systems
  • Can switch to parent page by pressing Backspace (equal to "Back" button)

Add Day Calendar Window, aka "Desktop Widget"

  • To use as a desktop widget, and alternative for status icon
  • Plus the Customize window for it
  • Add option to Preferences:
    General -> [ ] Open desktop widget on start

More features and options for Day Calendar as part of Main Window

  • Most of the code is shared with Desktop Widget
  • Options of Customize window are mostly the same, but values are independent
    • i.e. changing options of one does not effect the other
  • New features (both in main window desktop widget)
    • Allow enabling week day name
      • With "Abbreviate" and "Uppercase" checkbox options
    • Show buttons to go to previous day, today and next day

Time Line: Features, improvements and refactoring

  • Add Preferences for Time Line
  • Add 3 buttons (left, right, stop) for controlling movement in time
  • Fix/improve animation
  • Minor features / improvements:
    • Show helper line on button-press when moving/resizing event box
    • Add a zoom icon that opens to menu to jump to specific round zoom levels

Window Controller: switch to svg, and add more options

  • Allow customizing the size of icons (since svg is scalable)
  • Allow customizing border (around buttons) and spacing (between buttons)
  • Add a button to show/hide Right Panel

Replace most of .png icons with scalabale .svg icons

  • Add .svg icons for some menu items and button without icon
  • Add support for svg images in some parts of program that lacked support

Minor features and improvements

  • Month Calendar: allow disabling day numbers of non-primary cal types
  • Event Manager -> Import Events -> Switch to Stack (like Customize)
  • Rename sub-menu "Add to" to "Add Event to" in day right-click menu
  • Some optimization in Week Calendar
  • Preferences -> Appearance -> Status Icon -> click on image selector button
    • Add preview in File Chooser dialog
  • Replace "Font Family" chooser widget
    • It was a ComboBox, not it opens a dialog that allows search on type and shows preview
    • Used in Week Calendar customize options, and Status Icon preferences
  • WeekCal: add Customize option to enable "Row Gradient" (as replacement for grid lines)

Switch away from Gtk's deprecated APIs and fix deprecation warnings

  • Widget constructor calls with non-keyword arguments
  • Gtk stock items (switch to icon names)
  • height-request and width-request properties
  • Gtk.HButtonBox
  • Gtk.FontButton.get_font_name
  • Gdk.Window.get_pointer
  • Gdk.Window.cairo_create
  • Gtk.Label.set_alignment
  • Gtk.Dialog(buttons=...)
  • Gtk.FileChooserButton.new_with_dialog
  • ResourceWarning: unclosed file ... on open(...).read() and open(...).write(...)

Changes in package dependencies:

  • Drop support for python3.5 to python3.7
    • Now only support python3.8 or later
  • Depend on python3-gi >= 3.24
    • Because Gtk.FontChooser.set_level is added in version 3.24
  • Optional dependency to gtksource-4 / gtksourceview4
  • Optional dependency to ntpdate
  • Optional dependency to python3-pygit2

Improvements in install scripts:

  • Move all scripts to distro directory

    • Create symbolic links (to install-*) to keep compatibility
  • Add install-auto.sh which automatically detects distribution

  • Debian:

    • Add postrm script
      • to completely clean up /usr/share/starcal3 after package removal
    • Use apt instead of gdebi to install the package
      • Fallback to dpkg -i if apt was not found
      • If dpkg -i failed, run apt-get -f install to fix broken dependencies
  • Add installers for FreeBSD, MidnightBSD, Alma Linux

  • Update install-windows.bat

Switch from %-formatting to f-strings (added in python3.6)

  • Use str.format for localized strings

Switch to Python's logging completely (no more print)

Add types and comments

Refactoring, cleaning, removing some legacy code and PEP-8 fixes

Add compatibilty with official Islamic calendar 1423 - 1426

StarCalendar 3.1.13

09 Mar 06:52
cf54089
Compare
Choose a tag to compare

Changes since StarCalendar 3.1.12

Updates in plugins and localization

  • b3522a9 Update plugins according to Iranian calendar 1401
  • 00d1ece Fix Ramadan 1432
  • 2008f30 Update Hijri months, with tests
  • c7e32fe Update plugins/iran-gregorian-2-data.txt
  • d86177e Fix typo in plugins/iran-hijri-data.txt
  • fe37590 Plugins: remove duplicates and extra space
  • c92fe13 Plugins: remove some comments
  • f4df32a Pray Times: Location Dialog: allow 6 digits precision for lat/lng
  • d8d6359 Fix typo in locale.d/fa.po

Bug fixes and improvements

  • d3705f2 Export to HTML: change event seperator
  • ce906e3 Adjust System Time: prevent exception when window icon is not found in theme
  • ec1c8f6 set isMaximized = False when start resizing main window after maximized
  • ca2a5c4 Add support for Slackware in timezone library
    • or any other distro where /etc/localtime is not symlink

Improvements in install scripts

  • fcc1e52 update install-pip
  • 2e951e3 install-pip: try to install pip with ensurepip
  • a8c88f5 install-pip: make compatible with freebsd
  • 306e84f install-archlinux: install fakeroot and binutils if needed
  • 8dea7df install: add --system flag for other distros like Slackware
  • 264b12e fix install --portable
  • 085b241 install: remove uninstall script if building distro package
  • 15ae9b1 install-debian: use apt-get install --reinstall
  • 11c7757 fix detecting openSUSE in install script
  • ab1c288 add install-nix-deps and install-nutyx
  • c36928b Fix shebang of bash scripts for other unix-like operating systems

Improvements and refactoring in version handling

  • d2cd486 scal3/core.py: fix git-based version to be standard PEP 440
  • e322274 Replace scal3/get_version.py with scripts/version in distro installers
  • 99c4279 Add scripts/version.py and use it as fallback in install script
  • 26c529b Fix/rewrite scripts/version.py to handle git versions
  • eb3fad9 Make scripts/version.py compatible with Python 3.5

StarCalendar 3.1.12

08 Oct 16:46
a77df3f
Compare
Choose a tag to compare

Changes since StarCalendar 3.1.11

  • Add support for Python 3.10

  • Fix critical bug in Monthly Event

  • Fix bug of sorting events in a group by first occurrence

  • Fix VCS event groups:

    • Fix non-working scal3/vcs_modules/git.py, switch to pygit2
    • Add pygit2 as optional dependency
    • Add vcsBranch property and some more fixes
  • Fix bug of duplicating periodic events

  • Fix non-working feature: University Term -> Weekly Schedule -> Export to SVG

  • Changes in installer scripts:

    • Add pycairo (python3-cairo) to Debian and pip dependencies
    • install-debian: change python dependency to python3(>=3.5), fix #67
    • More improvement in install-debian
  • Improvements in some GUI dialogs

  • Update README.md

  • Forward-compatibility (with next branch):

    • Add lifetime as alias to lifeTime event group (renamed in next branch)
    • Add pixmaps/event/green_clover.png file

StarCalendar 3.1.11

17 Mar 08:19
060a0c2
Compare
Choose a tag to compare

Changes since StarCalendar 3.1.10

  • Fix compatibility with FreeBSD
  • Fix error message in install-fedora and install-suse
  • Minor improvement in Search Events
  • Add "Search Events" icon to Main Window toolbar
  • Update Hijri months based on Iranian official calendar for 1400
  • Update Iran's plugins based on Iranian official calendar for 1400
  • Minor improvements in Persian translations
  • Update Indian national month names
  • Add Persian translation for Indian month names

StarCalendar 3.1.10

04 Jun 05:14
80d0dd6
Compare
Choose a tag to compare

Changes since StarCalendar 3.1.9

  • Fix install-pip: install python-igraph, not igraph
  • Fix incompatibility with Python 3.5 because of f-string in event_lib.py, #60
  • Fix non-effective cache for events
    • Caused by commit 295190a, introduced in version 3.1.0
  • Avoid printing timezone name with --version
  • install-fedora: add python 3.8, and fix shebang error on libs/bson/setup.py
  • install-suse: add python 3.8, and fix error

StarCalendar 3.1.9

29 Mar 01:59
0257fd5
Compare
Choose a tag to compare

Changes since StarCalendar 3.1.8

  • Fix incompatibility with latest packages in some Linux distros

    • Rename 2button-press to double-button-press, and prevent exception when create or emit signal
      • Fix exception in Debian testing with gtk 3.24.14 and gi 3.34.0
    • Always pass -1 arg to layout.set_markup and set_text
      • Fixes exception in Fedora 29
  • Fix running git fetch commands with root in install scripts (when run script with sudo)

    • Also give -f flag to git fetch
  • install-debian: Add support for python3.8

  • install-pip: make executable

StarCalendar 3.1.8

20 Mar 14:56
daccdd9
Compare
Choose a tag to compare

Changes since StarCalendar 3.1.7

  • Update Hijri/Islamic calendar months and Iran's plugins based on Iranian official calendar for 1399

    • Also add some additional events to non-official plugins
  • Pray Times Config: fix major bug of window destroyed on Escape / Close window

  • Fix minor bug in Main Window: quit function was called twice

  • Compatibility with next branch

    • Handle event icon *.svg
    • Enable 3 deleted main win items based on config from next branch
  • Improve install scripts:

    • fetch tags before getting version in distro installers
    • remove --tags arg from git describe to avoid using lightweight tags now that all release tags are annotated
  • Fixes and improvements in Event Manager

    • LifeTimeEvent: fix default end date
    • Event Manager: keep TreeIter of event that is going to be pasted, since path may change before paste
    • event_lib.py: WeeklyEvent: add setJd to fix default start and end on Add Event (Event Editor Dialog)
  • Cleanups:

    • .gitignore: add screenshots
    • install-debian: remove FIXME
    • remove 'branch' file
    • README.md: Home Page: change http to https

StarCalendar 3.1.7

04 Nov 03:45
9b664e6
Compare
Choose a tag to compare
  • Important bug fix in install script

    • Fix removing these files from the entire file system, if ran install directly
      • .hidden,
      • *~
      • *.pyc *.pyo __pycache__
      • *.tar.xz *.tar.gz
      • *.deb *.rpm *.spec
    • Do not clean up files at all if ran install directly
    • Prevent running install directly by user for 5 natively-supported distros
    • Minimize the diff with next branch
  • Fix non-working GUI for event rule [Exception] Date ("ex_dates")

  • Fix possible bug in event.changeMode, and missing import numRangesEncode

  • Fix possible exception in gtk_ud.py when there is no default screen (very rare)

  • Fix potential bug: jsonTimeFromEpoch function must always return UTC time