Skip to content

Releases: junkdog/artemis-odb

artemis-odb-1.4.0

09 Mar 05:02
Compare
Choose a tag to compare

This one introduces a minor breaking API change. We considered it sufficiently minor to not warrant a major version bump.

Change Log

Version: 1.4.0 - 2016-03-09

  • BREAKING CHANGES
    • If you have overridden default injection functionality and instance FieldHandler
      yourself, be aware the FieldHandler constructor behaviour has changed. See below.
  • Fix: IntervalEntitySystem#getIntervalDelta sometimes returned wrong value when interval < world.delta.
  • Fix: Transmuting deleted entities throws an exception, mirroring EntityEdit on deleted.
  • Fix: Simultaneous transmute + delete caused dead entities in SubscriptionListener#inserted.
  • Fix: Using custom FieldHandler or FieldResolver disabled @Wire on fields.
    • Warn if attempting to inject custom objects without prerequisite resolver (PojoFieldResolver).

artemis-odb-1.3.1

29 Dec 01:56
Compare
Choose a tag to compare

Change Log

Version: 1.3.1 - 2015-12-29

  • Fix: During deserialization, indirectly referenced entities were not included in
    the archetypes section

Version: 1.3.0 - 2015-12-28

  • Serialization
    • Archetypes recorded in output; somewhat smaller output and faster load.
    • If JsonArtemisSerializer#setUsePrototypes is true (default), omit components made
      up of default values.
    • Json DOM was parsed multiple times, fixed.
    • Overloaded JsonArtemisSerializer#load - deserialize directly from JsonValue.
    • When loading entities, each deserialized child is assigned an entity id greater
      than its parent.
    • added WorldSerializationManager#getSerializer (if you need to load JsonValue directly, for instance)
  • Fix: Work-around for a NPE during weaving; occurred when trying to inspect fields belonging to any parent class

artemis-odb-1.3.0

28 Dec 22:16
Compare
Choose a tag to compare

Change Log

Version: 1.3.0 - 2015-12-28

  • Serialization
    • Archetypes recorded in output; somewhat smaller output and faster load.
    • If JsonArtemisSerializer#setUsePrototypes is true (default), omit components made
      up of default values.
    • Json DOM was parsed multiple times, fixed.
    • Overloaded JsonArtemisSerializer#load - deserialize directly from JsonValue.
    • When loading entities, each deserialized child is assigned an entity id greater
      than its parent.
    • added WorldSerializationManager#getSerializer (if you need to load JsonValue directly, for instance)
  • Fix: Work-around for a NPE during weaving; occurred when trying to inspect fields belonging to any parent class

artemis-odb-1.2.1

22 Nov 23:33
Compare
Choose a tag to compare

Change Log

Version: 1.2.1 - 2015-11-23

  • Fix: @PooledWeaver properly resets primitives and strings back to initial values.
  • Fix: Entity edit right after delete could cause entities to show up in subscription insertions.

Version: 1.2.0 - 2015-11-08

  • ComponentMappers are reused when injected or when retrieved via World#getMapper.
  • Deprecated EntityEdit#deleteEntity, use World#delete or Entity#deleteFromWorld instead.
  • Fix: @Wire registered classes would silently fail when not registered.
  • Fix: Woven pooled components didn't null strings on reset.
  • Fix: EntityTransmuter cause entities to lose any pending deletes.

artemis-odb-1.2.0

09 Nov 01:32
Compare
Choose a tag to compare

Nothing too exciting in this release, but fixes a couple of bugs regarding edge cases. Version bump from deprecating EntityEdit#deleteEntity - it isn't necessary to spawn an EntityEdit in order to delete entities anymore.

Change Log

Version: 1.2.0 - 2015-11-08

  • ComponentMappers are reused when injected or when retrieved via World#getMapper.
  • Deprecated EntityEdit#deleteEntity, use World#delete or Entity#deleteFromWorld instead.
  • Fix: @Wire registered classes would silently fail when not registered.
  • Fix: Woven pooled components didn't null strings on reset.
  • Fix: EntityTransmuter cause entities to lose any pending deletes.

artemis-odb-1.1.2

27 Oct 00:59
Compare
Choose a tag to compare

Change Log

Version: 1.1.2 - 2015-10-27

  • Fix: entities having more than one tag.

Version: 1.1.1 - 2015-10-25

  • Fix: New entity subscriptions could end up with an initial batch of dead entities.

Version: 1.1.0 - 2015-10-24

  • @PooledWeaver clears Bag, IntBag, all Lists, Sets, Maps in java.util, all
    Arrays and Maps in libgdx.
  • Serialization: named entities; like tags, but local to the SaveFileFormat instance.
    • Register entities using com.artemis.components.SerializationTag.
  • Serialization: new setUsePrototypes method, writes default values.
  • Fix: Deleted entities could still linger in the TagManager.
  • Fix: Serializing an entity field having a value of null or -1 no longer throws an exception.

artemis-odb-1.1.1

25 Oct 20:06
Compare
Choose a tag to compare

Heh, this took some time tracking down. Introduced in 1.0.0.

Change Log

Version: 1.1.1 - 2015-10-25

  • Fix: New entity subscriptions could end up with an initial batch of dead entities.

