Skip to content

Releases: eoyilmaz/stalker

0.2.16

28 Jul 10:31
Compare
Choose a tag to compare
  • New: Budget instances are now statusable.
  • Update: Updated documentation to include database migration instructions with Alembic.

0.2.15.2

28 Jul 10:31
Compare
Choose a tag to compare
  • Fix: Fixed a typo in the error messages in User._validate_email_format() method.
  • Fix: Fixed a query-invoked auto-flush problem in Task.update_parent_statuses() method.

0.2.15.1

28 Jun 11:18
Compare
Choose a tag to compare
  • Fix: Fixed alembic revision (f2005d1fbadc), it will now drop any existing constraints before re-creating them. And the downgrade function will not remove the constraints.

0.2.15

28 Jun 08:01
Compare
Choose a tag to compare
  • New: Project to Client relation is now a many-to-many relation, thus it is possible to set multiple Clients for each project with each client having their own roles in a specific project.
  • New: Added alembic revision to reflect the changes in Project <-> Client relation.
  • New: Added a couple of tests to increase test coverage (which is around 96% for now).
  • Update: ScheduleMixin.schedule_timing attribute is now Nullable.
  • Update: ScheduleMixin.schedule_unit attribute is now Nullable.

0.2.14

24 May 09:30
Compare
Choose a tag to compare
  • Fix: Fixed Task.path to always return a path with forward slashes.
  • New: Introducing EntityGroups that lets one to group a bunch of
    SimpleEntitys together, it can be used in grouping tasks even if they are
    in different places on the project task hierarchy or even in different
    projects.
  • Update: Task.percent_complete is now correctly calculated for a
    Duration based task by using the Task.start and Task.end
    attribute values.
  • Fix: Fixed stalker.models.task.update_time_log_task_parents_for_end()
    event to work with SQLAlchemy v1.0.
  • New: Added an option called __dag_cascade__ to the DAGMixin to
    control cascades on mixed in class. The default value is "all, delete".
    Change it to "save-update, merge" if you don't want the children also be
    deleted when the parent is deleted.
  • Fix: Fixed a bug in Version class that occurs when a version instance
    that is a parent of other version instances is deleted, the child versions
    are also deleted (fixed through DAGMixin class).

0.2.13.3

24 May 09:29
Compare
Choose a tag to compare
  • Fix: Fixed a bug in Review.finalize_review_set() for tasks that are
    sent to review and still have some extra time were not clamped to their total
    logged seconds when the review set is all approved.

0.2.13.2

24 May 09:28
Compare
Choose a tag to compare
  • New: Removed msrp, cost and unit arguments from
    BudgetEntry.__init__() and added a new good argument to get all of
    the data from the related Good instance. But the msrp, cost and
    unit attributes of BudgetEntry class are still there to store the
    values that may not correlate with the related Good in future.

0.2.13.1

13 Feb 17:33
Compare
Choose a tag to compare
  • Fix: Fixed a bug in Review.finalize_review_set() which causes Task instances to not to get any status update if the revised task is a second degree dependee to that particular task.

0.2.13

10 Feb 23:04
Compare
Choose a tag to compare
  • New: Project instances can now have multiple repositories. Thus the
    repository attribute is renamed to repositories. And the order of the
    items in the repositories attribute is restored correctly.
  • New: stalker.db.init() now automatically creates environment
    variables for each repository in the database.
  • New: Added a new after_insert which listens Repository instance
    inserts to automatically add environment variables for the newly inserted
    repositories.
  • Update: Repository.make_relative() now handles paths with environment
    variables.
  • Fix: Fixed TaskJugglerScheduler to correctly generate task absolute
    paths for PostgreSQL DB.
  • New: Repository.path is now writable and sets the correct path
    (linux_path, windows_path, or osx_path) according to the current
    system.
  • New: Setting either of the Repository.path,
    Repository.linux_path, Repository.windows_path,
    Repository.osx_path attributes will update the related environment
    variable if the system and attribute are matching to each other, setting the
    linux_path on Linux or setting the windows_path on Windows or setting
    the osx_path on OSX will update the environment variable.
  • New: Added Task.good attribute to easily connect tasks to Goods.
  • New: Added new methods to Repository to help managing paths:
    • Repository.find_repo() to find a repo from a given path. This is a
      class method so it can be directly used with the Repository class.

    • Repository.to_os_independent_path() to convert the given path to a OS
      independent path which uses environment variables. Again this is a class
      method too so it can be directly used with the Repository class.

    • Repository.env_var a new property that returns the related environment
      variable name of a repo instance. This is an instance property::

      # with default settings
      repo  = Repository(...)
      repo.env_var  # should print something like "REPO131" which will be used
                    # in paths as "$REPO131"
  • Fix: Fixed User.company_role attribute which is a relationship to
    the ClienUser to cascade all, delete-orphan to prevent
    AssertionErrors when a Client instance is removed from the User.companies
    collection.

0.2.12.1

10 Feb 23:05
Compare
Choose a tag to compare
  • Update: Version class is now mixed with the DAGMixin, so all the
    parent/child relation is coming from the DAGMixin.
  • Update: DAGMixin.walk_hierarchy() is updated to walk the hierarchy in
    Depth First mode by default (method=0) instead of Breadth First mode
    (method=1).
  • Fix: Fixed alembic_revision on database initialization.