כמעט כמתיחה של אחד באפריל, נוצר לו ענף 1.0 עבור לזרוס בתחילת אותו יום. וזוהי נקודה מאוד חשובה בהיסטוריה של הפרוייקט. אך זו לא היתה מתיחה, ואתמול בלילה לזרוס 1.0 שוחררה לאוויר העולם.
אודות לזרוס
לזרוס היא סביבת עבודה משולבת (IDE) אשר משוחררת כקוד פתוח ומאפשרת פיתוח מואץ למערכות גרפיות, וכן לכתיבת קוד מקור גם ללא צורך בתכנות גרפי. היא מתמקדת בפסקל מונחה עצמים (ואף כתובה בשפה), אך מאפשרת גם להוסיף תמיכה לשפות נוספות. המערכת בנויה בצורה של חבילות התקנה (מנהל חבילות מאוד דומה לרעיונות הקיימים בלינוקס) המאפיינות את התוכנות שלה, התמיכות שלה בדברים וכיוב'… השימוש בחבילות מאפשרת להוסיף, ואף לשנות את היעוד שלה.
המערכת מאפשרת לפתח יישומים למגוון רחב של פלטפורמות, וסביבות גרפיות, לרוב ללא שינוי הקוד. היא עושה זאת על ידי שימוש בספריות פיתוח אשר מספקות כלים גבוהים יותר במקום להתמודד עם סביבה מסויימת. זו הסיבה שסיסמת הפרוייקט היא write once compile everywhere.
סביבות העבודה אשר כיום לזרוס יודעת לאפשר עבודה מולם הם: MS Windows, Linux, FreeBSD, Solaris, Mac OS X, WinCE, Android, JVM, iOS ועוד מספר מערכות אחרות, בהתאם לתמיכת המהדר.
בנוסף, ישנה תמיכה בסביבות גרפיות כדוגמת Windows GDI, X11, GTK, Qt, Cocoa, Carbon ו fpGUI.
התמיכה הזו מגיעה באמצעות ספריית רכיבים בשם LCL (Lazarus Component Library) אשר תפקידה הוא אספקת כלים להתמודדת עם כתיבת התוכנות הגרפיות (אך לא רק) ללא צורך בלימוד של סביבה מסויימת כדוגמת Windows GDI או Qt.
בנוסף, המערכת מגיעה עם תמיכה מובנת למספר מסדי נתונים בניהם ODBC, SQLite, Firebird SQL, MS SQL, Oracle, MySQL, PostgreSQL, Sybase ואפילו Paradox במידה והותקנו הספריות המתאימות במערכת. בנוסף גם יש תמיכה ל dBase בצורה טבעית.
ישנם תוספות רבות ללזרוס המספקות תמיכה ביותר מסדי נתונים, ואף במימוש שונה לאותם מסדי נתונים, אך הקוד שלך לא ישתנה בגלל שהחלפת מסד נתונים, או מנוע שכזה.
לזרוס אף מגיעה עם תמיכה ברירת מחדל לפיתוח מערכות CGI ברמה נמוכה מאוד בשם fpWeb ועוד מספר כלים אחרים כדוגמת ExtPascal המאפשר לכתוב תוכנת web וויזואלית שמומרת ל ExtJS.
כל זה הוא רק הקדמה בנושא, ויש עוד המון דברים שמקבלים עם סביבת הפיתוח עצמה.
היסטוריה
Lazarus בעצם החלה את דרכה ב1999, לאחר קריסת פרוייקט "מגידו". "מגידו" נבנה על מנת לספק סביבת פיתוח בקוד פתוח העושה חיקוי של סביבת הפיתוח "דלפי". אך גם השורשים של "מגידו", לא התחילו יש מעין, אלא בעקבות פרוייקט אחר בשם Sybill ששם לו את אותה המטרה, רק עבור מערכת ההפעלה OS/2.
"מגידו" החל בתחילת 1998, אבל מת לו אי שם ב1999, בגלל שמפתחי הפרוייקט איבדו את הפוקוס של מטרת הפרוייקט והתפזרו לכיוונים רבים מידי.
לזרוס החלה את דרכה בפברואר 1999 על ידי שלושה מפתחים עיקריים: Cliff Baeseman, Shane Miller, ו Michael A. Hess. כיום מבין השלושה, רק Michael Hess עדיין מפתח את הסביבה. לזרוס נוצרה בעקבות היאוש מניסיונות פיתוח של "מגידו".
באוגוסט 1999 נכנס עוד מפתח ללזרוס בשם Marc Weustink אשר מפתח עד היום בפרוייקט – בעיקר את סביבת מנפה השגיאות. מארק נכנס לפרויקט בעקבות חיפוש פתרון דלפי לסביבת הלינוקס, אשר באותו הזמן עדיין לא היה לבורלנד שום פתרון לנושא.
עוד מפתח חשוב אשר מפתח את הפרוייקט עד היום, הוא Mattias Gaertner אשר נכנס באוגוסט 2000 לפרוייקט. מתיאס תורם עד היום המון לפרוייקט והוא מקדם אותו בצעדים גדולים, כדוגמת כל מערכת מציאת הבעיות בסביבת עורך הטקסט, כלי השלמה אוטומטיים (CodeTools) ועוד…
שינויים ותוספות של גרסה 1.0
שינויים בממשק LCL
- מימוש של CreateEllipticRgn, CreateRoundRectRgn וSetWindowRgn עבור GTK2. עכשיו הם עובדים עבור TForm
- תמיכה בTSelectDirectoryDialog עבור WinCE
- נוספה תמיכה לסוג חדש בשם LCL CustomDrown. הוא משתמש בTLazCanvas על מנת לצייר רכיבים גרפיים במקום להשתמש ברכיבים טבעיים.
הוא נוצר במקור בשביל שימוש באפליקציות אנדרואיד, אבל נתמך גם בWindows, Mac OS-X (Cooca) ו X11. - מימוש מלא של MDI בספריית Qt
שינויים ב LCL
- LCL הפך להיות חבילה בפני עצמו. עכשיו הוא יהודר מחדש בעת הצורך.
- חלקים בLCL אשר אינם תלויי פלטפורמה, עכשיו נמצאים בחבילה משל עצמם בשם LCLBase. אין לכך השפעה על פרויקטים קיימים
- אפשרות המקשר (linker) אשר היה נוסף פעם לכל פרוייקט, עכשיו המקשר נוסף רק כאשר יש שימוש בחבילה LCL
- TCustomForm.Create מעלה חריגה כאשר לא נמצא ה Resource להצגת הטופס
- המימוש של TNotebook וTPage עברו שכתוב מחדש
- ניתן לקבל כיום פוקוס לכפתורים של רכיבי TDBNavigator על ידי שימוש באפשרות Options=[navFocusableButtons] ו TabStop = True. אפשרות זו מסייעת לכתוב אפליקציות ללא תמיכה בעכבר או מסך מגע
- המימוש של TControlBorderSpacing.GetSideSpace ו GetSpace הוחלף ועכשיו הם תואמים. כרגע החישוב הוא GetSideSpace = Around+GetSpace
- נוסף TForm.WindowState=wsFullscreen
- נוספה המתודה TCanvas.TextFitInfo לחישוב כמה תווים יכנסו לרוחב מסויים. זה יכול לסייע למשל בחישוב גלישת טקסט
- נוספו המתודות TControl.GetColorResolvingParent ו TControl.GetRGBColorResolvingParent לחישוב הגוון הסופי בין clDefault ו ParentColor.
- נוסף חישוב טבעי של LCLIntf.GetTextExtentExPoint אשר מסיר את הבעיה כאשר יש widget אשר אינו תומך בתכונה שכזו, אך במידה ויש תמיכה שכזו, מומלץ להשתמש בה במקום
- הפקד TTabControl שונה וכעת הירושה שלו נכונה ומתבצעת באמצעות TCustomTabControl כפי שהיתה צריכה להיות
- נוספה יחידה חדשה בשם lazdialogs.pas. היחידה מספקת תמיכה לא טבעית לחלונות דו-שיח כדוגמת TLazOpenDialog, TLazCloseDialog,TLazSelectDirectoryDialog ואחרים. ניתן להשתמש בה כאשר הwidget אינו תומך בדו-שיח כזה בצורה טבעית, או כאשר הוא מוגבל מידי לצרכים השונים. ניתן גם להשתמש בדו-שיח המתאים בזמן ריצה בתוכנה אשר לא משתמשת בדו שיח הזה בברירת המחדל
- נוספה יחידה בשם lazdeviceapis.pas אשר תפקידה לספק גישה לממשקים ליחידות חומרה כדוגמת GPS, accelerometer וכיוב'
- נוספה יחידה חדשה בשם lazcanvas.pas. היחידה מספקת LazCanvas המאפשר באמצעות ירושה מ TFPImageCanvas לצייר בצורה טבעית ל LCL על בד ציור. המימוש הוא בפסקל נקי
- נוספה יחידה חדשה בשם lazregions.pas. תפקיד היחידה הוא לספק בקוד פסקל נקי, אפשרות לביצוע פעולות clip שונות לבד ציור, אירועים שונים בנושא, ובכלל להתעסק עם איזורים בבד הציור, כדוגמת מציאת איזה פקד בעץ צריך לקבל את האירוע לצייר מחדש איזור מסויים.
- יחידות חדשות: customdrawncontrols.pas, customdrawndrawers.pas, customdrawn_common.pas, customdrawn_android.pas ו customdrawn_winxp.pas. תפקיד היחידות הוא לצייר חיקוי של מראה פקדי LCL שונים כפי שהם נראים בסביבות שונות, רק עם היכולת לקבל "עור" שונה. יחידות אלו שייכות לקבוצת פקדי Custom Drawn אשר ניתן להשתמש בהן, במערכות כדוגמת אנדרואיד
- נוסף API מיוחד ל LCL על מנת לאפשר לפתח תמיכה במערכות נגישות לתוכנות שכותבים, למערכות השונות. פרטים נוספים בנושא.
בעיות ידועות
- תמיכה בנגישות בפקדי TCustomTreeView מסוגלת לגרום לפקד להיות איטי יותר אם יש מספר רב של איברים, כדוגמת 10,000 ומעלה. אם הפגיעה בביצועים מאוד קשה, ניתן לכבות את התמיכה בנגישות. ברירת המחדל של המחלה היא לתמוך בנגישות
- יש בעיה עם Unity של אובונטו, בכך שהוא תופס את העכבר ולא מאפשר לבצע הרבה פעולות. הסבר מורחב ופתרון לבעיה
שינויים בLazUtils
- LazUtils וגם LCL כוללים בתוכם מימוש מלא בשפת פסקל עבור רינדור טקסט באמצעות קריאת קבצי גופנים מסוג TrueType ולצייר טקסט יפה עם מימוש של ClearType Anti-aliasing. הספרייה נקראת LazFreeType ולמעט יחידת הציור, היא כולה נמצאת תחת ספריית LazUtils.
שינויים ב IDE
- חלון האזהרה הישן בעת הרצת הIDE, אשר מחפש את ספריות קוד המקור של FPC ולזרוס הוחלף בחלון דו-שיח חדש בודד. ניתן לכפות את הצגת החלון, על ידי הוספת הפרמטר בשורת הפקודה של –setup
- פרויקט חדש שומר מידע על הסשן (קבצים פתוחים, מיקום הסמן וכו') בקובץ lps נפרד בספריית הפרויקט. ניתן לשנות תכונה זו תחת Project / Project Options / Sessoin
- הסביבה לא תבקש יותר לשמור שינויים אם כל מה ששונה הוא מידע הקשור לסשן (למשל, תזוזת סמן), ותשמור את המידע בקובץ lps נפרד. ניתן להחזיר את הבקשה לאישור תחת ההגדרה Tools / Options / Desktop / Auto Save
- אפשרות מהדר: ניתן כעת להשתמש עם Project Build Macro עם נתיבי חיפוש, מידע על המקשר, אפשרויות מוגדרות אישית ועוד. דוגמה בנושא
- עורך החבילות, וגם project inspector קיבלו יכולת לסנן את רשימת הקבצים, ובכך לסייע למצוא קובץ נחוץ כאשר ברשימה יש עשרות ומאות קבצים
- חבילות אשר הודרו באמצעות Makefile אשר נוצר עם הIDE, מזוהות על ידי הסביבה ועוברות הידור מחדש רק בעת הצורך
- הגדרות Package General ו Package Compiler משתמשים עכשיו בהגדרות גנריות עבור סביבת הIDE
- נבנה חלון דו-שיח חדש לניקוי הקבצים אשר נוצרו בעת הבניה, כולל כל החבילות של הפרויקט
- המנקה, מנקה קבצים כאשר יש הידור של חבילות: הסביבה מנקה את כל הקבצים בספריית ה output של יחידות השייכות לחבילה, אלא אם הספריה מכילה גם קוד מקור, או בשימוש של יותר מחבילה בודדת (ראה חבילות)
- דיאלוג "פתיחת קובץ" ניתן לשינוי תחת האפשרות של Tools / Options / Environment / File Filters
- נוספה אפשרות לייצא קוד מקור לקובץ HTML
- עורך טקסט:
- קיפול קוד: קיפול הקוד נשאר מקופל, גם אם זמנית הוא נהפך להערה (בשל שימוש ב "*)" או "}" ). חשוב לדעת כי הקיפולים לא נשמרים ככאלו בסשן, והם חוזרים להיות במצב רגיל כאשר סוגרים אותם (עם השימוש ב "(*" או "{")
- נוספה אפשרות לקפל טקסט שנבחר גם באמצע בלוג אחר. קיפול הטקסט לא נשמר בסשן
- שיפור בעבודה עם גלגלת העכבר: ניתן לבצע זום לעורך הטקסט (CTRL+Wheel) וכן גילול מהיר/איטי יותר (alt/shift). ניתן לערוך את המקשים
- מקליט מאקרו בסיסי (רק עורך טקסט בודד ניתן להקלטה בכל פעם, אך "ניגון" המאקרו, יכול להתבצע בכל העורכים)
- Info-Hint – הצגת המתודה/מחלקה הפעילים מעל עורך הטקסט, כאשר זו יוצאת משדה הראיה בעקבות גלילה
- דיבאגר:
- נוסף מציג לCPU-Rgister
- נוספה תמיכה עבור קוד פסקל לDisassembler
- ניתן להוסיף/להוריד breakpoints (וכן לצפות בהן) גם במצב Disassembler
- נוסף דיאלוג עבור Threads
- נוסף מידע של Watchpoints אשר נלקחות מbreakpoints
- היסטוריה של Watches וLocals
- נוסף לוג עבור מרבית האירועים (Event Log)
- נוספה אפשרות ש Breakpoint (וכן הסרה שלהם) יפעילו/יסירו breakpoints נוספים
- ניתן לבצע Watch/Inspect על אובייקט כמחלקה שיצרה אותו
- מבנה התפריט הראשי שופר. תפריט ה Source ותת התפריט Refactor נוספו
- נוסף פריט חדש להוסיף רישיון MIT
- נוספו הרבה מאוד אפשרויות לבצע ניפוי וסינון מידע להרבה רשימות וTreeview
- חלון הדו-שיח "Use Unit" (ALT-F11) מאפשר לבחור מכל היחידות הזמינות, ולא רק מיחידות הפרויקט
- תצוגת הפרמטרים מכילה כפתור להדביק את שמות הפרמטרים החסרים
- Code Explorer: המסנן עכשיו מוחק צמתים במקום לסמן אותם
- Code Explorer: קטגוריה חדשה בשם "Surrounding" המאפשרת לקפוץ בצורה מהירה לחלקים כדוגמת interface, implementation וכן פונקציות מקוננות
- Help For Keywords: החבילה chmhelp מאפשרת להציג עזרה עבור מילות מפתח
- חלון חדש תחת Tools בשם "Example Projects"
- החלון Components תחת View שופר, וניתן גם לפתוח אותו מהתפריט של פלטת הרכיבים
- החלון Configure Build Lazarus שונה. חבילות כדוגמת LCL וכן IDE אינם זקוקים יותר לבחירה משלהם. הבחירה בדוגמאות, הועברה לחלון חדש
- startlazarus קיבל אפשרות לתמוך במספר התקנות של לזרוס באמצעות פרמטר שורת הפקודה –pcp
- lazbuild
- יכול ליצור/לעדכן קובץ Makefile של חבילה באמצעות אפשרות שורת הפקודה –create-makefile
- אפשרות שורת הפקודה –build-ide בונה עכשיו תחת Windows קובץ בשם lazarus.exe במקום lazarus.new.exe
- אפשרות שורת הפקודה –build-ide מבצעת עכשיו פעולת append במקום החלפה
- האפשרות –build-mode יכולה עכשיו לעבוד עם –build-ide בשביל לבחור את פרופיל בניית הIDE
- חבילות המוגדרות כ Design Time אינן מהודרות יותר לתוך הפרויקט, אלא אם הוגדו כ enabled
- נוספה הגדרה לחבילות כ Runtime Only להיות בלתי ניתנות להתקנה בIDE. שם ההגדרה הוא Runtime Only, can not be installed in IDE. השתמש בהגדרה בשביל להגדיר כי אין תאימות לLCL או לIDE עצמו
- נוספה אפשרות חדשה בעת יצירת חבילה: Add to the uses section of the project. בברירת המחדל האפשרות כבויה
- נוספו מאקרויים חדשים: PrimaryConfigPath, SecondaryConfigPath, FallbackOutputRoot ו PkgName. לעוד פרטים
- היחידה projectintf חולקה לשתיים. היחידה נשארה, ונוספה גם יחידה בשם compoptsintf. היחידה החדשה מכילה גישה למספר הגדרות מהדר עבור הIDE. היחידה packageintf מספקת גישה להגדרות המהדר עבור חבילות
- פרויקטים חדשים יכולים כעת ליצור build modes מותאמים אישית אליהם, כדוגמת "debug" ו"release". האפשרות הזו ניתנת להרחבה תחת Project / Project Options / Use these options as default for new projects
- נוספה תמיכה לאפשרות המהדר -Wpunitname אשר מאפשרת ליצור controller עבור מערכות embedded. ניתן למצוא את השימוש בה תחת "find declaration". ניתן בנוסף גם להשתמש באפשרות תחת Compiler options / other
- כותרת הפרויקט יכולה כעט לקבל גם מאקרו
- האפשרויות TargetOS, TargetCPU ו LCLWidgetType לחבילה הוסרו. הם נלקחים מהגדרות הפרויקט במקום, או כאשר מהדרים את הסביבה, אז הם מקבלים את הגדרות הסביבה. כמו כן, גם השימוש ב lazbuild מאפשר לקבוע זאת
- בעת בניית הסביבה באמצעות הסביבה או lazbuild: גיבוי הגרסה הישנה של גרסת הריצה, נשמרת כעט ועובדת זהה בכל הפלטפורמות. לפני שבונים את הגרסה החדשה, הגרסה הישנה משתנה לlazarus.old.exe. אם הקובץ הזה כבר קיים, הוא ימחק. במידה ולא ניתן למחוק את הקובץ הישן, אז יווצר קובץ lazarus.old2.exe במקום. במידה וזה נכשל, אז יווצר קובץ בשם lazarus.new.exe ביצור החדש של הקובץ. במידה והבניה נכשלת, הגיבוי שנוצר, ישנה את שמו חזרה לlazarus.exe
- כאשר משתמשים בTFrame חדש על TForm, הסביבה מציגה ברשימת ה Frame לבחירה, גם אלו המגיעים עם חבילות הנמצאות בשימוש הפרויקט
- נוסף חלון דו שיח חדש לראות אילו חבילות צריכות להדר את עצמן מחדש והסיבה לכך. ניתן להגיע לחלון דרך View / IDE Internals / What needs Building
- הדבקת רכיבים, עכשיו שומרת על היחס שהיה בניהם בעת ההעתקה
רכיבים
CodeTools
- נוסף ניתוח, חיפוש והשלמת קוד של אופרטורי מחלקות וכן של אורטורי רשומות מתקדמות
- נוסף ניתוח לתחביר של objclass external
- נוסף ניתוח והשלמת קוד של מחלקות מקוננות. עדיין אין מימוש שלם לחיפוש
- נוסף ניתוח של איזורי מחלקה: type, const, var, class var. עדיין אין מימוש שלם לחיפוש
- נוסף ניתוח ל delphi style generics. חיפוש בתוך specialized עדיין לא מומש במלואו
- נוסף ניתוח לתחביר jvm
- ctnClassType, ctnClassConst ו ctnClassVar הוסרו. במקומם נוספו ctnTypeSection, ctnConstSection ו ctnVarSection
- תת האיזורים של המחלקה ctnTypeSection, ctnConstSection ו ctnVarSectio עכשיו שייכים לחלק הוויזואלי
- נוספה חבילה חדשה בשם Cody, המספקת תמיכה מתקדמת ב CodeTools
- יש תמיכה במציאת הגדרת "inherited;"
- השלמת מזהים:
- השלמת הוראות מהדר – מילים שמורות ומאקרויים של FPC
- הגדרות IDE להחלפות מקדמים במקום את כל המזהה (תחת Tools / Options / Codetools / Identifier Completion / Replace whole identifier)
- תמיכה בעוד מילים שמורות הקשורות לprogram, libraries וproperties
- השלמת קוד:
- יוצר עכשיו משתנים מפרמטרים עם מצביעים. כלומר CreateIconIndirect(@IconInfo) יצור את המשתנה בצורה הבאה: var IconInfo:TIconInfo;
- יוצר עכשיו פרוצדורות/מתודות מפרמטרים. כלומר השלמה מ: List.Sort(@MySortFunction) יצור את הפונקציה הבאה function MySortFunction(Item1, Item2: Pointer): Integer
TAChart
- נוסף הרבה תעוד בנושא בוויקי
- נוספו האירועים הבאים: On{Before|After}Draw{BackWall|Background}ו OnExtentChanged ל TChat
- נוספה תמיכה ל Antialiasing
- TChartAxis:
- נוסף MarkPositions למימוש תוויות פנימיות בלוך גרפים של bars ו pies
- נוספה תמיכה ל Minor axis tics וgrid
- נוספו התכונות AxisPen וRange
- תכונה עבור הinterval לשלוט בגדול ה interval
- תכונה עבור שוליים
- TChartAxisMarks:
- נוספה תכונה בשם Strips ליצירת רקע של רצועות
- נוספה תכונה YIndex למימוש תוויות עבור סדרת ה stacked
- נוסה תכונה של Range
- TFuncSeries עובדת עכשיו תקים בעת הפיכת הצירים
- נוספו 5 סדרות חדשות:
- Open-High-Low-Close
- B-spline
- Cubic spline
- Polar
- Fit
- התכונה TPieSeries.EdgePen נוספה לסדרה של 3D Pie
- סיבוב של תוויות מרובות שורות, כדוגמת סימניות, כותרות והערות כותרת תחתונה
- נוצרו שישה כלים חדשים:
- TDataPointClickTool
- TDataPointHintTool
- TDataPointCrosshairTool
- TZoomMouseWheelTool
- TPanMouseWheelTool
- TUserDefinedTool
- נוספה התכונה TBasicPanTool.LimitToExtent
- Drag-zoom ו crosshair (נקרא בעבר reticule) צריכים לעבוד עכשיו גם בQt וגם בMacOS
- נוספו האירועים KeyDown/KeyUp/MouseWheel עבור chart tools
- יכולות סיבוב חדשות: TCumulNormDistrAxisTransform ו TUserDefinedAxisTransform
- מקור מידע חדש: TIntervalChartSource
- TCalculatedChartSource: מאפשר לבצע פעולות derivative ו smooth derivative, AccumulationDirection
- הסדרות יודעות לדלק על ערכים שהם NaN
- API חדש של IChartDrawer עבור בדי ציור שונים:
- AggPas (חבילה נפרדת)
- מדפסת, להדפיס את הגרפים ברזולוציה מתאימה (חבילה נפרדת)
- OpenGL
- FPCanvas/NoGUI – לשימוש בסביבת web
- SVG
- BGRABitmap (חבילה נפרדת)
- Windows Metafile (חבילה נפרדת)
- FPVectorial (חבילה נפרדת)
- רכיבי ניווט: TChartNavScrollBar ו TChartNavPanel
- מקרא:
- עיצוב איברים
- טורים מורבים, שליטה ביכולת ה"מילוי"
- שליטה ביכולות הסידור והקיבוץ
- תכונת SymbolFrame
- אירוע OnCreate
- רכיבים חדשים: TChartListbox, TChartExtentLink ו TChartImageList
- נוספו Enumerators
- תכונת Arrow נוספה עבור TConstantLine ו TChartAxis
- נוספו התכונות TChart.MarginsExternal ו ExtentSizeLimit
- עורך Design-Time עבור TListChartSource.DataPoints
- 17 פרוייקטי דוגמאות, הרבה עדכונים לדוגמאות הקיימות
- חוסר תאימות אחורה עבור:
- הוספרת סדרת Pie אינה מסתירה יותר את הצירים
- התכונה TZoomDragTool.Proportional הוחלפה על ידי RatioLimit המאפשרת לבצע זום לציר בודד
- TReticuleTool, TChart.ReticuleMode, TChart.ReticulePos ו TChart.OnDrawReticule סומנו כdeprecated ויוסרו בעתיד. יש להשתמש בTDataPointCrosshairTool במקום
SQLDB
- נוסף מחבר של MS SQL. דורש FPC 2.6.1+
- נוסף מחבר לSybase (תומך ב SybaseASE). דורש FPC 2.6.1+
- נוסף מחבר עבור MySQL גרסה 5.5. גורש FPC 2.6.1+
ChmHelpPkg
- HelpFilesPath מכיל עכשיו מאקרויים והאפשרות לחפש קבצי עזרה במספר ספריות, על ידי הפרדת כל ספריה עם נקודה פסיק
קריאה מלאה של כל השינויים והתוספות
הורדת הגרסה החדשה: svn | קבצים בינארים