Version: 1.1.0 - 2015-10-24

  • @PooledWeaver clears Bag, IntBag, all Lists, Sets, Maps in java.util, all
    Arrays and Maps in libgdx.
  • Serialization: named entities; like tags, but local to the SaveFileFormat instance.
    • Register entities using com.artemis.components.SerializationTag.
  • Serialization: new setUsePrototypes method, writes default values.
  • Fix: Deleted entities could still linger in the TagManager.
  • Fix: Serializing an entity field having a value of null or -1 no longer throws an exception.

artemis-odb-1.1.0

24 Oct 17:52
Compare
Choose a tag to compare

Change Log

Version: 1.1.0 - 2015-10-24

  • @PooledWeaver clears Bag, IntBag, all Lists, Sets, Maps in java.util, all
    Arrays and Maps in libgdx.
  • Serialization: named entities; like tags, but local to the SaveFileFormat instance.
    • Register entities using com.artemis.components.SerializationTag.
  • Serialization: new setUsePrototypes method, writes default values.
  • Fix: Deleted entities could still linger in the TagManager.
  • Fix: Serializing an entity field having a value of null or -1 no longer throws an exception.

artemis-odb-1.0.1

03 Oct 12:57
Compare
Choose a tag to compare

1.0.x - Cherry-picking features / marketing blurb

  • A much less strict view of systems and how they're processed. It's no longer impractical creating systems which act on more complex criteria, as the framework makes fewer assumptions about what a System is.
  • Entities can be represented as com.artemis.Entity or plain int:s, the API supports both. The former might be more familiar to users, but suffers a bit in performance.
  • Less boilerplate as systems are subject to dependency injection by default. Native artemis types are auto-wired, non-artemis objects must be registered. It's also possible to supplement with custom injectors.
  • Built-in support for serializing entities to/from json. Save format can be extended via custom type serializers or POJO:s.

Upgrade checklist: https://github.com/junkdog/artemis-odb/wiki/Upgrading-Checklist-1.0.0

Change Log

Version: 1.0.1 - 2015-10-03

  • Fix: Optimized IteratingSystems were only partially rewritten. Crash on ART.

Version: 1.0.0 - 2015-10-01

  • Serialization: Removed component key integer prefix in json.
    • In case of collisions, adds an integer suffix to the key name.
  • New ArtemisPlugin API
  • New WorldConfigurationBuilder convenience class.
  • Added World.edit(int entityId)
  • Added World.create(), returns int entityId
  • Managers' inserted/removed passes Entity, again.
  • EntitySystem extends BaseEntitySystem, new BaseEntitySystems work directly on entityId:
    • IteratingSystem: EntityProcessingSystem.
    • IntervalSystem and IntervalIteratingSystem: IntervalEntity*System
    • DelayedIteratingSystem: DelayedEntityProcessingSystem
  • IteratingSystem eligible for compile-time optimizations, like EntityProcessingSystem.
  • By convention, @Wire is now implied on all systems and managers. Use @SkipWire to suppress.
  • new IntBag methods: addAll, removeValue.
  • Dropped EntityObserver methods taking single entityId.
  • Removed flyweight entities
    • No more bugs due to escaping flyweights.
    • Removed artemis-odb-debug, as it's no longer needed.
  • Manager now treated as a system.
    • Manager is now part of the BaseSystem hierarchy.
    • EntityObserver emulated via EntitySubscriptions
  • Removed deprecated methods and classes
    • Removed @Mapper
    • Removed UUID related accessors on Entity and World.
  • @PackedWeaver marked as deprecated until performance issues have been resolved.
  • EntityManager#isNew removed.
  • Passive flag on systems removed.
  • SystemInvocationStrategy#initialize added.
  • Fix: No longer possible to accidentally add multiple systems of the same type.

artemis-odb-1.0.0

02 Oct 08:39
Compare
Choose a tag to compare

Change Log

Version: 1.0.0 - 2015-10-01

  • Serialization: Removed component key integer prefix in json.
    • In case of collisions, adds an integer suffix to the key name.
  • New ArtemisPlugin API
  • New WorldConfigurationBuilder convenience class.
  • Added World.edit(int entityId)
  • Added World.create(), returns int entityId
  • Managers' inserted/removed passes Entity, again.
  • EntitySystem extends BaseEntitySystem, new BaseEntitySystems work directly on entityId:
    • IteratingSystem: EntityProcessingSystem.
    • IntervalSystem and IntervalIteratingSystem: IntervalEntity*System
    • DelayedIteratingSystem: DelayedEntityProcessingSystem
  • IteratingSystem eligible for compile-time optimizations, like EntityProcessingSystem.
  • By convention, @Wire is now implied on all systems and managers. Use @SkipWire to suppress.
  • new IntBag methods: addAll, removeValue.
  • Dropped EntityObserver methods taking single entityId.
  • Removed flyweight entities
    • No more bugs due to escaping flyweights.
    • Removed artemis-odb-debug, as it's no longer needed.
  • Manager now treated as a system.
    • Manager is now part of the BaseSystem hierarchy.
    • EntityObserver emulated via EntitySubscriptions
  • Removed deprecated methods and classes
    • Removed @Mapper
    • Removed UUID related accessors on Entity and World.
  • @PackedWeaver marked as deprecated until performance issues have been resolved.
  • EntityManager#isNew removed.
  • Passive flag on systems removed.
  • SystemInvocationStrategy#initialize added.
  • Fix: No longer possible to accidentally add multiple systems of the same type.